Iterazione while – do while - for.

Slides:



Advertisements
Presentazioni simili
Programma: main() { istruzioni } ; assegnazione condizione ciclo istruzione: ;
Advertisements

Informatica 22/03/2012.
Calcolo del minimo comune multiplo (m.c.m.) Luigi Sante
Puntatori in C e C++.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità F2 Selezione.
Iterazione A. Ferrari.
Linguaggio C++ Selezione.
Struttura di un programma
Selezione A. Ferrari.
Linguaggio C++ Operatori – numeri pseudocasuali - costanti.
Numeri casuali.
Procedure e funzioni In linguaggio C.
3TC – 5/11/2010 Cicli while e do.. While Contatori e Totalizzatori.
Generazione di numeri casuali in Dev C++
Sviluppo di programmi strutturati
I DATI LE ISTRUZIONI LE STRUTTURE FONDAMENTALI
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità F3 Iterazione.
Universita di Camerino
MATLAB.
Le funzioni.
INFORMATICA Strutture iterative
Iterazione enumerativa (for)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 20 Marzo 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
1 Corso di Informatica (Programmazione) Lezione 11 (19 novembre 2008) Programmazione in Java: controllo del flusso (iterazione)
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Introduzione alla programmazione lll
ITERAZIONE e RICORSIONE (eseguire uno stesso calcolo ripetutamente) ITERAZIONE: ripetere piu volte una sequenza di operazioni istruzioni: for, while, do.
Fondamenti di Informatica I a.a Il linguaggio C Il controllo di flusso La selezione condizionale Listruzione switch I cicli Le istruzioni break,
ITERAZIONE e RICORSIONE (eseguire uno stesso calcolo ripetutamente)
Istruzioni di ripetizione in Java
Istruzioni Iterative Nicola Fanizzi
CODIFICA Da flow-chart a C++.
Università degli Studi di BresciaA.A. 2012/2013 Fondamenti di Programmazione Docente: Alessandro SaettiA.A. 2012/2013 Università degli Studi di Brescia.
Lezione 6 Strutture di controllo Il condizionale
Cicli in Fortran I cicli consentono di eseguire una sequenza di istruzioni più di una volta due tipi: Cicli iterativi Cicli while.
Programmazione di Calcolatori
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
void binario(int n); …………………
Creazione progetto in C++/DEV
Massimo Comun Divisore
Lo sviluppo top down Le funzioni
BIOINFO3 - Lezione 221 Listruzione IF-ELSE prevede un secondo blocco di istruzioni da eseguire in alternativa al primo nel caso la condizione sia falsa.
Capitolo 4 (Deitel) Le strutture di controllo in C
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
Programmazione Strutturata
Anno accademico Le istruzioni di controllo in C.
L’iterazione while La sintassi è la seguente: while (condizione) {
Ripetizione La vera potenza dei programmi per computer risiede nella capacità di ripetere lo stesso calcolo o sequenza di istruzioni più volte, ogni volta.
TURBOPASCAL L’iterazione - prof. V. Riboldi -.
Il ciclo while.  Permette di ripetere un blocco di istruzioni fino a quando non si verifica un determinato evento  Il ciclo while può essere realizzato.
Corso JAVA Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques”
R 255 G 211 B 8 R 255 G 175 B 0 R 127 G 16 B 162 R 163 G 166 B 173 R 104 G 113 B 122 R 234 G 234 B 234 R 175 G 0 B 51 R 0 G 0 B 0 R 255 G 255 B 255 Supporting.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 26 Marzo 2014.
Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
L’ordinamento per Selezione seleziona l’elemento con valore maggiore e lo scambia con il primo elemento del vettore. Tra gli N-1 elementi rimanenti viene.
C++:Strutture di Controllo
Diagrammi a blocchi.
Informatica 4 La ricorsione. Definizione di ricorsione Ricorsione è la proprietà di quei programmi che, all’interno delle istruzioni che li compongono,
Copyright © Istituto Italiano Edizioni Atlas
Strutture di controllo
© 2007 SEI-Società Editrice Internazionale, Apogeo
CICLO DO – WHILE LINGUAGGIO C.
© 2007 SEI-Società Editrice Internazionale, Apogeo
Operatori – numeri pseudocasuali - costanti
Transcript della presentazione:

Iterazione while – do while - for

Iterazione Due tipi di iterazione: L’iterazione è una struttura che consente di ripetere più volte l’esecuzione di un insieme di istruzioni. Due tipi di iterazione: iterazioni enumerative: consentono di eseguire un blocco di istruzioni un numero predefinito di volte. iterazioni guidate da eventi: non è noto a priori quante volte saranno eseguite. Tutto dipende dal fatto che un certo evento si verifichi o meno; se una condizione è vera (o è ancora vera) il blocco viene eseguito, altrimenti si passa all’istruzione successiva al termine del blocco.

Iterazione postcondizionale L’iterazione postcondizionale è quella fondamentale, infatti tutte le altre possono essere definite a partire da questa. La logica è quella di eseguire, almeno una volta, il blocco delle istruzioni che fanno parte dell’iterazione, verificare alla fine una condizione e ripetere il blocco iterativo fintanto che la condizione risulti vera. Sono soddisfatti i requisiti della programmazione strutturata: un solo punto d’ingresso e un solo punto d’uscita.

Il ciclo do … while Sintassi: do <istruzione> while (<espressione>); L’istruzione continua a essere eseguita fintanto che <espressione> risulta vera. Nel caso, molto frequente, in cui il corpo del ciclo sia costituito da più istruzioni, si utilizza una coppia di parentesi graffe per racchiudere l’insieme delle istruzioni che fanno parte del ciclo. { <istruzione1>; <istruzione2>; … <istruzioneN>; } while (<espressione>);

Esercizio 1 – Iterazione guidata da eventi Scrivere un programma che richiede in input un numero intero e lo continua a richiedere finchè non viene inserito un numero pari.

Esercizio 1 – Soluzione 1 /* * Richiede in input un valore intero pari * poi lo visualizza */ #include <iostream> using namespace std; int main() { int valore; cout<<"Inserisci un numero pari "; do cin>>valore; while ((valore%2)!=0); cout<<endl<<valore<<" e' un numero pari"<<endl; system ("pause"); return 0; }

Esercizio 1 – Soluzione 2 #include <iostream> using namespace std; int main() { int valore; do cout<<"Inserisci un numero pari "; cin>>valore; } while ((valore%2)!=0); cout<<endl<<valore<<" e' un numero pari"<<endl; system ("pause"); return 0;

Esercizio 1 – Soluzione 3 #include <iostream> using namespace std; int main() { int valore; cout<<"Inserisci un numero pari "; do cin>>valore; if ((valore%2)!=0) cout<<"Attenzione il numero inserito non e' pari. Inserirlo nuovamente "; } while ((valore%2)!=0); cout<<endl<<valore<<" e' un numero pari"<<endl; system ("pause"); return 0;

Esercizio 2 – Iterazione enumerativa Realizza un programma che determini la potenza intera di un numero utilizzando soltanto l’operatore prodotto. Il valore della potenza (l’esponente) e il numero (la base) sono immessi dall’utente.

Esercizio 2 – Soluzione #include <iostream> using namespace std; int main() { int base,esponente,potenza; int contatore; // conta quante volte viene eseguito il ciclo cout<<"Inserisci la base “; cin>>base; cout<<"Inserisci l' esponente “; cin>>esponente; potenza = 1; // inizializzazione della potenza contatore = 0; // inizializzazione del contatore (il ciclo è stato eseguito 0 volte) do potenza = potenza * base; contatore = contatore + 1; // incremento del contatore (aumenta ogni volta che viene eseguito il ciclo) } while (contatore<esponente); // controllo di fine ciclo cout<<base<<" elevato a "<<esponente<<" = "<<potenza<<endl;

Iterazione precondizionale Le iterazioni precondizionali hanno la condizione in testa al ciclo. La logica è quella di verificare una condizione e continuare a eseguire il blocco delle istruzioni che fanno parte dell’iterazione fintanto che questa risulti vera. Il blocco di istruzioni può, nel caso in cui la condizione risulti subito falsa, non essere mai eseguito.

Il ciclo while Il linguaggio C mette a disposizione il ciclo while while (<espressione>) <istruzione>; L’istruzione continua a essere eseguita fino a quando <espressione> risulta vera. Nel caso, molto frequente, in cui il corpo del ciclo è costituito da più istruzioni, si utilizza una coppia di parentesi graffe per racchiudere l’insieme delle istruzioni che fanno parte del ciclo

Esempio while /* * Richiede in input un valore intero pari * poi lo visualizza */ #include <iostream> using namespace std; int main() { int valore; cout<<"Inserisci un numero pari "; cin>>valore; while ((valore%2)!=0) cout<<endl<<valore<<" e' un numero pari"<<endl; system ("pause"); return 0; }

Esempio while - 2 /* * Richiede in input un valore intero pari * poi lo visualizza */ #include <iostream> using namespace std; int main() { int valore; cout<<"Inserisci un numero pari "; cin>>valore; while ((valore%2)!=0) cout<<"Attenzione il numero inserito non e' pari. Inserirlo nuovamente "; } cout<<endl<<valore<<" e' un numero pari"<<endl; system ("pause"); return 0;

/* Riceve come dato d'ingresso una sequenza di numeri terminante per 0, i numeri sono al massimo 100, * non è conosciuta a priori la lunghezza della sequenza. * Visualizza il valore del numero maggiore e di quello minore.*/ … int main() { int num; // valore ricevuto in input int min; // valore minimo int max; // valore massimo int cont; // conta il numero dei valori ricevuti in input // Inserimento del primo valore cout<<"Inserire un valore : "; cin>>num; // Inizializzazioni cont=1; // un valore ricevuto min=num; // il minimo è per il momento il primo valore max=num; // il massimo è per il momento il primo valore while ((num!=0)&&(cont<100)) cont++; // ho ricevuto un altro valore if (num<min) min=num; // ho trovato un nuovo minimo if (num>max) max=num; // ho trovato un nuovo massimo } cout<<"Il valore minimo e' "<<min<<endl; cout<<"Il valore massimo e' "<<max<<endl;

Il ciclo for Ogni linguaggio presenta uno o più costrutti di programmazione per implementare le iterazioni enumerative Il C fornisce il ciclo for che, in realtà, è un costrutto molto potente e può essere utilizzato per qualsiasi tipo di iterazione. Per semplicità, lo utilizzeremo solo per implementare iterazioni enumerative.

Sintassi

Esempio // visualizza giorni di gennaio int giorno; for (giorno=1; giorno<=31; giorno++) cout<<giorno; // potenze del 2 int esponente, potenza; potenza=1; for (esponente=1; esponente<=10; esponente++) { potenza=potenza*2; cout<<“2 alla “<<esponente<<“ = “<<potenza<<endl; }

Esercizi Rivedere tutti gli esercizi sull’iterazione assegnati e utilizzare in ognuno il tipo di ciclo più appropriato