Menu
CoddyTech

İç İçe Döngüler

Coddy'nin Ruby Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 46 / 88.

İç içe geçmiş bir döngü oluşturmak için bir döngüyü başka bir döngünün içine yerleştirebilirsiniz. İçteki döngü, dıştaki döngünün her yinelemesinde tamamen çalışır; bu da bu kalıbı ızgaralar, tablolar veya kombinasyonlarla çalışırken kullanışlı kılar.

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

Bu, altı satır çıktı verir. i değerlerinin her biri için iç döngü, j değerlerinin tümünü dolaşır.

Önce i 1'dir, j ise 1, 2, 3 olur. Ardından i 2 olur ve j yeniden 1, 2, 3 olur. rows ve cols hiç değişmez: yalnızca döngülere ne zaman duracaklarını söylerler.

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. Farklı döngü türlerini de karıştırabilirsiniz; örneğin bir for döngüsünün içinde bir times döngüsü kullanabilirsiniz.

challenge icon

Görev

Kolay

Girdiden iki tam sayı oku:

  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. Her satırda aralarında boşluk bulunan cols yıldız olmalı ve her satır kendi satırında yer almalı.

Bir satırdaki yıldızlar için print, her satırdan sonra sonraki satıra geçmek için puts kullan.

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

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

Girdiler 2 ve 5 ise çıktı şöyle olmalıdır:

* * * * *
* * * * *

Bir satırdaki son * karakterinden sonra boşluk yoktur.

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

Kendin dene

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

# TODO: Kodunu aşağıya yaz
# Yıldızlardan oluşan bir dikdörtgen yazdırmak için iç içe döngüler kullan
# Bir satırdaki yıldızları yazdırmak için print, sonraki satıra geçmek için puts kullan
quiz iconKendini test et

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

Temel Bilgiler bölümündeki tüm dersler

Kendi başına pratik yap: Online Ruby derleyicisi