Veri Yapıları ve Algoritmalar. Giriş

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Veri Yapıları ve Algoritmalar. Giriş"

Transkript

1 Veri Yapıları ve Algoritmalar Giriş Öğr. Gör. M. Ozan AKI r1.0

2 Genel Tanımlar ve Kavramlar

3 Donanım Mimarileri DEP (Data Execution Preventation) Win7: Bilgisayarım -> Özellikler -> Gelişmiş Ayarlar -> Sistem özellikleri -> Advanced - > Performance -> Ayarlar -> Data Execution Prevention

4 CISC / RISC Komut Seti CISC (Complex Instruction Set Computer) Örn: 8086/8088 AAA, AAD, AAM, AAS, ADC, ADD, AND, CALL, CBW, CLC, CLD, CLI, CMC, CMP, CMPSB, CMPSW, CWD, DAA, DAS, DEC, DIV, ESC, HLT, IDIV, IMUL, IN, INC, INT, INTO, IRET, JA, JAE, JB, JBE, JC, JCXZ, JE, JG, JGE, JL, JLE, JNA, JNAE, JNB, JNBE, JNC, JNE, JNG, JNGE, JNL, JNLE, JNO, JNP, JNS, JNZ, JO, JP, JPE, JPO, JS, JZ, JMP, LAHF, LDS, LEA, LES, LOCK, LODSB, LODSW, LOOP, MOV, MOVSB, MOVSW, MUL, NEG, NOP, NOT, OR, OUT, POP, POPF, PUSH, PUSHF, RCL, RCR, REP, REPE, REPNE, REPNZ, REPZ, RET, RETN, RETF, ROL, ROR, SAHF, SAL, SAR, SBB, SCASB, SCASW, SHL, SHR, STC, STD, STI, STOSB, STOSW, SUB, TEST, WAIT, XCHG, XLAT, XOR RISC (Reduced Instruction Set Computer) Örn: PIC16F84A ADDWF, ANDWF, CLRF, CLRW, COMF, DECF, DECFSZ, INCF, INCFSZ, IORWF, MOVF, MOVWF, NOP, RLF, RRF, SUBWF, SWAPF, XORWF, BCF, BSF, BTFSC, BTFSS, ADDLW, ANDLW, CALL, CLRWDT, GOTO, IORLW, MOVLW, RETFIE, RETLW, RETURN, SLEEP, SUBLW, XORLW

5 CISC CMP A,B JB X MOV AX,[A] JMP Z X: MOV AX,[B] Z: MOV [C],AX CISC vs RISC A ve B Bellek adreslerindeki iki sayıyı karşılaştıralım ve büyük olan sayıyı C adresine yazalım RISC MOVF B,W SUBWF A,W BTFSS STATUS,C GOTO X MOVF A,W GOTO Z X: MOVF B,W Z: MOVWF C

6 Mikroişemci Reset Vector İlk Enerji verildiğinde ya da Resetlendiğinde Çalıştırılacak komutların başlangıç adresidir. Genelde 0x0000 adresidir. Fetch & Execution Komutların bellekten sırasıyla alınır işlenmesidir. Bu işlem içinde ayrıca işemci zamanı harcanır. (Pipeline?) Flags (PSW Program Status Word) Çalışma durumu ve komutların çalışma sonuçları ile ilgili bilgilerin bit olarak tutulduğu kaydedicidir. Instruction Pointer (IP) / Program Counter (PC) Komutları sırasıyla çalışmasını sağlayan sayaçtır. Bu sayaç dallanma komutları ile değiştirilerek komut işleyişinin sırası değiştirilir. (Kaç bit olmalı?)

7 Mikroişemci 8086 Program Status Word (PSW) Flag Register

8 Fiziksel Ortamına Göre Bellek Çeşitleri

9 Erişim Durumuna Göre Bellek Çeşitleri Analoji: Depo -> Toptancı -> Market, Bakkal -> Dolap, Buzdolabı -> Tabak Bardak

10 Belleğin Adreslenmesi Register Doğrudan kaydedici adı ile kullanılırlar, bellek adresleri söz konusu değildir. (Instruction Word içerisinde kodlanmıştır) Bellek Bellek adresi ile kullanılırlar. Her adres bir bellek hücresine işaret eder. Her hücre, veriyolu bit sayısı kadar veri saklar

11 İşletim Sistemleri (Operating Systems) POST süreci başarıyla tamamlandıktan sonra BIOS, Disk, CD- ROM, Flash bellek gibi depolama aygıtlarında yükleyici arar (Boot Loader; XP:NTLDR, WIN7:BOOTMGR, Linux:LILO vs.) ve bulduğunda görevi yükleyiciye devreder. Yükleyici ise işletim sistemini başlatır. İşletim Sisteminin Görevleri CPU Yönetimi Görev Zaman Paylaşımı Giriş-Çıkış İşlemleri Ana Bellek Yönetimi Dosya Sistemi (Disk) Yönetimi Kullanıcı Yönetimi Güvenlik ve Koruma

12 Yazılım (Software) Makine Dili (Machine Language) Komut setlerini oluşturan ikili sayılar doğrudan mikroişlemciye girilebilir. Birleştirici Dil (Assembly) İnsan tarafından okunabilir ve anlaşılabilir OPCODE lar makine diline çevrilir. Kaynak Kod (Source Code) Yüksek seviyeli dillerin kaynak kodlarını makine diline çevirerek object file olarak kaydeder. Compiler (Derleyici) Yüksek seviyeli dillerin kaynak kodlarını makine diline çevirerek object file olarak kaydeder. Cross Compiler (Çapraz Derleyici) Yüksek seviyeli dillerin kaynak kodlarını üzerinde çalıştığı makineden farklı bir işlemcinin makine diline çevirerek object file olarak kaydeder. Linker (Bağlayıcı) Daha önce derlenmiş olan object dosyaları birleştirerek çalıştırılabilir (COM, EXE, BIN, HEX) dosyayı elde eder ve kaydeder.

