6.2 KiB
Karar Verme: Öğrenci Not İşlemcisi
Öğrenme Hedefleri
Bu ödevde, bu dersteki karar verme kavramlarını uygulayarak farklı not sistemlerinden öğrenci notlarını işleyen bir program oluşturacaksınız. Öğrencilerin derslerini geçip geçmediğini belirlemek için if...else ifadelerini, karşılaştırma operatörlerini ve mantıksal operatörleri kullanacaksınız.
Zorluk
Bir okulda çalışıyorsunuz ve yakın zamanda başka bir kurumla birleşti. Şimdi iki tamamen farklı not sisteminden gelen öğrenci notlarını işlemeli ve hangi öğrencilerin geçtiğini belirlemelisiniz. Bu, koşullu mantık pratiği yapmak için mükemmel bir fırsat!
Not Sistemlerini Anlamak
Birinci Not Sistemi (Sayısal)
- Notlar 1-5 arasında sayılarla verilir
- Geçme notu: 3 ve üzeri (3, 4 veya 5)
- Kalma notu: 3'ün altında (1 veya 2)
İkinci Not Sistemi (Harf Notları)
- Notlar harflerle ifade edilir:
A,A-,B,B-,C,C- - Geçme notları:
A,A-,B,B-,C,C-(listelenen tüm notlar geçer) - Not: Bu sistemde
DveyaFgibi kalma notları bulunmaz
Göreviniz
allStudents adlı bir dizi verildiğinde, bu dizideki tüm öğrencileri ve notlarını işleyerek, kendi not sistemlerine göre geçen tüm öğrencileri içeren yeni bir studentsWhoPass dizisi oluşturun.
let allStudents = [
'A', // Letter grade - passing
'B-', // Letter grade - passing
1, // Numeric grade - failing
4, // Numeric grade - passing
5, // Numeric grade - passing
2 // Numeric grade - failing
];
let studentsWhoPass = [];
Adım Adım Yaklaşım
- Bir döngü kurun ve
allStudentsdizisindeki her notu tek tek inceleyin - Not türünü kontrol edin (sayı mı yoksa metin mi?)
- Uygun not sistemi kurallarını uygulayın:
- Sayılar için: not >= 3 olup olmadığını kontrol edin
- Harfler için: geçerli harf notlarından biri olup olmadığını kontrol edin
- Geçen notları
studentsWhoPassdizisine ekleyin
Faydalı Kod Teknikleri
Bu derste öğrendiğiniz şu JavaScript kavramlarını kullanın:
- typeof operatörü:
typeof grade === 'number'ile notun sayısal olup olmadığını kontrol edin - Karşılaştırma operatörleri: Sayısal notları karşılaştırmak için
>=kullanın - Mantıksal operatörler: Birden fazla harf notu koşulunu kontrol etmek için
||kullanın - if...else ifadeleri: Farklı not sistemlerini işlemek için kullanın
- Dizi metotları: Geçen notları yeni diziye eklemek için
.push()kullanın
Beklenen Çıktı
Programınızı çalıştırdığınızda, studentsWhoPass şu değerleri içermelidir: ['A', 'B-', 4, 5]
Bu notların geçme sebebi:
'A've'B-'geçerli harf notlarıdır (bu sistemdeki tüm harf notları geçer)4ve5sayısal notlar olup 3'ten büyüktür1ve2başarısızdır çünkü 3'ten küçüktür
Çözümünüzü Test Etme
Kodunuzu farklı senaryolarla test edin:
// Test with different grade combinations
let testGrades1 = ['A-', 3, 'C', 1, 'B'];
let testGrades2 = [5, 'A', 2, 'C-', 4];
// Your solution should work with any combination of valid grades
Ekstra Zorluklar
Temel ödevi tamamladıktan sonra şu ek görevleri deneyin:
- Doğrulama ekleyin: Geçersiz notları kontrol edin (örneğin negatif sayılar veya geçersiz harfler)
- İstatistikleri hesaplayın: Kaç öğrencinin geçtiğini ve kaldığını hesaplayın
- Not dönüşümü: Tüm notları tek bir sayısal sisteme dönüştürün (A=5, B=4, C=3, vb.)
Değerlendirme Ölçütleri
| Kriter | Mükemmel (4) | Yeterli (3) | Gelişmekte (2) | Başlangıç (1) |
|---|---|---|---|---|
| Fonksiyonellik | Program her iki sistemden geçen tüm notları doğru bir şekilde belirler | Program küçük sorunlar veya uç durumlarla çalışır | Program kısmen çalışır ancak mantıksal hatalar içerir | Programda ciddi hatalar var veya çalışmıyor |
| Kod Yapısı | Temiz, iyi organize edilmiş kod ve doğru if...else mantığı | Uygun yapı, doğru koşullu ifadelerle | Kabul edilebilir yapı, bazı organizasyonel sorunlarla | Zayıf yapı, mantığı takip etmek zor |
| Kavramların Kullanımı | Karşılaştırma operatörleri, mantıksal operatörler ve koşullu ifadeleri etkili bir şekilde kullanır | Ders kavramlarını iyi kullanır, küçük eksikliklerle | Ders kavramlarını kısmen kullanır ancak önemli unsurlar eksik | Ders kavramlarını sınırlı bir şekilde kullanır |
| Problem Çözme | Problemi net bir şekilde anlar ve zarif bir çözüm yaklaşımı gösterir | İyi bir problem çözme yaklaşımı ve sağlam mantık | Yeterli problem çözme, bazı karışıklıklarla | Belirsiz yaklaşım, problemi anlama eksikliği gösterir |
Teslimat Yönergeleri
- Kodunuzu verilen örneklerle iyice test edin
- Açıklamalar ekleyin: Özellikle koşullu ifadeler için mantığınızı açıklayın
- Çıktıyı doğrulayın: Beklenen sonuçlarla eşleştiğinden emin olun:
['A', 'B-', 4, 5] - Uç durumları göz önünde bulundurun: Boş diziler veya beklenmedik veri türleri gibi
💡 İpucu: Basit başlayın! Önce temel işlevselliği çalıştırın, ardından daha sofistike özellikler ekleyin. Unutmayın, hedef bu derste öğrendiğiniz karar verme mantığını uygulamaktır.
Feragatname:
Bu belge, AI çeviri hizmeti Co-op Translator kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlık içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlamalar veya yanlış yorumlamalar için sorumluluk kabul etmiyoruz.