Commodore sayı 22, sayfa 63

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 63

SEHIR: PACKED

ARRAYII.12) OF CHAR;

END; END;

Bu tanımlamadan sonra kullanabileceğimiz değişkenleri görelim:

KISI.ISIM KISI.ADRES KISI.ISIM.ILK KISI.ISIM.ORTA KISI.ISIM.SON KISI.ADRES.SOKAK KISI.ADRES.SEHIR

WITH KOMUTU

Özellikle alanların kendileri de kayıt olduklarında kayıt değişkenlerinin isimleri aşırı derecede uzar. Bu değişkenleri sık kullandığınız yerlerde uzun uzun yazmak hem yorucu olur, hem de hata oranı yüksek olur. Bunu önlemek için PASCAL'da WITH komutu bulunuyor. WITH komutu sayesinde kayıt değişkeninin ismini kullanmadan sadece alan isimlerini kullanarak işimizi halledebiliriz. Mesela TARIH kaydını bu şekilde kullanalım:

VAR T:TARIH; BEĞIN WITH T DO BEGĞIN AY kas; GUN AYINGUNU: —4; YIL 1-65; END; END.

WITH komutu ile aynı anda birden fazla kaydı kontrol edebiliriz. Buna bir örnek verelim:

WITH KISI, ISIM, ADRES DO BEGIN ILK: - ORTA; SON: - SOKAK:-' SEHIR: - “Istanbul END;

KAYIT DİZİLERİ

Tanımlamış olduğumuz kayıtlara sadece tek bir veri girebiliriz. Ancak kayıtları dizilerle birlikte tanımlarsak, birçok kayıt girme şansına sahip oluruz: Mesela;

VAR

KİTAPLIK:ARRAYÇ(I..100) OF KITAP;

Bu tanımlamadan sonra kitaplığımızdaki 100 kitap için bilgi girebiliriz. Mesela 5 numaralı kitabın ismini öğrenmek için;

WRITELNİKITAPLIK|5)1.BASLIK); Komutunu vermemiz gerekir.

DEĞİŞKEN KAYITLAR

Bazen programın akışına göre değişebilen kayıtlar kullanmamız gerekir. Mesela bir kitaplıkta çeşitli yayınların kaydını tutuyoruz diyelim. Kitapların kayıtları ile magazinlerin kayıtları tam olarak aynı değildir. Bir kitap için yazar ismi, başlık, basım yeri, yayıncı ve basım yılı bilgilerini tutmamız gerekir. Magazin için yazar ismi, başlık, magazinin ismi, basıldığı ay ve yıl, magazinin başlama ve bitiş sayfa numaralarını tutmamız gerekir. Yazar, başlık ve basım yılı veri alanları hem kitap hem magazinler için aynı olduğundan bu alanlar kayıtta daima bulunacaklar. Fakat diğer alanlar sadece magazin veya kitap için geçerli olurlar. Programın gerekli yapıyı seçmesi için bir referans kullanmamız gerekir, bu nedenle bir veri tipi tanımlayalım ve bunu kullanarak örneğimizi kayıt şekline dönüştürelim:

TYPE REFTIPI - (KITAP,MAGAZIN);

REFERANS - RECORD YAZAR: PACKED ARRAYII..40) OF CHAR; BASLIK: PACKED ARRAY:1..80) OF CHAR; YIL:INTEGER; CASE TIP: OF KITAP:(SEHIR: PACKED ARRAY OF CHAR; YAYINCI:

PACKED ARRAY OF CHAR); MAGAZIN: (ISIM: PACKED ARRAY OF CHAR; AY:(OCA, SUB,MAR, NIS,MAY, HAZ,TEM, AGU,EYL, EKI,KAS, ARA); SAYFA: PACKED OF CHAR;) END; VAR K:REFERANS

TIP değişkeninin alacağı değere göre değişken isimlerine örnek verelim:

Eğer TIP = 'kitap' ise:

K.TIP.SEHIR K.TIP.YAYINCI

Eger TIP: — magazın;ise:

K.TIP.ISIM K.TIP.AY K.TIP.SAYFA değişkenlerini kullanabiliriz. REFERANS olarak tanımladığımız kaydımızın bir sabit, bir de değişken kısmı bulunuyor. Bir kayıtta ilk önce sabit kısım tanımlanır. Eğer varsa arkadan değişken kısım tanımlanır. Örneğimizde TIP değişkeninin değerine göre kaydımızın değişken kısmı belirleniyor. Program Döküm Eki'nde RECORD ve ARRAY yapısını kullanan programlar yer alıyor. Böylece PASCAL dilini anlatmaya çalıştığımız yazı dizisinin sonuna geldik.

PROGRAM VEDA; BEGIN WRIİTELN('Baska bir yazıda buluşmak”); WRITELN(Ç'uzere hoscakalın.'); END.

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