3E Sia: C++ - i cicli - For, While (pre condizionale) e Do (post condizionale) - primi esercizi
IL CICLO WHILE
In C++ per compiere delle iterazioni, cioè dei cicli che ripetono più volte lo stesso blocco di istruzioni, si possono utilizzare 3 strutture iterative differenti: while, do...while, for.Il ciclo while ha la seguente sintassi:
while(condizione){
blocco_istruzioni
}
Esso ripete il blocco di istruzioni all'interno delle parentesi graffe finchè la condizione rimane vera (diversa da 0). Se la condizione diventa falsa, il programma esce dal ciclo e prosegue con le istruzioni successive.
IL CICLO DO...WHILE
Il ciclo do...while è molto simile al while, con l'unica differenza che controlla il valore della condizione dopo aver effettuato ogni ciclo, e non prima.La sua sintassi è:
do {
blocco_istruzioni
}
while(condizione)
A differenza del ciclo while, in cui se la condizione era falsa dal principio il ciclo veniva direttamente saltato, nel do...while il blocco di istruzioni viene eseguito sempre almeno una volta, in quanto la condizione viene verificata solo dopo aver eseguito il ciclo.
IL CICLO FOR
Il ciclo for ripete un certo blocco di istruzioni un numero di volte definito in parte dal programmatore. Esso ha bisogno di un contatore, cioè di una variabile, che viene inizializzato all'interno del ciclo stesso e poi incrementato o decrementato a ogni nuovo ciclo finchè la condizione espressa rimane vera.La sua sintassi è la seguente:
for(tipo_variabile identificatore = val_iniziale; condizione; incremento/decremento){
blocco_istruzioni
}
Questo ciclo inizializzerà la variabile contatore alla prima entrata nel ciclo, dopodichè eseguirà il blocco di istruzioni, incrementerà o decrementerà il contatore e verificherà la condizione. Se la condizione rimane vera il programma entrerà di nuovo nel ciclo, altrimenti salterà il ciclo e continuerà a svolgere le istruzioni successive.
PROBLEMA:
Scrivere un programma che legge 10 numeri interi inseriti da tastiera e li somma dopo averli letti tutti e 10 o dopo che è stato inserito il numero 0.
ANALISI:
Il programma inizia con la lettura dei 10 numeri da tastiera. Per far questo utilizziamo un ciclo for che legge i 10 numeri che di volta in volta verranno inseriti in una variabile e poi sommati alla variabile somma. All'interno di ogni ciclo verrà effettuata anche una selezione semplice che controlla se il numero inserito è uguale a 0. In caso affermativo al contatore del ciclo viene assegnato il valore 10 in modo che il programma esca dal ciclo for e comunichi subito la somma.
VARIABILI UTILIZZATE:
int num: Contiene il numero inserto di volta in volta
int somma: Contiene la somma aggiornata di volta in volta aggiungendo il numero contenuto in "num"
int x: Variabile contatore utilizzata all'interno del ciclo for
/*
Programma che legge 10 numeri e ne restituisce la somma dopo averli letti o quando viene inserito il numero 0
*/
#include <iostream.h> //Dichiarazione della libreria "iostream.h"
void main(){ //Inizio della funzione principale
int num, somma=0; //Dichiarazione delle variabili
for (int x=1; x<11; x++){ //Inizio del ciclo for che legge i 10 numeri da tastiera
cout<<"Inserire il "<<x<<"° numero: ";
cin>>num; //Legge il numero da tastiera
if (num==0){ //se il numero è 0...
x=10; //...esce dal programma facendo diventare la condizione (x<10) falsa
}
else{ //altrimenti aggiunge il numero alla somma
somma+=num;
}
}
cout<<"La somma dei numeri inseriti è: "<<somma<<"\n";
}
esercizi: http://paololatella.blogspot.it/2014/11/elenco-degli-esercizi-in-c.html
fonte: http://www.devlabs.altervista.org/C++/esercizi/Esercizi.htm
Commenti
Posta un commento