Hangi programlama dilini kullanıyor olursanız olun değişken tanımlamanın mantığı aynıdır. Saklanacak bilginin tipine göre bir tip seçilir buna bir isim verilir ve hafızada bu değişken için bellek ayrılır. Her değişken için durum aynıdır. Pascalda bu işlemi Var bloğunda yapıyoruz. Peki aynı özelliklere sahip birden fazla değişkene ihtiyaç duyarsak ne olacak. Mesela bir öğretmen düşünün. Değişik sayılarda öğrencisi olan sınıflara girsin ve bu öğrencilerin notlarını bilgisayarda tutmaya çalışsın. Eğer dizi değişkenleri kullanmayı bilmiyorsa en kalabalık sınıfındaki öğrenci sayısı kadar değişken tanımlayacak sonra da her öğrencinin notunu kendi değişkenine ayrı ayrı atamak zorunda kalacaktır. Oysa bunu halletmenin daha kolay bir yolu var. Dizileri kullanmak. Dizilerin en önemli özelliği aynı tipteki ve birbiri ile alakalı verileri toplu olarak tanımlamaya yaramasıdır. Bu durumda örneğimizdeki öğretmen en kalabalık sınıfındaki öğrenci sayısı kadar elemanı olan bir tek dizi değişkeni tanımlar ve bilgileri bir döngü içerisinde indis kullanarak dizinin uygun yerine yerleştirir. Bu iki durumu her zamanki gibi bir tablo içinde gösterelim.
Dizi kullanmayan öğretmen
Var
OgrenciNotu1 := integer;
OgrenciNotu2 := integer;
OgrenciNotu3 := integer;
OgrenciNotu4 := integer;
...
...
OgrenciNotu30 := integer;
Begin
Write(‘1.Ogrencinin notu = ‘);
Readln(OgrenciNotu1);
Write(‘2.Ogrencinin notu = ‘);
Readln(OgrenciNotu2);
Write(‘3.Ogrencinin notu = ‘);
Readln(OgrenciNotu3);
...
...
write(’30.Ogrencinin notu = ‘);
readln(OgrenciNotu30);
end.
Dizi kullanan öğretmen
Var
OgrenciNotu : array[1..30] of integer;
I : integer;
Begin
for I := 1 to 30 do
begin
write(I,'.Ogrencinin notu = ');
readln(OgrenciNotu[i]);
end;
End.
Artık dizi kullanmanın avantajlarını biliyoruz. Bize aynı türden ve birbiri ile ilişkili bilgilere kolay erişmemizi sağlıyor. İsterseniz artık bir dizi tanımının nasıl yapıldığına bakabiliriz. Dizileri VAR bloğunda tanımlayabileceğimiz gibi, Type bloğunda da tanımlayabiliriz. Eğer TYPE bloğunu kullanırsak tanımlamış olduğumuz yeni tipi direkt değişken tipi olarak kullanabiliriz.,
değişken_ismi : array [boyut_büyüklüğü] of dizi_tipi
Boyut büyüklüğü herhangi bir standart veri tipinde olabilir. Eğer çok boyutlu bir dizi ise bunlar birbirinden virgüllerle ayrılır. Dizi tipinde ise istediğimiz herhangi bir tipi kullanabilirz. Yani hem standart tipleri hem TYPE bloğunda tanımladığımız kendi tiplerimizi kullanabiliriz. Dizinin elemanlarına köşeli parantez içerisinde verilen indis numarası ile erişiriz. Eğer dizilerimiz çok boyutlu olacaksa
Örnek tanımlamalar :
Type
arr_type = array[1..25] of real;
Str20 = String[20];
Var
IntList : array[1..100] of integer; {İnteger tipinde bir boyutlu dizi}
CharData : array['A'..'Z'] of Byte; {Char tipinde bir boyutlu dizi}
Matris : array[0..9, 0..9] of real; {real tipinde 2 boyutlu dizi}
MyStrArr : array[1..10] of Str20; {Yukarıda tanımladığım Str20 tipinde 10 elemanlı dizi}
KupData : array[1..20,1..20,1..20] of Word {Word tipinde 3 boyutlu dizi}