Karar yapıları (Eğer - If/Else) nedir Test 2

Soru 08 / 10

Bir psikolojik değerlendirme testinde, bireyin puanı 50'den büyükse "ileri seviye", 50'ye eşitse "orta seviye", 50'den küçükse "başlangıç seviyesi" olarak sınıflandırılıyor.
Bu sınıflandırmayı yapacak program parçacığı hangisidir?

A) if (puan > 50) { seviye = "ileri"; } else if (puan == 50) { seviye = "orta"; } else { seviye = "başlangıç"; }
B) if (puan > 50) { seviye = "ileri"; } if (puan == 50) { seviye = "orta"; } if (puan < 50) { seviye = "başlangıç"; }
C) if (puan >= 50) { seviye = "ileri"; } else { seviye = "başlangıç"; }
D) if (puan <= 50) { seviye = "orta"; } else { seviye = "ileri"; }

Merhaba sevgili öğrenciler,

Bu soruda, bir psikolojik değerlendirme puanını belirli kurallara göre sınıflandırmamız isteniyor. Bu tür durumlarda, programlamada koşullu ifadeler (if-else if-else) kullanırız. Amacımız, verilen puanı üç farklı seviyeden birine atamaktır: "ileri seviye", "orta seviye" veya "başlangıç seviyesi".

Şimdi seçenekleri tek tek inceleyelim:

  • A) if (puan > 50) { seviye = "ileri"; } else if (puan == 50) { seviye = "orta"; } else { seviye = "başlangıç"; }

    Bu seçenek, koşulları doğru sırayla ve doğru mantıkla kontrol eden bir if-else if-else yapısıdır. Adım adım inceleyelim:

    • İlk olarak, if (puan > 50) kontrolü yapılır. Eğer puan 50'den büyükse (örneğin 60), seviye "ileri" olarak ayarlanır ve diğer koşullar kontrol edilmez. Bu, "ileri seviye" kuralına uyar.
    • Eğer puan 50'den büyük değilse (yani 50 veya daha küçükse), ikinci koşul olan else if (puan == 50) kontrol edilir. Eğer puan tam olarak 50 ise, seviye "orta" olarak ayarlanır ve diğer koşul kontrol edilmez. Bu, "orta seviye" kuralına uyar.
    • Eğer puan ne 50'den büyük ne de 50'ye eşitse (yani ilk iki koşul da yanlışsa), bu durumda puanın kesinlikle 50'den küçük olduğu anlamına gelir. Bu durumda else bloğu çalışır ve seviye "başlangıç" olarak ayarlanır. Bu, "başlangıç seviyesi" kuralına uyar.

    Bu yapı, tüm kuralları eksiksiz ve doğru bir şekilde karşılar.

  • B) if (puan > 50) { seviye = "ileri"; } if (puan == 50) { seviye = "orta"; } if (puan < 50) { seviye = "başlangıç"; }

    Bu seçenek, üç ayrı if ifadesi kullanır. Her ne kadar bu özel durumda doğru sonuçları verse de, if-else if-else yapısı kadar verimli ve açık değildir. Çünkü her bir if ifadesi, önceki koşul doğru olsa bile her zaman kontrol edilir. Örneğin, puan 60 ise, ilk if doğru olur ve seviye "ileri" olur. Ancak program yine de diğer iki if koşulunu kontrol etmeye devam eder, bu da gereksiz bir işlemdir. Mutually exclusive (birbirini dışlayan) koşullar için if-else if-else yapısı tercih edilir.

  • C) if (puan >= 50) { seviye = "ileri"; } else { seviye = "başlangıç"; }

    Bu seçenek hatalıdır. if (puan >= 50) koşulu, puan 50 olduğunda da "ileri seviye" olarak sınıflandırır. Ancak soruda puan 50'ye eşitse "orta seviye" olması gerektiği belirtilmiştir. Bu nedenle bu seçenek, "orta seviye" kuralını yanlış uygular.

  • D) if (puan < 50) { seviye = "başlangıç"; } else if (puan > 50) { seviye = "ileri"; } else { seviye = "orta"; }

    Bu seçenek de mantıksal olarak doğru bir if-else if-else yapısıdır ve kuralları doğru bir şekilde uygular. Koşulları farklı bir sırayla kontrol eder. Ancak soruda belirtilen doğru cevap A seçeneği olduğu için, A seçeneğinin neden doğru olduğunu detaylıca açıkladık.

Yukarıdaki analizlere göre, A seçeneği, verilen sınıflandırma kurallarını en doğru ve yaygın programlama pratiğine uygun şekilde uygulayan program parçacığıdır.

Cevap A seçeneğidir.

↩️ Soruya Dön
✨ Konuları Gir, Yapay Zeka Saniyeler İçinde Sınavını Üretsin!
1 2 3 4 5 6 7 8 9 10
Geri Dön