Bölüm 6. Veri Tipleri ISBN

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

Download "Bölüm 6. Veri Tipleri ISBN 0-321 49362-1"

Transkript

1 Bölüm 6 Veri Tipleri ISBN

2 Bölüm 6 Başlıkları Giriş İlkel Veri Tipleri Karakter String Tipleri Kullanıcı Tanımlı Tipler Dizi Tipleri Birleşmiş Diziler Kayıt Tipleri Küme Tipleri İşaretçi ve Referans Tipleri Wesley. All rights reserved. 1-2

3 Giriş veri tipi,bir veri nesneleri kolleksiyonunu ve bu nesneler üzerinde daha önceden tanımlanmış olan işlemleri tanımlar. Bir tanımlayıcı(descriptor) bir değişkenin özellikleri kolleksiyonudur. Bir nesne bir kullanıcı tanımlı tipten bir örneği tanımlar. Tüm veri tipleri üzerinde tasarımda düşünülen temel problem bu veri tipleriyle hangi işlemler nasıl yapılacaktır Wesley. All rights reserved. 1-3

4 İlkel Veri Tipleri(Primitive Data Types) Neredeyse tüm programlama dilleri ilkel veri tiplerini sağlamaktadır. İlkel veri tipleri: Diğer veri tipleri yardımıyla tanımlanamayan tiplerdir. Bazı veri tipleri donanımın bir yansımasıdır. Diğerleri donanım harici desteğe ihtiyaç duyabilir. Wesley. All rights reserved. 1-4

5 İlkel Veri Tipleri: Tamsayı(Integer) Tüm donanımlarda desteklenen bir tiptir ve karşılığı kolaydır. Bir dilde 8 farklı tamsayı olabilir. Java da işaretli tamsayı boyutları: byte, short, int, long Wesley. All rights reserved. 1-5

6 İlkel Veri Tipleri:Kayan Noktalı Sayılar( Floating Point) Gerçel sayıları yaklaşıklıklar yardımıyla modeller. Bilimsel hesaplamalarda kullanılan dillerde en az iki noktalı sayı destekler(örn., float ve double; ) Donanım desteği bazen tam olarak vardır IEEE Floating-Point Standard 754 Wesley. All rights reserved. 1-6

7 İlkel Veri Tipleri: Ondalık(Decimal) İş uygulamalarında (Parasal) COBOL da önemlidir. C# da decimal ver tipi vardır. Belirli sabit sayıda ondalık basamak tutar. Avantaj: doğruluk(accuracy) Dezavantaj: sınırlı aralık, belleği israf eder. Wesley. All rights reserved. 1-7

8 İlkel Veri Tİpleri: Mantıksal(Boolean) Hepsinin en basitidir. Değerler: iki eleman, biri doğru true ve diğeri yanlış false Bitler ile gerçeklenebilirler,bununla birlikte genellikle byte lar ile gerçeklenirler. Avantaj: okunabilirlik(readability) Wesley. All rights reserved. 1-8

9 İlkel Veri tipleri: Karakter(Character) Sayısal kodlar ile saklanırlar. En yaygın kodlama: ASCII Alternatif, 16-bit kodlama: Unicode Tüm doğal dillerin karakterlerini barındırır. Java da orijinalinde kullanılıyor. C# ve JavaScript de Unicode u destekliyor. Wesley. All rights reserved. 1-9

10 Karakter String tipleri Değeri karakter dizisidir. Tasarım konuları: Bir ilkel tip mi olmalıdır yoksa özel bit dizi tipi mi? Stringlerin boyutları durağan mi yoksa değişebilir mi olmalıdır.? Wesley. All rights reserved. 1-10

11 Karakter string tipleri işlemleri Tipik işlemler: Atama ve kopyalama Karşılaştırma(=, >, etc.) birleştirme Alt string e referans Şablon eşleme Wesley. All rights reserved. 1-11

12 Belirli dillerde String tipleri C and C++ İlkel değildir char dizileri kullanılır ve işlemler için kütüphane fonksiyonları vardır. SNOBOL4 (bir string işleme dili) İlkel veri tipidir. Birçok işlem hazır vardır. Java String sınıfıyla ilkeldir. Wesley. All rights reserved. 1-12

13 String uzunluk(length) Seçenekleri Durağan: COBOL, Java nın String sınıfı Sınırlı değişken uzunluk: C and C++ C-temelli dillerde, stringin sonunu gösteren özel bir karakter vardır bu karakter ile eleman sayısı bilinir. Değişkendir(maksimum yoktur.): SNOBOL4, Perl, JavaScript Ada tüm 3 tip uzunluğu desteklemektedir. Wesley. All rights reserved. 1-13

14 String Tip hesaplama(evaluation) Yazılabilirliğe yardım eder Uzunluk belirli olabilir gerçekleştirim kolaydır. Değişken uzunluk güzeldir fakat pahalı işlemdir. Wesley. All rights reserved. 1-14

15 String Gerçekleştirimi Durağan uzunluk: derleme zamanı tanımlama Sınırlı dinamik uzunluk: uzunluk için çalışma zamanında tanımlama gerektirir. (C ve C++ da değil) Dinamik uzunluk: çalışma zamanı tanımlama gerektirir;yer ayırma ve bu yeri boşaltma en büyük engeldir. Wesley. All rights reserved. 1-15

16 Derleme ve Çalışma zamanı tanımlayıcıları Derleme zamanı string uzunluk tanımama Sınırlı dinamik stringler için çalışma zamanı uzunluk belirtme Wesley. All rights reserved. 1-16

17 Kullanıcı tanımlı tipler Bu tiplerde mümkün değerler aralığı kolaylıkla tamsayılarla ilişkilendirilebilir. Java daki örnekler integer char boolean Wesley. All rights reserved. 1-17

18 Sayma Tipleri(Enumeration Types) Tüm mümkün değerler adlandırılmış sabitlerdir, tanımlamayla yapılırlar. C# örneği enum days {mon, tue, wed, thu, fri, sat, sun}; Tasarım Konuları Tanımlanan sayma tipi başka yerde tekrar tanımlanıp kullanılabilir mi? Sayma tipleri (enumeration) değeleri sadece integer mi olacak Wesley. All rights reserved. 1-18

19 Satma tiplerinin Değerlendirilmesi Okunabilirliğe yardım eder.örn., rengi sayı olarak kodlamaya gerek yoktur. Güvenilirliğe yardım eder. örn., derleyici şunları kontrol edebilir. İşlemleri (renklerin toplanması izin vermez) Tanımlandığı aralık dığında değerler atanamaz Ada, C# ve Java 5.0; C++ dan daha iyi sayma tip idesteği verir. Wesley. All rights reserved. 1-19

20 Alt aralık(subrange) tipleri Sıralı sürekli değer tanımlama Örnek: ise tamsayı aralığıdır. Ada nın tasarımı type Days is (mon, tue, wed, thu, fri, sat, sun); subtype Weekdays is Days range mon..fri; subtype Index is Integer range ; Day1: Days; Day2: Weekday; Day2 := Day1; Wesley. All rights reserved. 1-20

21 Alt aralık değerlendirme Okunabilirliğe yardımcıdır Okuyanlara sınırları belirttiği için değişkenin sadece o aralıkta değer alacağını göstermiş olabilir. Güvenilirlik Aralık dışından değer ataması bir hata olur. Wesley. All rights reserved. 1-21

22 Kullanıcı tanımlı tiplerin gerçekleştirimi Sayma tipleri(enumeration types) tamsayılar olarak gerçekleştirilirler. Aralık tipleri derleyici tarafından bazı şartlar eklenerek ebeveyn tip gibi gerçekleştirilirler. Wesley. All rights reserved. 1-22

23 Dizi(array) tipleri Bir dizi aynı tipli veri elemanlarının bir kolleksiyonudur. Her eleman ilk elemanın yerine göre bir indis değeri ile belirlenir. Wesley. All rights reserved. 1-23

24 Dizi tasarım konuları Alt indisler için hangi tipler uygundur? İndis elemanlarının değerlerinde sınır kontrolü yapılacak mı? İndis aralağı ne zaman sınırlandırılacak? Yer ayırma işlemi ne zaman yapılacak? İndisler için maksimum değer nedir? Dizi ilklenebilecek mi? Herhangi bir tür parça alma mümkün müdür? Wesley. All rights reserved. 1-24

25 Dizi indisleme İndisler indis elemanları ile dizi elemanlarını birbirlerine eşler. array_name (index_value_list) an element İndis sözdizimi FORTRAN, PL/I, Ada ( ) parantez kullanır Birçok diğer diller [ ] kullanır Wesley. All rights reserved. 1-25

26 Dizi indis tipleri FORTRAN, C: sadece integer Pascal: integer, Boolean, char, enumeration Ada: integer veya enumeration (Boolean ve char dahil) Java: sadece integer C, C++, Perl, ve Fortran aralık kontrolünü belirtmez Java, ML, C# aralık kontrolünü belirtir. Wesley. All rights reserved. 1-26

27 İndis bağlama ve dizi kategorileri Durağan: indis ataması durağan ve yer ayırma işlemi (statik) yapılır yani çalışma zamanından önce Avantaj : etkinlik (dinamik yer ayırma işlemi yok) Sabit stack-dinamik: indis aralığı statik olarak stackte sınırlandırılır, fakat yer ayırma işlemi tanımlama zamanında yapılır. Wesley. All rights reserved. 1-27

28 İndis bağlama ve dizi kategorileri Stack-dinamik: indis aralığı ve yer tahsisis çalışma zamanında yapılır Avantaj : esneklik( dizinin boyutun kullanılıncaya kada r bilinmek zorunda değildir.) Sabit heap-dinamik: sabit stack-dinamik e benzerdir : sağlama işlemi kullanımda yaopılır ve yer tahsiside heapten olur. Wesley. All rights reserved. 1-28

29 İndis bağlama ve dizi kategorileri Heap-dinamik: indis aralığı ve yer ayırma dinamişk olur ve istenilen zamanda değiştirilebilir. avantaj: esneklik (diziler program çalışması sırasında büyüyebilir veya küçülebilir) Wesley. All rights reserved. 1-29

30 İndis bağlama ve dizi kategorileri C ve C++ dizilerinde static ifadesi varsa statictir. C ve C++ dizilerinde static ifadesi yoksa sabit stack-dinamiktir. Ada dizileri stack-dinamik olabilir. C ve C++ sabit heap-dynamik diziye izin verir. C# ArrayList bulunur.bu sabit heapdinamik diziye izin verir. Perl ve JavaScript heap-dinamik dizilere izin verir. Wesley. All rights reserved. 1-30

31 Dizi ilkleme Bazı diller ilklemeye izin verir. C, C++, Java, C# int list [] = {4, 5, 7, 83} C ve C++ da karakter stringleri char name [] = freddie ; C ve C++da string dizileri char *names [] = { Bob, Jake, Joe ]; Java String nesneleri ilkleme String[] names = { Bob, Jake, Joe }; Wesley. All rights reserved. 1-31

32 Dizi İşlemleri APL vektörler ve matrisler için çok ayrıntılı işlem yeteneğine sahiptir. Ada dizi atamaya izin verir ayrıca dizi birleştirmeye de izin verir. Fortran elemanlar temelinde işlem yapmaya izin verir. Örneği, iki dizi arasındaki + lama işlemi iki dizi elemanlarının karşılıklı eleman çiftlerinin toplanmasını sağlar Wesley. All rights reserved. 1-32

33 Dikdörtgen ve Dişli Diziler Bir dikdörtgen dizide her satırda aynı sayıda ve her sütunda aynı sayıda eleman vardır. Bir dişli dizide satırlardaki ya da sütundaki elemanların sayıları farklı olabilir. Bunun mümkün olması için çok boyutlu dizilerin dizlerin dizileri gibi görülmesi gereklidir. Wesley. All rights reserved. 1-33

