ALGORITMI E PROGRAMMAZIONE STRUTTURATA Prof.ssa Alessandra Trapani a.s. 2010 - 2011.
Programmazione Strutturata
description
Transcript of Programmazione Strutturata
![Page 1: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/1.jpg)
Programmazione Strutturata Con programmazione strutturata si intende l’insieme delle fasi di progettazione, realizzazione e collaudo di un programma.
Comprende un insieme di regole, che rende più facile la stesura, la lettura e la manutenzione dei programmi.
![Page 2: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/2.jpg)
La programmazione strutturata considera l’algoritmo come un insieme di blocchi di istruzioni, ognuno fornito di un solo ingresso e di una sola uscita.
Ciascun blocco è isolato dagli altri, nel senso che non è possibile, ad esempio, saltare dall’interno di uno all’interno di un altro.
![Page 3: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/3.jpg)
DEFINIZIONE DI ALGORITMO
Un algoritmo è costituito da una serie finita e ordinata di istruzioni, che devono essere eseguite per portare a termine un determinato compito o per raggiungere un determinato risultato
![Page 4: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/4.jpg)
EQUIVALENZA DI ALGORITMI
Due algoritmi si dicono equivalenti se, a partire da uguali situazioni iniziali, producono uguali risultati.
![Page 5: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/5.jpg)
Teorema di Bohm-Jacopini Un qualsiasi algoritmo per quanto complesso, può sempre essere trasformato in un algoritmo a esso equivalente che utilizzi esclusivamente tre strutture di controllo (costrutti sintattici) fondamentali: sequenza, selezione e iterazione.
![Page 6: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/6.jpg)
CICLICiclo ForCiclo While (condizione) DoCiclo Repeat until (condizione)
![Page 7: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/7.jpg)
CICLO FOR I:= 1 TO N DOBEGIN……………………………..END;
N è un numero intero
L’incremento è di uno
Il ciclo For può essere utilizzato quando, prima dell'inizio, si sa già quante volte deve essere ripetuto: ossia qual è il valore N
Può avvenire anche in decremento (downto)
![Page 8: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/8.jpg)
Ciclo For
![Page 9: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/9.jpg)
CICLO WHILEWHILE CONDIZIONE (vera) DOBEGIN……………………………………….……………………………………….……………………………………….END;
![Page 10: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/10.jpg)
WHILE
![Page 11: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/11.jpg)
CICLO REPEAT … UNTIL
REPEAT………………………………………………………………………………………UNTIL CONDIZIONE (vera);
![Page 12: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/12.jpg)
Ciclo Repeat ... Until
![Page 13: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/13.jpg)
Confronto cicli While e RepeatWHILE REPEAT
Viene chiamato ciclo con controllo in testa
Il ciclo viene ripetuto intanto che la condizione è vera
Si esce dal ciclo quando la condizione diventa falsa
Può non essere eseguito neanche una volta
Infatti se la condizione è falsa fin dall’inizio…
Viene chiamato ciclo con controllo in coda
Il ciclo viene ripetuto intanto che la condizione è falsa
Si esce dal ciclo quando la condizione diventa vera
Viene eseguito almeno una volta
Infatti avendo il controllo in coda….
![Page 14: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/14.jpg)
SCRITTURA DI ALGORITMI
Linguaggio di pseudocodifica
Diagrammi di flusso
![Page 15: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/15.jpg)
PSEUDOCODIFICAEsempioLeggi ALeggi BAssegna C A+BScrivi CRipeti…………..Finchè……..
![Page 16: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/16.jpg)
Diagrammi di flusso
V F
Inizio
Leggi ..
assegna
A>B
![Page 17: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/17.jpg)
La struttura selezione
![Page 18: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/18.jpg)
![Page 19: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/19.jpg)
![Page 20: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/20.jpg)
![Page 21: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/21.jpg)
SELEZIONE MULTIPLA
![Page 22: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/22.jpg)
SELEZIONE MULTIPLA
![Page 23: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/23.jpg)
SELEZIONE MULTIPLA
![Page 24: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/24.jpg)
SELEZIONE MULTIPLA
![Page 25: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/25.jpg)
![Page 26: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/26.jpg)
![Page 27: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/27.jpg)
![Page 28: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/28.jpg)
Operazioni con numeri interi
![Page 29: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/29.jpg)
Alcune funzioni numeriche
![Page 30: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/30.jpg)
Visualizzazione decimale
![Page 31: Programmazione Strutturata](https://reader036.fdocument.pub/reader036/viewer/2022062315/568166af550346895ddaa82a/html5/thumbnails/31.jpg)
VARIABILI DI TIPO STRING