Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

C++ Programming:. Program Design Including

Benzer bir sunumlar


... konulu sunumlar: "C++ Programming:. Program Design Including"— Sunum transkripti:

1 C++ Programming:. Program Design Including
C++ Programming: Program Design Including Data Structures, Third Edition Bölüm 9:Diziler

2 Amaçlar Bu bölümde: Diziler ile ilgili bilgi edinilecektir.
Diziler üzerinde işlemler ve dizilerde datanın bildirimleri gösterilecektir. «Sınırın dışında kalan dizi indeksinin» önemi anlatılacaktır.” Dizilerle işlemlerdeki sınırlamalar anlatılacaktır. Dizilerin bir fonksiyona parametre geçişi gerçekleştirilecektir.

3 Veri Tipleri (Data Types)
Herhangi bir veri tipinin basit veri tipi olarak adlandırılması değişkenlerinin tek seferde sadece tek bir değer depolaması demektir. Yapısal (structured) veri tipi ise, her veri parçasının diğer veri parçaları ile bir araya gelmesi demektir.

4 Diziler (Arrays) Dizi, tüm bileşenlerinin aynı veri tipinde olduğu sabit sayıdaki bileşenlerin bir araya gelmesidir. Tek boyutlu bir dizi (one-dimensional array) tüm bileşenlerinin bir liste formunda düzenlendiği dizidir. Tek boyutlu dizinin genel yapısı dataType arrayName[intExp]; intExp pozitif bir tamsayı olan bir ifadedir.

5 Dizinin Gösterimi int num[5];
deyimi num isimli dizinin int tipinde 5 bileşeni olduğunu ifade eder. Bileşenleri num[0], num[1], num[2], num[3], ve num[4] olarak betimlenir.

6

7 Dizinin Bileşenlerine Erişme
Dizi bileşenlerine erişimin genel formu: arrayName[indexExp] şeklindedir. indexExp, indeks olarak adlandırılır ve değeri negatif olmayan bir sayıdır. İndeks değeri bileşenin dizideki pozisyonunu belirler. [] operatörünün indeksi her zaman 0 ile başlar.

8

9

10

11

12 Tek Boyutlu Dizilerde İşlemler
Tek boyutlu bir dizinin gerçekleştirebileceği işlemlerden bazıları: - Başlangıç değerlerinin verilmesi (Initialize) Giriş değerlerinin belirlenmesi (Input data) Dizide depolanmış olan çıkış değerlerinin gösterilmesi (Output data stored in an array) Dizinin en büyük/en küçük elemanının bulunması Her işlem dizinin tüm elemanları üzerinde gerçekleşir. Bir döngü ile gerçekleştirilmesi kolaydır.

13 Dizi Bileşenlerine Erişilmesi
Aşağıdaki bildirim göz önüne alındığında int list[100]; /list is an array of the size 100 int i; Dizinin her elemanına erişebilmek için dizinin indeksinin 0 ile başlaması zorunludur. for (i = 0; i < 100; i++) //Line 1 //process list[i] //Line 2

14 Dizi Bileşenlerine Erişilmesi
Dizinin elemanlarının giriş değerlerinin bildirilmesi gerekiyorsa ve bu değerler de klavyeden okunacak ise: for (i = 0; i < 100; i++) //Line 1 cin >> list[i];

15

16

17 Dizi İndeksinde Sınırın Dışı
Aşağıdaki deyimler için: double num[10]; int i; num[i] dizisinin bileşenleri i = 0, 1, 2, 3, 4, 5, 6, 7, 8, ya da 9 geçerli indeks değerleri için mevcuttur. Dizinin indeksinin geçerli olduğu sınırlar: index >=0 ve index <= ARRAY_SIZE-1

18 Dizi İndeksinde Sınırın Dışı
Eğer index < 0 veya index >ARRAY_SIZE-1 ise index sınırların dışındadır. İndeksin sınırların dışına olduğunu hatırlatan bir yapı yoktur. Eğer indeks değeri sınırların içinde ise, C++ bunun kontrolünü yapmaz .

19 Dizinin Başlangıç Değerleri
Diziler basit değişkenler içerir - O nedenle de bildirildiklerinde başlangıç değerleri verilmiş olur. Dizilerin başlangıç değerlerini verirken dizinin büyüklüğünün bildirilmesine gerek yoktur . Dizinin büyüklüğü { } arasında verilen değer kadar olacaktır. double sales[] = {12.25, 32.50, 16.90, 23, 45.68};

20 Başlangıç Değerlerinin Kısmi Bildirimi
int list[10] = {0}; deyimi list dizisinin 10 elemanlı olduğunu ve tüm bileşenlerinin değerlerinin sıfır olduğunu ifade eder. int list[10] = {8, 5, 12}; bildirimi list dizisinin 10 bileşenli olduğunu, list[0] bileşeninin 8, list[1] bileşeninin 5, list[2] bileşeninin 12 ve diğer tüm bileşenlerinin 0 olarak başlangıç değeri aldığını gösterir.

21 Başlangıç Değerlerinin Kısmi Bildirimi
int list[] = {5, 6, 3}; deyimi list dizisinin 3 bileşenli bir dizi olduğunu ve list[0] bileşeninin 5, list[1] bileşeninin 6, ve list[2] bileşenin 3 değerini aldığını gösterir. int list[25]= {4, 7}; bildirimi list dizisinin 25 bileşenli olduğunu -İlk iki bileşeninin 4 ve 7 değerlerini aldığını Diğer tüm bileşenlerinin ise 0 olarak başlangıç değeri aldığını ifade eder.

22 Dizilerle İşlemlerde Kısıtlar
Diziler üzerinde doğrudan atama yapmak mümkün değildir. Bir dizinin başka bir diziye kopyalanması için, tüm bileşenlerinin teker teker kopyalanması gereklidir.

23 Dizilerle İşlemlerde Kısıtlar

24 Dizilerin Fonksiyonda Parametre Olması
Diziler fonksiyona sadece referans parametresi olarak geçerler . Fonksiyona formal parametre olarak başka bir geçiş şekli olmadığı için & sembolü kullanılmaz. Dizilerin fonksiyona formal parametre geçişinde dizinin uzunluğu genellikle gösterilmez.

25 Dizilerin Fonksiyonda Parametre Olması
Eğer tek boyutlu bir dizinin büyüklüğü formal parametre içerisinde bildirilmiş ise -bu bildirim derleyici tarafından ihmal edilecektir. const anahtar sözcüğü formal parametre bildiriminde mevcut ise, fonksiyonun gerçek parametre değerinin değişmemesini sağlamak için kullanılmıştır.

26

27

28

29

30 Dizinin Temel Adresi (Base Address of an Array)
Dizinin temel (base) adresi dizinin bellek yerleşimindeki (memory location) ilk elemanının bulunduğu adrestir. list tek boyutlu bir dizi ise, bu dizinin temel adresi list[0] bileşeninin adresidir. Dizi, bir fonksiyona parametre olarak geçtiğinde dizinin ana programdaki (gerçek parametre olarak) dizinin temel adresi formal parametreye geçecektir. Fonksiyonlar dizileri formal parametre aldıklarında bir değer döndüremezler.


"C++ Programming:. Program Design Including" indir ppt

Benzer bir sunumlar


Google Reklamları