1 Aralık 1987 Tarihli Commodore Gazetesi Sayfa 62

1 Aralık 1987 tarihli Commodore Gazetesi Sayfa 62
Metin içeriği (otomatik olarak oluşturulmuştur)

dizileri inceledik. Dizilere birçok yük- sek seviye programlama dillerinde rastlayabiliriz. Şimdi bahsedeceğimiz yapısal veri tipi ise PASCAL gibi ya- pısal programlamaya yatkın dillerin dışında diğer yüksek seviye program- lama dillerinde bulunmaz. Bu yeni yapısal veri tipine RECORD adı ve- riliyor. RECORD sözcüğünün dili- mizdeki 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 gelme- sinde bu veri tipinin katkısı çok bü- yük. Dizilerde yer alan bireylerin hepsi- nin 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 bi- rimlerinde o insana ait yaş, doğum yı- lı, iş, adres ve benzeri bilgileri sakla- yabiliriz. Bir dizide herhangi bir elemana in- deks sayesinde ulaşabiliyorduk. Bir RECORD içinde ise alanlar bulunu- yor. Bu veri tipini daha iyi anlamak için bir örnek göre Diyelim ki, bır kayıt tutmak istiyo- ruz. Kayıtta şu bilgiler yer almalı: İsim, cinsiyet, aylık ücret, giriş yılı. TYPE BILGI - RECORD ISIM:PACKED : ARRAYII..10) OF C . CINSIYET:(ERKEK, KADIN); UCRET:REAL; YIL:IİNTEGER; 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 1—1989; ISCI değişkenimizin dört.elemanı var. Örneğimizde her elemanın veri tipi farklı. Herhangi bir elemana ula- şabilmek için değişken ismini verdik- ten sonra *” nokta koyup elemanın ismini veriyoruz. Elemanlar kaydımı- zın alanlarını oluşturuyor ve istediği- miz 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: AR ISCI, MEMUR : BİLGI; ISCI :— MEMUR; tanımlaması doğrudur. Bu tanımla- ma ile MEMUR değişkeninin ele- manlarının değerleri ISCI değişkeni- ECORD 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 ha- lini görelim: Kayıt-tıpı - RECORD elemanl: veri tıpıl; eleman2: veri tıpı2; » .» ) »» elemanN: veri tıpı-N Bu veri tıpı ile çeşitli değişkenler ta- nımlayalım TYPE KITAP - RECORD BASLIK:PACKED ARRAYII..80) OF CHAR; YAZAR, BASAN, SEHIR:PACKED ARRAYLÇI..20) OF CHAR; YIL: INTEGER FIYAT: REAL; END; TYPE Commodore 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:INTEGĞER; END; İÇ İÇE KAYITLAR Tanımladığımız kaydın herhangi bir alanının bir kayıt olması müm- kü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 ev- vel tanımladığımız TARIH kaydı ile tanımlandı. Mesela şu şekilde bir ta- nımlama yapalım: VAR BUĞUN: GUN; Bu durumda BUGUN.G değişke- ni TARIH veri tipindedir. BU- GUN.G değişkenini kullanarak bazi işlemleri gerçekleştirelim: BUGĞGUN.G.AY .— kas; BUĞUN.G.GUN — pe; BUGĞUN.G. AYINGUXIU — 4; BUĞUN.G.YIL — 65; İç içe kayıt tanımlarken kendisi de bir kayıt olacak alanın veri tipini ay- rıca tanımlamak gerekmez. Aşağıda- ki yöntem de kullanılabilir. Burada RECORD tanımlaması içinde geçen RECORD tanımlamasına dikkat et- memiz gerekir: VAR KISI:RECORD ISIM:RECORD ORTA, SON:PACKED ARRAYI1..20) OF CHAR; END; ADRES:RECORD SOKAK, 63

Bu sayıdan diğer sayfalar: