🚀 C# ile Programlamaya Giriş: Kodlamaya İlk Adımını At, Kendi Projelerini Geliştirmeye Başla!
00ANASAYFA 01YAZILAR 02EĞİTİM 03ELEKTRİK_ENERJİ 04OTOMOTİV_MÜHENDİSLİĞİ 05ARAÇLAR 06LAB 07SÖZLÜK 08ETİKETLER ♡OKUMA LİSTEM ⌕ARA
TRENG

Döngüler: for, while, do-while, foreach

Aynı işi tekrar tekrar yaptırmayı; seri/paralel direnç hesabı ve çarpım tablosu örnekleriyle for, while, do-while ve foreach ile öğreniyorsun.

Neden döngü?

Bir şeyi 100 kez yapman gerekirse satırı 100 kez yazmazsın; döngü yazarsın. Bilgisayarların gücü, sıkılmadan tekrar etmesinden gelir.

for döngüsü

Kaç kez tekrar edileceği biliniyorsa for idealdir. Üç parçası vardır: başlangıç, koşul, her turdan sonraki adım.

for (int i = 1; i <= 5; i++)
{
    Console.WriteLine($"{i} x 7 = {i * 7}");
}
1 x 7 = 7
2 x 7 = 14
3 x 7 = 21
4 x 7 = 28
5 x 7 = 35

Akış şöyledir: i 1 olarak başlar; koşul (i <= 5) doğruysa gövde çalışır; sonra i++ ile bir artar; koşul yanlış olunca döngü biter.

while döngüsü

Kaç tur olacağını bilmiyor, bir koşul sağlandığı sürece devam etmek istiyorsan while kullanırsın. Örnek: bir kondansatörün boşalması. Her adımda gerilim yarıya düşsün ve 0,1 V altına inene kadar sayalım.

double gerilim = 10.0;
int adim = 0;

while (gerilim >= 0.1)
{
    gerilim /= 2;
    adim++;
}
Console.WriteLine($"{adim} adımda {gerilim:F4} V altına indi.");
7 adımda 0,0781 V altına indi.

Hesabı doğrula: 10 → 5 → 2,5 → 1,25 → 0,625 → 0,3125 → 0,15625 → 0,078125. Yedinci bölmeden sonra 0,1'in altına iniyor.

Sonsuz döngü: Koşulu yanlışa çevirecek bir şey gövdede değişmiyorsa döngü hiç bitmez. Program donmuş gibi görünürse terminalde Ctrl + C ile durdur.

do-while: en az bir kez çalış

do-while koşulu sonda kontrol eder, yani gövde en az bir kez çalışır. Kullanıcıdan geçerli girdi isteme için biçilmiş kaftandır:

int sayi;
bool gecerli;

do
{
    Console.Write("1 ile 10 arasında bir sayı gir: ");
    gecerli = int.TryParse(Console.ReadLine(), out sayi) && sayi >= 1 && sayi <= 10;
}
while (!gecerli);

Console.WriteLine($"Girdiğin sayı: {sayi}");

foreach: koleksiyonu gezmek

Bir listenin ya da dizinin her elemanını sırayla işlemek için kullanılır. Sayaç yönetmene gerek kalmaz. (Dizileri bir sonraki derslerde ayrıntılı göreceğiz.)

double[] dirençler = { 100, 220, 330 };
double seri = 0;
double ters = 0;

foreach (double r in dirençler)
{
    seri += r;
    ters += 1 / r;
}

Console.WriteLine($"Seri: {seri} ohm");
Console.WriteLine($"Paralel: {1 / ters:F2} ohm");
Seri: 650 ohm
Paralel: 56,90 ohm

Seri bağlantıda dirençler toplanır. Paralelde ise eşdeğer direncin tersi, dirençlerin terslerinin toplamıdır: 1/R = 1/100 + 1/220 + 1/330, sonuç yaklaşık 56,90 ohm.

break ve continue

break döngüyü tamamen bitirir, continue o turu atlayıp sonrakine geçer.

for (int i = 1; i <= 10; i++)
{
    if (i % 2 == 0) continue;   // çiftleri atla
    if (i > 7) break;           // 7'den sonra dur
    Console.Write(i + " ");
}
1 3 5 7

İç içe döngüler

for (int satir = 1; satir <= 3; satir++)
{
    for (int sutun = 1; sutun <= 3; sutun++)
    {
        Console.Write($"{satir * sutun}\t");
    }
    Console.WriteLine();
}
1	2	3
2	4	6
3	6	9

İpucu: Hangisini seçeceğini şöyle düşün: tur sayısı belli ise for, koşula bağlıysa while, en az bir kez çalışmalıysa do-while, koleksiyon gezeceksen foreach.

Kendin dene

1'den 100'e kadar olan sayıların toplamını for ile bul (beklenen: 5050). Sonra yalnızca 3'e tam bölünenleri topla. Ardından 1'den 20'ye kadar sayıları yazdıran bir program yaz: 3'e bölünen sayıların yerine "Bip" yazsın.

// Mini sınav

Bir seçeneğe tıkla; doğru mu yanlış mı, anında ve nedeniyle birlikte göreceksin.

1. Gövdesi en az bir kez çalışması garanti olan döngü hangisidir?
2. Bir döngüde continue ifadesi ne yapar?
3. for (int i = 0; i < 4; i++) gövdesi kaç kez çalışır?

Bitirdiğinde işaretle: ilerlemen kaydolur, +20 XP kazanırsın.

İpucu: ← → tuşlarıyla dersler arasında gezinebilirsin.