La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Iterazioni con controllo in testa:

Presentazioni simili


Presentazione sul tema: "Iterazioni con controllo in testa:"— Transcript della presentazione:

1 Iterazioni con controllo in testa:
algoritmi notevoli ed esercizi classici

2 Esercizio Dati due valori interi positivi calcolarne il prodotto supponendo che l’esecutore non abbia a disposizione l’operatore di moltiplicazione né quello per effettuare la divisione

3 Prodotto di due interi positivi due valori interi positivi
esercizio: Prodotto di due interi positivi Analisi del problema: DATI DI INPUT due valori interi positivi DATI DI OUTPUT prodotto

4 Prodotto di due interi positivi
esercizio: Prodotto di due interi positivi Analisi del problema: Schema dati Identificatore Descrizione Var/Cost Tipo a Primo fattore VAR Num b Secondo fattore prodotto Prodotto di a e b cont contatore Schema variabili Identificatore input output lavoro a X b prodotto cont

5 Prodotto di due interi positivi Algoritmo risolutivo:
esercizio: Prodotto di due interi positivi Algoritmo risolutivo: Inizio #include <iostream.h> int main() { int a,b; // fattori VAR Input int cont; // contatore int prodotto; // Var output cin>>a; cin>>b; prodotto=0; cont=0; while (cont<b) { prodotto=prodotto+a; cont=cont+1; } cout<<prodotto; return 0; } I a I b prodotto  0 cont  0 cont < b F V prodottoprodotto + a cont  cont + 1 O prodotto Fine

6 Prodotto di due interi positivi Fate la tabella di traccia!!!
esercizio: Prodotto di due interi positivi Fate la tabella di traccia!!!

7 Prodotto di due interi positivi: TRACE
esercizio: Prodotto di due interi positivi: TRACE { int a,b; // fattori VAR Input int cont; // contatore int prodotto; // Var output 1 cin>>a; 2 cin>>b; 3 prodotto=0; 4 cont=0; 5 while (cont<b) { prodotto=prodotto+a; cont=cont+1; } 8 cout<<prodotto; 9 return 0; } N° istr a b cont prodot ? video 1 3 2 4 5 V 6 7 F 8 9

8 Decrementiamo il contatore!
esercizio: Prodotto di due interi positivi Altra soluzione equivalente: Decrementiamo il contatore!

9 Prodotto di due interi positivi Algoritmo risolutivo:
esercizio: Prodotto di due interi positivi Algoritmo risolutivo: Inizio #include <iostream.h> int main() { int a,b; // fattori VAR Input int cont; // contatore int prodotto; // Var output cin>>a; cin>>b; prodotto=0; cont=b; while (cont>0) { prodotto=prodotto+a; cont=cont-1; } cout<<prodotto; return 0; } I a I b prodotto  0 cont  b cont > 0 F V prodottoprodotto + a cont  cont - 1 O prodotto Fine

10 Prodotto di due interi positivi
esercizio: Prodotto di due interi positivi E se fosse a=0? E se fosse b=0?

11 Esercizio Dati due valori interi positivi calcolarne il quoziente ed il resto supponendo che l’esecutore non abbia a disposizione l’operatore di moltiplicazione né quello per effettuare la divisione

12 Divisione fra due interi positivi due valori interi positivi
esercizio: Divisione fra due interi positivi Analisi del problema: DATI DI INPUT due valori interi positivi quoziente, resto DATI DI OUTPUT

13 Prodotto di due interi positivi
esercizio: Prodotto di due interi positivi Analisi del problema: Schema dati Identificatore Descrizione Var/Cost Tipo a dividendo VAR Num b divisore quoz quoziente di a e b (contatore) resto Resto della divisione Schema variabili Identificatore input output lavoro a X b quoz resto

14 Divisione fra due interi positivi Algoritmo risolutivo:
esercizio: Divisione fra due interi positivi Inizio Algoritmo risolutivo: #include <iostream.h> int main() { int a,b; // VAR Input int quoz; // contatore var out int resto; // Var output cin>>a; cin>>b; resto=a; quoz=0; while (resto>=b) { resto = resto - b; quoz = quoz + 1; } cout<<quoz; cout<<resto; return 0; } I Leggi(a) I Leggi(b) resto  a quoz  0 resto >= b F V restoresto - b quoz  quoz +1 O Scrivi(quoz) O Scrivi(resto) Fine

15 Prodotto di due interi positivi Fate la tabella di traccia!!!
esercizio: Prodotto di due interi positivi Fate la tabella di traccia!!!


Scaricare ppt "Iterazioni con controllo in testa:"

Presentazioni simili


Annunci Google