02 SAA-FI Algoritmi
02 SAA-FI Algoritmi
A.A. 2023/2024
[email protected]
Cosa e come interpreta
la nostra mente
• Immagini
• Colori
• Associazioni di idee e di suoni
• Informazioni che ci coinvolgono
emotivamente
• Informazioni che ci incuriosiscono
• Informazioni curiose e strane
Cosa e come interpreta
la nostra mente - 2
Neurone
Rappresentazione grafica
Schema
Rappresentazione grafica
Diagramma a blocchi
Rappresentazione grafica
Mappa Concettuale
Rappresentazione grafica
Mappa Mentale
Rappresentazione grafica
Mappa Mentale – a cosa servono
Rappresentazione grafica
Mappa Mentale – come si fanno
Esercizio on line
https://www.mindmup.com/
Da scaricare
http://www.xmind.net/
Rappresentazione grafica
Diagramma di Flusso
Programmazione
• E` l'attività con cui si predispone l'elaboratore ad eseguire
un particolare insieme di azioni su particolari informazioni
(dati), allo scopo di risolvere un certo problema.
istruzioni
Esecutore
DATI di P RISULTATI
di P
Esempio: la preparazione del caffè
Esecutore: essere umano corredato di caffettiera "moka",
cucina a gas e macina-caffe`;
Algoritmo:
1. svitare la caffettiera;
2. se si dispone di caffè macinato:
riempire il filtro con il caffè` macinato,
altrimenti se si dispone di caffè` in chicchi:
• macinarlo e ripetere il punto 2;
• altrimenti terminare (il caffè non si può
fare..).
3. riempire la parte inferiore della caffettiera con acqua;
4. inserire il filtro nella macchina;
5. avvitare la caffettiera;
6. accendere il fuoco a gas;
7. collocare la moka sul fuoco;
8. attendere l'uscita del caffe`;
9. spegnere il fuoco;
10. fine (il caffè è` pronto).
Esempio: la preparazione del caffè
Esecutore: essere umano corredato di caffettiera "moka", cucina a gas
e macina-caffe`;
Set di istruzioni:
• operazioni fondamentali sulla caffettiera:
svitare avvitare
riempire il filtro
riempire con
acqua spostare
• altre operazioni:
verifica di condizioni
ripetizione di
operazioni attesa
..
Proprietà fondamentali dell’Algoritmo
1. Eseguibilità: ogni “istruzione” deve essere eseguibile da parte dell’esecutore
dell’algoritmo;
2. Non Ambiguità`: ogni istruzione deve essere univocamente interpretabile
dall'esecutore
3. Finitezza: il numero totale di azioni da eseguire, per ogni insieme di dati di ingresso,
è finito.
INIZIO
FINE
Blocchi semplici
Assegnazione :
calcola il valore dell’espressione a destra del simbolo "<-" e lo si
attribuisce (lo si assegna) alla variabile indicata a sinistra del simbolo
(con eventuale perdita del valore precedente di V)
Esempio:
V<-E
Ad esempio:
V, W, Z
Ad esempio:
A+B, X
somma di due
interi dati da A,B
input
C<-A+B
FINE
Blocco Condizione
Condizione:
Si valuta la condizione specificata all’interno del blocco: se è
verificata,
si prosegue con la linea di flusso contrassegnata da “SI” (o ok, vero,
true..), altrimenti (se non è verificata) si prosegue per il ramo
etichettato con “NO” (falso, false,..).
Esempio:
SI
E NO
C<-A C<-B
C
alternativa
FINE
Strutture: INIZIO
ripetizione
N
ripetizione
algoritmo che, dato
un valore intero
positivo N, stampa
I<-1
<= N.
I>N
NO
I<-I+1
FINE
Strutture: Ripetizione (o iterazione)
N
ripetizione
Inizializzazione I<-1
SI
Controllo
I>N
NO
I Corpo
I<-I+1 Modifica
FINE
Addizione INIZIO
X,Y,Z
variabili lettura
X,Y (inizializzazione)
come sequenza di
somme SI
Y=Z condizione (controllo)
NO
Z<-Z+1
assegnamento (corpo)
FINE
Moltiplicazione: INIZIO
X,Y,Z
variabili lettura
X,Y (inizializzazione)
come sequenza di
somme (si suppone SI
X =0 condizione (controllo)
X>0). NO
Z<-Z+Y
assegnamento (corpo)
stampa Z
FINE
Definizione di calcolatore
• Assegnazione
• Aggiungi uno
• Iterazione condizionata
illimitata.