Diziler

Bazen birbirleri ile bağlantılı ve aynı tipte birden fazla değişken kullanılmesı gerekebilir bu durumlarda. Tek tek birden fazla değişken tanımlamak yerine hepsini bir arada tanımlamak daha mantıklıdır. Bu şekilde tanımlanan değişkenler dizi değişkenler denir.

Örneğin; 20 farklı isim girilecek bir parogramda, 'isim' adlı dizi değişken kullanılarak 20 isimi tek değişkende tanımlana bilir. Kullandığımız bu dizi  değişkende ilk isim, isim[x], ikinci isim isim[x+1], n'inici isim isim[x+n] olacaktır.

Array Komutu: Dizi değişkenleri tanımlamak için array komutu kullanılır. Bu komutta dizi değişkenin kaç tane değişkeni tanımlayacağı ve bu değişken numaralarının kaçtan başlayıp kaçta bitecğini tanımlanır. Ayrıca değişkenin tibide belirtilmak zorundadır.

tek boyutlu bir dizi değişken:
değişken_adı : Array[X..Y] Of deşiken_tipi  

iki boyutlu bir dizi değişken;
değişken_adı : Array[X..Y,K..L] Of deşiken_tipi  

Tek Boyutlu Diziler: Ortak herhangi bir noktası olmayan fakat aynı özelliği taşıyan birden fazla değişkeni tanımlamak için tek boyutlu diziler kullanılır.

Tek boyutlu dizilrde dizi dğişkeni tanımlama formatı aşğıdaki gibidir. 

değişken_adı : Array[X..Y] Of deşiken_tipi  

Bu formatta 'X' dizi değişken numaralarının başlangıç değeri 'Y' ise bitiş değeridir.

Örnek: 10 sayı girilmesini bekleyip bu sayıların toplamını ekarana yazdıran bir örneği dizi değişken kullanarak yapalım.

uses Crt;

var
sayi: array [1..10] of integer;
i,toplam:integer;

begin
for i := 1 to 10 do
   begin
   clrscr;
   write('Bir sayı giriniz.');read(sayi[i]);
   toplam:=toplam+sayi[i];
   end;
clrscr;
writeln(toplam:3:0);
end.

Çok Boyutlu Diziler: Birbiri ile ortak noktaları bulunan birden fazla değişkenin tanımlanması için çok boyutlu diziler kullanılır.

iki yada üç boyutlu bir dizi tanımlamak için iki ayrı format vardır.

değişken_adı : Array[X..Y] Of  Array[K..L] Of deşiken_tipi  

değişken_adı : Array[X..Y,K..L] Of deşiken_tipi  

Örnek: 5 öğrencinin girilen iki notunu okuyup  ortalamalırını ekrana yazdıran programı çok boyutlu dizi yöntemini kullanarak yazalım. (1. ve 2. sınav notları ortalamaya aynı oranda etki etmektedir.)

uses Crt;

var

ogrenci: array [1..5] of array [1..2] of integer;
i,j,toplam:integer;

begin
for i := 1 to 5 do
   begin
   clrscr;
   write('Birinci notu giriniz.');read(ogrenci[i,1]);
   write('İkinci notu giriniz.');read(ogrenci[i,2]);
   end;
   clrscr;
for j := 1 to 5 do
   begin
   write(j,'. öğrencinin ortalaması=',(ogrenci[j,1]+ogrenci[j,2])/2:3:0);
   end;
end.

<<-1-2-3-4-5-6-7-8-9-10->>