L’iterazione while La sintassi è la seguente: while (condizione) { blocco istruzione } Il blocco...
-
Upload
pierina-ferri -
Category
Documents
-
view
213 -
download
0
Transcript of L’iterazione while La sintassi è la seguente: while (condizione) { blocco istruzione } Il blocco...
L’iterazione while
La sintassi è la seguente:while (condizione){ blocco istruzione}Il blocco di istruzione viene ripetuto fino a quando la condizione risulta veraQuante volte viene ripetuto il ciclo?
L’iterazione while
Quante volte viene ripetuto il ciclo?
Questo dipende da come viene espressa la condizione e la modalità di modificarne il valore di veritàVi sono dei cicli che non vengono mai eseguiti
nel caso la condizione risulta falsa al primo test
EsempioInt a=0While (a<0){ cout <<a;}
L’iterazione while
Quante volte viene ripetuto il ciclo?
Vi sono dei cicli che non terminano mainel caso la condizione risulta sempre vera
EsempioInt a=0;While (a==0){ cout <<a;}
L’iterazione while
Quante volte viene ripetuto il ciclo?
Vi sono dei cicli di cui possiamo dire quante volte vengono eseguitinel caso la condizione ha un valore iniziale e un valore finale
EsempioInt a=0;While (a<10){ cout <<a; a++;}
Il ciclo verrà eseguito esattamente 10 volte
L’iterazione while
Quante volte viene ripetuto il ciclo?
Vi sono dei cicli che non possiamo prevedere quante volte vengono eseguiti
nel caso la condizione diventa falsa al verificarsi di un certo evento che non possiamo prevedere
Esempio
while(!kbhit());
Int ,n,a=0;While (a<100){ cin>>n; a=a+n;}cout<<a;
L’iterazione do… whileViene definito con controllo in coda perché prima esegue il blocco di istruzione e poi valuta se lo deve ripetere:
La sintassi è la seguente:do{ blocco _struzione}while (condizione);
Il blocco di istruzione viene ripetuto fino a quando la condizione risulta veraQuante volte viene ripetuto il ciclo? la risposta è almeno una voltaIl numero preciso dipende da come viene posta la condizione secondo i criteri visti per il WhileCon il do…while non si può implementare il caso che il ciclo non venga mai eseguito.
L’iterazione
In realtà si può affermare che ogni ciclo while si può tradurre in un ciclo do..while e viceversa, con opportuni accorgimenti
Vediamo alcuni esempi:
L’iterazione
Int a=0;While (a<10){ cout <<a; a++;}
Int a=0;do{ cout <<a; a++;}While (a<10);
Vediamo alcuni esempi dell’uso del While
Per esercizio
Provate a capire quali problemi risolvono e scrivete una possibile
consegna o traccia
Poi risolvete i problemi proposti alla fine della dispensa
int main() {
int i = 32; char c ;
while (i < 127) {
c = i;
cout << c << '\t';
if ((i % 10) == 2)
cout << endl;
i ++;
}
system("pause");
return 0;
}
int main() {
int a, b;
cout << "DAI IL PRIMO NUMERO: ";
cin >> a;
cout << "DAI IL SECONDO NUMERO: ";
cin >> b;
int ma = a, mb = b;
while (ma != mb) {
if (ma < mb)
ma = ma + a;
Else
mb = mb + b;
}
cout << "IL M.C.M. DI " << a << " E " << b << " E': " << ma << endl;system("pause"); return 0; }
int main() {
float somma = 0;
int x; contatore = 0;
cout << "Inserisci sequenza di interi terminata da numero negativo" << endl; cin >> x;
while (x >= 0) {
somma += x;
contatore + +;
cin >> x;
}
if (contatore == 0) // E' stato immesso subito un numero negativo.
cout << "la media non e' definita!" << endl;
else
cout << "la media e' " << somma / contatore << endl;
return 0; }
int main() {
int n,i=1, fatt = 1;
do {
cout << "Immetti il numero ( >=0 ): "; cin >> n;
} while (n < 0);
while( i<= n) {
fatt = fatt*i;
i++;
}
cout << "Il fattoriale di " << n << " e' " << fatt << endl;
return 0;
}
int main() {
int n, m,resto;
cout <<"Inserisci i due numeri interi:" << endl;
cin >> n >> m;
resto = m;
while (resto != 0) {
resto = n % m;
n = m;
m = resto;
}
cout <<"il M.C.D. e' " << abs(n) << endl;
return 0;
}
int main() {
char c;
int vocali_minusc = 0;
cout << "Inserisci sequenza di caratteri terminata da .'" << endl;
do {
cin>>c;
if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u')
vocali_minusc++;
} while (c != ‘.');
cout << "La sequenza data contiene " << vocali_minusc << " vocali minuscole" << endl;
return 0;
}
Scrivere un programma C++ che1. sommare i primi n numeri2. Visualizzare i primi n numeri pari3. Visualizzare i primi n numeri dispari4. dato in input n sommare gli n numeri inseriti da tastiera 5. calcolare la media di n numeri dati in input da tastiera6. verificare se un numero è primo esso primo se non ammette un divisore diverso
da 1 e se stesso7. Visualizzare i primi n numeri della serie di Fibonacci la serie è la seguente 0 1 1
2 3 5 8 13 21 …. Ogni numero è dato dalla somma dei due che lo precedono tranne per i primi due che sono fissi
8. indovinare un numero tra 1 e 20 in tre tentativi9. calcolare a elevato a b come prodotto ripetuto:Per b=0 il risultato r è 1
altrimenti è r=a; e r=r*a per b-1 volte10.Dato in input n calcolare n! è il prodotto dei numeri che vanno da 1 a n0!= 1 n!=n*n-1*n-2*…*3*2*1