Amiga Dünyası sayı 8, sayfa 21

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 21

yazısı çıkacaktır.

[DO...LOOP] Bu komutta döngünün sayısı belirtilmez ve döngüden çıkış yalnızca [EXIT] ve [EXIT IF..] komutları ile yapılır. Döngüden çıkış yapılmazsa, sonsuza kadar devam edebilir. Kullanımı çok kolaydır. Döngü yapılacak programın başına [DO], sonuna da [LOOP] yazıılarak döngü işlemi yapılır. DO

PRINT "MERHABA" LOOP programı, siz durdurana kadar çalışacaktır.

[EXIT] Bu komut ile [DO...LOOP] döngüsünden çıkış yapılır. Eğer iki tane veya daha fazla [DO...LOOP] kullanılırsa, kaç tanesinden çıkacağı komuttan sonra gelen sayı ile belirtilir.

DO DO PRINT "İÇ DÖNGÜ" IF MOUSE KEY=1 THEN EXIT IF MOUSE KEY=2 THEN EXIT 2 LOOP PRINT "DIŞ DÖNGÜ" LOOP Bu programda ilk exit ile ilk [DO ... LOOP]'tan çıkılır. Fakat diğer LOOP dev- reye gireceği için bu döngüye bir daha gi- rilir, ikinci döngüden de çıkmak isteniyor- sa, [EXIT 2]yazılmalıdır. Bu programdan çıkış, mouse'un sağ düğmesine basılarak gerçekleşir.

[EXIT] ile, [FOR...NEXT], [WHILE...WEND] ve [REPEAT...UNTIL] komutlarının döngülerinden de çıkış yapılabilir.

[EXIT IF...] Bu komut, verilen koşula uygunluk durumunda döngüden çıkışı sağlar. [EXIT IF (durum), (sabit)] olarak kullanılır. [IF .... THEN EXIT] ile aynıdır; fakat kullanıcıya kolaylık olsun diye, bu komut da eklenmiştir. Sabit kaç tane döngüden çıkılacağını belirtir.

M=0 DO M=M+2 FOR I=1 TO 20 EXIT IF M=18,2 NEXT LOOP Programda M değişkeni 18 olduğunda, sistem iki döngüden kurtulacak ve programdan çıkacaktır.

[EDIT] Bu komut tek başına kullanılır ve çalışan programı durdurup editör ekranına geçişi sağlar. Programlarınızın sonuna bu komutu koyduğunuzda, doğrudan editör ekranına geçebilirsiniz.

[DIRECT] Tek başına kullanılır ve çalışan programı durdurup direct moda geçişi sağlar.

SATIR ETİKETLERİ:

Şimdi de gelelim satır numaralama ve etiketleme işlemine. Satır etiketine LABEL diyeceğiz, çünkü diğer tüm bilgisayar açıklamalarında etiketin ismi İngilizce olarak geçer. Basic dilinin ilk versiyonlarında her satırın başına o satırı temsil eden numaralar koymak gerekliydi. Satır numaraları, program satır sırası ile GOTO ve GOSUB komutları kullanılarak dallanma yapılacak program bölümünü belirtir. Amos Basic'te ise, bu satır numaraları yerine gidilecek program bölümünün başına o bölümü belirtecek LABEL'ı koyarız.

LABEL Etiketlenecek satırın başına konulur ve istenilen karakter serisinden oluşur. Karakter serisinden sonra ':' işaretini koyarak bu karakter serisinin bir LABEL olduğunu belirtiriz. Eğer bu işaret konulmazsa, Amos Basic o satırda hata olduğunu belirtecektir. Örnek olarak;

OSMAN:PRINT "Çok kolay" satırı verilebilir. Tabii ki bu etiketleme olayının ne işe yaradığını merak ediyorsunuz. Bunu öğrenmenin tek yolu, çokça kullanacağımız [GOTO] ve [GOSUB] komutlarını anlamaktır.

[GOTO] [GOTO (label)] olarak kullanılır. Program çalışırken [GOTO] komutunu gördüğünde, doğrudan komutu takip eden label'a atlar ve label'ın başladığı yerden devam eder. Bu komut her başımız belaya girdiğinde başvurduğumuz bir dost gibidir. Örnek verecek olursak;

KILROY:PRINT "MERHABA" GOTO KILROY Şimdi, bu programın çalışmasını inceleyelim. İlk çalıştırıldığında bilgisayar KILROY adı altında etiketlenmiş bir satır görür ve bu satırı çalıştırır. Sonra ikinci satıra geçer, burada GOTO komutunu görür ve komuttan sonra gelen label'a yani KILROY satırına atlar. Bu böyle devam eder gider, program sonsuza kadar MERHABA karakter serisini ekrana yazar. Programdan çıkmak istiyorsanız, [Ctrl+C] tuşlarına birlikte basarak çıkabilirsiniz. Bundan sonra iki kere [Esc] tuşuna basarak editör ekranına dönebilirsiniz.

[GOSUB] [GOSUB (label)] olarak kullanılır.

[GOTO] komutuna benzer; fakat çok daha farklı olarak çalışır. Bilgisayar [GOSUB] komutunu gördüğünde, komutu izleyen label'a dallanır ve [RETURN] komutunu görene kadar programın bu satırlarında çalışmaya devam eder. [RETURN] komutunu gördüğünde [GOSUB] satırının bir altındaki satırdan itibaren işlevine devam eder.

GOSUB ALI END ALI:PRINT "MERHABA" RETURN Program çalıştırıldığında, ilk satırda ALI etiketi altındaki satıra atlar. Burada MERHABA ekrana yazılır. Sonra program [RETURN] komutunu görür ve [GOSUB] komutunun bir altına döner. Burada [END] komutunu görür. [END], yalnız başına kullanılır ve programın o satırda bittiğini belirtir.

[GOSUB] komutu ile kullanılan başka bir komut da [POP]'dur. Normal koşullar altında GOSUB-RETURN döngüsünden çıkılamaz. Çünkü program GOSUB komutunun işlevinden sonra RETURN'ü arar. Zaten programın sonunda RETURN'ü bulamazsa hata verir. Bu döngüden çıkmanın tek yolu, yani RETURN'ü devreden çıkartmak için [POP] komutu kullanılır.

A=0 MELTEM :GOSUB ALI GOTO MELTEM ALI:PRINT "HELLO" A=A+1 IF A=8 THEN POP:GOTO BİTİŞ RETURN BİTİS:END Bu programda POP kullanılmasaydı, program sonunda Amos Basic size hata verecekti.

Diğer bir dallanma komutu da, [ON...GOTO]'dur. [ON (değişken) GOTO (label 1, label2, label3....)] olarak kullanılır. Komut, değişkenin değerine karşı gelen label'a atlar. Karışık gibi görünse de, çok kullanışlı bir komuttur. Komutta değişken değer 1 ise label1'e, 2 ise

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