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

Soru 05 / 10

Bir psikoloji deneyinde, katılımcının tepki süresi 200 milisaniyenin altındaysa "hızlı", 200 milisaniye ve üzerindeyse "yavaş" olarak sınıflandırılmaktadır.
Bu sınıflandırmayı yapan program parçası aşağıdakilerden hangisidir?

A) if (sure < 200) { sonuc = "hızlı"; } else { sonuc = "yavaş"; }
B) if (sure > 200) { sonuc = "hızlı"; } else { sonuc = "yavaş"; }
C) if (sure <= 200) { sonuc = "hızlı"; } else { sonuc = "yavaş"; }
D) if (sure >= 200) { sonuc = "hızlı"; } else { sonuc = "yavaş"; }

Merhaba sevgili öğrenciler!

Bu soruda, bir psikoloji deneyindeki tepki süresi sınıflandırmasını yapan program parçasını bulmamız isteniyor. Programlamada belirli koşullara göre farklı işlemler yapmak için "koşullu ifadeler" veya "if-else" yapıları kullanılır. Şimdi sorudaki koşulları ve seçenekleri adım adım inceleyelim:

  • Soru İçeriğini Anlayalım:
    • Tepki süresi 200 milisaniyenin altındaysa ("sure < 200") sonuç "hızlı" olacak.
    • Tepki süresi 200 milisaniye ve üzerindeyse ("sure >= 200") sonuç "yavaş" olacak.
  • Programlama Mantığı:
    • Bir koşul doğruysa (örneğin, "sure < 200"), `if` bloğundaki kod çalışır.
    • Eğer `if` koşulu yanlışsa, `else` bloğundaki kod çalışır.
    • Karşılaştırma operatörleri çok önemlidir:
      • `<` (küçüktür)
      • `>` (büyüktür)
      • `<=` (küçük veya eşittir)
      • `>=` (büyük veya eşittir)
      • `==` (eşittir - dikkat, tek eşittir `=` atama yapar!)
  • Seçenekleri İnceleyelim:
    • A) `if (sure < 200) { sonuc = "hızlı"; } else { sonuc = "yavaş"; }`
      • Bu seçenekteki `if (sure < 200)` ifadesi, tepki süresinin 200 milisaniyeden küçük olup olmadığını kontrol eder. Eğer küçükse, yani "hızlı" koşulu sağlanıyorsa, `sonuc` değişkenine "hızlı" değeri atanır.
      • `else` bloğu ise, `if` koşulunun sağlanmadığı durumlar için çalışır. Yani `sure < 200` yanlışsa (sure 200'e eşit veya 200'den büyükse), `sonuc` değişkenine "yavaş" değeri atanır.
      • Bu yapı, soruda belirtilen her iki koşulu da tam olarak karşılamaktadır.
    • B) `if (sure > 200) { sonuc = "hızlı"; } else { sonuc = "yavaş"; }`
      • Bu seçenekteki `if (sure > 200)` ifadesi, tepki süresinin 200 milisaniyeden büyük olup olmadığını kontrol eder. Soruya göre "hızlı" sınıflandırması 200'ün altı için geçerlidir, bu yüzden bu koşul yanlıştır.
      • Eğer `sure` 200'den büyükse "hızlı" der, ki bu sorunun tanımına aykırıdır.
      • Bu seçenek, sorudaki sınıflandırmayı doğru yapmaz.
    • C) `if (sure = 200) { sonuc = "hızlı"; } else { sonuc = "yavaş"; }`
      • Bu seçenekteki `if (sure = 200)` ifadesi, programlamada genellikle bir atama işlemidir, bir karşılaştırma değil. Yani `sure` değişkenine 200 değerini atar. Çoğu programlama dilinde bir atama işlemi, atanan değeri döndürür ve bu değer (genellikle sıfır dışında bir sayı olduğu için) `true` (doğru) olarak kabul edilir.
      • Bu durumda, `if` koşulu her zaman doğru kabul edilir ve `sonuc` her zaman "hızlı" olur, tepki süresinin gerçek değerinden bağımsız olarak.
      • Doğru karşılaştırma operatörü `==` (iki eşittir) olmalıdır. Ancak bu bile sadece 200'e eşit olma durumunu kontrol eder, "küçükse hızlı", "büyük veya eşitse yavaş" koşullarını kapsamaz.
      • Bu seçenek, hem sözdizimsel hem de mantıksal olarak yanlıştır.

Yukarıdaki incelemeler sonucunda, A seçeneğinin sorudaki sınıflandırma kurallarını tam ve doğru bir şekilde uyguladığını görüyoruz.

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