🔁 For Döngüsü ile Çarpım Tablosu

JavaScript Rehberi

Matematik Travmasından JavaScript Keyfine 🎢

(“Okulda zor, kodda eğlenceli”)

Merhaba sevgili for döngüsü savaşçısı 👋
Bugün seni çocukluğumuzun meşhur konusu olan çarpım tablosu ile barıştırmaya geldim.

Ama korkma…
❌ Defter yok
❌ Öğretmen yok
❌ “Yanlış!” diye bağıran yok

✅ Sadece JavaScript
✅ Biraz algoritma
✅ Biraz mizah
✅ Bol bol “haa şimdi anladım” anı 😄


🤔 Çarpım Tablosu Nedir, Biz Bunu Neden Kodluyoruz?

Önce mantık, sonra kod 🧠

Çarpım tablosu aslında şunu söylüyor:

“Bir sayıyı, belli bir aralıkta, tekrar tekrar çarp

Mesela 6’lar:

  • 6 × 1
  • 6 × 2
  • 6 × 3
  • 6 × 10

👀 Burada dikkat et:

  • Aynı işlem
  • Aynı sayı
  • Sadece çarpılan sayı değişiyor

🎯 Tekrar eden iş = For Döngüsü

Yani JavaScript diyor ki:

“Bunu bana bırak, sen kahveni iç ☕”


🧠 Koda Geçmeden Önce Beyni Isıtalım

Bir çarpım tablosu için şunlara ihtiyacımız var:

ŞeyNe İşe Yarar
BaşlangıçNereden başlıyoruz
BitişNerede duruyoruz
ArtışNasıl ilerliyoruz
Çarpılacak sayıSabit kalan değer

📌 Bu tabloyu kurabiliyorsan, döngü yazarsın
📌 Yazarsan, JS senden korkar 😄


🧪 1. Seviye: Sabit Bir Sayının Çarpım Tablosu

🎯 “5’lerin Tablosu” (Klasik Ama Güçlü)

for (let i = 1; i <= 10; i++) {
  console.log("5 x " + i + " = " + (5 * i));
}

Şimdi bunu parçalara ayıralım 🧩

let i = 1;

➡️ Sayaç 1’den başlasın
➡️ Çünkü kim 5 × 0 görmek ister ki? 😄


i <= 10;

➡️ 10’a kadar devam et
➡️ 10 dahil olsun (burada <= çok önemli!)


i++;

➡️ Her turda 1 artır
➡️ Artırmazsan → sonsuz döngü kabusu 😱


5 * i

➡️ Asıl matematik burada
➡️ For döngüsü sadece organizatör 🎯

🖥️ Çıktı:

5 x 1 = 5
5 x 2 = 10
...
5 x 10 = 50


✨ Modern Yazım: Template Literal ile Havalı Versiyon

for (let i = 1; i &lt;= 10; i++) {
  console.log(`5 x ${i} = ${5 * i}`);
}

🎯 Artıları:

  • Daha okunaklı
  • Daha kısa
  • Daha modern
  • Daha “ben JS biliyorum” havası 😎

📌 İpucu:
Yeni projelerde her zaman template literal kullan.


🔄 2. Seviye: Dinamik Çarpım Tablosu

“Ben Her Sayı İçin İstiyorum” Diyenlere 🎩

Artık sabit 5’i çöpe atıyoruz 🗑️
Kodumuz her sayıyla çalışsın.

let sayi = 7;

for (let i = 1; i &lt;= 10; i++) {
  console.log(`${sayi} x ${i} = ${sayi * i}`);
}

🧠 Burada ne oldu?

  • sayi değişken
  • Döngü aynı
  • Mantık değişmedi

📌 Profesyonel yazılımcı refleksi:

“Kod değişmesin, veri değişsin”


🎯 Pratik Senaryo: Fonksiyonla Çarpım Tablosu

(Evet, artık pro seviyeye geçiyoruz 😎)

function carpimTablosu(sayi) {
  for (let i = 1; i &lt;= 10; i++) {
    console.log(`${sayi} x ${i} = ${sayi * i}`);
  }
}

Kullanımı 👇

carpimTablosu(3);
carpimTablosu(9);

🎉 Artık:

  • Tekrar yok
  • Temiz kod var
  • Gerçek proje mantığı var

🧨 3. Seviye: TÜM ÇARPIM TABLOSU

(Burada iç içe döngü var, sakin ol 😄)

🧪 İç İçe For Döngüsü

for (let i = 1; i &lt;= 10; i++) {
  console.log("---------------");
  console.log(`${i} ler`);
  
  for (let j = 1; j &lt;= 10; j++) {
    console.log(`${i} x ${j} = ${i * j}`);
  }
}


🧠 Mantığı Süper Net Anlayalım

Dış döngü (i)

➡️ Hangi sayının tablosu?

İç döngü (j)

➡️ O sayının 1–10 arası çarpımı

📌 Mantık cümlesi:

“Her sayı için, 1’den 10’a kadar çarp”

Bu mantığı kavradın mı?
🎯 Nested loop’lar çözüldü demektir.


⚠️ En Sık Yapılan Hatalar (Gerçek Hayattan)

❌ Sonsuz Döngü

for (let i = 1; i &lt;= 10;) {
  console.log(i);
}

😱 i++ yok
😱 Bilgisayar bağırır
😱 Sen panik


❌ Yanlış Başlangıç

for (let i = 0; i &lt;= 10; i++) {
  console.log(5 * i);
}

📌 Teknik olarak doğru
📌 Mantıksal olarak “meh” 😄


🧠 Profesyonel İpuçları (Altın Değerinde 💎)

💡 Döngü içinde gereksiz hesaplama yapma
💡 İç içe döngü varsa performansı düşün
💡 Büyük aralıklarda dikkatli ol
💡 Önce mantığı yaz, sonra kodu


🎯 Gerçek Hayatta Nerede İşe Yarar?

  • Algoritma soruları
  • Interview hazırlığı
  • Döngü kası geliştirme 💪
  • Oyun mantıkları
  • Tablo & grid yapıları

🧠 Dev Özet (Bunu Bil, Rahat Et)

✅ Çarpım tablosu = tekrar eden işlem
✅ For döngüsü = tekrarın kralı 👑
✅ Fonksiyon + döngü = temiz kod
✅ İç içe döngü = büyük güç (dikkatli kullan)
✅ Mantığı anla → kod kendiliğinden gelir 😄

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir