Menu
Coddy logo textTech

İç İçe Döngüler

Coddy'nin Ruby Journey'sinin Temeller bölümünün bir parçası — ders 46 / 88.

İç içe bir döngü oluşturmak için bir döngüyü başka bir döngünün içine yerleştirebilirsiniz. İç döngü, dış döngünün her bir yinelemesi için tamamen çalışır; bu da bu deseni ızgaralar, tablolar veya kombinasyonlarla çalışmak için kullanışlı hale getirir.

for i in 1..2
  for j in 1..3
    puts "i=#{i}, j=#{j}"
  end
end

Bu, altı satır çıktı verir. i'nin her bir değeri için, iç döngü j'nin tüm değerleri üzerinden geçer.

İlk olarak i 1 iken j 1, 2, 3 değerlerini alır. Sonra i 2 olur ve j tekrar 1, 2, 3 değerlerini alır.

Pratik bir örnek, basit bir çarpım deseni oluşturmaktır:

for row in 1..3
  for col in 1..3
    print "#{row * col} "
  end
  puts ""
end

Bu, 3x3'lük bir ürün ızgarası yazdırır. print değerleri aynı satırda tutar ve puts "" her satır tamamlandıktan sonra yeni bir satıra geçer. Bir for döngüsü içindeki times döngüsü gibi farklı döngü türlerini de karıştırabilirsiniz.

challenge icon

Görev

Kolay

Girdiden iki tam sayı okuyun:

  1. rows - satır sayısı
  2. cols - sütun sayısı

Verilen boyutlarda yıldızlardan (*) oluşan bir dikdörtgen yazdırmak için iç içe döngüler kullanın. Her satır, aralarında boşluk bırakılmış cols kadar yıldız içermeli ve her satır kendi satırında olmalıdır.

Bir satır içindeki yıldızlar için print, her satırdan sonra bir alt satıra geçmek için puts kullanın.

Örneğin, girdiler 3 ve 4 ise, çıktı şu şekilde olmalıdır:

* * * *
* * * *
* * * *

Girdiler 2 ve 5 ise, çıktı şu şekilde olmalıdır:

* * * * *
* * * * *

Kopya kağıdı

İç içe döngüler, bir döngüyü diğerinin içine yerleştirmenize olanak tanır. İçteki döngü, dıştaki döngünün her bir yinelemesi için tamamen çalışır.

for i in 1..2
  for j in 1..3
    puts "i=#{i}, j=#{j}"
  end
end

Bu, toplamda altı satır çıktı verir. i=1 için, j 1, 2, 3 değerleri üzerinden geçer. Ardından i=2 için, j tekrar 1, 2, 3 değerleri üzerinden geçer.

Çıktıyı aynı satırda tutmak için print ve yeni bir satıra geçmek için puts "" kullanın:

for row in 1..3
  for col in 1..3
    print "#{row * col} "
  end
  puts ""
end

Bir for döngüsü içinde times döngüsü kullanmak gibi farklı döngü türlerini karıştırabilirsiniz.

Kendin dene

# Girdiyi oku
rows = gets.to_i
cols = gets.to_i

# YAPILACAK: Kodunuzu aşağıya yazın
# Yıldızlardan oluşan bir dikdörtgen yazdırmak için iç içe döngüler kullanın
# Bir satır içindeki yıldızlar için print, bir sonraki satıra geçmek için puts kullanın
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