Informatica Generale
Algoritmi 2 1
Algoritmi: ancora esempi ...
• Proviamo a formulare degli algoritmi per i
seguenti problemi :
1. Trovare il maggiore fra 2 numeri interi x e y
2. Trovare il massimo fra N numeri
• assumiamo le seguenti operazioni elementari
• somma (+), sottrazione (-), stabilire se un numero è
maggiore o minore di 0, leggere/scrivere dallo
schermo 2
Informatica Generale Maria De Marsico
Il maggiore fra 2 numeri interi
• Algoritmo max_xy
1. Leggi i valori di x e y dall’esterno
2. Calcola la differenza d fra x e y (d=x-y)
3. Se d è maggiore di 0 vai al passo 5 altrimenti
prosegui in sequenza
4. Stampa ‘il massimo è …’ seguito dal valore di y e
vai a 6
5. Stampa ‘il massimo è …’ seguito dal valore di x
6. Termina l’esecuzione
Ricordiamo sempre di specificare esplicitamente
come e quando l’esecuzione termina!
3
Informatica Generale Maria De Marsico 1
Variabili
• x, y, d sono le ‘variabili’, cioè i contenitori per i dati
coinvolti nell’elaborazione.
• ogni variabile ha un nome (x,y…) e un valore, che è il
dato contenuto o memorizzato nella variabile
• l’istruzione di assegnazione = assegna un valore ad una
variabile, che può essere una costante o il risultato del
calcolo di un’espressione o il contenuto di un’altra
variabile
• se la variabile conteneva già un valore, viene cambiato
• quando l’algoritmo si “trasforma” in programma, ogni
variabile ha anche un tipo, che indica quali dati può
contenere
• in un programma una variabile può contenere solo valori
del tipo con cui è stata dichiarata 4
Informatica Generale Maria De Marsico
Espressioni
• Un’espressione può coinvolgere costanti,
nomi di variabili, operatori aritmetici o logici
• 189 + 34
• x – y + 100 (x e y sono variabili)
• (x > 0) AND (y < 1) (il risultato è VERO se
sono vere entrambe le condizioni)
• In un programma posso assegnare ad una
variabile solo il valore di un’espressione che
produce risultati dello stesso tipo 5
Informatica Generale Maria De Marsico
Il massimo fra N numeri interi
• Possiamo sfruttare l’algoritmo come
max_xy
‘sottoalgoritmo’!
• Idea … trovare prima il maggiore fra i primi due
numeri, poi confrontare il risultato con il terzo,
poi con il quarto etc …
• In pratica, possiamo usare la struttura di
controllo iterativa finchè…ripeti per effettuare le
operazioni di su tutti i numeri in
max_xy
ingresso 6
Informatica Generale Maria De Marsico 2
Il massimo fra N numeri interi
• Algoritmo max_N
1. Leggi il valore di N dall’esterno
2. Leggi i primi due numeri
3. Trova il maggiore fra i primi due numeri (con
e assegna il suo valore all
-
Algoritmi e strutture dati
-
Intelligenza artificiale - algoritmi evolutivi
-
Algoritmi - Parte 3
-
Dati e Algoritmi