13 Programlama Dilleri Programlama Dillerinde Dört yaklaşım vardır; Prosedürel Yönelimli (Fortran, Pascal,..) Nesne Yönelimli (C++, C#, Java,..) Mantık Yönelimli (Prolog,..) Görev Yönelimli (Verilog, SQL, Mathematica,..) Programlama Dilleri, Veri yapıları ve Algoritmalardan oluşur. Veri Yapısı (Data Structure), bilgilerin bellekte bulunma şeklini belirler. Tüm programlama dillerinde temel veri yapıları tanımlıdır. (char, int, double, float,...) Veri Modeli (Data Model), Verilerin birbirleriyle ilişkisel ve sırasal durumunu ortaya koyar. (Dizi, Liste, Ağaç, Graf,...) Algoritma, Belirli bir işi ya da görevi yerine getirebilmek için uygulanması gereken adımların açıkça ortaya konmasıdır.

14 Ham Veriden Bilgiye Dönüşüm Bellekte tutulan tüm bilgiler sadece bit dizileri şeklindedir. Bu bit dizileri, sistematik bir şekilde yorumlanarak anlamlı bilgilere dönüştürülür. Örneğin bit dizisi için; Tamsayı -> 65 Hexadecimal -> 41 BCD -> 41 ASCII -> A Benzer şekilde, bilgisayar ortamında bulunan tüm veriler (döküman, resim, ses, video, v.s.) tanımlı veri yapılarından türetilmiş ikili kodlar şeklindedir. Ya da, bu ikili kodlara uygun veri yapıları türetilir.

15 Veri Yapıları Hemen hemen tüm sayısal sistemlerde bilgi temel bilgi boyutu BYTE tır. BYTE ı aşan veriler için WORD ifadesi kullanılır. Bir Byte, 8 bitten oluşur. Gerektiğinde Byte üst katları kullanılır. Byte Kilo Byte Mega Byte Giga Byte Peta Byte Üst katlar gerçekte 1024 kat artar. Bazı işletim sistemleri kolaylık bakımından 1000 kat olarak alır. Bu durumda gerçek boyut ile görünen boyut arasında fark oluşur. Örn: 2GB Bir bellekte; 1000 kat hesabı ile; 2*1000*1000*1000 = 2,000,000,000 Byte, 1024 kat hesabı ile; 2*1024*1024*1024 = 2,147,483,648 Byte Bululunur. Gerçek kapasite 147MB daha büyüktür.

16 Temel Veri Yapıları Hemen her derleyicide temel veri yapıları küçük farklılıklarla birlikte aynıdır. Bazı derleyiciler, kendine özgü veri yapıları içerebilir. Eğer algoritmaya uygun veri yapıları bulunmuyor ise bunu kullanıcı kendisi tanımlamalıdır. Karakter İşaretli / İşaretsiz Tamsayılar Gerçel Sayılar

17 Karakterlerin Kodlanması Tüm derleyicilerde bulunan temel veri yapısıdır. char 1 Byte (8 Bit) uzunluğundadır. ASCII tablosundaki karakterlerin tanımlanması amacıyla kullanılır. Ancak bunun yanında 8 bit işaretsiz tamsayı olarak ta işlemlere katılabilir. 8 Bit (255 karakter), Standart ASCII tablosunun tümünü adresler. (ALT + Keypad ASCII Code)

18 UNICODE Karakter Kodlaması Ancak günümüzde farklı alfabelerin ve kullanılan özel karakterlerin tanımlarını kapsamak üzere geliştirilen bu kodlama sistemi 16 bitlik bir tabloyo tanımlar. Toplam karakter içeren bu tabloda her bir karakter 16 bit olarak kaydedilir. Böylece, evrensel bir kod tablosu ile, uluslar arası yazılımların kolayca yazılması ve uyumluluk sorunlarının ortadan kaldırılması sağlanmıştır. Uygulama:Aynı bilgiyi içeren UNICODE bir metin dosyası ile ASCII bir metin dosyasının boyutlarını karşılaştırınız.

19 İşaretsiz Tam Sayıların Kodlaması Tamsayılar, İşaretli ya da İşaretsiz olarak tanımlanırlar. İşaretsiz tamsayılar, bellekte doğal karşılığı ile saklanırlar. Bu sayılar, derleyinin varsayılan bit sayısı (8, 16, 32, 64) ile sınırlıdırlar. Örneğin; 39 Sayısı, 8 bit genişliğindeki bellekte olarak saklanır. Eğer bellek hüzcresinin bit genişliği daha fazla ise, üst bitler 0 (sıfır) ile doldurulur.

20 İşaretli Tam Sayıların Kodlaması İşaretli Tamsayılarda durum biraz farklılaşır; Aynı bit sayısına sahip bir alanda kodlanacak işaretli sayı ile işaretsiz sayının maksimum ve minimum değerleri farklı olur. Neden? Çünkü işaretli sayının değer bitlerinden biri işaret biti olarak kullanılmak zorundadır. Bu nedenle, İşaretsiz bir tamsayı, 0 < n < 2 n -1 aralığında iken, İşaretli bir tamsayı, -2 n-1 < n < 2 n-1-1 aralığında olur.

21 İşaretli Tam Sayıların Kodlaması İşaretli Tamsayılar iki yöntemle kodlanabilir; 1) Sayının en solundaki bit işaret biti kabul edilir ve negatif sayılar için bu bir 1, pozitif sayılar için 0 yapılır. 2) İşaret biti için özel bir alan ayrılmaz, negatif sayılar 2 ye tümleyen şeklinde saklanır.

22 Tam Sayıların Kapladıkları Alanlar short int unsigned short int unsigned int int long int signed char unsigned char -32,768 -> +32,767 (16 bit) 0 -> +65,535 (16 bit) 0 -> +4,294,967,295 (32 bit) -2,147,483,648 -> +2,147,483,647 (32 bit) -2,147,483,648 -> +2,147,483,647 (32 bit) > +127 (8 bit) 0 -> +255 (8 bit) Uygulama: C ile tanımlanan bir tamsayı değişkeninin maksimum ve minimum değerlerini gösteren c programını yazınız.

23 Gerçek (Kesirli) Sayılar İki tip gösterim şekli vardır; Sabit Noktalı (Fixed Point) Kayan Noktalı (Floating Point) Bilgisayar uygulamalarında büyük çoğunlukla Kayar Noktalı sayılar kullanılmaktadır. Ancak kısıtlı bellek ve işlemci gücüne sahip gömülü sistemlerde sabit noktalı sayılar tercih edilir.

24 Gerçek (Kesirli) Sayılar Kayan Noktalı (Floating Point) Sayı Formatı (IEEE 754) Bu formatta; 1 bit : İşaret biti (sign) 8 bit : Üs (exponent) 2 ye Tümleyen şeklinde bulunur. 23 bit : Çarpan (fraction) Sayı = ±Ç x T ±Ü (T:Taban=2)

25 Gerçek Sayıların Çözümlenmesi Örn; 2.5 sayısını IEEE 754 formatında göstriniz. 2.5 = (-1) i (1 + k) 2 üs-bias Burada; i : sayının işareti (0:Pozitif ya da 1:Negatif) (1+k) : Çarpan (1 <= Ç < 2, k < 0) bias : sabit (32 bit formda: 127, 64 bit formda:1023) i=0 2.5 / 2 n = (1+k) n=1 için, 2.5 / 2 = (1 + k), k = 0.25 Böylece, 2.5 = IEEE 754 formatında olarak gösterilir.

26 Gerçek Sayıların Çözümlenmesi Örn; 3.14 Pi sayısını IEEE 754 formatında göstriniz = (-1) i (1 + k) 2 üs-bias Burada; i : sayının işareti (0:Pozitif ya da 1:Negatif) (1+k) : Çarpan (1 <= Ç < 2, k < 0) bias : sabit (32 bit formda: 127, 64 bit formda:1023) i= / 2 n = (1+k) n=1 için, 3.14 / 2 = (1 + k), k = 0.57 Böylece, 3.14 = IEEE 754 formatında olarak gösterilir.

27 Gerçek (Kesirli) Sayıların Kapladığı Alan

28 Bellek ile Veri Yapısı Bit Sayısı Eğer veri yapısını bit sayısı, belleğin tek adres hücresinde saklanamayacak kadar büyük ise, bu veri yapısı, ardaşık bellek alanlarını kullanır. (Little Endian, Big Endian)

