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:
| Şey | Ne İş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 <= 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 <= 10; i++) {
console.log(`${sayi} x ${i} = ${sayi * i}`);
}
🧠 Burada ne oldu?
sayideğ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 <= 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 <= 10; i++) {
console.log("---------------");
console.log(`${i} ler`);
for (let j = 1; j <= 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 <= 10;) {
console.log(i);
}
😱 i++ yok
😱 Bilgisayar bağırır
😱 Sen panik
❌ Yanlış Başlangıç
for (let i = 0; i <= 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 😄
