Eğer bu mesajı görüyorsanız, web sitemizde dış kaynakları yükleme sorunu yaşıyoruz demektir.

If you're behind a web filter, please make sure that the domains *.kastatic.org and *.kasandbox.org are unblocked.

Ana içerik

Tekrar: Mantık ve eğer İfadeleri

Bu, bu derste logic ve if ifadeleriyle yaptıklarımızın bir tekrarıdır.
Programlarımızda, sıklıkla "koşullu" şeyler yapabilmek isteriz - "eğer bu şey doğruysa X yap, ama eğer şu başka şey doğruysa, Y yap" demek isteriz. Sabah uyandığımız zaman yaptığımız gibi düşünebiliriz - "eğer yağmur yağıyorsa şemsiye alırım, ama eğer güneşliyse güneş gözlüğü takarım." Programlarımızda if ifadelerini ve if/else ifadelerini koşullu ifadelerle birleştirerek koşullu şeyler yapabiliriz.
Bir if ifadesi koşul doğru olduğu sürece, programa bir kod bloğunu yürütmesini söyler. Aşağıdaki kodda, sadece x 0'dan büyükse, bir mesaj çıktısı olur:
var x = 5;

if (x > 0) {
  text('x pozitif bir sayıdır!', 200, 200);
}
x 5 olduğu için ve bu 0'dan büyük olduğundan, tuvalde mesajı görürüz. x'i -1 olarak değiştirirsek, x 0'dan büyük olmayacağından, mesaj ortaya çıkmaz.
Bu x > 0koşullu önerme olarak adlandırıyoruz - bu, değeri doğru veya yanlış olan bir ifade demektir. Bir değer, doğru veya yanlış olduğunda, (bir sayı veya bir dizi yerine) buna boole değeri denir. Örneğin, aşağıdaki koşullu önermeyi gösterebiliriz:
text(x > 0, 200, 200); // "doğru"yu gösterir
Ya da bir değişken olarak saklayabiliriz ve sonra gösterebiliriz:
var isPositive = x > 0;
text(isPositive, 200, 200);
O zaman, isPositive'in bir boole değeri sakladığını söyleyebiliriz, çünkü x'i neye eşitlediğimize göre, doğru veya yanlış olur.
Değeri doğru veya yanlış yapan koşullu önermeleri oluşturmanın birçok yolu bulunmaktadır, çünkü birçok karşılaştırma işleci mevcuttur. Bunların en popülerleri şunlardır:
Aşağıdaki değişkeni varsayarsak, aşağıda en yaygın karşılaştırma işleçlerini ve bunları doğru yapan ifadeleri bulabilirsiniz:
var myAge = 28;
İşlemciAnlamDoğru ifadeler
===Katı eşitlikmyAge === 28
!==Küçüktür/büyüktür gibi eşitsizlikmyAge !== 2928 !== 29
>BüyüktürmyAge > 2528 > 25
>=Büyüktür veya eşittirmyAge >= 2828 >= 28
<KüçüktürmyAge < 3028 < 30
<=Küçüktür veya eşittirmyAge <= 2828 <= 28
Atama işleciyle (=) eşitlik işlecini (===) karıştırmak çok yaygın bir hatadır, çünkü ikisi de eşittir işareti kullanır, ama birbirlerinden çok farklıdırlar. Atama işleci değişkenin değerini değiştirecektir, eşitlik işleci ise sadece değişkenin değerini okuyacak ve bunun bir şeye eşit olup olmadığına bakacaktır. Örneğin:
var x = 2 + 2; // 4'e eşitler

if (x === 4) { // "Bu 4'e mi eşit?" sorusunu sorar
text("evet, 2 + 2 = 4!", 200, 200);
}
Bazen birden çok karşılaştırmayı koşullu bir ifadede birleştirmek isteriz ve bu nedenle mantıksal işlemciler kullanırız. Bu işlemciler, programlarımızda "Eğer hem X hem Y doğruysa" veya "Eğer X veya Y doğruysa" gibi şeyleri ifade edebilmemizi sağlar.
İki koşulun birden doğru olması gerekiyorsa, && işlemcisini ("ve"): kullanabiliriz:
var degreesOutside = 70;
var numberOfClouds = 50;
if (degreesOutside > 70 && numberOfClouds < 5) {
  text("Wear sun screen!", 200, 200);
}
Buradaki programlarda, bir kullanıcının fare konumunun bir dikdörtgenin (bir buton taklidi gibi) içinde olduğunu kontrol etmek için bunu sıklıkla kullanırız; bu durumda, birden fazla && işlemcisi gerekir:
rect(100, 50, 100, 100); 

mousePressed = function() {
    if (mouseX > 100 && mouseX < 200 && mouseY > 50 && mouseY < 150) {
      text("You pressed it!", 80, 75);
    }
};
Koşullardan en az birinin doğru olmasını önemsiyorsak, || ("veya"): işlemcisini kullanabiliriz:
var degreesOutside = 70;
var numberOfClouds = 50;
if (degreesOutside < 70 || numberOfClouds < 5) {
  text("Wear sun screen, even if it's not hot out!", 200, 200);
}
Kontrol etmek istediğimiz koşul çok karmaşıksa, aynı ifadede && ve ||'nin ikisini de kullanabiliriz. İfadeleri gruplamak için parantez kullanın, böylece program bunların değerini hangi sırayla bulacağını karıştırmaz:
var myAge = 28;
if ((myAge >= 0 && myAge < 3)  || myAge > 90) {
  println('Zirvenize henüz ulaşmadınız.');
}
Şimdi if ifadeleri ne dönelim. if koşulunun doğru olmadığı durumda da, sıklıkla bir kod bloğu yürütmek isteriz - bu durumda, bir else ifadesi ekleriz.
var age = 28;
if (age > 16) {
  println('Yay, you can drive!');
} else {
  println('Sorry, but you have ' + (16 - age) + ' years until you can drive.');
}
Bazen birden çok koşulu kontrol etmek isteriz ve her birine göre farklı şeyler yapmak isteriz, bu durumda else if kullanabiliriz:
var age = 20;
if (age >= 35) {
println('Oy verebilirsiniz VE hükümete girebilirsiniz!');
} else if (age >= 25) {
println('Oy verebilirsiniz VE Senato için aday olabilirsiniz!');
} else if (age >= 18) {
println('Oy verebilirsiniz!');
} else {
println('Hükümette temsil edilmezsiniz!');
}
Koşulları kontrol etmeye istediğiniz kadar devam edebilirsiniz - yalnızca koşullarınızın her birinin gerçekten erişilebilir olduğundan emin olun. Her kod bloğunda başarılı olana kadar, değişken değiştirerek kodunuzu test edin; böylece işe yaradığını anlarsınız.
Umarım şimdi görebildiğiniz gibi, koşullu önermeler programlamanın önemli bir parçasıdır ve çok daha güçlü ve esnek programlar oluşturmamızı sağlar.

Tartışmaya katılmak ister misiniz?

Henüz gönderi yok.
İngilizce biliyor musunuz? Khan Academy'nin İngilizce sitesinde neler olduğunu görmek için buraya tıklayın.