29 C Dili Anahtar Sözcükleri Anahtar sözcükler, değişken, fonksiyon adı olarak kullanılamazlar. auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, while

30 Fonsiyonlar Fonksiyonlara gönderiler sabit değer ya da değişkenlere parametre adı verilir. Fonksiyonlardan elde edilen sonuç ise dönüş değeri olarak adlandırılır. Bir fonksiyon, Hiçbir parametre almayıp, Hiçbir değer döndürmüyor olabilir. Sadece parametre alıp, Değer döndürmüyor olabilir Hiçbir parametre almayıp, Değer döndürüyor olabilir. Fonksiyonlar, birden fazla parametre alabilir ancak, sadece bir değer döndürebilirler. (Birden fazla değer gerekirse ne olacak?)

31 Fonsiyonlar Fonksiyonlar, dönüş adreslerini Yığın (Stack) Bellekte saklar. Yığın bellek, en son girenin ilk çıktığı (LIFO) bir bellek türüdür. PUSH, POP Ancak Fonksiyonlar Parametre alıyor ya da Değer Döndürüyor ise, Bu değerlerde yine Yığın Bellek üzerine kaydedilerek fonksiyon çağırılır. İç içe çağırılan fonksiyonlarda Yığın bellek kümülatif olarak dolar. Bu nedenle, özellikle Recursive (Yinelemeli kendi kendini çağıran) fonksiyonlar Yığın bellek taşmalarına (Stack Overflow) neden olabilir.

32 Karakter Dizileri (String) Karakter dizileri, bellekte ardaşık olarak dizilmiş anlamlı karakterler bütünüdür. Programlamada anlamlı olan karakter dizisi uzunlu açıkça belirtilmiş olmalıdır. Bunun için, farklı diller farklı yaklaşımlar getirmişlerdir; Pascal / Delphi dillerinde karakter dizilerinin uzunluğu ilk karakerde saklanır. isim[] = [19, T, r, a, k, y, a,,u, n, i, v, e, r, s, i, t, e, s, i] C / C++ dillerinde ise karakter dizisi NULL, \0 ile bitmek zorundadır. isim[] = [T, r, a, k, y, a,,u, n, i, v, e, r, s, i, t, e, s, i, \0]

33 Diziler Belleğin ardaşık adreslerinde aynı veri tipindeki değişkenlerin saklanması yoluyla diziler elde edilir. Diziler, birçok veri modeli için uygun bir veri yapısı sunar. Böylelikle liste, yığın, graf, ağaç gibi yapılar diziler üzerinde kolayca uygulanabilir. C dilinde diziler, doğrudan değişken bildirimi sırasında tanımlanır; int boy[20]; float kilo[25]; char *ad[40]; char harf[29]; float yillik_oran[12][31]; int xyz[10][20][30];

34 Diziler Öntanımlı veri tipleri dışında, struct yapıları kullanılarak özel dizilerde kolayca oluşturulabilir; struct tarih { unsigned char gun; unsigned char ay; short int yil; } struct tarih dogum_gunleri[2000];

35 Structure & Union Structure yapısı içerisinde C dilinin ön tanımlı veri tipleri kullanıldığı gibi, bit sayıları özelleştirilerek özel yapılar oluşturulabilir. Bu, özellikle çeşitli dosya formatlarının okunup yazılmasında oldukça kullanışlıdır. Bunun yanında Structure ve Union birlikte kullanılarak değişkenlere bitsel düzeyde erişim de sağlanabilir; Örn; IEEE 754 Sayı Formatının Bitlerini struct ve union ile ayırabiliriz union { } ortak; float f; struct { } bit; unsigned carpan:23; unsigned us:8; unsigned isaret:1;

36 Structure & Union Örneğin 8 bitlik bir sayıyı bitlerine ayırabilir, isteiğimiz bir biti okuyabilir ya da değiştirebiliriz. union { } sayi; unsigned char butun; struct { unsigned b0:1; unsigned b1:1; unsigned b2:1; unsigned b3:1; unsigned b4:1; unsigned b5:1; unsigned b6:1; unsigned b7:1; } bit;

37 Structure & Union Daha güncel uygulamalar için, örneğin personel kaydı tutan bir programda her bir personel kaydı struct olarak tanımlanabilir. struct tarih { unsigned char gun; unsigned char ay; unsigned short yil; }; struct personel { char tc_no[11]; char ad[20]; char soyad[20]; tarih dogum_tar; tarih ise_baslama; int maas_carpan; } ; Sizde okul numaranızı struct ile çözümleyerek birinci öğretim, ikinci öğretim, kayıt yılı, okul kodu, bölüm ve sıra numarası bilgilerini çıkarınız.

38 Operatörler ile Bit Maskeleme Bir abc integer değişkenin 3. biti 1 ise; if(abc & 0x0008) {... } Bir abc integer değişkenin 6. biti 0 ise; if((abc & 0x0040)==0) {... } Bir abc integer sayının 2. bitini 1 yapalım; abc = 0x0004; // (abc = abc 0x0004) Bir abc integer değişkenin 4. bitini 0 yapalım; abc &= ~0x0010; // abc = abc & (~0x0010)

39 Operatörler ile Bit Maskeleme Bir abc integer değişkenin 3,4,5. bitlerini başka bir değişkene alın; baska = (abc & 0x0038) >> 3; Bir abc integer değişkenin 6,7,8. bitlerin yerine 5 sayısını yazalım; abc = (abc & ~(0x01C0)) (5<<5); 16 bit integer bir değişkenin üst 8 biti ile alt 8 bitini yer değiştirin; yeni = (abc & 0x00ff)<<8 (abc & 0xff00)>>8; integer bir sayının 1., 4., 7. bitleri aynı anda 1 olduğunda doğru (true) döndüren ifadeyi yazınız if(abc&0x0092) {... }

40 Operatörler ile Bit Maskeleme Bir sayının bitlerini en sağdaki bit en solda, en soldaki bit en sağda olacak şekilde tersine çeviren programı yazınız unsigned char i, sayi, yeni=0; sayi=??; int bitsay = 8*sizeof(sayi); for(i=0; i<bitsay; i++) { if(sayi&(1<<i)) yeni =1<<(bitsay-i-1); } printf("yeni= %u\n", yeni);

Mikroişlemciler. Giriş

Mikroişlemciler. Giriş Mikroişlemciler Giriş Öğr. Gör. M. Ozan AKI r1.0 Mikroişlemcilerin Kısa Tarihçesi Hesaplama makinelerinin temelleri çok eskiye dayanır; İlk olarak Çin de kullanılmaya başlayan Abaküs, tamamen elle çalışan

Detaylı

Veri Yapıları ve Algoritmalar. Giriş (Genel Tanımlar ve Kavramlar) Dr. Öğr. Üyesi M. Ozan AKI

Veri Yapıları ve Algoritmalar. Giriş (Genel Tanımlar ve Kavramlar) Dr. Öğr. Üyesi M. Ozan AKI Veri Yapıları ve Algoritmalar Giriş (Genel Tanımlar ve Kavramlar) Dr. Öğr. Üyesi M. Ozan AKI 20.10.2018 Bilgisayar Yapısı Bilgisayar Donanım Yazılım Mikroişlemci Mikrodenetleyici CPU, up, MCU, uc Memory

