Sosyal Eklentiler

Kimler Sitede

Åžu anda 10 ziyaretçi Ã§evrimiçi

Bağış

Bu siteyi beğendiyseniz bağış yapabilirsiniz.


Mantıksal Sınama
Makale - Visual Basic
Yazar ugokhan   
Pazar, 13 Mayıs 2007 14:44

MANTIKSAL OPERATÖRLER : Mantık operatörleri iki veya daha fazla mantıksal önermenin birleştirilmesi ve mantıksal cevabının bulunması için kullanılır. Programlamada kullanılan mantıksal operatörler ve IF-THEN-ELSE yapısının anlatımı.

KoÅŸul-1 KoÅŸul-2 AND OR NOT XOR EQV IMP
DoÄŸru DoÄŸru DoÄŸru DoÄŸru
Yanlış
Yanlış
DoÄŸru
DoÄŸru
Doğru Yanlış Yanlış Doğru Yanlış
DoÄŸru
Yanlış Yanlış
Yanlış Doğru Yanlış
DoÄŸru DoÄŸru
DoÄŸru
Yanlış
DoÄŸru
Yanlış Yanlış Yanlış
Yanlış
Doğru Yanlış
DoÄŸru
DoÄŸru

 

IF - THEN - ELSE YAPISI
Bir karar verme durumudur. Mantıksal bir önerme ortaya konulur ve sonucunun DOĞRU veya YANLIŞ olmasına göre yapılacak işler belirlenir. Aşağıdaki örnekte YAS değişkeninin değeri 18'den küçük ise ekrana "Çocuk" yazması, değilse "Yetişkin" yazması istenmiştir.

IF YAS < 18 THEN PRINT "ÇOCUK" ELSE PRINT "YETİŞKİN"

IF-THEN-ELSE yapısı sadece IF-THEN olarak da kullanılabilir.

IF yaÅŸ > 18 THEN PRINT "YetiÅŸkin"

Bu durumda eğer, "yaş" değişkeninin 18'e eşit veya küçük olması durumunda ne yapılması gerektiği önemsenmemiştir. Bazı uygulamalarda şart ifadesine ikiden fazla farklı değer ürettirebiliriz. Mesela ( yaş < 6 ) ise "Bebek", ( 6 < Yaş < 18 ) ise "Çocuk", ( 18 < Yaş < 40 ) "Yetişkin", ( Yaş > 40 ) ise "Yaşlı" sonuçlarını üretmek isteyelim. Bu durumda IF-THEN-ELSE yapısı aşağıdaki gibi olur.

IF yas < 6 THEN PRINT "Bebek"
ELSEIF yas < 18 THEN PRINT "Çocuk"
ELSEIF yas < 40 THEN PRINT "YetiÅŸkin"
ELSE PRINT "Yaşlı"
END IF

Bu örneği uzun olarak aşağıdaki gibi de yazabiliriz.

IF yas < 6 THEN PRINT "Bebek"
IF yas >= 6 AND yas < 18 THEN PRINT "Çocuk"
IF yas >= 18 AND yas < 40 THEN PRINT "YetiÅŸkin"
IF yas >= 40 THEN PRINT "Yaşlı"

Şart kısmında AND(ve), OR(veya), NOT(değil) ifadelerini kullanarak daha karışık mantıksal ifadeler kullanılabilir. Mesela; girdiğiniz bir sayı 15'ten küçük ve sıfırdan büyük veya bu sayı çift ise bunu ekrana yazdıralım. Bu ifadeyi aşağıdaki gibi yazarız.

IF ( (sayi < 15) AND (sayi > 0) ) OR (sayi MOD 2 )=0 THEN PRINT sayi

IFF YAPISI
IF-THEN-ELSE ifadesinin kısaltılmış halidir. Genel yazılışı aşağıdaki gibidir. Mantıksal ifade doğruysa birinci ifade, yanlışsa ikinci ifade yerine getirilir.

IFF ( Mantıksal İfade , Birinci İfade , İkinci İfade )
IFF ( (sayi MOD 2) = 0 , Print "Bu Sayı Çifttir" , Print "Bu Sayı Tekdir." )
IFF ( not < 60 , PRINT "Dersten Kaldınız" , PRINT "Dersten Geçtiniz" )

SELECT CASE YAPISI :
IF-THEN-ELSE yapısının daha gelişmiş şeklidir. Burada mantıksal bir ifade yerine bir "kontrol değişkeni" kullanılır ve bu değişkenin aldığı değere göre "ifade" kısımlarından ilgili kod kısımlarına dallanılır. Genel yazılışı :

SELECT CASE "kontrol deÄŸiÅŸkeni"
CASE ifade 1 : ...........
CASE ifade 2 : ...........
CASE ifade 3 : ...........
...
END SELECT

Örnek, Bir Futbol Takımının Ligdeki Sırasına Göre Bir Sonuç Üretelim.

SELECT CASE FutbolLigindekiSira
CASE 1 : PRINT "Åžampiyon Oldu. Åžampiyonlar Ligine Gider"
CASE 2 : PRINT "İkinci Oldu. Şampiyonlar Ligi Ön Elemeye Gider"
CASE 3 OR 4 : PRINT "UEFA Kupasına Gider"
CASE IS > 15 : PRINT "16, 17 ve 18. Takımlar Küme Düşer."
CASE ELSE : PRINT "Ligde Kalır."
END SELECT

ÖRNEKLER :

ÖRNEK -1 :
Sınav notu hesaplaması için IF-THEN-ELSE kodu. Vizenin %40'ı ile finalin %60'ı alınıyor. Geçme barajı ise 50 olsun.

Final = INPUTBOX "Final Notunu Gir"
Vize = INPUTBOX "Vize Notunu Gir"
IF Final < 50 THEN
PRINT "Kaldınız."
ELSE
Not = 0.4 * Vize + 0.6 * Final
IF Not < 50 THEN
PRINT "Kaldınız"
ELSE
PRINT "Geçtiniz"
END IF
END IF

ÖRNEK -2 :
Girilen tüm sayıları toplayan program. Eğer sayı olarak sıfır girilirse program sonlanacak.

Toplam = 0
Tekrar:
Sayi = INPUTBOX "Bir Sayı Girin : "
IF Sayi = 0 THEN GOTO Bitir 
toplam = toplam + Sayi
GOTO Tekrar
Bitir:  Msgbox "Toplam = " & Toplam

 

Yorum ekle

TCK'ya aykırı, yasadışı ve genel ahlaka aykırı yazılar ile konu dışında yazılar, istekler, spam ve reklam amaçlı mesajlar yazılması YASAKTIR. Bu tür yazılar görüldüğü anda tarafımdan silinecektir. Herhangi bir uygunsuzluğun olduğunu düşündüğünüz yazılar için lütfen bana eposta yoluyla haber veriniz.


Güvenlik kodu
Yenile