Bu ders notu, programlamanın temel taşlarından olan karar yapıları, özellikle If ve Else ifadeleri üzerine odaklanmaktadır. Test 2, bu yapıların daha karmaşık kullanımlarını, iç içe durumları, mantıksal operatörleri ve karşılaştırma operatörlerini anlamanızı ölçmeyi hedefler.
Karar yapıları, programlarımızın belirli koşullara göre farklı yollar izlemesini sağlayan temel kontrol mekanizmalarıdır. Tıpkı günlük hayatta verdiğimiz "Eğer hava güzelse dışarı çıkarım, yoksa evde kalırım" kararları gibi düşünebilirsiniz.
💡 İpucu: Programlama dillerinde koşullar genellikle matematiksel karşılaştırmalar veya mantıksal ifadelerle belirtilir ve sonucunda $True$ ya da $False$ değeri döner.
En basit haliyle, bir koşul doğruysa belirli bir kod bloğu çalışır. Eğer koşul yanlışsa, isteğe bağlı olarak başka bir kod bloğu çalıştırılabilir.
If koşulu yanlış ($False$) olduğunda çalışacak kodları içerir. Else bloğu isteğe bağlıdır, her zaman kullanılmak zorunda değildir.if (koşul) {
// Koşul doğruysa çalışacak kod
} else {
// Koşul yanlışsa çalışacak kod
}
⚠️ Dikkat: Çoğu dilde koşul parantez içinde yazılır. Tek bir satırlık kod bloğu için süslü parantez ({}) kullanmak zorunlu olmayabilir, ancak birden fazla satır için mutlaka kullanmalısınız. Bu, kodunuzu daha okunaklı ve hatasız yapar.
Birden fazla koşulu sırayla kontrol etmek istediğimizde else if yapısını kullanırız. Bu, bir "karar merdiveni" oluşturmamızı sağlar.
else if ve else blokları atlanır.if (koşul1) {
// Koşul1 doğruysa
} else if (koşul2) {
// Koşul1 yanlış ama Koşul2 doğruysa
} else if (koşul3) {
// Koşul1 ve Koşul2 yanlış ama Koşul3 doğruysa
} else {
// Hiçbir koşul doğru değilse
}
💡 İpucu: Bu yapı, bir öğrencinin notuna göre "Başarılı", "Şartlı Geçti" veya "Kaldı" gibi farklı sonuçlar göstermek için idealdir.
Bazen bir koşulun içinde başka bir koşulu kontrol etmemiz gerekebilir. İşte bu durumlarda iç içe if/else yapıları kullanılır.
&&, ||) daha iyi olabilir.⚠️ Dikkat: İç içe yapılarda her else, en yakınındaki if'e aittir. Bu, özellikle süslü parantezleri kullanmadığınızda kafa karıştırıcı olabilir. Her zaman süslü parantez kullanmaya özen gösterin!
Birden fazla koşulu tek bir if ifadesi içinde birleştirmek için mantıksal operatörler kullanılır. Bunlar, koşulları daha esnek bir şekilde ifade etmemizi sağlar.
&&: İki koşulun da doğru olması durumunda tüm ifade doğru olur. ($A \text{ ve } B \Rightarrow \text{Her ikisi de doğruysa doğru}$)||: İki koşuldan en az birinin doğru olması durumunda tüm ifade doğru olur. ($A \text{ veya } B \Rightarrow \text{Biri doğruysa doğru}$)!: Bir koşulun mantıksal değerini tersine çevirir. ($!A \Rightarrow \text{A doğruysa yanlış, yanlışsa doğru}$)if (yaş >= 18 && ehliyetVar == true) { ... } (Yaş 18'den büyük veya eşit VE ehliyeti varsa)💡 İpucu: Mantıksal operatörler, iç içe if yapılarını tek bir if ifadesinde birleştirerek kodunuzu daha kısa ve anlaşılır hale getirebilir.
Koşulları oluşturmak için değerleri birbiriyle karşılaştıran operatörlerdir. Bu operatörlerin sonucu her zaman bir mantıksal değerdir ($True$ veya $False$).
⚠️ Dikkat: Birçok programlama dilinde atama operatörü ($=$) ile eşitlik kontrol operatörü ($==$) farklıdır. Koşul yazarken karıştırmamaya özen gösterin! Yanlışlıkla atama yapmak, koşulunuzun her zaman $True$ olarak değerlendirilmesine neden olabilir.
Karar yapılarını kullanırken sıkça yapılan hatalardan kaçınmak, kodunuzun daha sağlam olmasını sağlar.
{} kullanmak, kodunuzu daha güvenli ve okunabilir yapar.= (atama) ile == (eşitlik kontrolü) arasındaki farkı unutmayın. Yanlış kullanım, beklenmedik hatalara yol açar.&& ve || kullanırken koşulların doğru sıralandığından ve istediğiniz mantığı yansıttığından emin olun.if/else bloklarını farklı senaryolarla (koşulun doğru olduğu, yanlış olduğu, sınır değerler vb.) test edin.📝 Özet: Karar yapıları, programlamanın temelidir ve doğru kullanıldığında kodunuza esneklik ve zeka katar. Bu ders notundaki konuları iyi anladığınızda, "Karar yapıları (Eğer - If/Else) nedir Test 2" testinde başarılı olacaksınız!