📘 4.2 – Kullanıcı Not Değerlendirme Uygulaması
🔹 Açıklama:
Birden fazla sınavdan alınan notları analiz ederek bir öğrencinin ortalamasını, geçip geçmediğini, hatta harf notunu hesaplamak, karar yapılarının eğitim yazılımlarındaki en temel örneklerindendir. Bu uygulama, if-else
, else-if
gibi karar mekanizmaları ile aritmetik işlemler
i birleştirerek çok yönlü bir beceri geliştirir.
📍 Kullanım Alanları:
- E-okul ve not takip sistemleri
- Öğretmenler için otomatik değerlendirme sistemleri
- Online sınav uygulamaları
- Özel ders takip yazılımları
- Öğrenci performans analiz araçları
🎯 Kazanımlar:
- Çoklu giriş alanlarıyla çalışabilme
- Not ortalaması hesaplama
- Karar yapılarıyla koşullu değerlendirme oluşturma
- Harf notu hesaplama mantığını kavrama
- Form üzerinde kullanıcıyı bilgilendirme ve geri bildirim oluşturma
🧪 4.2 – Kullanıcı Not Değerlendirme Uygulaması: Örneklerle Uygulama
📌 Örnek 1: 2 Yazılı Notu ile Geçme Durumu
🎯 Amaç:
2 yazılı notunun ortalamasını hesaplayarak öğrenciye “Geçti” veya “Kaldı” uyarısı vermek.
🎨 Form Elemanları:
txtN1
,txtN2
(TextBox)btnKontrol
(Button)lblDurum
(Label)
💻 Kod:
private void btnKontrol_Click(object sender, EventArgs e)
{
if (double.TryParse(txtN1.Text, out double n1) &&
double.TryParse(txtN2.Text, out double n2))
{
double ort = (n1 + n2) / 2;
string durum = ort >= 50 ? "Geçti" : "Kaldı";
lblDurum.Text = $"Ortalama: {ort:F2} - {durum}";
}
else
{
MessageBox.Show("Geçerli notlar giriniz.");
}
}
📝 Açıklama:
Basit bir koşullu yapı. ?:
ternary operatörü ile karar kısa biçimde veriliyor.
📌 Örnek 2: 3 Yazılı + 1 Performans Notu ile Geçme
🎯 Amaç:
3 yazılı + 1 performans notunun ortalaması alınarak geçme durumu ve not aralığı belirtilsin.
🎨 Form Elemanları:
txtY1
,txtY2
,txtY3
,txtPerf
(TextBox)btnHesapla
,lblSonuc
(Label)
💻 Kod:
private void btnHesapla_Click(object sender, EventArgs e)
{
if (double.TryParse(txtY1.Text, out double y1) &&
double.TryParse(txtY2.Text, out double y2) &&
double.TryParse(txtY3.Text, out double y3) &&
double.TryParse(txtPerf.Text, out double perf))
{
double ort = (y1 + y2 + y3 + perf) / 4;
string durum = ort >= 50 ? "Geçti" : "Kaldı";
lblSonuc.Text = $"Ortalama: {ort:F2} - {durum}";
}
else
{
MessageBox.Show("Tüm notları giriniz.");
}
}
📝 Açıklama:
Daha gerçekçi bir okul senaryosu. Performans notu ortalamaya dahil ediliyor.
📌 Örnek 3: Ortalama ile Harf Notu Hesabı
🎯 Amaç:
Hesaplanan ortalamaya göre harf notunu bulmak.
🎨 Form Elemanları:
txtOrt
(TextBox),btnHarfNotu
,lblHarf
(Label)
💻 Kod:
private void btnHarfNotu_Click(object sender, EventArgs e)
{
if (double.TryParse(txtOrt.Text, out double ort))
{
string harf = "";
if (ort >= 90) harf = "AA";
else if (ort >= 80) harf = "BA";
else if (ort >= 70) harf = "BB";
else if (ort >= 60) harf = "CB";
else if (ort >= 50) harf = "CC";
else harf = "FF";
lblHarf.Text = $"Harf Notu: {harf}";
}
else
{
MessageBox.Show("Ortalama değeri giriniz.");
}
}
📝 Açıklama:
Harf notları tipik eğitim sistemine uygun sınıflandırmayla veriliyor.
📌 Örnek 4: Devamsızlık Durumu ile Notu Birlikte Değerlendirme
🎯 Amaç:
Öğrenci ortalama ile geçse bile 10 gün devamsızlığı varsa “Kaldı” olarak değerlendirilsin.
🎨 Form Elemanları:
txtOrt
,txtDevamsizlik
(TextBox)btnKontrol
,lblSonuc
(Label)
💻 Kod:
private void btnKontrol_Click(object sender, EventArgs e)
{
if (double.TryParse(txtOrt.Text, out double ort) &&
int.TryParse(txtDevamsizlik.Text, out int devamsizlik))
{
if (ort >= 50 && devamsizlik <= 10)
lblSonuc.Text = "Geçti";
else
lblSonuc.Text = "Kaldı (Devamsızlık veya düşük not)";
}
else
{
MessageBox.Show("Verileri kontrol ediniz.");
}
}
📝 Açıklama:
Gerçekçi bir örnek: hem başarı hem devam durumu birlikte değerlendiriliyor.
📌 Örnek 5: Tüm Derslerin Ortalama Hesaplaması
🎯 Amaç:
5 dersten alınan ortalamaların genel ortalamasını hesapla ve uyarı ver.
🎨 Form Elemanları:
txtD1
,txtD2
,txtD3
,txtD4
,txtD5
(TextBox)btnGenel
,lblSonuc
(Label)
💻 Kod:
private void btnGenel_Click(object sender, EventArgs e)
{
if (double.TryParse(txtD1.Text, out double d1) &&
double.TryParse(txtD2.Text, out double d2) &&
double.TryParse(txtD3.Text, out double d3) &&
double.TryParse(txtD4.Text, out double d4) &&
double.TryParse(txtD5.Text, out double d5))
{
double genel = (d1 + d2 + d3 + d4 + d5) / 5;
string durum = genel >= 60 ? "Yıl Sonu Başarılı" : "Yıl Tekrarı Gerekebilir";
lblSonuc.Text = $"Genel Ortalama: {genel:F2} - {durum}";
}
else
{
MessageBox.Show("Tüm ders notlarını giriniz.");
}
}
📝 Açıklama:
Kapsamlı bir değerlendirme örneğidir. Öğrencinin tüm dersleri dikkate alınarak analiz yapılır.
✅ Özet:
Bu örneklerle öğrenciler:
- Form üzerindeki verileri toplayıp değerlendirmeyi
- Karar mekanizması ile birlikte sonuç üretmeyi
- Eğitim yazılımlarında kullanılan temel hesaplama mantığını
- Gerçekçi senaryolarla program yazmayı öğrenir