Meydan okuma - Hesap makinesi
Aritmetik operatörler, koşullar ve fonksiyonları birleştirerek bir hesap makinesi fonksiyonu yazarsın.
Hesap makinesi meydan okuması
Bu meydan okumada bir hesap makinesi fonksiyonu yazacaksın. Fonksiyon iki sayı ve bir operatör alır, sonucu döndürür.
İşlemleri switch ile seçeceksin. Her case bir operatöre karşılık gelir: '+', '-', '*', '/'. Bilinmeyen operatörlerde null döndür.
Bu görev aritmetik operatörler, koşullar ve fonksiyonları birleştirir. Hesap makinesini yazarken break yerine doğrudan return kullanabilirsin; böylece her durum tek satırda biter.
Hesap makinesi yapısı
Hesap makinesinde switch (operator) ifadesi operatörü kontrol eder. Her case bir operatör dizesi ile eşleşir ve ilgili aritmetik işlemi döndürür.
Örneğin case '+' durumunda return a + b yazarsın. Bölme işleminde sıfıra bölme riskine karşı ek bir if eklemek isteyebilirsin; ama bu görevde sadece dört temel işlemi yazman yeterli.
Bilinmeyen operatörler için default durumunu kullan ve null döndür. Böylece çağıran taraf geçersiz bir operatörü kolayca fark eder.
Uygulama calculate fonksiyonunu yaz
calculate adında bir fonksiyon tanımla. a, b ve operator parametreleri alsın. switch (operator) ile dört temel işlemi seç: '+', '-', '*', '/'. Her case ilgili işlemi return ile döndürsün. Bilinmeyen operatörler için default durumunda null döndür.
Örnek çözümü göster
return a + b; vb.). default: return null; ile bitir.
Örnek çözüm:
function calculate(a, b, operator) {
switch (operator) {
case '+':
return a + b;
case '-':
return a - b;
case '*':
return a * b;
case '/':
return a / b;
default:
return null;
}
}
Kendini test et
-
Bir switch yapısında case'in sonuna break koymazsan ne olur?
switch (op) { case '+': return a + b; // break yok }- Sonraki case'e geçer (fall-through)
- Hemen hata fırlatır
- Döngüden çıkar
- Programı durdurur
Cevabı göster
Sonraki case'e geçer (fall-through) — Doğru. break veya return yoksa yürütme bir sonraki case'e akar; buna fall-through denir.
-
Toplama durumunu tamamla
function calculate(a, b, operator) { switch (operator) { case '+': return ____; case '-': return a - b; } }Cevabı göster
function calculate(a, b, operator) { switch (operator) { case '+': return a + b; case '-': return a - b; } }