Commodore sayı 22, sayfa 62

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 62

TYPE BILGI - RECORD ISIM:PACKED ARRAYII..10) OF

CHAR; CINSIYET:(ERKEK, KADIN); UCRET:REAL; END; VAR ISCI : BILGI;

Şimdi ISCI değişkenimize gerekli bilgileri yükleyelim:

ISCI.ISIM —'Alı ISCI.CINSIYET : - ERKEK; ISCI.UCRET :—-200000.0; ISCI.YIL :— 1989;

ISCI değişkenimizin var. Örneğimizde her elemanın veri tipi farklı. Herhangi bir elemana ulaşabilmek için değişken ismini verdikten sonra “.” nokta koyup elemanın ismini veriyoruz. Elemanlar kaydımızın alanlarını oluşturuyor ve istediğimiz veri tipine sahip olabiliyor. Kayıtta bir elemana ulaşmak için kullandığımız nokta, dizilerdeki köşeli paranteze denk geliyor. Eğer iki değişken aynı kayıt tipine sahipse ikisini birbirine doğrudan eşitleyebiliriz. Mesela: VAR ISCI, MEMUR : BILGI;

ISCI :— MEMUR;

tanımlaması doğrudur. Bu tanımlama ile MEMUR değişkeninin elemanlarının değerleri ISCI değişkeni-

RECORD yapısal veri tipi Pascal gibi yapısal programlamaya yatkın dillerin dışındaki programlama dillerinde bulunmaz.

nin elemanlarına yüklendi. Bir kayıt tanımlamasının genel halini görelim:

Kayıt-tıpı - RECORD elemanl: veri tıpıl; eleman2: veri tıpı2;

» ,» 83

,.)

elemanN: veri tıpı-N END;

Bu veri tipi ile çeşitli değişkenler tanımlayalım:

TYPE KITAP - RECORD BASLIK:PACKED OF CHAR; YAZAR, BASAN, SEHIR:PACKED OF CHAR; YIL: INTEGER FIYAT: REAL; END;

TYPE

TARIH - RECORD AY:(OCA,SUB, MAR,NIS, MAY,HAZ, TEM,AGU, EYL,EKI, KAS,ARA); GUN:(PT,SA,CA, PE,CU,CT, PA); AYINGUNU:1..31; YIL:INTEGER; END;

İÇ İÇE KAYITLAR

Tanımladığımız kaydın herhangi bir alanının bir kayıt olması mümkündür. Bu şekle bir örnek verelim:

TYPE GUN - RECORD G : TARİH; AY: 41..12); END;

GUN kaydımızın G alanı biraz evvel tanımladığımız TARIH kaydı ile tanımlandı. Mesela şu şekilde bir tanımlama yapalım:

VAR BUĞUN: GUN;

Bu durumda BUGUN.G değişkeni TARIH veri tipindedir. BUGUN.G değişkenini kullanarak bazı işlemleri gerçekleştirelim:

BUGUN.G.AY — kas; BUĞUN.G.GUN i— pe; BUĞUN.G.AYINGUNU :- 4; BUGUN.G.YIL 65;

İç içe kayıt tanımlarken kendisi de bir kayıt olacak alanın veri tipini ayrıca tanımlamak gerekmez. Aşağıdaki yöntem de kullanılabilir. Burada RECORD tanımlaması içinde geçen RECORD tanımlamasına dikkat etmemiz gerekir:

VAR KISI:RECORD ISIM:RECORD ILK, ORTA, SON:PACKED ARRAYÇI..20) OF CHAR; END; ADRES:RECORD SOKAK,

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