Commodore Amiga sayı 3, sayfa 19

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 19

DO ve END

Bu emir, bir ya da daha fazla emirden oluşacak bir emir grubunun başlangıç ve bitişini belirtirler. Pascal'daki BEGIN ve END ve C'de kullanılan küme parantezleri { } gibi kullanılırlar. Bir IF karşılaştırmasından sonra veya bir tekrarlama, döngü yazarken kullanılırlar. Kullanımlarını örneklerle anlatmak daha iyi olur: Diğer dillerdeki FOR döngüsünü sağlamak için

DOiz1 TO 10 SAY i END

diyebiliriz. Eğer i değişkeninin birer birer değil de farklı bir hızda değişmesini istersek, bunu ardından BY diyerek belirtebiliriz. Örneğin büyük bir sayıdan küçük bir sayıya doğru sayarken bu gereklidir, yoksa tekrarlama yapılmaz.

DO iz20 TO 10 BY-2 SAY “altı kez yazılacak” END

Eğer indeks değişkenine (yukarıdaki i gibi) ihtiyacınız yoksa, sadece,

DO FOR 10 SAY “on kez yazılacak” END

diyebilirsiniz. FOR belirtecini diğer belirteçlerle kullanmak mümkün.

DO FOR 5 UNTİL cevap-”N” SAY “devam etmek istiyor mu- sunuz (YAN)?” PULL cevap END

Bu emir bloğu en fazla toplam 5 defa soru sorulacaktır. Ama verilen cevap (NO anlamında) 'n' veya 'N' olursa beş defa tekrarlamayı beklemeden döngüden çıkacaktır (Hatırlayın, sadece tek eşittir işareti büyük-küçük harf ayrımı gözetmeden karşılaştırma yapıyordu!). Eğer bir program kısmının tekrarlama emrine belli bir şart yazmak istemiyorsanız, FOREVER (daima) belirtecini kullanabilirsiniz. Bu durumda döngüden çıkmak için BREAK veya LEAVE emirlerini kullanmanız gerekir, yoksa programınız (CTRL-C tuşları ile durdurulana kadar) sonsuz döngüye girer. Yukarıdaki örneği bu kez FOREVER ile yazalım.

tekrar-0 DO FOREVER teki 1 SAY “devam etmek istiyor mu- sunuz (YAN)?” PULL cevap THEN BREAK END

Başka bir imkan da şudur. Burada döngü, WHILE'ın arkasından verilen koşul doğru olduğu sürece tekrarlanır:

1* Bir sayı kaç defa ikiye bölü- nebilir? */ PULL sayı DO iz0 WHİLE sayı 0.4 END SAY “sayınız “i” defa ikiye bö- lündü.”

Bunun tersi de UNTIL'dir. Bu kez döngü, UNTIL'in arkasından verilen koşul yanlış olduğu sürece tekrarlanır. Bunların dışında DO ve END, örneğin bir IF karşılaştırmasından sonra uygulanması gereken emirleri bir arada tutmak için de kullanılır:

IF cevap: * THEN DO SAY olduğu için” SAY “bu emirler uygulanacak” END ELSE DO SAY Y olmadığı için” SAY “bu emirler uygulanacak” END

(Tekrarla) Bir döngüde, döngünün sonuna gelmeden tekrarlama sağlamak için kullanılır:

DO TO 10 IF i= THEN INTERATE SAY i END

Burada -10'dan 10'a kadar sayılar ekrana yazılırken, program 0 sayısını atlayacak ve yazmayacaktır.

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