34 Dilimler(Slices) Bir dilim bir dizinin alt yapısıdır ve referans mekanizmasından başka Bir şey değildir. Dilimler dizi işlemlerinin bulunduğu programlama dillerinde işe yarayan yapılardır. Wesley. All rights reserved. 1-34

35 Dilim Örnekleri Fortran 95 Integer, Dimension (10) :: Vector Integer, Dimension (3, 3) :: Mat Integer, Dimension (3, 3) :: Cube Vector (3:6)4 elemanlı dizidir. Wesley. All rights reserved. 1-35

36 Fortran 95 de dilim örnekleri Wesley. All rights reserved. 1-36

37 Dizilerin gerçekleştirimi Erişim fonksiyonları indis ifadelerini belirli adreslere eşlerler. Tek boyutlu diziler için erişim fonksiyonu: address(list[k]) = address (list[lower_bound]) + ((k-lower_bound) * element_size) Wesley. All rights reserved. 1-37

38 Çok boyutlu dizilere erişme. İki yaygın yol: Satır birinci sıralama Sütun birinci sıralama (Fortran) Wesley. All rights reserved. 1-38

39 Çok boyutlu dizilerde bir elemanın yerini tespit etme Genel biçim Location (a[i,j]) = address of a [row_lb,col_lb] + (((I - row_lb) * n) + (j - col_lb)) * element_size Wesley. All rights reserved. 1-39

40 Derleme Zamanı Tanımlamaları Single-dimensioned array Multi-dimensional array Wesley. All rights reserved. 1-40

41 İlişkili Diziler Bir birleşmeli dizi verilerin sırasız dizilmiş halidir, indisler ise eleman sayısı kadar anahtar(key) lar tarafından sağlanır. Kullanıcı tanımlı anahtarlar kullanılabilir. Tasarım Konuları: Elemanlara başvuru biçimi nasıl olacaktır. Wesley. All rights reserved. 1-41

42 Perl de ilişkisel diziler. Adlar % ile başlar; %hi_temps = ("Mon" => 77, "Tue" => 79, Wed => 65, ); İndisleme parantezler ve anahtarlar ile sağlanır. $hi_temps{"wed"} = 83; Elemanlar delete ile silinebilir. delete $hi_temps{"tue"}; Wesley. All rights reserved. 1-42

43 Kayıt Tipleri Bir kayıt(record) heterojen yapıdaki verilerin birleştirilmiş halidir. Her elemanın kendi tipi ve adı vardır. Tasarım Kavramları: Alanlara erişim sözdizimsel olarak nasıl yapılacak? Wesley. All rights reserved. 1-43

44 Kayıtların Tanımlanması COBOL seviye nıumaralarını(level numbers) yuvalanmış kayıtları göstermek için kullanır, diğerleri öz yinelemeli fonksiyonlar kullanır. Kayıt Alan referansları 1. COBOL field_name OF record_name_1 OF... OF record_name_n 2. Diğerleri (nokta notasyonu dot notation) record_name_1.record_name_2.... record_name_n.field_name Wesley. All rights reserved. 1-44

45 COBOL da kayıtların tanımlanması COBOL 01 EMP-REC. 02 EMP-NAME. 05 FIRST PIC X(20). 05 MID PIC X(10). 05 LAST PIC X(20). 02 HOURLY-RATE PIC 99V99. Wesley. All rights reserved. 1-45

46 Ada da kayıt tiplerinin gösterimi type Emp_Rec_Type is record First: String (1..20); Mid: String (1..10); Last: String (1..20); Hourly_Rate: Float; end record; Emp_Rec: Emp_Rec_Type; Wesley. All rights reserved. 1-46

47 Kayıtlara Referanslar Birçok dilde nokta notasyonu kullanılır. Emp_Rec.Name Tam nitelendirilmiş kayıtlar tüm kayıt adlarını barındırmalıdır. Wesley. All rights reserved. 1-47

48 Kayıtlar Üzerindeki İşlemler. Tipler özdeşse atama işlemi Ada kayıtların karşılaştırılması imkanına sahiptir. Ada kayıtları ilklenebilir. COBOL MOVE CORRESPONDING Kaynak alanının içindeki verinin kayıtın iç alanına kopyalanmasına imkan verir. Wesley. All rights reserved. 1-48

49 Kayıt tiplerinin gerçekleştirimi Her kayıt alanı için, kayıtın başlangıcına göre offset adresleri ilişkilendirilir. Wesley. All rights reserved. 1-49

50 Birleşik Tipler(Unions Types) Bir union tipinde çalışma zamanında farklı zamanlarda farklı tiplerdeki verilerin kullanılmasına izin verir. Tasarım Konuları Tip kontrolü gerekli olacak mı? Union tipler kayıt tiplerinde kullanılacak mıdır? Wesley. All rights reserved. 1-50

51 Ada Union Tipleri type Shape is (Circle, Triangle, Rectangle); type Colors is (Red, Green, Blue); type Figure (Form: Shape) is record Filled: Boolean; Color: Colors; case Form is when Circle => Diameter: Float; when Triangle => Leftside, Rightside: Integer; Angle: Float; when Rectangle => Side1, Side2: Integer; end case; end record; Wesley. All rights reserved. 1-51

52 Ada Union tipi Wesley. All rights reserved. 1-52

53 Union ların değerlendirilmesi Potansiyel olarak güvensiz yapılardır. Tip kontrolüne izin vermezler. Java and C# union ları desteklemez. Artık programlama dillerinde güvenlik önemlidir. Wesley. All rights reserved. 1-53

54 İşaretçi ve Referans tipleri (Pointer and Reference Types) Bir işaretçi tipinde bellek adres değerleri ya da özel bir değer olan nil tutulur. Direkt olmayan adresleme imkanı sağlar. Dinamik adres yönetimine imkan tanır. Bir işaretçi dinamik olarak oluşturulan bellek adresine erişim için kullanılır. (genellikle bir heap de) Wesley. All rights reserved. 1-54

