Bölüm 4: Kontrol blokları
Programlama dillerinde döngüler ve akış kontrol komutları çok sık kullanılır. Programları
program yapan esas kısımlar bu komutlarla sağlanır. Qbasicde diğer programlama
dillerindekine benzer yapıda döngüler ve mantıksal karşılaştırmalar yapılabilir.
IF ... THEN ... ELSE
Mantıksal karşılaştırma için kullanılır. Karşılaştırma işlemin sonucunda bir değer döner bu
değer ya mantıksal DOĞRU dur ya da mantıksal YANLIŞ. Lise 1 deyken matematik dersinde 1
ve 0 lar ile, doğru ve yanlışlar ile işlemler yapardık. Birçok kişide ne işe yarıyor bunlar diye
söylenip dururlardı. Demek ki bir gerekliliği varmış. İşte onlar burada gerekecek, isterseniz
MANTIK ile ilgili kısımları bir daha gözden geçirin.
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Mantıksal karşılaştırma için basit bir örnek:
Kod: Kodu kopyalamak için üzerine çift tıklayın!
IF A = 40 THEN B = 40
Burada A değişkenin değeri 40 ise B nin değeri de 40 olacaktır. Eğer A nın değeri 40 dan farklı
ise bu satırın hiçbir etkisi olmayacaktır.
Bir başka kullanımı:
Kod: Kodu kopyalamak için üzerine çift tıklayın!
A = 25
IF A > 40 THEN M$ ="Sayı 40 dan büyük" ELSE M$= "Sayı 40 dan küçük"
PRINT M$
Üstte A değişkeninin değerinin 40 dan büyük olup olmadığı kontrol ediliyor. Mantıksal
karşılaştırmanın sonucunda ancak iki değer dönebilir. DOĞRU veya YANLIŞ. Doğru olması
durumunda THEN den sonraki işlem yapılır, YANLIŞ olması durumunda ise ELSE den sonraki
işlem. A ya 25 aktardığımız için A>40 mantıksal karşılaştırmanın sonucu YANLIŞ olacaktır.
Çünkü 25, 40dan büyük değil. Bu durumda M$ a "Sayı 40 dan küçük" değeri aktarılır.
DÜŞÜN: Üstteki programı denedikten sonra A = 40 olsaydı sonuç ne olurdu? diye düşünüp
cevabı bulmaya çalışın. Sonra Qbasicde deneyerek düşündüğünüzü kontrol edin.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
IF A = 40 .... ' A , 40 a eşit mi?
IF A > 40 .... ' A , 40 dan büyük mü?
IF A < 40 .... ' A , 40 dan küçük mü?
IF A <> 40 .... ' A , 40 a eşit değilse
IF A <= 40 .... ' A , 40 a eşit ya da 40 dan küçük mü?
IF A >= 40 .... ' A , 40 a eşit ya da 40 dan büyük mü?
IF A ' A nın değeri 0 dan farklı mı?
IF NOT A ' A nın değili DOĞRU mu?
IF ile karşılaştırma yaptığımızda dönen değerlere göre çok sayıda komut yürüteceksek
aşağıdaki yapıyı kullanırız. Bu şekilde kullanımda karşılaştırma bloğunu bitiren END IF
kullanmak zorundayız.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
IF A > 40 THEN
'doğruysa yapılacaklar
....
....
ELSE
'Yanlışsa yapılacaklar
....
....
END IF
Örnek : Kod: Kodu kopyalamak için üzerine çift tıklayın!
INPUT "ADINIZ " ; AD$
IF AD$ = "MESUT" THEN
PRINT "SİZİN ADINIZ MESUT"
ELSE
PRINT "SİZİN ADINIZ MESUT DEĞİL"
END IF