Commodore sayı 22, sayfa 61

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 61

BURAK KİPER

Geçen bölümde yapısal veri tiplerinden dizileri incelemeye başlamıştık. Tek boyutlu dizilerden sonra sıra çok boyutlu dizileri incelemeye geldi. Tek boyutlu dizileri yukarı aşağı gelip gidebildiğimiz sayfalar olarak düşünebiliriz. Bazen iki boyutta ifade edilmesi gereken veriler için tablolar oluştururuz. Bu tabloları aşağı yukarı ve sağa sola gidebildiğimiz sayfalar olarak düşünelim. Bu tablolar iki boyutlu dizilerdir. Pascal'da iki boyutlu bir dizi tanımlayalım:

VAR T: ARRAYII..4,1..3) OF INTEĞER;

T isimli INTEGER değerli tablomuz dört sıra ve üç kolondan meydana geliyor. Kolonlar 1 ile 3 arasında indekse sahip. Sıralar ise 1 ile 4 arasında indekse sahip. Tanımladığımız tablomuzu bir sayfa olarak düşünün. Sayfamız dört satıra sahip. Her satır ise üç tane INTEGER sayı alıyor. Tanımladığımız tablo muhtemelen şu değerleri içeriyor olabilir:

K1 K2 K3 S1: 4 2 10 S2: 14 30 80 S3: 5 96 22

Tablodaki istediğimiz herhangi bir değeri indekslerini kullanarak ifade edebiliriz. Mesela (2,3) satır2, kolon3 80 değerini taşıyor. Tablodaki bir değere ulaşabilmek için ilk önce sıra(satır), sonra kolon indeksini vermemiz gerekir: |satır,kolon| Mesela, T|3,1| = 22 İki boyutlu dizi için iki indeks kullandık. Üç boyutlu bir dizi içinse üç indeks kullanmamız gerekirdi. Pascal normalde istediğimiz boyutta dizi tanımlamamıza izin veriyor.

Mesela üç boyutlu bir dizi tanımlayalım:

VAR B: ARRAYII..30,1..5,1..4) OF REAL;

B adlı diziyi sayfaların oluşturduğu bir kitap gibi düşünebiliriz. İlk indeks kitabın sayfa numarasını belirtir. İkinci indeks o sayfadaki satırı belirtir. Üçüncü indeks ise kolonu belirtir. Bu durumda kitabın 25 numaralı sayfasında 3 numaralı satırın ikinci kolonuna bir değer vermek istersek:

Bİ25,3,2): —4.4; RECORD-KAYIT

Son olarak yapısal veri tiplerinden dizileri inceledik. Dizilere birçok yüksek seviye programlama dillerinde rastlayabiliriz. Şimdi bahsedeceğimiz yapısal veri tipi ise PASCAL gibi yapısal programlamaya yatkın dillerin dışında diğer yüksek seviye programlama dillerinde bulunmaz. Bu yeni yapısal veri tipine RECORD adı veriliyor. RECORD sözcüğünün dilimizdeki karşılığı kayıt, sicil, tutanak anlamlarına geliyor. Bu veri tipinin yaptığı adına çok uygun. PASCAL'ın çok popüler bir dil haline gelmesinde bu veri tipinin katkısı çok büyük. Dizilerde yer alan bireylerin hepsinin aynı türde olması gerekiyordu. Buna karşın RECORD ile tanımladığımız bir değişkenin birimleri farklı veri tiplerine sahip olabilir. Mesela INSAN adlı bir değişkeni RECORD olarak tanımlarsak bu değişkenin birimlerinde o insana ait yaş, doğum yılı, iş, adres ve benzeri bilgileri saklayabiliriz. Bir dizide herhangi bir elemana indeks sayesinde ulaşabiliyorduk. Bir RECORD içinde ise alanlar bulunuyor. Bu veri tipini daha iyi anlamak için bir örnek görelim: Diyelim ki, bir kayıt tutmak istiyoruz. Kayıtta şu bilgiler yer almalı: İsim, cinsiyet, aylık ücret, giriş yılı.

Klavyeyle gezinmek için ← ve → tuşları.