CICLO DO – WHILE LINGUAGGIO C
CICLO DO-WHILE LINGUAGGIO C Supponiamo di voler realizzare un programma che chieda all'utente di indovinare un numero (da 1 a 10); se indovinato stampi a video il messaggio "Congratulazioni!" e termina il programma, altrimenti stampi il messaggio "Mi dispiace, riprova" e dia all'utente una nuova occasione di digitare un numero.
CICLO DO-WHILE LINGUAGGIO C Questo programma non è realizzabile utilizzando soltanto il costrutto if-else, in quanto noi non possiamo sapere a priori quanti tentativi l'utente farà prima di indovinare il numero giusto.
CICLO DO-WHILE LINGUAGGIO C La soluzione per risolvere il problema è utilizzare un ciclo. Un ciclo permette di ripetere un certo numero di istruzioni mentre è verificata una specifica condizione. Il ciclo che utilizzeremo sarà il DO-WHILE.
CICLO DO-WHILE LINGUAGGIO C Il ciclo do-while ha la seguente sintassi: do { istruzioni da eseguire all’interno del ciclo } while (condizione); Che tradotta nel nostro linguaggio vuol dire: esegui le istruzioni racchiuse tra le parentesi graffe mentre è verificata la condizione tra le parentesi tonde.
CICLO DO-WHILE LINGUAGGIO C Il programma eseguirà quindi le istruzioni presenti nel ciclo almeno per una volta. Infatti, come si vede dalla sintassi, il controllo della condizione viene eseguito al termine di ogni loop.
CICLO DO-WHILE LINGUAGGIO C Vediamo quindi come è possibile realizzare il programma sopra citato utilizzando appunto il ciclo do-while.
CICLO DO-WHILE LINGUAGGIO C #include <stdio.h> int main() { int numero; do { printf("Prova ad indovinare il numero: "); scanf("%i", &numero); if (numero == 4) printf(“Congratulazioni! Hai indovinato!”); else printf("Mi dispiace hai sbagliato, riprova!"); } while (numero != 4); system("pause"); }
ESERCIZI CICLO DO-WHILE IN C Esercizio 1 Si scriva un programma in linguaggio C che visualizzi tutti i numeri pari compresi tra 1 e 23;
ESERCIZI CICLO DO-WHILE IN C Esercizio 1 - Soluzione #include <stdio.h> int main () { int numero = 2; do { printf(“%i”, numero); numero = numero + 2; } while (numero < 23); printf(“Fine del Programma!”); }
ESERCIZI CICLO DO-WHILE IN C Esercizio 2 Scrivere un programma che acquisisce dall’utente due numeri interi, quindi chiede di inserire la loro somma. Fino a quando l’utente non inserisce la somma corretta, il programma stampa la frase “Errato: riprova” e ripete l’acquisizione; appena l’utente inserisce la somma corretta, il programma stampa la parola “Bravo” e termina.
ESERCIZI CICLO DO-WHILE IN C Esercizio 2 - Soluzione #include <stdio.h> int main () { int a, b, s, s2; printf(“Inserisci il primo numero: "); scanf("%i", &a); printf(“Inserisci il secondo numero: "); scanf("%i", &b); do { printf(“Inserisci la somma dei 2 numeri: "); scanf("%i", &s); s2 = a + b; if (s == s2) printf(“Bravo!"); else printf(“Errato, riprova"); } while (s != s2); printf(“Fine del Programma!”); }