L'algoritmo

2,431 views

Published on

Published in: Education
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,431
On SlideShare
0
From Embeds
0
Number of Embeds
100
Actions
Shares
0
Downloads
72
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

L'algoritmo

  1. 1. L’algoritmo<br />Fondamenti <br />
  2. 2. Risolvere un problema <br />La risoluzione di un problema richiede necessariamente un procedimento che si sviluppa in due fasi:<br />Analisi<br /><ul><li>Esame del problema
  3. 3. Individuazione dell’obiettivo da raggiungere
  4. 4. Classificazione dei dati di partenza</li></ul>Progettazione<br />Individuazione delle possibili soluzioni del problema e individuazione della soluzione migliore<br />
  5. 5. Dal problema all’algoritmo<br />Mantengono sempre lo stesso valore<br />Elaborazionedell’algoritmo<br /><ul><li>Dati Costanti
  6. 6. Variabili
  7. 7. Soluzione 1
  8. 8. Soluzione 2
  9. 9. Soluzione 3 </li></ul>Soluzione<br />Problema<br />Obiettivo<br />Metodi di risoluzione che concatenano i dati del problema tramite operazioni logiche e/o di calcolo in modo da conseguire il risultato richiesto <br />Possono assumere valori diversi durante l’elaborazione<br />
  10. 10. Algoritmo<br />L’algoritmo è:<br />UNA SEQUENZA FINITA E ORDINATA DI AZIONI ELEMENTARI (UNIVOCAMENTE INTERPRETABILI) CHE DESCRIVONO LA SOLUZIONE FINALE DI UN PROBLEMA <br />
  11. 11. REQUISITI DELL’ALGORITMO<br />Finito – sequenza finita  risultato<br />Eseguibile – istruzioni che possono essere eseguite<br />Non ambiguo – interpretabile allo stesso modo <br />Generale – valido per una “classe “ di problemi <br />Deterministico – partendo dagli stessi dati porta sempre allo stesso risultato<br />Completo – deve considerare tutti i casi che si possono verificare durante l’esecuzione<br />
  12. 12. Ad esempio <br />?<br />Obiettivo<br />Problema<br />Selezionare i panni<br />Sequenza ordinata di istruzioni<br />Avviare la lavatrice <br />Metterli in lavatrice<br />Fare il bucato <br />Aggiungere il detersivo<br />Dato in uscita<br />Dato in ingresso<br />Panni lavati<br />Panni Sporchi<br />
  13. 13. Problema<br />Stampa il numero più grande tra 3 numeri<br />Soluzione in linguaggio “umano”<br />Inserisci i 3 numeri<br />Confronta N1 con N2<br />Se N1 è maggiore di N2 confronta N1 con N3 e stampa il maggiore<br />Se N1 è minore di N2 confronta N2 con N3 e stampa il maggiore<br />
  14. 14. Algoritmo in linguaggio naturale <br />INIZIO<br />Leggi N1 N2 N3<br />SE N1>N2<br /> ALLORA<br />SE N1>N3<br /> ALLORA STAMPA N1<br /> ALTRIMENTI STAMPA N3<br /> FINE SE<br /> ALTRIMENTI<br />SE N2>N3 <br /> ALLORA STAMPA N2<br /> ALTRIMENTI STAMPA N3<br />FINE SE<br />FINE SE <br />FINE <br />
  15. 15. I diagrammi a blocchi<br />Rappresenta l’inizio e la fine del processo<br />L’algoritmo viene rappresentato con un diagramma a blocchi che descrive il procedimento in modo grafico cosi da evidenziare il flusso di operazioni da eseguire.<br />In tale diagramma ogni figura geometrica ha un significato preciso.<br />Nella costruzione del diagramma i simboli vengono legati fra di loro da linee di giunzione e connettori che indicano il percorso all’interno dell’algoritmo<br />Linea di giunzione Collega il blocco al passo logico successivo<br />Operazione di lettura/scrittura dei dati (input),<br />e di uscita o lettura dei risultati (output)<br />Operazione di confronto, controllo e scelta di selezione <br />Operazione di calcolo o di assegnazione. Al suo interno viene descritta l’operazione da eseguire<br />Connettore <br />Individua un punto dal quale si può fare riferimento ad altre parti<br />
  16. 16. Esempio diagramma a blocchi <br />Una combinazione di blocchi elementari descrive un algoritmo se:<br /><ul><li>Viene usato un numero finito di blocchi
  17. 17. Lo schema inizia con un blocco iniziale e termina con un blocco finale
  18. 18. Ogni blocco soddisfa delle condizioni di validità </li></ul>inizio<br />Leggi N1, N2, N3<br />N1>N2<br />F<br />V<br />N2>N3<br />N1>N3<br />F<br />F<br />V<br />V<br />Stampa N3<br />Stampa N2<br />Stampa N3<br />Stampa N1<br />Fine<br />

×