Esercizio 9
Costruire un algoritmo che accetta in ingresso un numero k intero positivo minore di 20 e visualizza una riga di k asterischi.
La soluzione dell'esercizio si risolve banalmente con un ciclo for una volta noto il numero di asterischi da stampare.
#include <iostream>
using namespace std;
int main(){
int k,i;
do{
cout<<"k:";cin>>k;
}while(k<1 || k>20);
for(i=0;i<k;i++)cout<<"*";
return 0;
}
Diventa, invece, piuttosto interessante il modo di acquisire il valore della
variabile k tramite le istruzioni:
do{
cout<<"k:";cin>>k;
}while(k<1 || k>20);
Cioè, un costrutto do-while continua a chiedere
il valore di k finchè non è stato inserito un valore
congruo per esso: un numero compreso tra 1 e 20 (incluso).
Ricordiamo che una stuttura ciclica continua a 'ciclare' finchè la condizione logica specificata è vera.
Nel nostro caso il do-while continuerà a ripetersi
finchè il numero introdotto è minore di 1 oppure (||)
maggiore di 20.