55 İşaretçilerin tasarım konuları Bir işaretçi değişkeninin etki alanı ve yasam süresi ne kadar olacaktır? Bir heap-dinamik değişkenin yaşam süresi ne kadardır? İşaretçiler sadece sınırlandıkları tiplerdeki değişkenleri mi göstermelidir? İşaretçiler dinamik bellek yönetiminde kullanılabilir mi? Dil işaretçi tiplerini, referans tiplerini ya da her ikisinide desteklemelid midir? Wesley. All rights reserved. 1-55

56 İşaretçi işlemleri İki temel işlem : atrama ve geri havale(dereferencing) Atama işleminde işaretçi dğeişkeninin faydalı bir adresi göstermesi sağlanır. Geri havale ile işaretçinin gösterdiği adresdeki veri değeri alma anlaşılır. C++ da bu işlem * ile yapılır j = *ptr Wesley. All rights reserved. 1-56

57 İşaretçi Atama işlemi Atama işlemi j = *ptr Wesley. All rights reserved. 1-57

58 İşaretçiler ile ilgili işlemler İşaretçilerin asılı kalması (tehlikeli) Bir işaretçinin geri alınan bir adres değerini göstermesi, yani programın kendisine ait olmayan bir adresi göstermesi Heap-dinamik bir değişkenin kaybı Heap de ayrılan bir değişken artık program tarafından erişilmez olur. P1 işaretçisi bir heap değişkenini gösterir Daha sonra p1 başka yeni ayrılan bir heap değişkenini gösterir. Wesley. All rights reserved. 1-58

59 Ada da işaretçiler Dinamik nesneler etki alanı sonunda temizlendiği için yani ayrılan yerin geri alınması otomatik yapıldığı için işaretçiler yanlış adres göstermez. Ada tarafından heap-dinamik değişkenini kaybı problemi çözümlenmemiştir. Wesley. All rights reserved. 1-59

60 C ve C++ da işaretçiler. Oldukça esnektir fakat dikkatli kullanılmalıdır. İşaretçiler hehangi bir tipi ne zaman oluşturulduğuna bakmaksızın gösterebilir. Dinamik bellek yönetimi ve adreslemede kullanılır. Pointer aritmetiği mümkündür. void * tipi herhangi bir tipi gösterebilir. Wesley. All rights reserved. 1-60

61 Pointer Arithmetic in C and C++ float stuff[100]; float *p; p = stuff; *(p+5) eşittir stuff[5] ve p[5] *(p+i) eşittir stuff[i] ve p[i] Wesley. All rights reserved. 1-61

62 Referans Tipleri C++ özel bir işaretçi tipini barındırır. Bu tipe referans tipi (reference type9 denilir. Parametreler için kullanılır. pass-by-reference ve pass-by-value nın avantajlarını sağlar. Java C++ ın referans değişkenlerini genişletmiştir ve tamamının işaretçiler yerine kullanılmasını sağlamıştır. References refer to call instances C# hem Java nın referans tipleri hem de C++ ın işaretçileri vardır. Wesley. All rights reserved. 1-62

63 İşaretçiler İşaretçiler ve referans tipleri dinamik veri yapıları için mutlaka gereklidir bu yüzden dilde mutlaka olmalıdır. Wesley. All rights reserved. 1-63

64 İşaretçilerin temsili Büyük bilgisayarlar tek değer kullanır. Intel microprocessors, segment ve offset kullanır. Wesley. All rights reserved. 1-64

65 Heap Yönetimi Çok karmaşık bir çalışma zamanı işlemidir. Çöpleri temizlemede iki yaklaşım vardır: Referans sayma Çöp Toplama: değişken uzayında ter kalmayınca temizleme Wesley. All rights reserved. 1-65

66 Referans Sayma Referans Sayma: Her hücre için bu hücreyi gösteren işaretçi sayısını tutan bir sayaç vardır. Dezavantaj: yer gerektirir, çalışma zamanı gerektirir, çalışma zamanı gerektirir Wesley. All rights reserved. 1-66

67 Çöp Toplama(Garbage Collection) Çalışma zamanında hücrelerden yer ayrılı ve gerekli olduğunda bunları gösteren işaretçiler koparılır, böylece çöp toplama başlar. Her heap hücresinde çöp toplama için fazladan bit vardır. Tüm hücreler başta çöptedir. Heap deki tüm işaretçiler izlenir ve işaretçilerin gösterdikleri çöp değil şeklinde işaretlenir. Tüm çöp hücreler kullanılabilir hücreler listesine eklenir. Dezavantajı: Çok ihtiyaç olursa kötü çalışır yani çok zaman harcanır. Wesley. All rights reserved. 1-67

68 İşaretleme Algoritması(Marking Algorithm) Wesley. All rights reserved. 1-68

Bölüm 6. Veri Türleri ISBN

Bölüm 6. Veri Türleri ISBN Bölüm 6 Veri Türleri ISBN 0-321-49362-1 Bölüm 6 Konular Giriş İlkel Veri Türleri Karakter Dizisi Türleri Kullanıcı Tanımlı Sıra Türleri Dizi Türleri İlişkili Diziler Giriş Bir veri türü veri nesnelerinin

Detaylı

Konular. Hafta 5 Veri Tipleri (Devam) BLG339 PROGRAMLAMA DİLLERİ KAVRAMI

Konular. Hafta 5 Veri Tipleri (Devam) BLG339 PROGRAMLAMA DİLLERİ KAVRAMI BLG339 PROGRAMLAMA DİLLERİ KAVRAMI Hafta 5 Veri Tipleri (Devam) Yrd. Doç. Dr. Melike Şah Direkoğlu Konular Dizi Tipleri Kayıt Tipleri Birleşik Tipler Küme Tipleri İşaretçi ve Referans Tipleri Alındığı

Detaylı

Bölüm 6. Veri Tipleri ISBN 0-321 49362-1

Bölüm 6. Veri Tipleri ISBN 0-321 49362-1 Bölüm 6 Veri Tipleri ISBN 0-321 49362-1 6. Bölüm konuları Giriş Basit veri tipleri Karakter dizisi tipleri Kullanıcı tanımlı sıralı tipler Dizi tipleri İlişkisel diziler Kayıt (record) tipleri İşaretçi

Detaylı

Ders 6. Bölüm 6: Veri Tipleri (devam)

Ders 6. Bölüm 6: Veri Tipleri (devam) Ders 6 Bölüm 6: Veri Tipleri (devam) Dizilimler (Arrays) Dizilim bir toplam homojen veri alanıdır. İçindeki her bir elemana ilk elemana göre olan pozisyonuna göre erişilir. Örnek: C: int aa[4][3][7]; sum

Detaylı

Bölüm 5. Adlar(Names), Bağlamalar(Binding s),tip Kontrolleri (Type Checking), ve Etki Alanları ( Scopes) ISBN 0-321-49362-1

Bölüm 5. Adlar(Names), Bağlamalar(Binding s),tip Kontrolleri (Type Checking), ve Etki Alanları ( Scopes) ISBN 0-321-49362-1 Bölüm 5 Adlar(Names), Bağlamalar(Binding s),tip Kontrolleri (Type Checking), ve Etki Alanları ( Scopes) ISBN 0-321-49362-1 Bölüm 5 Konular Giriş Adlar(Names) Değişkenler(Variables) Bağlama Kavramı(The

Detaylı

Bağlama (Binding) Kavramı

Bağlama (Binding) Kavramı Bağlama (Binding) Kavramı Programlarda yer alan tüm program elemanlarının - örneğin; değişkenler, altprogramlar vb.- çeşitli özellikleri vardır. Değişkenlerin isim, adres, değer gibi çeşitli özelliklerini

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ı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Diziler ile Pointer Arası İlişki Bir dizi adı sabit bir pointer gibi düşünülebilir. Diziler ile pointer lar yakından ilişkilidir. Pointer lar değişkenleri gösterdikleri gibi,

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar

Detaylı

Pointer Kavramı. Veri Yapıları

Pointer Kavramı. Veri Yapıları Pointer Kavramı Veri Yapıları Pointer Kavramı- Pointer Nedir? Göstericiler, işaretçiler ya da pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi tutan değişkenlerdir. Şu ana kadar

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ı

BLM 112- Programlama Dilleri II. Hafta 4 İşaretçiler (Pointers)

BLM 112- Programlama Dilleri II. Hafta 4 İşaretçiler (Pointers) 1 BLM 112- Programlama Dilleri II Hafta 4 İşaretçiler (Pointers) Dr. Öğr. Üyesi Caner Özcan İyilik insanları birbirine bağlayan altın zincirdir. ~Goethe Hafıza Yapısı 2 Bir değişken tanımlandığında arka

Detaylı

İsimler ve Kapsam. 24 Şubat 2011. Programlama Dilleri - Pamukkale Üniversitesi 1

İsimler ve Kapsam. 24 Şubat 2011. Programlama Dilleri - Pamukkale Üniversitesi 1 İsimler ve Kapsam Tanım: Bir değişkenin kapsamı (scope) değişkenin görülebilir olduğu komutların alanıdır. Görülebilir olduğu alan, bir komut içinde belirlenen değerle kullanılabildiği alandır. Tanım:

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ı

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ı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Hafıza Yapısı Bir değişken tanımlandığında arka planda bilgisayarın hafızasında bir konuma yerleştirilir. Hafıza küçük hücrelerden oluşmuş bir blok olarak düşünülebilir. Bir değişken

Detaylı

Özyineleme (Recursion)

Özyineleme (Recursion) C PROGRAMLAMA Özyineleme (Recursion) Bir fonksiyonun kendisini çağırarak çözüme gitmesine özyineleme (recursion), böyle çalışan fonksiyonlara da özyinelemeli (recursive) fonksiyonlar denilir. Özyineleme,

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ı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Fonksiyonu Referans ile Çağırma (Call by Reference) Bir fonksiyona gönderilen parametrenin normalde değeri değişmez. Fonksiyon içinde yapılan işlemlerin hiçbiri argüman değişkeni

Detaylı

Bölüm 5. İsimler, Bağlama, Tür Kontrolü ve Kapsam(Etki Alanı) ISBN

Bölüm 5. İsimler, Bağlama, Tür Kontrolü ve Kapsam(Etki Alanı) ISBN Bölüm 5 İsimler, Bağlama, Tür Kontrolü ve Kapsam(Etki Alanı) ISBN 0-321-49362-1 Bölüm 5 Konular Giriş İsimler Değişkenler Bağlama Kavramı Tür Kontrolü Güçlü Yazım Tür Uyumu Kapsam (Etki Alanı) ve Yaşam

Detaylı

Bölüm 6. Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler

Bölüm 6. Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler Bölüm 6 Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler Chapter 6 Java: an Introduction to Computer Science & Programming - Walter Savitch 1 Genel Bakış Dizi: Hepsi aynı türde

Detaylı

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı Öğr. Gör. Cansu AYVAZ GÜVEN NESNE TABANLI PROGRAMLAMA Java Değişkenler ve Veri Tipleri Operatörler JAVA Java Java SUN bilgisayar şirketince

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ı

Ç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ı

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi İÇİNDEKİLER Değişken Nedir? Değişken kullanımı faydaları. Değişken türleri Değişken görünürlüğü (scope) Değişken türleri arası dönüşümler Örnek

Detaylı

Diziler İndisli Değişkenler

Diziler İndisli Değişkenler Diziler İndisli Değişkenler Aynı tür bilgileri (öğrenci isimleri, şehir isimleri, kapı numaraları, fakülteler vbg.) bellekte tutmak için kullanabileceğimiz listelere dizi adı verilir. Dizi kullanmanın

Detaylı

İsimler ve Kapsam. Hafta 4 Ders 2 BLG339 PROGRAMLAMA DİLLERİ KAVRAMI

İsimler ve Kapsam. Hafta 4 Ders 2 BLG339 PROGRAMLAMA DİLLERİ KAVRAMI BLG339 PROGRAMLAMA DİLLERİ KAVRAMI Hafta 4 Ders 2 Yrd. Doç. Dr. Melike Şah Direkoğlu Alındığı kaynak: Addison-Wesley s Programming Language Concepts slaytları ve Prof. Dr. Tuğrul Yılmaz ın ders notlarından

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ı

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek Boyutlu Diziler Yrd. Doç. Dr. İlhan AYDIN 1 Problem 100 adet sayı okumak istediğimizi düşünelim. Bu sayıların ortalaması hesaplanacak ve sayıların kaç tanesinin

Detaylı

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA II ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Bellek ve Adresleme İşaretçi Kavramı

Detaylı

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama Nesne Tabanlı Programlama Ders Notu - 1 (Değerler, Değişkenler, İşleçler, Tip Dönüşümleri, Mantıksal Operatörler) Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Değerler

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ı

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 Diziler Dizi Tanımlama ve İlk Değer Atama Dizi Elemanlarının Kullanılması Dizi İşlemleri Java da Diziler JAVA DA DİZİLER 4 Dizi; tek bir veri tipinde,

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ü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ı

BLM 112- Programlama Dilleri II. Hafta 5 İşaretçiler (Pointers)

BLM 112- Programlama Dilleri II. Hafta 5 İşaretçiler (Pointers) 1 BLM 112- Programlama Dilleri II Hafta 5 İşaretçiler (Pointers) Dr. Öğr. Üyesi Caner Özcan Hiç hata yapmayan insan, hiçbir şey yapmayan insandır. Ve hayatta en büyük hata, kendini hatasız sanmaktır. ~Y.

Detaylı

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama 1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Programlama Dili ve Yazılım Tasarımı, Altuğ B. Altıntaş, Papatya

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Hafıza Yapısı Bir değişken tanımlandığında arka planda bilgisayarın hafızasında bir konuma yerleştirilir. Hafıza küçük hücrelerden oluşmuş bir blok olarak düşünülebilir. Bir değişken

Detaylı

8. İŞARETCİLER (POINTERS)

8. İŞARETCİLER (POINTERS) 8. İŞARETCİLER (POINTERS) Verilerin bilgisayar hafızasında tutulduğu fiziki alan adres olarak tanımlanabilir. Adres, hem donanımla hem de yazılımla ilişkilidir. Donanımsal açıdan adres bellekte yer gösteren

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ı

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama Nesne Tabanlı Programlama Ders Notu - 1 Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Değerler ve Değişkenler Values & Variables 2 1 Değişkenlerin Özellikleri Tipi

Detaylı

Bölüm 7. İfadeler ve atamalar ISBN

Bölüm 7. İfadeler ve atamalar ISBN Bölüm 7 İfadeler ve atamalar ISBN 0-321-49362-1 7. Bölüm konuları Giriş Aritmetik ifadeler Çok anlamlı (overloaded) operatörler Tip dönüşümleri (conversions) İlişkisel ve Boolean İfadeler Kısa-devre hesaplama

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 2 C# Programlama Dili Elemanları Bu bölümde;

Detaylı

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf İçindekiler 1. Giriş... 1 1.2. c++ Programı Yapısı... 2 1.3.Using Direktifi... 5 Bölüm 2. Veri türleri, değişken kavramı, sabit ve değişken bildirimleri ve c++ da kullanımı 7 2.1. Temel veri türleri...

Detaylı

2.2- DEĞİŞKENLER VE SABİTLER ÇALIŞMA YAPRAĞI

2.2- DEĞİŞKENLER VE SABİTLER ÇALIŞMA YAPRAĞI 2.2 Değişkenler Ve Sabitler 2.2.1 Değişkenler Değişkenler bir programlama dilinde verilerin depolanma alanlarını temsil eder. Tanımlanan her değişkene bellek bölgesinden bir alan ayrılır. Bu bellek bölgesine

Detaylı

BİL1001 Bilgisayar Bilimlerine Giriş 1

BİL1001 Bilgisayar Bilimlerine Giriş 1 DEÜ Bilgisayar Bilimleri Bölümü BİL1001 Bilgisayar Bilimlerine Giriş 1 Öğr. Gör. Dr. Alper VAHAPLAR 2017 Yaz Okulu Tekrarlı Yapılar Algoritmanın belirli bir kısmının, belirli kere ya da belirli durumlar

Detaylı

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları Diziler Temel Bilgisayar Programlama Final Sınavı Çalışma Notları (Dr. Övünç ÖZTÜRK, Dr. Tahir Emre KALAYCI) (İnşaat Mühendisliği ve Gıda Mühendisliği Grupları İçin) Diziler aynı türden bilgileri saklamak

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ı

Diziler (Arrays) Çok Boyutlu Diziler

Diziler (Arrays) Çok Boyutlu Diziler Diziler (Arrays) Çok Boyutlu Diziler ÇOK BOYUTLU DİZİLER Birden fazla indis numarası ile elemanlarına ulaşılan dizilere çok boyutlu diziler denir. Bunlardan en sık kullanılanı çift boyutlu dizilerdir.

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ı

JAVADA DİZİ İŞLEMLERİ

JAVADA DİZİ İŞLEMLERİ JAVADA DİZİ İŞLEMLERİ Javada diziler nesnedirler, cdeki gibi hafızada yer kaplayan pointer değillerdir. Javada diziler, cye göre daha güvenilirdir. Dizilerin elemanlarına gelişigüzel değerler atayamazsınız.

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ı

Aynı tipten çok sayıda değişken topluluğudur. X Y Score1 Score2 (0) (1) (2)...

Aynı tipten çok sayıda değişken topluluğudur. X Y Score1 Score2 (0) (1) (2)... Array (Diziler) Array Aynı tipten çok sayıda değişken topluluğudur. Birden fazla aynı tipteki değerle işlem yapmayı kolaylaştırır. X Y Score1 Score2 40 56 Grade 40 56 80 (0) (1) (2)... (13) Array tanımlama:

Detaylı

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA BLM-111 PROGRAMLAMA DİLLERİ I Ders-12 Fonksiyonlar Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı

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ı

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ı

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ı

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-3 İşaretçiler (Pointer) (Kısım-2)

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-3 İşaretçiler (Pointer) (Kısım-2) BLM-112 PROGRAMLAMA DİLLERİ II Ders-3 İşaretçiler (Pointer) (Kısım-2) Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Dinamik Bellek Yönetimi Bir program çalıştırıldığında

Detaylı

Programlama Dilleri III 1

Programlama Dilleri III 1 Temel Veri Türleri Programlama Dilleri III 1 İlk C# Programı class ilk_program1 static void Main() System.Console.WriteLine("Merhaba C#"); C# dilinde yazılmış kaynak kod dosyalarının uzantıları.cs dır.

Detaylı

Bölüm 1. Ön Hazırlıklar ISBN 0-321-49362-1

Bölüm 1. Ön Hazırlıklar ISBN 0-321-49362-1 Bölüm 1 Ön Hazırlıklar ISBN 0-321-49362-1 Bölüm 1 Konular Programlama Dilleri Kavramlarının Çalışılma Nedenleri Programlama Alanları Dil Değelendirme Kriterleri Dil Tasarımındaki Etkileri Dil Kategorileri

Detaylı

İfadeler bir programlama dilinde hesaplamaları belirtmede temel araçtır. İfadelerin değerlendirmesini anlamak için,

İfadeler bir programlama dilinde hesaplamaları belirtmede temel araçtır. İfadelerin değerlendirmesini anlamak için, PDP 7 1 İfadeler bir programlama dilinde hesaplamaları belirtmede temel araçtır. İfadelerin değerlendirmesini anlamak için, operatörlerin sırası ve İşlenenlerin (operant) değerlendirmesine aşina olmamız

Detaylı

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 JAVA DA PROGRAM DENETİMİ VE OPERATÖRLER Java programlama dilinde temel tipleri ve nesneleri yönlendirmek ve değiştirmek için operatörler kullanılır. Atamalar sağ taraftaki

Detaylı

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU Diziler Yrd.Doç.Dr.Bülent ÇOBANOĞLU Dizi (Array) Nedir? Bellekte sürekli yer kaplayan artarda sıralanmış aynı türden verilerin oluşturduğu kümeye dizi (array) denir. Dizi, çok fazla miktardaki tek tip

Detaylı

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama İçerik Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Geçen hafta: Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Nesneye yönelik dil olarak JAVA ve ilişkili kavramlar Bu hafta:

Detaylı

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Ders #2 (2 Kasım 2009) İçerikç Geçen hafta: Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Nesneye yönelik dil olarak JAVA ve ilişkili

Detaylı

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while Değişkenler Değişkenler bir bilginin bellekteki konumunu temsil eden sembolik isimlerdir. Bilgisayarda hemen hemen tüm işlemler bellekte yapılır. Program çalıştırıldığında değişken ve bu değişkenin türüne

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 6: Diziler İçerik Diziler Dizi Elemanlarına İlk Atama Diziler ve Fonksiyonlar İki Boyutlu Diziler İki Boyutlu Dizi Tanımı İki Boyutlu Dizi Elemanlarına Erişim

Detaylı

C Programlama Dilinde Değişkenler

C Programlama Dilinde Değişkenler C Programlama Dilinde Değişkenler Değişkenler bir programlama dilinin en önemli bileşenlerindendir. En basit bir aritmetik işlemin bile kullanıcının girdiği değerleri saklamak için çeşitlik bellek alanlarına

Detaylı

C++ Dersi: Nesne Tabanlı Programlama 2. Baskı

C++ Dersi: Nesne Tabanlı Programlama 2. Baskı C++ Dersi: Nesne Tabanlı Programlama 2. Baskı ³ Bölüm 19: Standart Şablon Kütüphanesi (vector) İçerik 19.1 Standart Şablon Kütüphanesi (STL) 19.2 vector SınıK 19.3 vectortanımı 19.4 vector Elemanlarına

Detaylı

Programlama Dilleri 3

Programlama Dilleri 3 Diziler (Arrays) 1 Dizi Kavramı Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların

Detaylı

Bölüm 7. Deyimler ve Atama ifadeleri ISBN

Bölüm 7. Deyimler ve Atama ifadeleri ISBN Bölüm 7 Deyimler ve Atama ifadeleri ISBN 0-321-49362-1 Bölüm 7 Konuları Giriş Aritmetik deyimler Aşırı yüklenmiş operatörler Tip dönüşümleri İlişkisel ve mantıksal deyimler Kısa devre hesaplamalar(short-circuit

Detaylı

Görsel Programlama DERS 04. Görsel Programlama - Ders04/ 1

Görsel Programlama DERS 04. Görsel Programlama - Ders04/ 1 Görsel Programlama DERS 04 Görsel Programlama - Ders04/ 1 Diziler ve Kolleksiyonlar(Collections) Diziler aynı tipli değişkenleri tutmak için kullanılan veri yapılarıdır. Diziler sabit uzunlukludur. Birkez

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ı

Bölüm 10. Altprogramların gerçeklenmesi ISBN 0-0-321-49362-1

Bölüm 10. Altprogramların gerçeklenmesi ISBN 0-0-321-49362-1 Bölüm 10 Altprogramların gerçeklenmesi ISBN 0-0-321-49362-1 10. Bölüm konuları Çağırma / geri dönme semantiği Yığıt-dinamik yerel değişkeni olan altprogramların gerçeklenmesi İçiçe altprogramlar Statik

Detaylı

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA II ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Yapılar ve Birlikler enum Deyimi

Detaylı

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA II ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Bellek ve Adresleme Dinamik Bellek

Detaylı

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA II ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 İşaretçiler ve Diziler Fonksiyon

Detaylı

Dizi nin Önemi. Telefon rehberindeki numaralar, haftanın günleri gibi v.b.

Dizi nin Önemi. Telefon rehberindeki numaralar, haftanın günleri gibi v.b. Diziler Dizi Nedir Ortak özelliğe sahip birden fazla bilginin oluşturduğu bütün bilgi kümelerine veya hafızada art arda sıralanmış aynı türden verilerin oluşturduğu yapıya dizi denir. Kısaca; Bellekte

Detaylı

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım Nisan 2009 9031150 - Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım Referans: Bugün: 1. Ders Notları. Ders #4.1 Tekrar Dowhile ve for döngüleri Diziler Göstergeler 1. Tekrar for döngüleri Genel yazılımı

Detaylı

Hafta 13 Fonksiyonlar

Hafta 13 Fonksiyonlar BLM111 Programlama Dilleri I Hafta 13 Fonksiyonlar Yrd. Doç. Dr. Caner ÖZCAN Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı fonksiyonları ve kütüphane fonksiyonlarını birlikte kullanırlar.

Detaylı

D İ Z İ L E R A R R A Y S

D İ Z İ L E R A R R A Y S D İ Z İ L E R A R R A Y S 1 Örneğin 120 adet öğrencinin adını klavyeden girip, daha sonra bunları ekrandan yazdıralım. Bunun için, her öğrenci için ayrı bir değişken tanımlanmalıdır. String ad1; String

Detaylı

Matlab da Dizi ve Matrisler. Mustafa Coşar

Matlab da Dizi ve Matrisler. Mustafa Coşar Matlab da Dizi ve Matrisler Mustafa Coşar MATLAB Değişkenleri Matlab da değişkenler; skaler, dizi(vektör), matris veya metin (string) türünde olabilirler. Örnek olarak: a=1; b=-3.2e3; c=22/5; metin= mustafa

Detaylı

Bölüm 8. İfade Seviyesindeki Kontrol Yapıları ISBN

Bölüm 8. İfade Seviyesindeki Kontrol Yapıları ISBN Bölüm 8 İfade Seviyesindeki Kontrol Yapıları ISBN 0-321-49362-1 Bölüm 8 Konular Giriş Seçme İfadeleri Yinelemeli İfadeler Şartsız Dallanma Korumalı Komutlar Sonuçlar Kontrol Akışının Seviyeleri İfadeler

Detaylı

Operator Aşırı Yükleme (Operator OverLoading)

Operator Aşırı Yükleme (Operator OverLoading) Operator Aşırı Yükleme (Operator OverLoading) Operator Aşırı Yükleme Operatör metotları bir nesnenin ifadeler içinde operatörlerle kullanıldığı zaman davranışını belirler. Temel veri türleri için operatörler

Detaylı

Programlama Dilleri 1. Ders 4: Diziler

Programlama Dilleri 1. Ders 4: Diziler Programlama Dilleri 1 Ders 4: Diziler Genel Bakış Tanım Dizilerin tanımlanması Dizilere ilk değer verilmesi Yerel ve Global diziler Dizilerin birbirine atanması Diziler ile ilgili örnekler Çalışma soruları

Detaylı

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8 BTP 27 İNTERNET PROGRAMCILIĞI I Ders 8 Değişkenler 2 Tamsayı Değerler (Integer) Tamsayılar, tabanlı (decimal), 8 tabanlı (octal) veya 6 tabanlı (hexadecimal) olabilir. 8 tabanındaki sayıları belirtmek

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#(Sharp) Programlama Dili

C#(Sharp) Programlama Dili Değişkenler C#(Sharp) Programlama Dili Program yazarken her zaman sabit verilerle çalışmayız, çoğu zaman programımızda bir verinin kullanıcının davranışına göre değişmesi gerekir. Kullanıcıdan bir metin

Detaylı

DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II

DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II DİZİLER Dizi, aynı tipteki verilere tek bir isimle erişmek için kullanılan bir kümedir. Bir dizi bildirildikten sonra, dizinin bütün elemanları bellekte peşpeşe

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ı

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8 ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8 YZM 1105 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi 6. BÖLÜM 2 Çok Boyutlu Diziler Çok Boyutlu Dizi 3 Bir dizi aşağıdaki gibi bildirildiğinde

Detaylı

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Kitabın Amacı 1 Algoritmanın Önemi 2 Bilgisayarın Doğuşu ve Kullanım Amaçları 3 Programlama Dili Nedir? 3 Entegre Geliştirme Ortamı (IDE) Nedir? 4 2 ALGORİTMA VE AKIŞ

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ı

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ı

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ı

PDP 5 Veri Tipleri. İlkel tipler, çoğu programlama dilinde yer alan ve diğer tiplerden oluşmamış veri tiplerini göstermektedir.

PDP 5 Veri Tipleri. İlkel tipler, çoğu programlama dilinde yer alan ve diğer tiplerden oluşmamış veri tiplerini göstermektedir. PDP 5 Veri Tipleri 1 Veri tipi (data type) bir değerler/nesneler kümesini ve bu nesneler üzerindeki bir takım ön tanımlı işlemlerini (predefined operations) tanımlar. Bir betimleyici/tanımlayıcı (descriptor)

Detaylı

Karakter, katar Tipleri (Character, String ) Kullanıcı-tanımlı Sıra Tipleri (Ordinal)

Karakter, katar Tipleri (Character, String ) Kullanıcı-tanımlı Sıra Tipleri (Ordinal) PDP 5 Veri Tipleri 1 Veri tipi (data type) bir değerler/nesneler kümesini ve bu nesneler üzerindeki bir takım ön tanımlı işlemlerini (predefined operations) tanımlar. Bir betimleyici/tanımlayıcı (descriptor)

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ı

Dizi türündeki referanslar, dizi nesnelerine bağlanmaktadır. Dizi referansları tanımlamak bu dizinin hemen kullanılacağı anlamına gelmez...

Dizi türündeki referanslar, dizi nesnelerine bağlanmaktadır. Dizi referansları tanımlamak bu dizinin hemen kullanılacağı anlamına gelmez... Javada Diziler Java da diziler nesnedir; içerisinde belirli sayıda eleman bulunur. Eğer bu sayı sıfır ise, dizi boş demektir. Dizinin içerisindeki elemanlara eksi olmayan bir tam sayı ile ifade edilen

Detaylı