Amiga Dünyası sayı 8, sayfa 20

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 20

Amos Basic'te de diğer dillerin çoğunda olduğu gibi bir duruma koşullu olarak yaklaşmak ve koşulun sonucuna göre değişiklik yapmak veya dallanma yapmak gerekir. Zaten bu da programlamanın temeli sayılabilir. Basic benzeri ileri diller, durumları mantıksal olarak test ederler. Test etme olayını, [IF...THEN] formatındaki komut üstlenir.

[IF...THEN...ELSE] Komut, birçok dilde kullanılır. Amaç aynıdır fakat format değişebilir. Durumları test etmeye yarar. Testin sonucu doğru ise, THEN'den sonra gelen işlevi, yanlış ise ELSE'den sonra gelen işlevi yapar. ELSE'i kullanmak her zaman gerekli değildir.

1=10 FOR 1=1 TO 30 INC A IF A=20 THEN PRINT "ANIN DEĞE- Rİ 20"

NEXT I Program çalışıp A değişkeni 20 değerini aldığında, [PRINT] komutu devreye girecek ve kendisinden sonra gelen yazıyı ekrana çıkaracaktır. Bu programda, [IF] komutu ile A değişkenini test ediyoruz. Eğer A 20 değerini almışsa, THEN'den sonra gelen işlem yapılır ve ekrana "A'NIN DEĞERİ 20" yazılır. Bu örnekte [IF] komutuna ELSE eklersek ve test sonunda durum yanlışsa ELSE'den sonra gelen işlem'e geçilir.

[IF....ELSE....END IF] Bu, değişik bir formda bir [IF] komutudur. [IF] komutu bu formda kullanıldığında, durum test edildikten sonra yapılacak işlem birden fazla olabilir. Yukarıdaki formda, testten sonra sadece bir işlem yapılabilir. Fakat bu formda istendiği kadar işlem yapılabilir, ELSE kullanma zorunluluğu yoktur.

IFA=B PRINT "EŞİTTİR" INPUT "SAYI GİRİNİZ";C ENDIF Bu programda, durum koşulu doğru ise, yani A değeri B'ye eşitse IF ile END IF arasındaki işlemler yapılır.

INPUT "İKİ TANE SAYI GİRİNİZ"- ;A,B

IFA<B PRINT "B, ADAN BÜYÜK" ELSE IFA>B

PRINT "A B'DEN BÜYÜK" ELSE IFA=B PRINT "A EŞİTTİR B'ye" ENDIF ENDIF ENDIF Bu örnekte, iki sayıyı karşılaştırma işlemi yapılmaktadır. Görüldüğü gibi her [IF] komutuna karşılık bir [END IF] gelmiştir. Eğer ilgili komutları kapatılmazsa hata verir.

Yazımızın bu bölümünde size, Amos Basic dilinin döngü ve dallanma ile ilgili komutlarını anlatmaya çalışacağız. İlk olarak döngü nedir, ne işe yarar sorularının cevabını arayalım. Döngü, bir işlemi birden fazla kez tekrarlamak demektir. Amos Basic ve diğer çoğu dilde en çok kullanılan [FOR...NEXT] döngüsüdür. Bu komutla, programın bir bölümünün kaç kere tekrarlanacağı belirtilebilir. Bu da kullanıcı açısından gerçekten büyük bir kolaylık. Programlar yapmaya başladığınızda, bu komutun ne kadar çok kullanıldığını fark edeceksiniz.

[FOR...NEXT] [FOR (değişken)=(sabit1) TO (sabit2) STEP (sabit3)] olarak kullanılır. Bu formattan sonra, tekrarlanacak program ve programın sonunda da [NEXT (değişken)] komutu olmalıdır. Bilgisayar, FOR döngüsüne ait [NEXT] komutunu görene kadar aradaki işlemi yapar. [NEXT] komutu ile, değişken sabit3 ile toplanarak arttırılır veya azaltılır. Yani [değişken = değişken + sabit3] olur. FOR döngüsünde başlangıç sabiti ve bitiş de sabit2'dir. Değişkenin değeri sabiti ile başlar ve sabit2 olana kadar devam eder. Eğer FOR döngüsüne STEP koymazsanız, değişken doğrudan bir arttırılarak işlemi yapmaya devam eder.

FOR I=1 TO 20 PRINT I+"."+"DÖNGÜ" NEXT I Bu programı çalıştırdığınızda, ekrana 1'den 20'ye kadar DÖNGÜ yazılacaktır. İki veya daha çok FOR döngüsü iç içe kullanılabilir. Fakat her FOR için kendine ait bir [NEXT] komutu olmalıdır. Zaten [NEXT] komutunu unutursanız, system sizi uyaracaktır.

FOR 1=0 TO 20 STEP 2 FOR J=40 TO 50 ……………. NEXTI NEXTJ Örnekte iki tane FOR döngüsü karşılı- ğında, iki [NEXT]komutu kullanılmıştır, ilk [FOR] komutunda kullanılan STEP, I değişkeninin 0 dan 20'ye kadar her dön- güde iki sayı arttırılacağını belirtir: 0, 2,4, 6, 8 .... gibi. 1=20 olduğunda, program FOR döngüsünden kurtulacaktır.

[WHILE...WEND] Diğer bir döngü komutu da, [WHILE...WEND]'dir. Bu komut, değişkenin durumuna göre döngü yaratır. Normalde kullanımı çok kolaydır, fakat genelde bu komutun kullanımında zorluk çekilir. [WHILE (durum) ....WEND] olarak kullanılır. WHILE'dan sonra gelen durum koşulu doğru olduğu sürece, program bu döngüde kalır. Doğru değilse, döngüden çıkar.

INPUT "BİR SAYI GİRİNİZ";X PRINT "11'E KADAR SAYIM" WHILEX<11 INCX PRINT X WEND PRINT "BİTİŞ" Programda durum X< 11'dir. Yani X değişkeni 11'den küçük olduğu sürece [WHILE...WEND] arasındaki program tekrarlanır.

[REPEAT...UNTIL] [REPEAT...UNTIL], durum belirtilerek yapılan döngü komutudur. Kullanımı diğerlerinden farklıdır. Durum koşulu, programın sonuna yerleştirilen UNTIL'den sonra verilir. REPEAT başta kullanılır. Koşul olumsuz olana kadar döngü yapılır.

1=10 REPEÂT PRINT "DÖNGÜ" İNCİ UNTIL 1=20 programında, ekrana 10 tane DÖNGÜ ya-

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