Commodore sayı 21, sayfa 59

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 59

PRED, SUCC ve ORD fonksiyonları tüm basit veri tipleri için kullanılabilirler. ORD (parametre): ORD fonksiyonu herhangi bir basit veri tipinin sırasını verir. Parametre basit veri tipinde olmak zorundadır. PRED (parametre): PRED fonksiyonu sonuç olarak parametrede yer alan basit veri tipinin bir önceki değerini verir. Eğer parametrede yer alan basit veri tipi ilk değerse fonksiyonun sonucu tanımsız olur. SUCC (parametre): SUCC fonksiyonu sonuç olarak parametrede yer alan basit veri tipinin bir sonraki değerini verir. Eğer parametrede yer alan basit veri tipi son değerse fonksiyonun sonucu tanımsız olur. Basit veri tipleri ile kullanabildiğimiz üç fonksiyonu örneklerle görelim. Örneğimiz için kendimize bir basit veri tipi tanımlayalım

TYPE

dil (basic, pascal, logo, fortran). Parametre ORD 0 pascal BELİRSİZ pascal 1 logo basic logo 2 fortran pascal 4 BELİRSİZ. fortran 0 BELİRSİZ BELİRSİZ tabe 0 0 1 1 10 10 nn

Sadece CHAR veri tipi için geçerli olan CHR fonksiyonumuz bulunuyor. CHR (sıranumarası) CHR fonksiyonu sıra numarası verilen karakteri verir. CHR fonksiyonunda parametre olarak İNTEGER veri tipinde bir sayı veya ifade kullanabilirsiniz. Eğer yazdığınız sıra numarasına karşılık gelen herhangi bir karakter yoksa fonksiyonun değeri belirsiz olur. CHR fonksiyonu özellikle ekrana basılamayan karakterlerin ekrana basılmasında çok yararlıdır. Mesela,

PROCEDURE ALARM; CONST ZIİL- 7; VAR

BEGİN FOR I:—- TO 10 DO WRITELN(CRRIZIL)); END;

Bu ufak alt program çalıştığında bilgisayar ses çıkaracaktır. CHR fonksiyonu sadece CHAR basit veri tipi için geçerlidir. Fakat kolaylıkla kendi tanımladığımız basit veri tipleri için de CHR benzeri bir fonksiyon yazabiliriz.

Herhangi bir basit veri tipinde tanımlanmış değişkeni FOR komutuyla kontrol etmemiz mümkündür.

Mesela, TYPE SIRA = 0..4; şeklinde bir tanımlama yapalım.

CEVİR(N:SIRA):DIL; CASE N OF 0:CEVİR CEVİR: EVİR

BASIC; ASCAL; LOGO;

END END;

SIRA ve DİL veri tiplerinin ana programda tanımlandığını kabul ediyoruz. Aslında veri tipleri daha çok genel olarak tanımlanır. Böylece diğer tüm alt programlar yeni tanımlanan veri tiplerini kullanabilir. Herhangi bir basit veri tipinde tanımlanmış değişkeni FOR komutunda kontrol değişkeni olarak kullanabilirsiniz. Mesela,

VAR D:DIL; BEGĞİN FOR D:- BASIC TO LISP DO WRIİTELN(ORD(D):5) END.

Kendi tanımladığımız veri tiplerinin bir dezavantajı bulunuyor. Kendi tanımladığımız veri tiplerindeki değişkenlere READ, READLN komutu ile yeni değer yüklemek ve WRITE, WRİTELN komutları ile de değişkenin değerini yazdırmak mümkün değildir. Eğer yukarıdaki örnekte komutunu yazacak olursanız bir hata mesajı ile karşılaşırsınız.

Yapısal veri tipi: Diziler

Elimizdeki verileri düzenlemenin bir yolu da verileri listeler veya tablolar halinde düzenlemektir. Verileri bu şekilde düzenlemede kullanılan yapısal veri tipi ARRAY (dizi) olarak biliniyor. ARRAY veri yapısında yer alan veri birimlerinin hepsi aynı veri tipindedir. Bir ARRAY kullanarak bir dizi veriyi aynı değişken isim altında saklayabiliriz. Böylece o değişkende yer alan tüm verilere kolaylıkla ulaşabiliriz. ARRAY veri yapısına bir örnek verelim;

TYPE LISTE - OF REAL; VAR X:LISTE;

Artık X değişkeninde beş ayrı veri bulundurabiliriz. Pascal X değişkeni için beş hafıza birimi ayırır. X değişkenindeki her veri REAL veri tipinde bir değer taşır.

Bir dizide yer alan verileri işlemek için her veriye tek tek ulaşabilmemiz gerekir. Dizide yer alan verilere indeksleri aracılığı ile erişebiliriz. Mesela X değişkeninde yer alan ikinci elemana bir değer yükleyelim,

XI): - 4.4;

Değişken isminden hemen sonra gelen köşeli parantezler içinde yer alan sayı dizideki belirli bir elemanın yerini belirtir. Örneğimizde X değişkeninin sadece beş elemanı olabilir. X değişkenini kullanarak bazı işlemler yapalım:

WRITELN (X(1))

XI2) XI) 4 2.1 XİS) 4 XI2) 59

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