Detaylı

Mikroişlemciler. Giriş

Mikroişlemciler. Giriş Mikroişlemciler Giriş Öğr. Gör. M. Ozan AKI r1.1 Mikroişlemcilerin Kısa Tarihçesi Hesaplama makinelerinin temelleri çok eskiye dayanır; İlk olarak Çin de kullanılmaya başlayan Abaküs, tamamen elle çalışan

Detaylı

MTM 305 MĠKROĠġLEMCĠLER

MTM 305 MĠKROĠġLEMCĠLER KARABÜK ÜNĠVERSĠTESĠ TEKNOLOJĠ FAKÜLTESĠ MEKATRONĠK MÜHENDĠSLĠĞĠ BÖLÜMÜ MTM 305 MĠKROĠġLEMCĠLER ArĢ. Gör. Emel SOYLU ArĢ. Gör. Kadriye ÖZ KONTROL KOMUTLARI Program Kontrol Komutları Program akıģını bir

Detaylı

Özet DERS 5. Şu ana kadar bilmeniz gerekenler... İşaretsiz Çarpma. Bayraklardaki Durumlar. İşaretli Çarpma

Özet DERS 5. Şu ana kadar bilmeniz gerekenler... İşaretsiz Çarpma. Bayraklardaki Durumlar. İşaretli Çarpma Özet DERS 5 Çarpma, Bölme ve Dallanmalar Öğr. Gör. Eren ERENER AİBÜ/DMYO Neredeyiz Çarpma Bölme Karşılaştırma Jump komutları Şu ana kadar bilmeniz gerekenler... İşaretsiz Çarpma Kaydediciler ve bellek

Detaylı

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları Veri yapısı, bilginin anlamlı sırada bellekte veya disk, çubuk bellek gibi saklama birimlerinde tutulması veya saklanması şeklini gösterir. Bilgisayar

Detaylı

8086 Mikroişlemcisi Komut Seti

8086 Mikroişlemcisi Komut Seti 8086 Mikroişlemcisi Komut Seti X86 tabanlı mikroişlemcilerin icra ettiği makine kodları sabit olmasına rağmen, programlama dillerinin komut ve ifadeleri farklı olabilir. Assembly programlama dilininde

Detaylı

W SAYAC SAYAC SAYAC. SAYAC=10110110 ise, d=0 W 01001001

W SAYAC SAYAC SAYAC. SAYAC=10110110 ise, d=0 W 01001001 MOVLW k Move Literal to W k sabit değerini W saklayıcısına yükler. MOVLW h'1a' W 1A. Hexadecimal 1A sayısı W registerine yüklenir. MOVF f,d Move f f saklayıcısının içeriğini W veya f'e yükler. MOVF SAYAC,0

Detaylı

BÖLÜM 3 3. PIC 16F8X KOMUTLARI 3.1.KULLANILAN SEMBOLLER: 3.2.KOMUTLAR VE KULLANIM ÖRNEKLERİ

BÖLÜM 3 3. PIC 16F8X KOMUTLARI 3.1.KULLANILAN SEMBOLLER: 3.2.KOMUTLAR VE KULLANIM ÖRNEKLERİ BÖLÜM 3 3. PIC 16F8X KOMUTLARI 3.1.KULLANILAN SEMBOLLER: f : File register, Herhangi bir değişkenle tarif edilen bir saklayıcı adresi (0h-7Fh) k : Sabit değer (genellikle (0-FF arasında) d : Destination

Detaylı

b) Aritmetik İşlem Komutları

b) Aritmetik İşlem Komutları b) Aritmetik İşlem Komutları Toplama ve Toplama İle İlgili Komutlar Komut. Format İşlem ADD (ADDition) elde CF ADD D, S (D)+(S) (D); ADC (Add with Carry) elde CF ADC D, S (D)+(S)+CF (D); yeni INC (INCrement

Detaylı

KOMUT AÇIKLAMALARI VE ÖRNEKLERİ

KOMUT AÇIKLAMALARI VE ÖRNEKLERİ KOMUT AÇIKLAMALARI VE ÖRNEKLERİ Komut açıklamalarında kullanılan harflerin anlamları: F : File(dosya), kaynak ve bilgi alınan yeri ifade eder. D : Destination (hedef), işlem sonucunun kaydedileceği yer.

Detaylı

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié DERSİN WEB SİTESİ: http://nucleus.istanbul.edu.tr/~bilprog2/ DeğiĢkenler ve Data Türleri

Detaylı

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak:  Published by Juan Soulié Kullanılacak kaynak: http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié C++ Nedir? Arttırılmış C demektir ve C dilinin geliştirilmiş halini yansıtır. C++ öğrenmeden önce herhangi bir programlama

Detaylı

Veri Yapıları. Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz. İçindekiler:

Veri Yapıları. Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz. İçindekiler: Veri Yapıları Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz İçindekiler: Giriş Temel Veri Yapıları Tanımlamalı Veri Yapıları Veri Modeli ve Türleri

Detaylı

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri BLM-111 PROGRAMLAMA DİLLERİ I Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Temel Veri Tipleri C dilinde

Detaylı

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır:

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır: C VERİ TÜRLERİ BASİT VERİ TÜRLERİ Değişkenler, program içinde üzerinde işlem yapılan, veri saklanan ve durumlarına göre programın akışı sağlanan nesnelerdir. C de bir değişken kullanılmadan önce tanımlanmalıdır.

Detaylı

Bölüm 5: ARITMETIK VE MANTIK IŞLEM YAPAN KOMUTLAR

Bölüm 5: ARITMETIK VE MANTIK IŞLEM YAPAN KOMUTLAR Bölüm 5: ARITMETIK VE MANTIK IŞLEM YAPAN KOMUTLAR Toplama (Addition) Toplama (ADD) belirtilen iki yazaç veya yazaç ile belleğin içeriğini toplar ve kullanılan adresleme moduna göre sonucu belirtilen yazaca

Detaylı

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say İÇİNDEKİLER 1. Bilgisayarın Yapısı Ve Programlama Dilleri Giriş 1 Bilgisayar ve Programlamanın Kısa Bir Tarihçesi 2 Donanım ve Yazılım Kavramları 3 Bilgisayarın Donanımsal yapısı 4 Giriş Birimi (Input

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri

Detaylı

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1 Programlama Dilleri C Dili Programlama Dilleri-ders02/ 1 Değişkenler, Sabitler ve Operatörler Değişkenler (variables) bellekte bilginin saklandığı gözlere verilen simgesel isimlerdir. Sabitler (constants)

Detaylı

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri Öğrenci No Ad-Soyad Puan Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri S1) 8086 mikroişlemcisi bitlik adres yoluna ve.. bitlik veri yoluna sahip bir işlemcidir. S2) 8086 Mikroişlemci mimarisinde paralel

Detaylı

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler Veri Tanımları ve Mantıksal Đşlemler Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Kullanılacak bütün değişkenlerin kullanılmadan önce C derleyicisine bildirilmeleri gerekir.

Detaylı

Mikrobilgisayar Mimarisi ve Programlama

Mikrobilgisayar Mimarisi ve Programlama Mikrobilgisayar Mimarisi ve Programlama 2. Hafta Bellek Birimleri ve Programlamaya Giriş Doç. Dr. Akif KUTLU Ders web sitesi: http://www.8051turk.com/ http://microlab.sdu.edu.tr Bellekler Bellekler 0 veya

Detaylı

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA 6. HAFTA EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA Öğr. Gör. S. M. Fatih APAYDIN apaydin@beun.edu.tr EMYO Bülent Ecevit Üniversitesi Kdz. Ereğli Meslek Yüksekokulu ALGORİTMA ÖRNEK1: İki sayının toplamı

Detaylı

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ 3. Hafta YAPILAR Farklı veri tipindeki bilgilerin bir araya gelerek oluşturdukları topluluklara yapı (structure) denir. Yani yapılar, birbiriyle ilişkili değişkenlerin

Detaylı

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak # PIC enerjilendiğinde PORTB nin 0. biti 1 olacak - LIST=16F84 - PORTB yi temizle - BANK1 e geç - PORTB nin uçlarını çıkış olarak yönlendir - BANK 0 a geç - PORT B nin 0. bitini 1 yap - SON ;pic tanıtması

Detaylı

Bölüm 2 - C ile Programlamaya Giriş

Bölüm 2 - C ile Programlamaya Giriş 1 Bölüm 2 - C ile Programlamaya Giriş Başlıklar 2.1 Giriş 2.2 Basit C Programları: Bir Metni Yazdırmak 2.3 Basit C Programları: İki Tam Sayıyı Toplamak 2.4 Hafıza Konuları 2.5 C de Aritmetik 2.6 Karar

Detaylı

PROGRAMLAMAYA GİRİŞ DERS 2

PROGRAMLAMAYA GİRİŞ DERS 2 PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı

Detaylı

MİKRO DENETLEYİCİLER II DERS NOTLARI (VİZE KONULARI) Prof. Dr. Hakan Ündil Bahar-Vize

MİKRO DENETLEYİCİLER II DERS NOTLARI (VİZE KONULARI) Prof. Dr. Hakan Ündil Bahar-Vize MİKRO DENETLEYİCİLER II DERS NOTLARI (VİZE KONULARI) Prof. Dr. Hakan Ündil 2014-2015 Bahar-Vize BÖLÜM 7 - LOJİK İŞLEM KOMUTLARI 7.1. RLF Komutu (Bir bit Sola Kaydırma) Bir file register içinde bulunan

Detaylı

PASCAL PROGRAMLAMA DİLİ YAPISI

PASCAL PROGRAMLAMA DİLİ YAPISI BÖLÜM 3 PASCAL PROGRAMLAMA DİLİ YAPISI 3.1. Giriş Bir Pascal programı en genel anlamda üç ayrı kısımdan oluşmuştur. Bu kısımlar bulunmaları gereken sıraya göre aşağıda verilmiştir. Program Başlığı; Tanımlama

Detaylı

Mikroişlemci: Merkezi işlem biriminin fonksiyonlarını tek bir yarı iletken tümleşik devrede birleştiren programlanabilir sayısal elektronik devre

Mikroişlemci: Merkezi işlem biriminin fonksiyonlarını tek bir yarı iletken tümleşik devrede birleştiren programlanabilir sayısal elektronik devre MİKRODENETLEYİCİLER Mikroişlemci: Merkezi işlem biriminin fonksiyonlarını tek bir yarı iletken tümleşik devrede birleştiren programlanabilir sayısal elektronik devre Mikrodenetleyici: Bir mikroişlemcinin

Detaylı

80x86 MICROPROCESSOR Instructions

80x86 MICROPROCESSOR Instructions 80x86 MICROPROCESSOR Instructions Inside The 8088/8086 registers Registers Verileri geçici olarak tutar AX 16-bit register AH 8-bit reg. AL 8-bit reg. Category Bits Register Names General 16 AX, BX, CX,

Detaylı

YILDIZ TEKNİK ÜNİVERSİTESİ ELEKTRİK - ELEKTRONİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ. EasyPic6 Deney Seti Kullanım Kılavuzu

YILDIZ TEKNİK ÜNİVERSİTESİ ELEKTRİK - ELEKTRONİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ. EasyPic6 Deney Seti Kullanım Kılavuzu YILDIZ TEKNİK ÜNİVERSİTESİ ELEKTRİK - ELEKTRONİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ EasyPic6 Deney Seti Kullanım Kılavuzu İstanbul 2009 İçindekiler EasyPic6 Deney Setinin Tanıtımı... 1 PIC16F887

Detaylı

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe Bit, Byte ve Integer BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe Ders kitabına ait sunum dosyalarından adapte edilmiştir: http://csapp.cs.cmu.edu/ Adapted from slides

Detaylı

PIC16F877A nın Genel Özellikleri

PIC16F877A nın Genel Özellikleri BÖLÜM 3 PIC16F877A nın Genel Özellikleri 3.1 Mikrodenetleyici Mimarisi 3.2 PIC16Fxxx Komut Seti 3.3 PIC16F877A Bellek Organizasyonu 3.4 Giriş/Çıkış Portları 3.5 STATUS ve TRIS Kaydedicileri 3.6 Kesme ve

Detaylı

1. PORTB ye bağlı 8 adet LED i ikili sayı sisteminde yukarı saydıracak programı

1. PORTB ye bağlı 8 adet LED i ikili sayı sisteminde yukarı saydıracak programı 1. PORTB ye bağlı 8 adet LED i ikili sayı sisteminde yukarı saydıracak programı yazınız. SAYAC1 EQU 0X20 devam movlw B'00000000' call DELAY incf PORTB,f ;Akü ye 0' sabit değerini yaz. ;Aküdeki değer PORTB

Detaylı

BÖLÜM 11: YAPISAL VERİ TİPLERİ

BÖLÜM 11: YAPISAL VERİ TİPLERİ BÖLÜM 11: YAPISAL VERİ TİPLERİ I. STRUCTURE-YAPI (struct) TİPİ DEĞİŞKENLER Birbiriyle bağlantılı ve bir küme teşkil eden değerler bir tek değişkenin çatısı altında bu değişkenin alt alanları olarak tanımlanabilirler.

Detaylı

Programlama Dilleri. C Dili. Programlama Dilleri-ders08/ 1

Programlama Dilleri. C Dili. Programlama Dilleri-ders08/ 1 Programlama Dilleri C Dili Programlama Dilleri-ders08/ 1 Yapısal Veri Tipleri C dili genişletilebilen bir dildir. Var olan veri tipleri kullanılarak yeni veri tipleri tanımlanıp kullanılabilir. Programlama

Detaylı

Deney No Deney Adı Tarih. 3 Mikrodenetleyici Portlarının Giriş Olarak Kullanılması / /201...

Deney No Deney Adı Tarih. 3 Mikrodenetleyici Portlarının Giriş Olarak Kullanılması / /201... 3.1 AMAÇ: Assembly programlama dili kullanarak mikrodenetleyici portlarını giriş olarak kullanmak. GİRİŞ: Bir portun giriş olarak mı yoksa çıkış olarak mı kullanılacağını belirten TRIS kaydedicileridir.

Detaylı

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe Bit, Byte ve Integer BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe Ders kitabına ait sunum dosyalarından adapte edilmiştir: http://csapp.cs.cmu.edu/ Adapted from slides

Detaylı

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe Bit, Byte ve Integer BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe Ders kitabına ait sunum dosyalarından adapte edilmiştir: http://csapp.cs.cmu.edu/ Adapted from slides

Detaylı

Komut Seti Mimarisi (ISA)

Komut Seti Mimarisi (ISA) Komut Seti Mimarisi (ISA) BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğretim Üyesi Fatih Gökçe Ders kitabına ait sunum dosyalarından adapte edilmiştir: http://csapp.cs.cmu.edu/ Adapted

Detaylı

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri 49 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B02) Çalıştırılabilir C ifadeleri ya bir işlem gerçekleştirir ( girilen verilerin toplanması

Detaylı

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler C Programlama Dr. Serkan DİŞLİTAŞ 3.1. Sabitler Sabitler, tanımlanmasıyla birlikte program içerisinde

Detaylı

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe Bit, Byte ve Integer BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe Ders kitabına ait sunum dosyalarından adapte edilmiştir: http://csapp.cs.cmu.edu/ Adapted from slides

Detaylı

16F84 ü tanıt, PORTB çıkış MOVLW h FF MOWF PORTB

16F84 ü tanıt, PORTB çıkış MOVLW h FF MOWF PORTB MİKROİŞLEMCİLER VE MİKRODENETLEYİCİLER 1 - DERS NOTLARI (Kısım 3) Doç. Dr. Hakan Ündil Program Örneği 9 : Gecikme altprogramı kullanarak Port B ye bağlı tüm LED leri yakıp söndüren bir program için akış

Detaylı

PİC BASİC PROFESSİONAL

PİC BASİC PROFESSİONAL PİC BASİC PROFESSİONAL Farklı Mikroişlemcilerin farklı Assembler kodları olması genellikle sorun olmuştur. Bu dezavantajdan kurtulmak için compiler lar geliştirilmiştir. C++ ve Basic dillerinde yazılanlar

Detaylı

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1 BMT 101 Algoritma ve Programlama I 6. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Veri Tipleri Yük. Müh. Köksal Gündoğdu 2 Veri Tipleri Tam sayı ve Ondalık sayı veri tipleri Veri Tipi Alt Sınıf Üst Sınıf Duyarlı

Detaylı

BBM 341 Sistem Programlama

BBM 341 Sistem Programlama Öğrenci Adı Soyadı: Öğrenci Numarası: S1 S2 S3 S4 S5 Toplam Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü BBM 341 Sistem Programlama Ara Sınav Tarih: 19 Kasım 2012 Süre: 105 dak. Sınava başlamadan

Detaylı

Linux Assembly Programlamaya Giriş

Linux Assembly Programlamaya Giriş Linux Assembly Programlamaya Giriş Barış Metin Konular gcc / gas / ld Intel ve AT&T söz dizimleri gdb INT 80H C kütüphane fonksiyonları Stack Frame Örnek

Detaylı

Ders 2: Veri Tipleri, Değişkenler ve Sabitler

Ders 2: Veri Tipleri, Değişkenler ve Sabitler Ders 2: Veri Tipleri, Değişkenler ve Sabitler Giriş Orta ve yüksek seviyeli dillerin hemen hemen hepsinde veri tipi ve değişken kavramı bulunmaktadır. Bu kısımda C programlama dilindeki temel veri tipleri,

Detaylı

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 13.04.2015 Süre : 60 dak. 1. Hangisi gerçek sayı değişmezi değildir?

Detaylı

C Dersi Bölüm 1. Bilgisayar Donanımı

C Dersi Bölüm 1. Bilgisayar Donanımı C Dersi Bölüm 1 M Bodur 1 Bilgisayar Donanımı Bilgisayarın yapısını ve çalışma prensiplerini bilmemiz Bir bilgisayar programından neler bekleyebileceğimizi anlamamızı sağlar. Bigisayar dört temel birimden

Detaylı

Adresleme Modları. Mikroişlemciler ve Mikrobilgisayarlar

Adresleme Modları. Mikroişlemciler ve Mikrobilgisayarlar Adresleme Modları 1 Adresleme Modları İşlenenin nerede olacağını belirtmek için kullanılırlar. Kod çözme aşamasında adresleme yöntemi belirlenir ve işlenenin nerede bulunacağı hesaplanır. Mikroişlemcide

Detaylı

http://alikoker.name.tr Assembly Programlama Dili T e m m u z 2 0 0 3

http://alikoker.name.tr Assembly Programlama Dili T e m m u z 2 0 0 3 Assembly Programlama Dili T e m m u z 2 0 0 3 Hazırlayan : Fehmi Noyan İSİ fni18444@gantep.edu.tr fnoyanisi@yahoo.com http://www2.gantep.edu.tr/~fni18444 1 2 Bu dokümanda Intel firmasının 80x86 serisi

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

C Konsol Giriş Çıkış Fonksiyonları

C Konsol Giriş Çıkış Fonksiyonları C Konsol Giriş Çıkış Fonksiyonları Öğr. Gör. M. Ozan AKI Rev 1.0 Stringlerde Özel Karakterler \n : Bir sonraki satırın ilk sütununa git \b : Backspace (önceki karakteri sil) \a : Bip sesi \\ : Ters bölü

Detaylı

Her veri tipine yetecek ve ancak o kadar anabellek alanı ayrılır. Programcı, ana bellekte ayrılacak adresin büyüklüğünü bilerek değişkenlerini

Her veri tipine yetecek ve ancak o kadar anabellek alanı ayrılır. Programcı, ana bellekte ayrılacak adresin büyüklüğünü bilerek değişkenlerini 1 Veri Tipleri Bazı diller veri tiplerini önceden ayırır, bazıları ayırmaz. Teknik olarak, veri tipini önceden belirleyen diller, anabelleğe yerleşecek verileri, orada kapsayacakları alanlara göre gruplara

Detaylı

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ C# Yazım Kuralları 1 İçindekiler C# Yazım Kuralları Veritipleri Değişkenler Operatörler Sınıflar Nesneler, Özellik, Metot ve Olay Bileşenler 2 C# yazım kuralları Deyimlerde büyük küçük harf yazıma uyulmalı

Detaylı

Giris {\} /\ Suhap SAHIN

Giris {\} /\ Suhap SAHIN Giris 0 {\} /\ Suhap SAHIN Kaynaklar http://users.ece.utexas.edu/~valvano/volume1/e-book/ Kaynaklar https://www.edx.org/course/embedded-systems-shape-world-utaustinx-ut-6-02x Konular 1. 2. 3. 4. 5. 6.

Detaylı

Genel Programlama I

Genel Programlama I Genel Programlama I 30.09.2010 1 Genel Programlama I Ders İçeriği Programlamaya giriş ve algoritma kavramları Basit ve karmaşık veri tipleri Program kontrol komutları (Döngü ve şart yapıları) Diziler ve

Detaylı

2. SAYI SİSTEMLERİ. M.İLKUÇAR - imuammer@yahoo.com

2. SAYI SİSTEMLERİ. M.İLKUÇAR - imuammer@yahoo.com Sayı Sistemleri İşlemci elektrik sinyalleri ile çalışır, bu elektrik sinyallerini 1/0 şeklinde yorumlayarak işlemcide olup bitenler anlaşılabilir hale getirilir. Böylece gerçek hayattaki bilgileri 1/0

Detaylı

C++ Statements. { ve } arasında ifade edilen bir dizi statement bir compound statement (birleşik ifade) oluşturur.

C++ Statements. { ve } arasında ifade edilen bir dizi statement bir compound statement (birleşik ifade) oluşturur. C++ Statements En küçük çalışabilir birime statement (ifade) denir. Statements semicolon (;) ile sonlandırılır. Yalnız başına ; null statement ifade eder Örnek: while (*str++ = *inbuf++) ; { ve } arasında

Detaylı

B.Ç. / E.B. MİKROİŞLEMCİLER

B.Ç. / E.B. MİKROİŞLEMCİLER 1 MİKROİŞLEMCİLER RESET Girişi ve DEVRESİ Program herhangi bir nedenle kilitlenirse ya da program yeniden (baştan) çalıştırılmak istenirse dışarıdan PIC i reset yapmak gerekir. Aslında PIC in içinde besleme

Detaylı

Floating Point (Kayan Noktalı Sayılar)

Floating Point (Kayan Noktalı Sayılar) Süleyman Demirel Üniversitesi / Mühendislik Fak. / Bilgisayar Mühendisliği Bölümü Floating Point (Kayan Noktalı Sayılar) BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe

Detaylı

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0 Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Bitirme Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 01.06.2017 Süre : 60 dak. 1. t değişkeni hakkında aşağıdakilerden

Detaylı

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe Bit, Byte ve Integer BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe Ders kitabına ait sunum dosyalarından adapte edilmiştir: http://csapp.cs.cmu.edu/ Adapted from slides

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 6 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Fonksiyon Prototipleri Fonksiyon Prototipleri Derleyici, fonksiyonların ilk hallerini (prototiplerini)

Detaylı

Algoritmalar ve Programlama. DERS - 2 Yrd. Doç. Dr. Ahmet SERBES

Algoritmalar ve Programlama. DERS - 2 Yrd. Doç. Dr. Ahmet SERBES Algoritmalar ve Programlama DERS - 2 Yrd. Doç. Dr. Ahmet SERBES Programlama Bilgisayara ne yapması gerektiğini, yani onunla konuşmamızı sağlayan dil. Tüm yazılımlar programlama dilleri ile yazılır. 1.

Detaylı

BİLGİSAYAR MİMARİSİ. Bilgisayar Bileşenleri Ve Programların Yürütülmesi. Özer Çelik Matematik-Bilgisayar Bölümü

BİLGİSAYAR MİMARİSİ. Bilgisayar Bileşenleri Ve Programların Yürütülmesi. Özer Çelik Matematik-Bilgisayar Bölümü BİLGİSAYAR MİMARİSİ Bilgisayar Bileşenleri Ve Programların Yürütülmesi Özer Çelik Matematik-Bilgisayar Bölümü Program Kavramı Bilgisayardan istenilen işlerin gerçekleştirilebilmesi için gereken işlem dizisi

Detaylı

işlemler bittikten sonra dosyaların kapatılması uygun olacaktır. Bunun için, fclose(fin);

işlemler bittikten sonra dosyaların kapatılması uygun olacaktır. Bunun için, fclose(fin); case 2 : C = 0.5088-0.0011*(B-135); break; case 3 : C = 0.4978-0.0010*(B-145); break; case 4 : C = 0.4878-0.0009*(B-155); break; default : printf("yanlış seçenek\n");} cout

