![Page 1: Che cos’è un algoritmo? La vita di tutti i giorni è scandita da sequenze di azioni che compiamo automaticamente nell’ ordine esatto](https://reader036.vdocuments.site/reader036/viewer/2022081515/5542eb77497959361e8e20af/html5/thumbnails/1.jpg)
Che cos’è un algoritmo?
La vita di tutti i giorni è scandita da sequenze di azioni
che compiamo automaticamente nell’ ordine esatto
![Page 2: Che cos’è un algoritmo? La vita di tutti i giorni è scandita da sequenze di azioni che compiamo automaticamente nell’ ordine esatto](https://reader036.vdocuments.site/reader036/viewer/2022081515/5542eb77497959361e8e20af/html5/thumbnails/2.jpg)
Che cos’è un algoritmo?
Per realizzare altre azioni dobbiamo seguire le istruzioni.
Ricetta di cucina per preparare l’ arrosto di vitello
Dosi per quattro persone: 700gr. di polpa di vitello, 50 gr. di burro, mezzo bicchiere di vino bianco, un mestolo di brodo, rosmarino e sale.
mettere nella pentola due rametti di rosmarino
rosolare la carne in burro e olio ben caldi
bagnare con il vino
lasciare evaporare
aggiungere il brodo
cuocere a fuoco lento per circa un’ ora
restringere alla fine a fuoco vivace
![Page 3: Che cos’è un algoritmo? La vita di tutti i giorni è scandita da sequenze di azioni che compiamo automaticamente nell’ ordine esatto](https://reader036.vdocuments.site/reader036/viewer/2022081515/5542eb77497959361e8e20af/html5/thumbnails/3.jpg)
Che cos’è un algoritmo?
La risoluzione di un problema può essere divisa in due fasi:
prima fase: si definisce il problema descrivendo i dati
che sono coinvolti e i risultati attesi
seconda fase: viene stabilita l’ esatta sequenza delle
azioni da compiere
Un algoritmo è l’ insieme delle istruzioni
da compiere per risolvere un problema
![Page 4: Che cos’è un algoritmo? La vita di tutti i giorni è scandita da sequenze di azioni che compiamo automaticamente nell’ ordine esatto](https://reader036.vdocuments.site/reader036/viewer/2022081515/5542eb77497959361e8e20af/html5/thumbnails/4.jpg)
Caratteristiche dell’ algoritmo
realizzabile precisa e non ambigua eseguibile in tempo finito deve produrre un risultato osservabile deterministica elementareUn algoritmo dev’essere: esaustivo riproducibile composto da un numero finito di istruzioni
Ogni istruzione dell’ algoritmo dev’ essere:
![Page 5: Che cos’è un algoritmo? La vita di tutti i giorni è scandita da sequenze di azioni che compiamo automaticamente nell’ ordine esatto](https://reader036.vdocuments.site/reader036/viewer/2022081515/5542eb77497959361e8e20af/html5/thumbnails/5.jpg)
Strutture di controlloConsideriamo l’ algoritmo:
Effettuare una telefonata.
Sollevare il ricevitore
Attendere il segnale di linea
Comporre il numero
Attendere la risposta
Condurre la conversazione
Deporre il ricevitore
Cosa succede se non c’è il segnale
di linea oppure il telefono è
occupato?
Sollevare il ricevitore
Attendere il segnale di linea
Comporre il numero
Attendere il segnale di occupato
Deporre il ricevitore
![Page 6: Che cos’è un algoritmo? La vita di tutti i giorni è scandita da sequenze di azioni che compiamo automaticamente nell’ ordine esatto](https://reader036.vdocuments.site/reader036/viewer/2022081515/5542eb77497959361e8e20af/html5/thumbnails/6.jpg)
Strutture di controllo
Occorre avere un solo algoritmo che permetta di descrivere
contemporaneamente più sequenze di esecuzione
E’ necessario affiancare alle istruzioni che effettuano
operazioni altre istruzioni che selezionano differenti vie dell’
algoritmo controllandone l’ esecuzione.
Si inseriscono le strutture di controllo:
sequenza
selezione
iterazione
![Page 7: Che cos’è un algoritmo? La vita di tutti i giorni è scandita da sequenze di azioni che compiamo automaticamente nell’ ordine esatto](https://reader036.vdocuments.site/reader036/viewer/2022081515/5542eb77497959361e8e20af/html5/thumbnails/7.jpg)
Strutture di controllo
La sequenza
sollevare il ricevitore
comporre il numero
La selezione
se il numero è libero
allora
attendi la risposta
conduci la conversazione
deponi il ricevitore
altrimenti
deponi il ricevitore
L’ iterazione
ripeti
componi una cifra
fino al completamento del numero
![Page 8: Che cos’è un algoritmo? La vita di tutti i giorni è scandita da sequenze di azioni che compiamo automaticamente nell’ ordine esatto](https://reader036.vdocuments.site/reader036/viewer/2022081515/5542eb77497959361e8e20af/html5/thumbnails/8.jpg)
Strutture di controllo
La struttura di selezione permette di scegliere tra due
o più alternative
Effettuare una telefonata
Sollevare il ricevitore
Attendere il segnale di linea
Comporre il numero
se c’è il segnale libero
allora
attendere la risposta
condurre la conversazione
deporre il ricevitore
altrimenti
deporre il ricevitore
fine se
Le strutture di controllo sono innestabili una nell’ altra
Effettuare una telefonata Sollevare il ricevitore Attendere il segnale di linea se il segnale di linea è presente allora Comporre il numero se c’è il segnale libero allora attendere la risposta condurre la conversazione
deporre il ricevitore altrimenti
deporre il ricevitore fine se altrimenti deporre il ricevitore fine
![Page 9: Che cos’è un algoritmo? La vita di tutti i giorni è scandita da sequenze di azioni che compiamo automaticamente nell’ ordine esatto](https://reader036.vdocuments.site/reader036/viewer/2022081515/5542eb77497959361e8e20af/html5/thumbnails/9.jpg)
Strutture di controlloLa struttura di iterazione permette che una o più istruzioni
sia eseguita più volte
Fintantoché ci sono cifre da comporre
componi una cifra
oppure
Ripeti
componi una cifra
finchè sono finite le cifre
![Page 10: Che cos’è un algoritmo? La vita di tutti i giorni è scandita da sequenze di azioni che compiamo automaticamente nell’ ordine esatto](https://reader036.vdocuments.site/reader036/viewer/2022081515/5542eb77497959361e8e20af/html5/thumbnails/10.jpg)
Pseudocodifica
È la descrizione di un algoritmo utilizzando parole del
linguaggio comune
È’ un linguaggio sintetico composto da un vocabolario e
da una sintassi molto ristretti
Parole chiave:
Inizio............ Fine
Leggi………… Scrivi
Se…. allora…. altrimenti
Finchè ….. esegui
Ripeti……. finchè
![Page 11: Che cos’è un algoritmo? La vita di tutti i giorni è scandita da sequenze di azioni che compiamo automaticamente nell’ ordine esatto](https://reader036.vdocuments.site/reader036/viewer/2022081515/5542eb77497959361e8e20af/html5/thumbnails/11.jpg)
Calcoliamo l’ area di un rettangolo
Dati di input: base, altezza
Dati di output: area
Inizio
leggi(base; altezza)
area base*altezza
scrivi(area)
Fine
![Page 12: Che cos’è un algoritmo? La vita di tutti i giorni è scandita da sequenze di azioni che compiamo automaticamente nell’ ordine esatto](https://reader036.vdocuments.site/reader036/viewer/2022081515/5542eb77497959361e8e20af/html5/thumbnails/12.jpg)
Rappresentiamo le strutture di controllo
Selezione
se <condizione>
allora <P1>
altrimenti
<P2>
![Page 13: Che cos’è un algoritmo? La vita di tutti i giorni è scandita da sequenze di azioni che compiamo automaticamente nell’ ordine esatto](https://reader036.vdocuments.site/reader036/viewer/2022081515/5542eb77497959361e8e20af/html5/thumbnails/13.jpg)
Calcoliamo il valore assoluto
dati di input: numero intero A
dati di output: valore assoluto di A
Inizio
Leggi(A)
se A ≥ 0
allora Assoluto = A
altrimenti Assoluto = -A
scrivi(Assoluto)
Fine