L.abcd
Genius
3 min. di lettura
Vota

Concetti Chiave

  • Il programma C++ genera una piramide di asterischi sulla console, richiedendo all'utente di inserire una base dispari.
  • La funzione piramide calcola il numero di spazi e asterischi per ogni riga, creando un triangolo isoscele in base alla base inserita.
  • L'altezza della piramide è determinata da b/2 + 1, dove b è la base dispari fornita dall'utente.
  • Il ciclo do-while garantisce che l'utente inserisca un numero dispari, bloccando procedimenti con numeri pari.
  • Il programma utilizza la libreria iostream per gestire l'input e l'output sulla console, facilitando la stampa della piramide.

Programma scritto in C++ il quale inserito la base b (dispari) stampa un triangolo isoscele

#include
using namespace std;

void piramide(int b,int h){
int spazio=1,ast=1;
if (b!=1)
spazio= b/2;
for (int i=0; i for (int o=0; o cout }
for (int p=0; p cout }
ast= ast+2;
spazio= spazio-1;
cout }
}

int main()
{
int b,h;
do{
cout cin>> b;
}while (b%2==0);
if (b==1)
h= 1;
else
h= b/2+1;
piramide(b,h);
return 0;
}

Il codice è scritto in linguaggio C++ e genera una piramide di asterischi sulla console.

Spiegherò il codice passo dopo passo.

#include
using namespace std;
Queste righe di codice includono la libreria iostream, che fornisce le funzioni per l'input/output sulla console. L'istruzione using namespace std viene utilizzata per utilizzare direttamente i simboli della libreria standard senza dover specificare il prefisso std::.

void piramide(int b, int h){
int spazio = 1, ast = 1;
if (b != 1)
spazio = b / 2;
for (int i = 0; i for (int o = 0; o cout }
for (int p = 0; p cout }
ast = ast + 2;
spazio = spazio - 1;
cout }
}

La funzione piramide prende due parametri: b rappresenta la base della piramide e h rappresenta l'altezza della piramide. La variabile spazio tiene traccia del numero di spazi da stampare all'inizio di ogni riga, mentre ast tiene traccia del numero di asterischi da stampare.

Se la base b non è uguale a 1, il numero di spazi viene calcolato come b/2, altrimenti viene lasciato uguale a 1. Questa condizione è necessaria perché la base deve essere dispari per creare una piramide corretta.

Successivamente, viene eseguito un ciclo for che itera per h volte, rappresentando le righe della piramide. All'inizio di ogni riga, viene eseguito un altro ciclo for per stampare il numero corretto di spazi, utilizzando il carattere di tabulazione \t. Quindi, viene eseguito un terzo ciclo for per stampare il numero corretto di asterischi, seguiti da un carattere di tabulazione.

Dopo la stampa di una riga, il numero di asterischi viene incrementato di 2 (ast = ast + 2) e il numero di spazi viene decrementato di 1 (spazio = spazio - 1).

Infine, viene stampato un doppio carattere di nuova linea (endl) per separare le righe della piramide.

int main(){
int b, h;
do{
cout cin >> b;
} while (b % 2 == 0);
if (b == 1)
h = 1;
else
h = b / 2 + 1;
piramide(b, h);
return 0;
}
La funzione main è il punto di ingresso del programma. All'interno della funzione, viene richiesto all'utente di inserire un numero dispari per la base della piramide. Il ciclo do-while viene utilizzato per assicurarsi che l'utente inserisca un numero dispari. Il controllo viene effettuato tramite l'espressione b % 2 == 0, che restituisce true se b è pari.

Se l'utente inserisce un numero dispari, viene calcolata l'altezza della piramide come b/2 + 1. Se la base è uguale a 1, l'altezza viene impostata a 1.

Infine, la funzione piramide viene chiamata con i valori della base e dell'altezza calcolati. Alla fine, il programma restituisce 0 per indicare che è stato eseguito correttamente.

Domande da interrogazione

  1. Qual è lo scopo del programma scritto in C++?
  2. Il programma genera una piramide di asterischi sulla console, basata su una base dispari inserita dall'utente.

  3. Quali librerie vengono utilizzate nel programma e perché?
  4. Viene utilizzata la libreria iostream per fornire le funzioni di input/output sulla console, e using namespace std per evitare di dover specificare il prefisso std::.

  5. Come viene calcolata l'altezza della piramide nel programma?
  6. L'altezza viene calcolata come b/2 + 1, dove b è la base dispari inserita dall'utente. Se la base è 1, l'altezza è impostata a 1.

  7. Qual è la funzione del ciclo do-while nel main?
  8. Il ciclo do-while assicura che l'utente inserisca un numero dispari per la base della piramide, continuando a richiedere l'input finché non viene inserito un numero dispari.

  9. Come vengono gestiti gli spazi e gli asterischi nella funzione piramide?
  10. La variabile spazio tiene traccia del numero di spazi da stampare all'inizio di ogni riga, mentre ast tiene traccia del numero di asterischi. Gli spazi diminuiscono e gli asterischi aumentano ad ogni riga per formare la piramide.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community