Detaylı

Programlama Dilleri 1. Ders 12: Belirleyiciler ve Niteleyiciler

Programlama Dilleri 1. Ders 12: Belirleyiciler ve Niteleyiciler Programlama Dilleri 1 Ders 12: Belirleyiciler ve Niteleyiciler Genel Bakış Giriş Yer Belirleyicilerle Bildirim İşlemi auto Belirleyicisi register Belirleyicisi static Belirleyicisi Statik ve Global Değişkenlerin

Detaylı

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1 Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit

Detaylı

enum bolumler{elektronik, insaat, bilgisayar, makine, gida};

enum bolumler{elektronik, insaat, bilgisayar, makine, gida}; BÖLÜM 12: Giriş C programlama dilinde programcı kendi veri tipini tanımlayabilir. enum Deyimi (Enumeration Constants) Bu tip, değişkenin alabileceği değerlerin belli (sabit) olduğu durumlarda programı

Detaylı

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay. PROGRAMLAMAYA GİRİŞ Öğr. Gör. Ayhan KOÇ Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay., 2007 Algoritma ve Programlamaya Giriş, Ebubekir YAŞAR, Murathan Yay., 2011

Detaylı

Komut Seti Mimarisi (ISA)

Komut Seti Mimarisi (ISA) Komut Seti Mimarisi (ISA) BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğretim Üyesi Fatih Gökçe Ders kitabına ait sunum dosyalarından adapte edilmiştir: http://csapp.cs.cmu.edu/ Adapted

Detaylı

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir. PROGRAMLAMAYA GİRİŞ Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir. C de yazılan bir programın çalışması için çoğunlukla aşağıdaki

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları SABİTLER VE DEĞİŞKENLER Değişken, verilerin bellekte geçici olarak kaydedilmesini ve gerektiğinde kullanılmasını sağlayan değerdir. Nesne tabanlı programlama dilinde değişken kullanımı diğer programlama

Detaylı

Bilgisayarların Gelişimi

Bilgisayarların Gelişimi Bilgisayarların Gelişimi Joseph Jacquard (1810) Bilgisayar tabanlı halı dokuma makinesi Delikli Kart (Punch Card) Algoritma ve Programlama 6 Bilgisayar Sistemi 1. Donanım fiziksel aygıtlardır. 2. Yazılım

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Operand türleri Assembly dili 2 İşlemcinin yapacağı iş makine komutlarıyla belirlenir. İşlemcinin

Detaylı

BMT 106 Algoritma ve Programlama II Bahar Dönemi

BMT 106 Algoritma ve Programlama II Bahar Dönemi BMT 106 Algoritma ve Programlama II 2016 2017 Bahar Dönemi DERS AKIŞI 1. C++ a Giriş, Veri Tipleri Yorum Satırı, Bool İfadesi, If Else Kullanımı, If Else Yapısı Örnekleri, Switch Case Yapısı, Operatörler

Detaylı

Sınav tarihi : Süre : 60 dak.

Sınav tarihi : Süre : 60 dak. Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Final Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 31.05.2016 Süre : 60 dak. 1. Ekranda ne görüntülenir? int i =

Detaylı

MTM 305 MĠKROĠġLEMCĠLER

MTM 305 MĠKROĠġLEMCĠLER KARABÜK ÜNĠVERSĠTESĠ TEKNOLOJĠ FAKÜLTESĠ MEKATRONĠK MÜHENDĠSLĠĞĠ BÖLÜMÜ MTM 305 MĠKROĠġLEMCĠLER ArĢ. Gör. Emel SOYLU ArĢ. Gör. Kadriye ÖZ String Komutarı MOVS CMPS SCAS LODS STOS String Komutları MOVS,

