Iterazioni controllo in testa algoritmi notevoli ed esercizi
- Slides: 15
Iterazioni controllo in testa: algoritmi notevoli ed esercizi classici
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
esercizio: Prodotto di due interi positivi Analisi del problema: DATI DI INPUT due valori interi positivi DATI DI OUTPUT prodotto
esercizio: Prodotto di due interi positivi Analisi del problema: Schema dati Identificatore Descrizione Var/Cost Tipo a Primo fattore VAR Num b Secondo fattore VAR Num prodotto Prodotto di a e b VAR Num contatore VAR Num cont Schema variabili Identificatore input a X b X prodotto cont output lavoro X X
esercizio: Prodotto di due interi positivi Algoritmo risolutivo: Inizio a I b int cont; // contatore prodotto 0 int prodotto; // Var output cin>>a; cont 0 cin>>b; F V prodotto + a cont + 1 prodotto O Fine int main() { int a, b; // fattori VAR Input I cont < b #include <iostream. h> prodotto=0; cont=0; while (cont<b) { prodotto=prodotto+a; cont=cont+1; } cout<<prodotto; return 0; }
esercizio: Prodotto di due interi positivi Fate la tabella di traccia!!!
esercizio: Prodotto di due interi positivi: TRACE { int a, b; // fattori VAR Input int cont; // contatore int prodotto; // Var output N° istr 1 1 cin>>a; 2 2 cin>>b; 3 3 prodotto=0; 4 4 cont=0; 5 5 while (cont<b) 6 { 6 prodotto=prodotto+a; 7 cont=cont+1; } 8 cout<<prodotto; 9 return 0; } 7 a b cont prodot 2 0 0 V 3 1 V 6 5 8 9 video 3 5 7 ? 6 2 F 6
esercizio: Prodotto di due interi positivi Altra soluzione equivalente: Decrementiamo il contatore!
esercizio: Prodotto di due interi positivi Algoritmo risolutivo: Inizio a I b int cont; // contatore prodotto 0 int prodotto; // Var output cin>>a; cont b cin>>b; F V prodotto + a cont - 1 prodotto O Fine int main() { int a, b; // fattori VAR Input I cont > 0 #include <iostream. h> prodotto=0; cont=b; while (cont>0) { prodotto=prodotto+a; cont=cont-1; } cout<<prodotto; return 0; }
esercizio: Prodotto di due interi positivi E se fosse a=0? E se fosse b=0?
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
esercizio: Divisione fra due interi positivi Analisi del problema: DATI DI INPUT due valori interi positivi DATI DI OUTPUT quoziente, resto
esercizio: Prodotto di due interi positivi Analisi del problema: Schema dati Identificatore Descrizione Var/Cost Tipo a dividendo VAR Num b divisore VAR Num quoziente di a e b (contatore) VAR Num resto Resto della divisione VAR Num Schema variabili Identificatore input a X b X output quoz X resto X lavoro
esercizio: Divisione fra due interi positivi Inizio Leggi(a) Leggi(b) I Algoritmo risolutivo: #include <iostream. h> I resto a quoz 0 resto >= b F V resto - b quoz +1 Scrivi(quoz) O Scrivi(resto) Fine O 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; }
esercizio: Prodotto di due interi positivi Fate la tabella di traccia!!!
- Frasi sulla testa dura
- Algoritmi notevoli
- Ricerca binaria c++
- Algoritmi notevoli
- Iterazioni
- Cubo del.binomio
- Classificazione dei triangoli rispetto agli angoli
- Circocentro triangolo scaleno
- Trinomio al quadrato
- Seno e coseno angoli noti
- Regole di derivazione
- Falso cubo di binomio
- Limiti notevoli
- Valori seno
- Luoghi geometrici notevoli
- Binomio al cubo