iterazioneciclo-programmer

Validazione dei dati : ogni dato deve essere validato affinchè non si verifichino situazioni per le quali non si hanno segni di errore in fase di compilazione nè di esecuzione ma il programma emette dei dati di output completamente sbagliati o non voluti dall’utente. Per fare un esempio pratico, se si vuole calcolare la misura di circonferenza dato un raggio in input, si deve per forza di cose validare il suddetto dato, in modo tale che non sia nè zero nè negativo, altrimenti verrebbe una circonferenza con misura nulla o addirittura con misura negativa, il che è impossibile.

Costrutto iterazione while-do

Tale costrutto è in grado di formare un ciclo continuo nel caso il dato in input non rispetta la condizione immessa dall’utente.

while (condizione)
{
Blocco di istruzioni
}

Ripete il blocco di istruzioni 0 o più volte fin quando la condizione è verificata.

ESERCIZIO DI ESEMPIO ( Validare un numero inserito in input, che deve essere compreso tra 1 e 7 )

int x ;

cout << ” Inserire il numero ⇒ “;  cin >> x ;

while ( x<1 | | x>7 )

cout<< ” Riprova! “<<endl; }

Costrutto di iterazione do-while 

Tale costrutto fa lo stesso lavoro dell’iterazione precedente ma ha una caratteristica in più: a differenza del while-do, il blocco di istruzioni in questo caso verrà ripetuto almeno una volta.

do
{
Blocco di istruzioni
}
while (condizione);

Provare ad impemetare un codice che equivalentemente risolva lo stesso probelama precedente ma con tale costrutto.

Costrutto di iterazione For

for (prologo;condizione;continuazione)
{
Blocco di istruzioni
}
Equivalente a:
prologo;
while (condizione)
{
Blocco di istruzioni
continuazione;  }

Tale costrutto effettua un ciclo tramite tre azioni principali:

  1. Prologo ⇒ si sceglie il parametro iniziale e da dove iniziale.
  2. Condizione ⇒ si sceglie la condizione che deve rispettare il parametro iniziale affinchè possa essere ripetuto il ciclo.
  3. Continuazione ⇒quello che il programma compie nel momento in cui compie un giro completo.

ESEMPIO DI ESERCIZIO ( Implemenatre un codice che, dato un numero intero in input compreso tra 0 e 10, restituisca l’equivalente tabellina a video )

#include <iostream>
using namespace std;

int main () {

int x ;

do {

cout<<” Inerisci il numero –> (compreso tra 0 e 10 ) “;  cin>>x;
if ( x<0 | | x >10 )
cout << ” Numero non ammesso  ” << endl;

} while ( x <0 | | x >10 );

cout<<” Tabellina stampata a video ” <<endl;
cout<< endl;

for (int i=0;i<=10;i++) {

cout<< x <<” per “<< i <<” fa ⇒ “<< x*i <<endl; }

system(“pause”);
return 0;
}

Come già scritto in precedenza tale costrutto può essere sostituito con uno dei primi descritti poc’anzi.

ESERCIZI AVANZATI ( Si provi ad implementare un codice che, dato un dato in input, ovvero un numero compreso tra 1 e 10, in già scritto prima istanza scelto dall’utente e poi calcolato dalla macchina in modo casuale, e fare in modo che chi esegue il programma debba indovinare il suddetto numero entro tentativi prestabili. Per il calcolo del numero pseudo-casuale si iplementi la funzione che si trova nell’esercizio (srand) e si inseriscano le librerie <ctime> e <stdlib.h>.

clicca Esercizio 4 per visualizzare il programma scritto in C++ ( è possibile copiarlo sul DevCpp ) 

clicca Esercizio 5 numero celto dall’utente per visualizzare il programma scritto in C++ ( è possibile copiarlo sul DevCpp ) 

clicca Esercizio 5 numero pseudo casuale per visualizzare il programma scritto in C++ ( è possibile copiarlo sul DevCpp )