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

Soru 03 / 10

Bir sosyolog, toplumsal hareketlilik üzerine bir araştırma yapmaktadır. Bireyin eğitim durumu "yüksek" ise sosyal statüsünün "yüksek", eğitim durumu "yüksek" değilse sosyal statüsünün "orta" olarak kodlanmasını istemektedir.
Bu durum için aşağıdaki programlama yapılarından hangisi en uygundur?

A) Sadece if
B) if-else
C) İç içe if
D) while döngüsü

Sevgili öğrenciler,

Bu soruda, bir sosyologun belirlediği kurala göre bireyin eğitim durumuna bakarak sosyal statüsünü kodlamamız isteniyor. Kural çok açık:

  • Eğitim durumu "yüksek" ise sosyal statü "yüksek" olacak.
  • Eğitim durumu "yüksek" değilse (yani diğer tüm durumlar için) sosyal statü "orta" olacak.

Bu, temelde tek bir koşula (eğitim durumu yüksek mi?) bağlı olarak iki farklı sonuçtan birini seçme durumudur. Şimdi programlama yapılarını inceleyelim:

  • A) Sadece if: Bir if ifadesi, yalnızca belirli bir koşul doğru olduğunda bir kod bloğunu çalıştırmak için kullanılır. Eğer koşul yanlışsa, if bloğundaki kod çalışmaz ve program akışı devam eder. Bu durumda, "eğitim yüksekse statü yüksek olsun" kısmını halledebiliriz. Ancak, "eğitim yüksek değilse statü orta olsun" kısmını doğrudan ve tek bir mantıksal akış içinde sadece if ile ifade etmek zordur veya ikinci bir if ifadesi gerektirir ki bu da if-else kadar net ve verimli değildir.
  • B) if-else: Bu yapı, belirli bir koşulun doğru olup olmamasına göre iki farklı kod bloğundan birini çalıştırmak için tasarlanmıştır. Koşul doğruysa if bloğu çalışır, koşul yanlışsa else bloğu çalışır. Tam da bizim ihtiyacımız olan şey budur: "Eğitim durumu yüksek ise (if bloğu) statüyü 'yüksek' yap, DEĞİLSE (else bloğu) statüyü 'orta' yap." Bu yapı, iki karşılıklı durumu en açık ve en verimli şekilde ele alır.
  • C) İç içe if: İç içe if yapıları, bir koşulun doğru olmasından sonra başka bir koşulun daha kontrol edilmesi gerektiği durumlarda kullanılır. Örneğin, "eğitim yüksekse VE aynı zamanda gelir de yüksekse statü 'çok yüksek' olsun" gibi. Bizim problemimizde tek bir ana koşul (eğitim durumu yüksek mi?) ve bu koşulun iki farklı sonucuna göre bir atama var. İç içe if kullanmak bu senaryo için gereksiz yere karmaşık olurdu.
  • D) while döngüsü: while döngüsü, belirli bir koşul doğru olduğu sürece bir kod bloğunu tekrar tekrar çalıştırmak için kullanılır. Bu, bir karar verme veya bir atama yapma yapısı değil, bir tekrar etme (iterasyon) yapısıdır. Dolayısıyla, bu problemdeki tek seferlik karar verme durumu için kesinlikle uygun değildir.

Sonuç olarak, problemdeki "eğitim durumu yüksek ise X, değilse Y" mantığı, if-else yapısının temel çalışma prensibiyle birebir örtüşmektedir. Bu yapı, iki karşılıklı durumu en açık, en verimli ve en doğru şekilde ifade etmemizi sağlar.

Cevap B 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