sığdırabiliriz. Bellekten tasarruf et- menin diğer bir yolu da tek bir prog- ram satırına birden fazla direktif yer- leştirmektir. Bunu en iyi örneklerle gösterebiliriz. Şekil 3'te yedi satırlık demomuzun yukarıdaki kolaylıklara başvurulduktan sonraki halini görü- yorsunuz. Şekil 4'te de onu bellekte depolamanın yeni yöntemi var. Burada aslında tüm komutların kı- saltılmış olduğunu, ama açıklık kay- gısıyla normal gösterildiğini unutma- ın? Şimdi baytları sayacak olursanız, 73'ü bulduğunu göreceksiniz. Kısa bir programda bile 24 baytlık tasar- ruf sağlayabildik. Uzun bir program- da yapabileceğiniz tasarrufu düşünün hir de. 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 bu- lunur. Dizgi (string), tam sayı (inte- ger) ve gerçek (real). Fonksiyon ad- ları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 son- ra 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 edilemeye- ceğini bildiğinizi varsayacağım. Esas amacımız bellekte nasıl depolandık- larını görmektir. Tüm değişkenler, bellekte Basic programından hemen sonra depola- nırlar ve oluşum sırasıyla depolanır- lar. Ama dizgilerin iki pointer'ı var- dı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 yada dizinli (subscripted) olurlar. Basit değişkenler yedi bayt- PROGRAM ADI & KISA PRG. 08010 POKE 532890.11POKE 53201.2:FRIMNT "HE RKEŞSŞE MERHABA"LFOR Az1 TO 251NERT t PRINT "DEMO SONU" <168> Basza GOTO 28 <B06) 'PROGRAM 1 5 8800 2850 8800 1 BO 4i 08 BA 88 a97 35 33 DCc | #s808 r 32 38 30 20 31i 3A 97 35 85 0210 * 33 932 38 3i BC 32 3a 99 Gi ösi8 : 8e de 45 5a 4B 45 53 45 Bi ög20 « z260 4D 45 52 40 41 42 41 80 gaze * 22 3A Si di BE 31 A4 32 3B 6830 ı 35 3A 82 3A 99 BZ 44 45 Bü 6328 : 4D 4F 20 53 4F 4E 55 22 A0. g82340 1 ö0 45 ©2 14 ü aa 32 30 DF 0843 : 00 d0 980 g2 286 ge gö 8e Si lık bir üst kullanır. Bunlar sırasıyla şöyledir: İlk iki 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ıl- maz. Tam sayılar değer için üçünsü ve dördüncü baytları kullanırlar; ge- riye kalanlar hiç kullanılmaz. Gerçek ifade olarak üçüncü baytı, imi ve on- dalık bölümü olarak dörtle yedi ara- sındaki baytları kullanır. Fonksiyon da yedi bayt kullanır. Üçüncü ve dör- düncü tanıma, beşinci ve altıncı de- ğışkene, yedinı:ı de değerine işaret eder. Dizinli değişkenler, basitlerinin aksine, yalnızca depolama için gere- ken ilişkili değerleri gerektirirler. Ör- neğin dizgi (string) dizinleri uzunlu- ğun yalnızca üç fazlasına ıhEıyaç gös- terirler. Tam sayılar da iki Daha önceleri, bir satıra ı'numkün olduğu kadar çok direktif sığdırarak ve kısaltılmış komutlar kullanarak bellekten tasarruf etmenin yolların- dan söz etmiştim. Şimdi de Basic programını daha hızlı çalıştırabilme- niz için bir iki ip ucu. Doğallıkla, sa- tı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ü ola- rak, çok fazla GÖTO ve GOSUB ol- mamasına çalışın. Tüm bu gidiş ge- lişler zaman yitimine yol açacaktır. Ayrıca çok fazlâ DATA'nız varsa, * bunları programın başına koymaya çalışın. Bu her READ komutu sıra- sında size zaman kazandıracaktır. 21