Pascal – İndeksli Değişkenler

– Dizilere Giriş

DİZİLER

Bir dizi, aynı tipteki elemanların yanyana sıralanışı ile elde edilen bir bilgi kümesidir. Örneğin 10 bileşenli bir vektör için 10 basit tip değişken kullanılması gerekirken, 10×10 boyutlarındaki matris için 100 basit tip değişken kullanılması gerekmektedir. Bizim için gerekli olan, aynı tipte elemanlardan oluşan bir veri kümesini tek bir değişken ismi kullanarak , küme içindeki yeri ile erişilmesini sağlayacak veri yapısıdır. Diziler, kullanım amacına göre tek veya çok boyutlu olabilir. PASCAL programlama dilinde diziler, TYPE, VAR veya CONST tanım bloklarından birinde tanıtılır.

Dizilerin Tanıtılması

Bir dizinin tanımı değişik şekillerde yapılabilmektedir. Bunlar aşağıda kısaca özetlenmiştir.

1.Dizilerin Type Bloğunda Tanıtılması :Dizilerin type bloğunda tanıtılması işleminde örneğin; Tek boyutlu ve 30 elemanlı Endüstri Mühendisliği 1. Sınıf öğrencilerinin numaralarının programa tanıtımı:

TYPE Numara=ARRAY [1..30] of string[10];

VAR ogr:NUMARA;

şeklinde yapılabilir.Örneğe dikkat edilirse NUMARA adı verilen bir dizi TYPE tanım bloğunda tanıtılmış VAR tanım bloğunda ise bu dizinin OGR adı altında değişken tipte olduğu belirtilmiştir. Aynı şekilde tek boyutlu ve 30 elemanlı Endüstri Mühendisliği 1. Sınıf öğrencilerinin isimlerin programa tanıtımı ise:

TYPE Isimler=ARRAY [1..30] of String[25];

VAR OgrIsim:Isimler; şeklindedir.

– Tek Boyutlu Diziler

Tek Boyutlu Diziler

Tek boyutlu diziler aşağıda görülen genel formda ifade edilebilirler. Değişken = ARRAY [Başlangıç değeri..Bitiş Değeri] OF tip tanımı

Örnek 2: Aşağıda verilen program tek boyutlu bir dizinin elamanlarını sondan başa doğru tersine çevirmektedir.

uses crt;

type

range=1..10;

dizi=array[range] of integer;

var

vektor,tersvektor:dizi;

i:integer;

begin

for i:=1 to 10 do begin

write(‘vektorun ‘,i,’. elemanını giriniz =’);readln(vektor[i]);end;

for i:=1 to 10 do

tersvektor[10-i+1]:=vektor[i];

{veya for i:=10 downto 1 do

tersvektor[i]:=vektor[10-i+1]; }

for i:=1 to 10 do

writeln(tersvektor[i]);

end. Programın Çıktısı

– Çok Boyutlu Diziler

Örnek 6:

uses crt;

var

i, j, n: integer;

sirali, yer, dizi: array [1..10] of integer;

begin

write(‘dizinin eleman sayısını giriniz… : ‘);readln(n);

for i := 1 to n do     begin

write(‘dizinin ‘, i, ‘. elemanını giriniz ‘);

readln(dizi[i]);   end;

for i := 1 to n do yer[i]:=1;

for i := 1 to n-1 do

for j:= i+1 to n do

if dizi[i] > dizi[j] then

yer[i]:=yer[i]+1 else yer[j]:= yer[j]+1;

for i:= 1 to n do sirali[yer[i]]:=dizi[i];

write(‘sıralı diziniz…: ‘);

for i:= 1 to n do write(sirali[i]:6); readln;

end. Programın Çıktısı

Çok Boyutlu Diziler

İndisli değişkenler iki boyutlu olduğunda boyut durumu, köşeli parantez içinde eleman tanımları arasında virgül verilerek belirtilir.Örneğin;İki boyutlu ve 32 elemanlı B adı verilen indisli değişkenin programa tanıtımı;

Type DIZI:ARRAY[1..4,1..8] of Real;

Var B:DIZI; şeklinde yapılabilmektedir.

Yorum Bırak

E-posta hesabınız yayımlanmayacak.