Commodore sayı 46, sayfa 21

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 21

DEĞİŞKEN UZUNLUKLARI

Bellekten tasarruf edebileceğimiz bir başka alan da değişkenlerimiz. Ne cins olduklarını, nasıl oluştuklarını ve bellekte nasıl depolandıklarını bilmek de önemli. BASIC dilinde üç cins değişken bulunur. Dizgi (string), tam sayı (integer) ve gerçek (real). Fonksiyon adlarını da eklerseniz dördü bulurlar. Dizgi değişkenlerinde addan sonra dolar işareti, tam sayılardan sonra yüzde işareti gelir, gerçeklerden sonra hiçbir şey gelmez. Eksik değer gerçek değerdir. Bu noktada bir değişkenin nasıl oluşturulduğunu ve bir anda nelerin dahil edilip edilemeyeceğini bildiğinizi varsayacağım. Esas amacımız bellekte nasıl depolandıklarını görmektir. Tüm değişkenler, bellekte BASIC programından hemen sonra depolanırlar ve oluşum sırasıyla depolanırlar. Ama dizgilerin iki pointer'ı vardır. Biri dizginin adresi, öbürü de uzunluğudur. Dizgiler aynı zamanda BASIC belleğinin üstünde yerleştirilir ve aşağı doğru çalışırlar. Değişkenler ya basit ya da dizinli (subscripted) olurlar. Basit değişkenler yedi bayt-

PROGRAM ADI

RKEŞE MERHABA

KISA PRG.

00010 POKE "HE

Asi TO 1

PRİNT "DEMO SONU" 68828 GOTO 828 <206) PROGRAM 5 ©6800 0850 ©8080 1 80 41 028 BA ©0 87 35 33 #808 32 38 30 20 31 3A 97 35 86 ©0910 « 33 32 38 3i 20 32 3A 99 Gi : £2 de 45 Sa 4B 45 53 45 Bi © 20 4D 45 52 40 41 42 41 8D * 22 3A Si di 31 A4 32 898 ©6838 35 SA S2 3A 99 44 45 Bö 62328 : 4D 4F 20 53 4F 4E 55 22 A0. 0340 1 00 45 14 80 a9 32 30 DF ©8348 < 00 00 90 28 26 20 20 51

lık bir üst kullanır. Bunlar sırasıyla şöyledir:

bayt değişken adını tutar. Dizgiler için, sonraki baytta dizginin uzunluğu, daha sonraki iki bayt da yüksek/düşük formattaki pointer'ı bulunur. Kalan iki tanesi kullanılmaz. Tam sayılar değer için üçüncü ve dördüncü baytları kullanırlar; geriye kalanlar hiç kullanılmaz. Gerçek ifade olarak üçüncü baytı, imi ve ondalık bölümü olarak dörtle yedi arasındaki baytları kullanır. Fonksiyon da yedi bayt kullanır. Üçüncü ve dördüncü tanıma, beşinci ve altıncı değişkene, yedinci de değerine işaret eder. Dizinli değişkenler, basitlerinin aksine, yalnızca depolama için gereken ilişkili değerleri gerektirirler. Örneğin dizgi (string) dizinleri uzunluğun yalnızca üç fazlasına ihtiyaç gösterirler. Tam sayılar da iki. Daha önceleri, bir satıra mümkün olduğu kadar çok direktif sığdırarak ve kısaltılmış komutlar kullanarak bellekten tasarruf etmenin yollarından söz etmiştim. Şimdi de BASIC programını daha hızlı çalıştırabilmeniz için bir iki ipucu. Doğallıkla, satır sayısı azaldıkça program da daha hızlı işleyecektir. Tüm önemli değişkenlerin programın başına mümkün olduğu kadar yakın olmasına gayret gösterin. Bu da arama zamanından tasarruf sağlayacaktır. Üçüncü olarak, çok fazla GOTO ve GOSUB olmamasına çalışın. Tüm bu gidiş gelişler zaman yitimine yol açacaktır. Ayrıca çok fazla DATA'nız varsa, bunları programın başına koymaya çalışın. Bu her READ komutu sırasında size zaman kazandıracaktır.

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