📘 5.5 – Çarpım Tablosu, Sayı Tahmin Oyunu vb.
🔹 Açıklama:
Döngüler, sadece veri işleme değil, aynı zamanda etkileşimli, eğitici ve eğlenceli uygulamalar oluşturmak için de kullanılır. Bu başlık altında, öğrencilere döngülerle nasıl bütünleşik uygulamalar yapılacağını göstereceğiz.
Bu bölümde:
- Dinamik çarpım tablosu oluşturacağız
- Sayı tahmin oyunuyla koşullu döngü kullanacağız
- Sayma oyunu, geri sayım ve faktöriyel gibi algoritmalarla çalışacağız
- Etkileşimli ve görsel uygulamalarla döngülerin pratik faydasını artıracağız
📍 Kullanım Alanları:
- Eğitsel yazılımlar
- Mini oyunlar
- Alıştırma araçları
- Hesaplayıcılar ve algoritmik çözümler
- Form üzerinden dinamik çıktı üretimi
🎯 Kazanımlar:
- for, while ve do-while yapılarının yaratıcı uygulamalarla pekiştirilmesi
- Kullanıcıdan alınan verilere göre algoritma oluşturma
- Uygulamanın tüm bileşenleri arasında veri akışını yönetme
- Öğrenirken oyunlaştırma ve geri bildirim sistemi kurma
- Öğrencilerin kodlama motivasyonunu artıracak somut uygulama deneyimi
🧪 5.5 – Çarpım Tablosu, Sayı Tahmin Oyunu vb.: Uygulamalı 5 Örnek
📌 Örnek 1: Dinamik Çarpım Tablosu Oluşturma
🎯 Amaç:
Seçilen bir sayının 1’den 10’a kadar olan çarpım tablosunu listelemek.
🎨 Form Elemanları:
txtSayi
,btnOlustur
,lstCarpim
💻 Kod:
private void btnOlustur_Click(object sender, EventArgs e)
{
lstCarpim.Items.Clear();
int sayi = Convert.ToInt32(txtSayi.Text);
for (int i = 1; i <= 10; i++)
{
int sonuc = sayi * i;
lstCarpim.Items.Add($"{sayi} x {i} = {sonuc}");
}
}
📝 Açıklama:
for döngüsü ile 1’den 10’a kadar çarpım hesaplanır ve listelenir.
📌 Örnek 2: Sayı Tahmin Oyunu
🎯 Amaç:
Bilgisayar rastgele bir sayı belirler. Kullanıcı doğru tahmin edene kadar tahmin yapar.
🎨 Form Elemanları:
txtTahmin
,btnTahminEt
,lblSonuc
💻 Kod:
Random rnd = new Random();
int hedefSayi = -1;
private void Form1_Load(object sender, EventArgs e)
{
hedefSayi = rnd.Next(1, 101);
}
private void btnTahminEt_Click(object sender, EventArgs e)
{
int tahmin = Convert.ToInt32(txtTahmin.Text);
if (tahmin == hedefSayi)
{
lblSonuc.Text = "Tebrikler, doğru tahmin!";
}
else if (tahmin < hedefSayi)
{
lblSonuc.Text = "Daha büyük bir sayı girin.";
}
else
{
lblSonuc.Text = "Daha küçük bir sayı girin.";
}
}
📝 Açıklama:
Program, tahmine göre kullanıcıyı yönlendirir. Doğru tahmin geldiğinde oyun sonlanır.
📌 Örnek 3: Geri Sayım Uygulaması
🎯 Amaç:
Kullanıcının girdiği sayıdan geriye doğru saymak.
🎨 Form Elemanları:
txtBaslangic
,btnGeriSay
,lstGeriSayim
💻 Kod:
private void btnGeriSay_Click(object sender, EventArgs e)
{
lstGeriSayim.Items.Clear();
int sayi = Convert.ToInt32(txtBaslangic.Text);
while (sayi >= 0)
{
lstGeriSayim.Items.Add(sayi);
sayi--;
}
}
📝 Açıklama:
Geriye sayım while
döngüsüyle yapılır. Sıfıra kadar devam eder.
📌 Örnek 4: Faktöriyel Hesaplama
🎯 Amaç:
Girilen bir sayının faktöriyeli hesaplanır ve gösterilir.
🎨 Form Elemanları:
txtSayi
,btnFaktoriyel
,lblFaktoriyel
💻 Kod:
private void btnFaktoriyel_Click(object sender, EventArgs e)
{
int sayi = Convert.ToInt32(txtSayi.Text);
long sonuc = 1;
for (int i = 1; i <= sayi; i++)
{
sonuc *= i;
}
lblFaktoriyel.Text = $"{sayi}! = {sonuc}";
}
📝 Açıklama:
Faktöriyel işlemi klasik bir döngüyle hesaplanır. Büyük sayılar için long
kullanılır.
📌 Örnek 5: Sayı Sayma Oyunu
🎯 Amaç:
Kullanıcının belirlediği başlangıç ve bitiş sayıları arasında ileri veya geri sayım yapılır.
🎨 Form Elemanları:
txtBasla
,txtBitir
,btnSay
,lstSayilar
💻 Kod:
private void btnSay_Click(object sender, EventArgs e)
{
lstSayilar.Items.Clear();
int basla = Convert.ToInt32(txtBasla.Text);
int bitir = Convert.ToInt32(txtBitir.Text);
if (basla <= bitir)
{
for (int i = basla; i <= bitir; i++)
lstSayilar.Items.Add(i);
}
else
{
for (int i = basla; i >= bitir; i--)
lstSayilar.Items.Add(i);
}
}
📝 Açıklama:
İleri veya geri sayım durumuna göre iki farklı for döngüsü tasarlanır.
✅ Özet:
Bu örneklerle öğrenciler:
- Eğlenceli uygulamalar içinde döngü yapılarını pekiştirir
- Veri girişine bağlı dinamik çıktı oluşturmayı öğrenir
- Kodun gerçek dünya karşılığını keşfeder
- Gelişmiş kullanıcı etkileşimlerini keşfeder
Pingback : A'DAN Z'YE C# İLE NTP - Hasan TANDOĞAN