Stampare un rombo di asterischi in JavaScript
La programmazione offre strumenti potenti per visualizzare modelli e strutture, giocando con semplici concetti come ciclo e condizioni. In questo tutorial, esploreremo come utilizzare JavaScript per disegnare un rombo composto da asterischi, un esercizio eccellente per affinare la comprensione dei cicli e del controllo del flusso in programmazione.
Introduzione al problema
Il rombo di asterischi è una figura geometrica simmetrica che possiamo costruire utilizzando righe di caratteri. Il nostro obiettivo è creare un programma in JavaScript che stampi un rombo, dato un numero intero n che rappresenta il numero di asterischi nella riga più lunga del rombo. Ecco un esempio di come dovrebbe apparire un rombo per n = 5:
*
***
*****
*******
*********
*******
*****
***
*
Comprendere la struttura del rombo
Prima di iniziare a scrivere il codice, è importante comprendere la struttura del rombo. Possiamo suddividere il rombo in due parti:
Parte superiore (inclusa la riga centrale): in questa sezione, il numero di asterischi aumenta da 1 fino a n.
Parte inferiore: in questa sezione, il numero di asterischi diminuisce da n fino a 1.
Ogni riga ha un certo numero di spazi prima degli asterischi per mantenere la simmetria. Il numero di spazi diminuisce man mano che ci spostiamo verso il centro del rombo e aumenta quando ci allontaniamo dal centro.
Iniziamo scrivendo il codice per stampare il rombo. Utilizzeremo due cicli principali: uno per la parte superiore e uno per la parte inferiore.
Passo 1: Stampare la parte superiore del rombo
Iniziamo con la parte superiore del rombo, incluso il centro.
// Parte superiore del rombo
for (let i = 1; i <= n; i++) {
// Stampa gli spazi
for (let j = 0; j < n - i; j++) {
output += " ";
}
// Stampa gli asterischi
for (let k = 0; k < 2 * i - 1; k++) {
output += "*";
}
output += "\n";
}
Nel codice sopra, il primo ciclo for itera sulle righe. I due cicli interni servono per stampare prima gli spazi e poi gli asterischi.
Nota: Da notare che il numero di asterischi in ogni riga è dispari, seguendo la formula 2 * i - 1.
Passo 2: Stampare la parte inferiore del rombo
Dopo aver stampato la parte superiore, procediamo con la parte inferiore.
// Parte inferiore del rombo
for (let i = n - 1; i >= 1; i--) {
// Stampa gli spazi
for (let j = 0; j < n - i; j++) {
output += " ";
}
// Stampa gli asterischi
for (let k = 0; k < 2 * i - 1; k++) {
output += "*";
}
output += "\n";
}
La parte inferiore è quasi un riflesso della parte superiore, con la differenza che il ciclo itera in direzione opposta.
Passo 3: Completare la funzione e stampare il risultato
A questo punto non resta che unire i due codice e stampare l’output:
function stampaRombo(n) {
let output = "";
// Parte superiore del rombo
for (let i = 1; i <= n; i++) {
// Stampa gli spazi
for (let j = 0; j < n - i; j++) {
output += " ";
}
// Stampa gli asterischi
for (let k = 0; k < 2 * i - 1; k++) {
output += "*";
}
output += "\n";
}
// Parte inferiore del rombo
for (let i = n - 1; i >= 1; i--) {
// Stampa gli spazi
for (let j = 0; j < n - i; j++) {
output += " ";
}
// Stampa gli asterischi
for (let k = 0; k < 2 * i - 1; k++) {
output += "*";
}
output += "\n";
}
console.log(output);
}
stampaRombo(3);
Creare un rombo di asterischi in JavaScript è un ottimo esercizio per comprendere il funzionamento dei cicli e della manipolazione delle stringhe. Attraverso questo esercizio, abbiamo esplorato come controllare il flusso del programma e come utilizzare cicli annidati per creare modelli complessi.
Indice pagine di javascript
Indice javascript