5.5 – Çarpım Tablosu, Sayı Tahmin Oyunu vb.


📘 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

1 Response

  1. Pingback : A'DAN Z'YE C# İLE NTP - Hasan TANDOĞAN

Leave a Reply