Menu
Coddy logo textTech

Cicli annidati

Fa parte della sezione Fondamenti del percorso Ruby di Coddy. Lezione 46 di 88.

Puoi inserire un ciclo all’interno di un altro ciclo per creare un ciclo annidato. Il ciclo interno viene eseguito completamente a ogni iterazione del ciclo esterno, rendendo questo schema utile per lavorare con griglie, tabelle o combinazioni.

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

Questo produce sei righe. Per ogni valore di i, il ciclo interno scorre tutti i valori di j.

Prima i è 1 mentre j assume i valori 1, 2, 3. Poi i diventa 2 e j assume di nuovo i valori 1, 2, 3.

Un esempio pratico consiste nel creare un semplice schema di moltiplicazione:

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

Questo stampa una griglia 3x3 di prodotti. print mantiene i valori sulla stessa riga e puts "" passa a una nuova riga al termine di ogni riga. Puoi anche combinare diversi tipi di cicli, ad esempio un ciclo times all'interno di un ciclo for.

challenge icon

Sfida

Facile

Leggi due numeri interi dall'input:

  1. rows - il numero di righe
  2. cols - il numero di colonne

Usa cicli annidati per stampare un rettangolo di asterischi (*) con le dimensioni indicate. Ogni riga deve contenere cols asterischi separati da spazi e deve occupare una riga a sé.

Usa print per gli asterischi all'interno di una riga e puts per passare alla riga successiva dopo ogni riga.

Per esempio, se gli input sono 3 e 4, l'output dovrebbe essere:

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

Se gli input sono 2 e 5, l'output dovrebbe essere:

* * * * *
* * * * *

Provalo tu

# Leggi l'input
rows = gets.to_i
cols = gets.to_i

# TODO: Scrivi il tuo codice qui sotto
# Usa cicli annidati per stampare un rettangolo di asterischi
# Usa print per gli asterischi all'interno di una riga e puts per passare alla riga successiva
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Ruby online