Menu
CoddyTech

İç İçe Döngüler

Coddy'nin GO Journey'sinin Temeller bölümünün bir parçası. Ders 49 / 109.

İç İçe Döngüler, başka bir döngünün içine yerleştirilen döngülerdir. İç döngü, dış döngünün her yinelemesinde tamamen çalışır.

İç içe döngüler kullanarak 1-3 sayıları için bir çarpım tablosu oluşturalım:

rows := 3
cols := 3
for i := 1; i <= rows; i++ {
    for j := 1; j <= cols; j++ {
        fmt.Printf("%d×%d=%d\t", i, j, i*j)
    }
    fmt.Println()
}

Bu kodu çalıştırdıktan sonra, her satırın dış döngü değişkeninin (i) iç döngü değişkeninin (j) tüm değerleriyle çarpımını temsil ettiği bir çarpım tablosu elde ederiz. Çıktı ekranda şöyle görünür:

1×1=1   1×2=2   1×3=3   
2×1=2   2×2=4   2×3=6   
3×1=3   3×2=6   3×3=9   

Bunun nasıl çalıştığını adım adım anlayalım:

İlk olarak, dış döngü i=1 değerini ayarlar ve iç döngü tamamen çalışır:

i=1, j=1: prints "1×1=1"
i=1, j=2: prints "1×2=2"
i=1, j=3: prints "1×3=3"

İç döngü tamamlandıktan sonra fmt.Println() ile yeni bir satır yazdırırız.

Ardından dış döngü i=2 değerini ayarlar ve iç döngü, j yine 1'den başlayarak baştan başlar:

i=2, j=1: prints "2×1=2"
i=2, j=2: prints "2×2=4"
i=2, j=3: prints "2×3=6"

Son olarak, dış döngü i=3 değerini ayarlar ve iç döngü son bir kez çalışır:

i=3, j=1: prints "3×1=3"
i=3, j=2: prints "3×2=6"
i=3, j=3: prints "3×3=9"

Her döngünün kendi sayacı vardır (i ve j) ve rows ile cols hiç değişmez: yalnızca döngülere ne zaman duracaklarını söylerler. Bu kalıp, veri tablolarıyla çalışmak veya ızgara benzeri yapılar oluşturmak için çok kullanışlıdır.

challenge icon

Görev

Başlangıç

Bu meydan okumada, basit bir desen yazdırmak için iç içe döngüler kullanma alıştırması yapacaksın. Dış döngü satırlar boyunca, iç döngü ise küçük bir karakter ızgarası oluşturmak için sütunlar boyunca ilerleyecek.

3x3 yıldız işareti ızgarası (*) yazdırmak için iç içe döngüleri tamamla. Her yıldız işaretinden sonra bir boşluk gelmeli; bu nedenle her satır * * * (sonunda bir boşluk olacak şekilde) gibi görünmeli. Beklenen çıktı:

* * * 
* * * 
* * * 

Her döngü için yeni bir sayaç kullan (örneğin, satırlar için i, bir satırdaki yıldızlar için j) ve bunu rows veya columns ile karşılaştır. rows ve columns değerlerini değiştirme: her satırda columns kadar yıldız olmalı.

Kendin dene

package main

import "fmt"

func main() {
	// Izgaramızdaki satır ve sütun sayısı
	rows := 3
	columns := 3
	
	// TODO: Yıldızlardan (*) oluşan bir ızgara yazdırmak için iç içe döngü oluştur
	// Dış döngü satırlar üzerinde dönmeli
	// İç döngü sütunlar üzerinde dönmeli
	for i := 0; i < rows; i++ {
		// Her sütuna yıldız yazdırmak için iç döngünü buraya ekle
		
		// Bu, her satırdan sonra yeni bir satıra geçer
		fmt.Println()
	}
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: Online Go derleyicisi