Iterazioni (for, do, while)
Lab.Calc. AA2005/062 Iterazioni 3 istruzioni che consentono di eseguire un loop (ciclo): 1. while 2. do...while 3. for con alcune differenze non solo sintattiche…
Lab.Calc. AA2005/063 Sintassi di while while (espressione) istruzione dove espressione è una qualsiasi espressione C++ e istruzione può essere una singola istruzione o una sequenza di istruzioni racchiusa tra { e }.
Lab.Calc. AA2005/064 Semantica di while Nell esecuzione di un'istruzione while viene 1.Valutata l'espressione espressione –Se non è nulla si esegue l'istruzione –Se è nulla si passa alle istruzioni successive al ciclo while 2.Si torna al punto 1
Lab.Calc. AA2005/065 Confronto tra if e while espressione if
Lab.Calc. AA2005/066 Confronto tra if e while espressione ifwhile
Lab.Calc. AA2005/067 Confronto tra if e while espressione ifwhile falsa
Lab.Calc. AA2005/068 Confronto tra if e while espressione ifwhile falsa
Lab.Calc. AA2005/069 Confronto tra if e while espressione istruzione espressione ifwhile falsaverafalsa
Lab.Calc. AA2005/0610 Confronto tra if e while espressione istruzione espressione istruzione ifwhile falsavera falsa
Lab.Calc. AA2005/0611 Confronto tra if e while espressione istruzione espressione istruzione ifwhile falsavera falsa
Lab.Calc. AA2005/0612 Confronto tra if e while espressione istruzione espressione istruzione ifwhile falsavera falsa
Lab.Calc. AA2005/0613 Confronto tra if e while while è un if insistente!
Lab.Calc. AA2005/0614 Esempio 1 di uso di while int contatore = 0; int somma = 0; while(contatore <= 25){ somma = somma + contatore; contatore = contatore + 1; }
Lab.Calc. AA2005/0615 double somma= 0; int contatore =0; while(1){ // sempre vero! if (contatore > 25) break; // esce somma = somma + contatore; contatore++; } Esempio 2 di uso di while
Lab.Calc. AA2005/0616 Sintassi di do...while do istruzione while (espressione) dove espressione è una qualsiasi espressione C++ e istruzione può essere una singola istruzione o una sequenza di istruzioni racchiusa tra { e }.
Lab.Calc. AA2005/0617 Semantica di do...while Nell esecuzione di un'istruzione do...while viene 1.Eseguita l'istruzione 2.Valutata l'espressione tra parentesi: –Se non è nulla si torna al punto 1 –Se è nulla si passa alle istruzioni successive al do...while
Lab.Calc. AA2005/0618 Confronto tra while e do...while espressione istruzione espressione istruzione while do... while falsavera falsa
Lab.Calc. AA2005/0619 Confronto tra while e do...while do...while esegue sempre l'istruzione almeno una volta
Lab.Calc. AA2005/0620 Esempio 1 di uso di do...while do { cout << "Inserisci i tuoi anni " ; cin >> age; if(age <= 0) cout<<"Deve essere un numero positivo! "; } while(age <= 0);
Lab.Calc. AA2005/0621 Esempio 2 di uso di do...while #include #include // gestione di files int main( ) { double voto=0, somma=0; int num=0; // oggetto ifstream : file di input ifstream inFile= "voti.dat";
Lab.Calc. AA2005/0622 do { inFile >> voto; // inFile.eof( ) diverso da zero a fine file if(!inFile.eof( )) { somma = somma + voti; num++; } } while(!inFile.eof( ));
Lab.Calc. AA2005/0623 if(num) cout<< "voto medio ="<<sum/num<<endl; else cout<< "file vuoto"<<endl; return 1; } // chiude la parentesi del main
Lab.Calc. AA2005/0624 Sintassi di for for (espr1;espr2;espr3) istruzione dove espr1 espr2 e espr3 sono espressioni C++ e istruzione può essere una singola istruzione o una sequenza di istruzioni racchiusa tra { e }.
Lab.Calc. AA2005/0625 Semantica di for Nell esecuzione di un'istruzione for viene 1.Valutata l'espressione espr1 (di solito inizializzazione del contatore: esempio i=0) 2.Valutata l'espressione espr2 (di solito un test del contatore: esempio i<10) –Se non è nulla si esegue l'istruzione –Se è nulla si passa alle istruzioni successive al ciclo for 3.Valuata l'espressione espr3 (di solito un incremento o decremento del contatore, esempio i++ ) 4.Si torna al punto 2
Lab.Calc. AA2005/0626 Confronto tra while e for espressione istruzione espr1 istruzione while for falsavera falsa espr3 espr2
Lab.Calc. AA2005/0627 for (espr1;espr2;espr3) istruzione Si può riscrivere anche come espr1; while (espr2) { istruzione; espr3; } Confronto tra while e for
Lab.Calc. AA2005/0628 Esempio 1 di uso di for int sum=0; for (int i = 1; i <= n; i=i +1) sum = sum + i; cout << " La somma dei primi "<<n <<" interi vale "<<sum<<endl;
Lab.Calc. AA2005/0629 Esempio 2 di uso di for: calcolo del fattoriale int fattoriale=1; int n; cout << "inserisci n" << endl; cin << n; for(int i=1; i<=n; i++) { fattoriale *= i; } cout << "n!=" << fattoriale << endl;