Amiga Dunyasi - Sayi 13 (Haziran 1991).pdf - Retro Dergi
Amiga Dunyasi - Sayi 13 (Haziran 1991).pdf - Retro Dergi
Amiga Dunyasi - Sayi 13 (Haziran 1991).pdf - Retro Dergi
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
tation). Bu şekilde bilgisayarı kilitlemek<br />
gayet basit; bu sebeple programlarınızı<br />
yazarken, mümkün olan tüm hata kontrollerini<br />
kullanmanızda fayda var.<br />
Gelelim HiSoft BASIC'in kullanıcıya<br />
kazandırdığı ekstra komutlara. CONST<br />
komutu yardımıyla, sabitleri daha rahat<br />
tanımlayabilirsiniz. Bu sayede de hafızadan<br />
tasarruf edebilirsiniz. Zira LET komutuyla<br />
tanımlanan değişkenler hafızadan<br />
4 byte yerken CONST komutuyla tanımlanan<br />
sabitler hiç hafıza yemez. Aşağıda<br />
bu komutu kullanan bir örnek bulabilirsiniz:<br />
CONST InterLace=4<br />
CONST BitPlanes=3<br />
SCREEN 1,640,512,BitPlanes,InterLace<br />
Hem bu yöntem kullanılarak bazı sayıların<br />
ne anlam taşıdığını da kolaylıkla görebilirsiniz.<br />
DECR ve INCR komutları yardımıyla<br />
bir değişkeni birer birer artırıp azaltabilirsiniz.<br />
DECRx ===> x=x-l<br />
INCRx ===> x=x+l<br />
REDIM komutuyla, bir matris değişkenini<br />
tekrar tanımlayarak boyutunu rahatlıkla<br />
değiştirebilirsiniz. <strong>Amiga</strong>BASIC'te<br />
bunu yapmak için ilk önce ERASE komutunu<br />
kullanarak matrisi hafızadan silmeniz,<br />
ardından da DIM yardımıyla tekrar<br />
tanımlamanız gerekliydi. REDIM komutu<br />
yardımıyla boyutu değiştirilen bir matrisin<br />
içeriği tümüyle silinir. Fakat bunu da engelleyebilmek<br />
mümkün. REDIM AP-<br />
PEND kullanıldığında, matrisimizin hem<br />
boyutu değişmiş, hem de eski bilgiler silinmemiş<br />
olacak. Bu yöntem yardımıyla,<br />
örneğin bir kartoteks programında hafızanın<br />
otomatik olarak kart sırasına göre artması<br />
hızlı bir şekilde sağlanır.<br />
<strong>Amiga</strong>BASIC'te bir dosyanın diskette<br />
olup olmadığını kontrol etmek için, normalde<br />
dosyayı açmaya çalışmamız gerekli.<br />
Eğer hata mesajı alırsak, bunu ON ER-<br />
ROR... komutuyla algılayıp gerekli işlemleri<br />
yapmamız lazım. Fakat bu işlemler<br />
uzun sürer ve tam da güvenilir olmaz. Hi-<br />
Soft BASIC'teki FEXISTS komutuyla<br />
tüm bu işlemler bir IF..THEN döngüsü<br />
içinde kolaylıkla kontrol edilebilir. Aşağıda<br />
bu komutu kullanan ufak bir rutini inceleyerek<br />
kullanımını rahatlıkla öğrenebilirsiniz:<br />
IF NOT FEXISTSS("Dosya") THEN<br />
PRINT "Dosya bulunamadı."<br />
END IF<br />
Parantezler arasındaki tırnaklar içine<br />
dosyanın directory'sini ve ardından da<br />
dosyanın ismini yazmak mümkün. Burada<br />
uyacağınız kural gayet basit; isim, ilk önce<br />
device ismi (DF0:, vs...), directory ismi,<br />
işareti ve file ismi gelecek şekilde<br />
yazılmalı.<br />
Diskette directory yaratmak için<br />
MKDIR komutunu kullanabiliriz:<br />
MKDIR ("yenidirectory"). RMDIR ise,<br />
açılmış olan içi boş bir directory'i siler;<br />
kullanımı, MKDIR ile aynıdır.<br />
Dosyalarla ilgili diğer bir komut<br />
RESET'tir. Bu komut hiçbir parametreye<br />
gerek duymadan kullanılır ve açık olan<br />
tüm dosyaları kapar.<br />
BLOAD ve BSAVE komutları yardımıyla<br />
hafızanın istediğiniz belli bir bölümünü<br />
dosya olarak diskete kaydedebilirsiniz.<br />
PCOPY yardımıyla ekranın kopyasını<br />
grafik olarak yazıcıdan alabilirsiniz.<br />
Eklenen komutlar arasında döngüleri<br />
kolaylıkla yapmamızı sağlayan bazı komut<br />
grupları mevcuttur. Fakat bunlara<br />
geçmeden önce WINDOW komutuna yapılan<br />
eklemeleri tanıtmak istiyorum. Bunların<br />
hepsi de pencere tipini [window<br />
type) belirlemeye yarar.<br />
32: Pencere çerçevesiyle içeriği ayrı ayrı<br />
değerlendirilir. Bu şekilde sol üst köşe,<br />
artık pencerenin sol üst köşesi değil de,<br />
penceredeki kullanıma izin verilen alanın<br />
sol üst köşesi olur.<br />
64: Pencere, daima mevcut pencerelerin<br />
en arkasında kalır.<br />
128: Pencerenin kenarları olmaz.<br />
256: Verilen koordinatlar, pencerenin<br />
çerçevesi dahil ekranda kaplayacağı alanı<br />
belirler.<br />
Son olarak da değişik şekillerde döngü<br />
kurmaya yarayan komut paketlerini vereceğime<br />
söz vermiştim. Bu komutlardan ilki<br />
DO ... LOOP. Döngüye başlamak için<br />
verilebilecek komutlar şunlar:<br />
DO<br />
DO WHILE n=l<br />
DO UNTIL n=l<br />
Döngünün sonunda da aşağıdaki komutlardan<br />
birini kullanabilirsiniz:<br />
LOOP<br />
LOOP WHILE<br />
LOOP UNTIL<br />
Sadece DO kullanılan yerde ya LOOP<br />
UNTIL ya da LOOP WHILE komutu,<br />
son komut olarak kullanılmalı. Aynı şekilde<br />
ilk komut olarak DO WHILE ya da<br />
DO UNTIL kullanılan döngüde de son<br />
komut olarak sadece LOOP kullanılabilir.<br />
Ayrıca döngünün ortasından da çıkabilirsiniz.<br />
Bunun için ya EXIT LOOP ya da<br />
EXIT DO komutlarını kullanmalısınız.<br />
Size bu komutu daha iyi anlayabilmeniz<br />
için DO komutunun kullanıldığı kısa bir<br />
örnek vermek istiyorum:<br />
i=0<br />
f=l<br />
DO<br />
INCR i<br />
f=f*i<br />
UNTIL i=5<br />
Bu döngü, değişkeni 5 değerine ulaşıncaya<br />
kadar tekrarlanır.<br />
Son olarak da HiSoft BASIC'de uygulayabileceğiniz<br />
kısa bir rekursiv program<br />
vermek istiyorum. Bu sayede de rekursiv<br />
programlan daha iyi kavrayabilirsiniz.<br />
DEF FN fa(n)<br />
IF n