Upload
amedea-franchi
View
230
Download
5
Embed Size (px)
Citation preview
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Costrutti iterativiCostrutti iterativi
Marco D. Santambrogio – [email protected]. aggiornata al 20 Ottobre 2014
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
ObiettiviObiettivi
• Costrutti iterativi do.. while While for
2
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Problema: caratteri Problema: caratteri MaIuScOliMaIuScOli
• Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo
3
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
MaiuscoloMaiuscolo: : codice codice ottimizzatoottimizzato
4
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Problema: caratteri Problema: caratteri MaIuScOliMaIuScOli
• Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo Si continui a chiedere l’inserimento
del carattere, fino a quando questo non è corretto
5
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Pseudocodice V1Pseudocodice V1
• Dati L’insieme dei caratteri ammissibili
{a, b, c, …, z}
1.Richiedere l’inserimento di un carattere
2.Se carattere inserito correttoA.Allora stampa a video carattere-32
3.AltrimentiA.stampa a video un messaggio di erroreB.ritorna ad 1
6
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Pseudocodice V2Pseudocodice V2
• Dati L’insieme dei caratteri ammissibili
{a, b, c, …, z}
1.Richiedere l’inserimento di un carattere
2.Finchè carattere inserito !corretto torna ad 1
3.Stampa a video carattere-32
7
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
MaIuScOli: codice V2MaIuScOli: codice V2
8
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
MaIuScOli: codice V2MaIuScOli: codice V2
9
ATTENZIONE!!!2. Finchè carattere inserito !corretto
Identifica il carattere CORRETTO!
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
MaIuScOli: codice correttoMaIuScOli: codice corretto
10
1.Richiedere l’inserimento di un carattere2.Finchè carattere inserito !corretto torna ad 1
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
MaIuScOli: codice correttoMaIuScOli: codice corretto
11
1.Richiedere l’inserimento di un carattere2.Finchè carattere inserito !corretto torna ad 1
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
MaIuScOli: codice correttoMaIuScOli: codice corretto
12
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
13
• Itera l’esecuzione di una istruzione finché una certa condizione è vera
int a, b;scanf("%d%d", &a, &b);while ( b > 0 ) {
a = a + a;--b;
}printf ("Il valore di a ora è %d", a);
Come traduco il Come traduco il finchéfinché? ? WHILEWHILE
condizione di PERMANENZA nel ciclo
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
14
• Itera l’esecuzione di una istruzione fintantoché una certa condizione è vera
int a, b;scanf("%d%d", &a, &b);while ( b > 0 ) {
a = a + a;--b;
}printf ("Il valore di a ora è %d", a);
Che cosa calcola?
la funzione f(a,b) =a*2b se b>0
a se b≤0
Il ciclo (loop) whileIl ciclo (loop) while
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Il maggiore tra N numeriIl maggiore tra N numeri
• Problema Trovare il maggiore tra N numeri positivi
inseriti da tastiera
• Soluzione Conoscere N Richiedere l’inserimento degli N valori Ricerca del maggiore tra gli N valori
15
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Il maggioreIl maggiore: codice: codice
16
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Il maggiore tra N numeri: Il maggiore tra N numeri: osservazioneosservazione
Osservazione: Perchè usare un while se conosco il numero di iterazioni del cliclo?
17
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Il maggioreIl maggiore: zoom sul : zoom sul codicecodice
18
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
19
cont = 0;while (cont < N) {
…;…;cont++;
}for (cont = 0; cont < N; cont++) {
…;…;
}
Il ciclo Il ciclo forfor
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
20
ATTENZIONE
Il ciclo forIl ciclo for
for ( exp.A; cond; exp.I ) {ist.1;...ist.N;
}
exp.A;while ( cond )
{ist.1;...ist.N;exp.I;
}
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Il maggiore – for Il maggiore – for : codice: codice
21
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Il maggiore – Il maggiore – while Vs forwhile Vs for
22
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Ora dovrebbe essere Ora dovrebbe essere chiara…chiara…
23
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Problemi di fine giornata…Problemi di fine giornata…
• Modificare gli esercizi di oggi, andando, dove necessario, ad inserire il controllo sugli ingressi
• Trovare il maggiore tra N numeri positivi inseriti da tastiera (richiedendo il numero se negativo)
• Dati N numeri, dire se questi sono tutti positivi
• Dati N numeri, riportarne a video il modulo
24
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Fonti per lo studio + Fonti per lo studio + CreditsCredits• Fonti per lo studio
Informatica arte e mestiere, S. Ceri, D. Mandrioli, L. Sbattella, McGrawHill• Capitolo 6
• Credits
Daniele Braga - http://home.dei.polimi.it/braga/