Detaylı

Big Endian & Little Endian K.Atilla Toker İzmir Üniversitesi Meslek Yüksek Okulu Bilgisayar Programcılığı 11-2009 Ver:01

Big Endian & Little Endian K.Atilla Toker İzmir Üniversitesi Meslek Yüksek Okulu Bilgisayar Programcılığı 11-2009 Ver:01 Bilgisayar i Mimarisii i Big Endian & Little Endian K.Atilla Toker İzmir Üniversitesi Meslek Yüksek Okulu Bilgisayar Programcılığı 11-2009 Ver:01 İZMIR ÜNIVERSITESI İZMIR ÜNIVERSITESI MYO BILGISAYAR PROGRAMLAMA

Detaylı

Assembly. Programlama Dili. T e m m u z 2 0 0 3

Assembly. Programlama Dili. T e m m u z 2 0 0 3 Assembly Programlama Dili T e m m u z 2 0 0 3 Hazırlayan : Fehmi Noyan İSİ fni18444@gantep.edu.tr fnoyanisi@yahoo.com http://www2.gantep.edu.tr/~fni18444 1 2 Bu dokümanda Intel firmasının 80x86 serisi

Detaylı

İstanbul Üniversitesi Elektrik Elektronik Mühendisliği GENEL KAVRAMLAR. Kaynak: C ve Sistem Programcıları Derneği Kurs Notu. Öğr.Gör.Dr.

İstanbul Üniversitesi Elektrik Elektronik Mühendisliği GENEL KAVRAMLAR. Kaynak: C ve Sistem Programcıları Derneği Kurs Notu. Öğr.Gör.Dr. GENEL KAVRAMLAR Kaynak: C ve Sistem Programcıları Derneği Kurs Notu Öğr.Gör.Dr. Mahmut YALÇIN Gerçek Sayıların Bellekte Tutulması Bir gerçek sayı aşağıdaki gibi ifade edilebilir: Yukarıdaki genel denklemde

Detaylı

5. BÖLÜM - DÖNGÜ (ÇEVRİM) ve Z BAYRAĞI

5. BÖLÜM - DÖNGÜ (ÇEVRİM) ve Z BAYRAĞI MİKRO DENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan Ündil 2015-2016 Bahar-Vize (MİKRODENETLEYİCİLER I DERS NOTLARI nın devamıdır. Sadece VİZE için olan kısımdır) 5. BÖLÜM - DÖNGÜ (ÇEVRİM) ve Z BAYRAĞI

Detaylı

Göstericiler (Pointers)

Göstericiler (Pointers) C PROGRAMLAMA Göstericiler (Pointers) C programlama dilinin en güçlü özelliklerinden biridir. Göstericiler, işaretçiler yada pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi

Detaylı

C PROGRAMLAMA D İ L İ

C PROGRAMLAMA D İ L İ C PROGRAMLAMA DİLİ C Programlama Dilinin Temelleri C Programlama Dili'ni popüler kılan önemli nedenler aşağıda listelenmiştir: C, güçlü ve esnek bir dildir. C ile işletim sistemi veya derleyici yazabilir,

Detaylı

ELN1001 BİLGİSAYAR PROGRAMLAMA I

ELN1001 BİLGİSAYAR PROGRAMLAMA I ELN1001 BİLGİSAYAR PROGRAMLAMA I DEPOLAMA SINIFLARI DEĞİŞKEN MENZİLLERİ YİNELEMELİ FONKSİYONLAR Depolama Sınıfları Tanıtıcılar için şu ana kadar görülmüş olan özellikler: Ad Tip Boyut Değer Bunlara ilave

Detaylı

Kocaeli Üniversitesi C Bilgisayar Programlama Ara Sınavı Test Soruları

Kocaeli Üniversitesi C Bilgisayar Programlama Ara Sınavı Test Soruları Kocaeli Üniversitesi Mühendislik Fakültesi Harita Mühendisliği Bölümü ra Sınavı Test Soruları dı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : 11.04.2018, 50 dak. Dikkat!!! Soru kitapçığında ve cevap

Detaylı

C Programlama Dilininin Basit Yapıları

C Programlama Dilininin Basit Yapıları Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade

Detaylı

Program Kontrol Komutları. Mikroişlemciler ve Mikrobilgisayarlar 1

Program Kontrol Komutları. Mikroişlemciler ve Mikrobilgisayarlar 1 Program Kontrol Komutları Mikroişlemciler ve Mikrobilgisayarlar 1 Bu başlık, altında incelenecek olan komutlar program akışını oluşan bazı koşullara göre değiştirmektedirler Program akışında meydana gelen

Detaylı

Prepared By IcEN. www.frtrk.org >> IcEN. Bu makalemizde 80x86 gerçek mod komutlar inceleyece iz.

Prepared By IcEN. www.frtrk.org >> IcEN. Bu makalemizde 80x86 gerçek mod komutlar inceleyece iz. Prepared By IcEN www.frtrk.org >> IcEN Bu makalemizde 80x86 gerçek mod komutlar inceleyece iz. 80x86 KOMUT SET (Bölüm 1) X86 tabanl mikroi lemcilerin icra etti i makine kodlar sabit olmas na ra men, programlama

Detaylı

LCD (Liquid Crystal Display )

LCD (Liquid Crystal Display ) LCD (Liquid Crystal Display ) Hafif olmaları,az yer kaplamaları gibi avantajları yüzünden günlük hayatta birçok cihazda tercih edilen Standart LCD paneller +5 V ile çalışır ve genellikle 14 konnektor lü

Detaylı

Pointers (İşaretçiler)

Pointers (İşaretçiler) Pointers (İşaretçiler) Pointers (İşaretçiler) Verilerin bilgisayar hafızasında tutulduğu fiziki alan adres olarak tanımlanabilir. Adres, hem donanımla hem de yazılımla ile ilişkilidir. Donanımsal açıdan

Detaylı

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Kullanıcıdan aldığı veri ya da bilgilerle kullanıcının isteği doğrultusunda işlem ve karşılaştırmalar yapabilen, veri ya da bilgileri sabit disk,

Detaylı

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUARI İKİLİ TABANDA ÇOK BAYTLI ÇARPMA

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUARI İKİLİ TABANDA ÇOK BAYTLI ÇARPMA İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUARI İKİLİ TABANDA ÇOK BAYTLI ÇARPMA Aritmetik işlemler onlu sayı sisteminde yapılabileceği gibi diğer sayı sistemleri

Detaylı

Eln 1001 Bilgisayar Programlama I

Eln 1001 Bilgisayar Programlama I Eln 1001 Bilgisayar Programlama I GiriŞ / ǹk¹Ş Fonksiyonlar¹ Ne ÖĆreneceĆiz? Temel Giriş/Çıkış Yapısı Giriş Fonksiyonları Karakterler için giriş fonksiyonları Scanf fonksiyonu Formatlı giriş Çıkış Fonksiyonları

Detaylı

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması Ağaç, verilerin birbirine sanki bir ağaç yapısı oluşturuyormuş gibi sanal olarak bağlanmasıyla elde edilen hiyararşik yapıya sahip

Detaylı