Teknomerkez
TR EN ES
Konular

JAL 2.2: Diziler

Yazar: İsmail Sahillioğlu
Tarih: 20.07.2019
Türkçe


JAL tek boyutlu değişken dizileri oluşturabilir ve bunları organize edebilir. Bit türü dizi oluşturmak için kullanılamaz, donanım yapısına uygun değildir. Bit dışındaki türlerin herhangi biriyle değişken dizileri oluşturulabilir. Dizi tanımlama biçimi aşağıdaki gibidir:
VAR "değişken türü" "değişken adı" ["dizi niceliği"] = {"dizi ögeleri"}
"dizi ögeleri" '0' dan itibaren sayılandırılmaya başlanır ve son sayı "dizi niceliği" - 1 olur. Örneğin "dizi niceliği" 5 olarak tanımlanırsa, "dizi ögeleri" 'nin sayılandırılması aşağıdaki gibi olacaktır:

Dizi no Ögeler
0 öge1
1 öge2
2 öge3
3 öge4
4 öge5
Dizinin ögelerine erişim köşeli parantezler "[n]" içine yazılacak n sayı değeri ile yapılır. Bu sayı değeri ögenin bellekteki sıra numarasıdır. Köşeli parantezlerin içine yazılan bu sayıya programlamada indeks ya da indis numarası denir. 

Bu ögelerin bellek hücrelerindeki yerleşimleri tanımlanan değişken türüne bağlı olacaktır. Burası biraz alt seviyenin yani donanımın derleyici tarafından nasıl organize edildiği ile ilgili bilgidir. Aşağıda bütün türler için niceliği 5 olan bir dizinin bellekte nasıl organize edildiği gösteriliyor.




BYTE türünden büyük olan türler bellekte organize edilirken yerleşim çizelgesinde görüldüğü gibi bellek genişliğinin 8-bit olmasından dolayı baytlara bölünürler. Aslında alt seviyede yani makinede byte ve bit dışında bir şey yoktur, ne tür değişken kullanırsak kullanalım değişkenler bir şekilde baytlara dönüştürülecektir. Bu yüzden 1 bayttan büyük ögeleri yerleşim çizelgesinde gösterirken bir değişken değerine ait tüm baytları numaralandırıp nokta ile o değişkene bağladım. Böylece değişkenle derleyici editöründe çalışırken tek bir parça olarak çalışırız ve derleyici bu değeri baytlara bölme ve belleği organize etme işini bizim yerimize üstlenir. Buna göre örneğin bir DWORD türünde SAYAC adlı bir değişkenle çalışıyor olalım. Bu değişken değeri;
derleyicide: SAYAC, bellekte (temsilen): SAYAC.1, SAYAC.2, SAYAC.3, SAYAC.4 olarak 4 bayta bölünüp saklanır.

Alt seviye bilgisini geride bıraktıktan sonra seviyemizi yükseltip kendi seviyemize dönelim. Birkaç dizi tanımlama örneği yapalım, nasıl oluşturulur görelim ve konuyu sonlandıralım.

var byte kimlikNo[10]
var byte HEX_ASC2[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}
var word mesafe_m[] = {16864, 32077, 48920, 62051}
var sdword yukseklik[]
var float konum[] = {15.3, -77.8, 19083.87, -1287.387, 248.66}

Etiketler: JAL Diziler Arrays

Yorumlarınız

Hiç yorum yapılmamış.

Bir yorum ekleyin

İsim:
E-posta:
Yorumunuz:
Güvenlik Kodu:
 
Tüm alanları doldurmak zorunludur. Yorumunuz kontrol edilince yayınlanacaktır. E-posta adresi yayınlanmaz.
İzin verilen html etiketler (tag): <p><div><b><strong><i><u><del><hr><sup><sub><br>