


















































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
ALGORITMI - ALGORITMI
Tipologia: Appunti
1 / 58
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!



















































Algoritmi
Introduzione
La nozione di algoritmo riguarda qualsiasi campo in cui si possano de- scrivere sequenze di operazioni finalizzate allo svolgimento di un com- pito. In tal senso una ricetta di cucina e un algoritmo eseguibile da un cuoco, uno spartito musicalee un algoritmo eseguibile da un musicista.
Esempio: algoritmo di Euclide per il massimo comun divisore
e diverso da zero, ricomincia dal passo 2 utilizzando come x il valore attuale di y e come y il valore del resto, altrimenti prosegui al passo successivo. 4. Il massimo comun divisoree uguale al valore attuale di y.Osservazioni (1)
a che nell’esecuzione dell’algoritmo possono cambiare valore. L’algoritmo precedente manipola 3 quantita contenute nelle variabili x, y, resto.Osservazioni (3)
o essere risolto da piu algoritmi. Ad esempio, il problema del massimo comun divisore tra due numeri e risolto anche dal seguente algoritmo: 1. Siano x e y due numeri. 2. Calcola il minimo tra x e y e sia z tale valore. 3. Se z divide x e y vai al passo 5. 4. Decrementa z di uno e ricomincia dal passo 3. 5. Il massimo comun divisoree uguale al valore attuale di z.Problemi, Algoritmi ed Esecuzione dell’Algoritmo (1)
Problema: stabilire se un dato anno `e o meno bisestile
Eseguiamo l’algoritmo per stabilire la bisestilit`a dell’anno 2001: A resto 1 2001 - 2 2001 1 3 2001 1 4 2001 1 5 2001 1 7 2001 1
Problemi, Algoritmi ed Esecuzione dell’Algoritmo (3)
Consideriamo l’algoritmo a pagina 8
Problemi, Algoritmi ed Esecuzione dell’Algoritmo (4)
Problema: dato un numero N, intero e maggiore di uno, calcolare la somma di tutti i suoi divisori.
Eseguiamo l’algoritmo per calcolare i divisori di 6 N I T 1 6 - - 2 6 1 0 3 6 1 1 (il resto di N/I e zero) 4 6 2 1 5 6 2 (I*2 ≤ N) 3 6 2 3 (il resto di N/Ie zero) 4 6 3 3
N I T 5 6 3 3 (I2≤ N) 3 6 3 6 (il resto di N/I `e zero) 4 6 4 6 5 6 4 6 (I2 > N) 6 6 4 12 7 6 4 12
Esercizio: Scambio del valore di 2 variabili
Scrivere un algoritmo per scambiare i valori presenti in due variabili A e B.
Esercizio: Il Problema del Vinaio
Un produttore di vino applica le seguenti tariffe:
Descrivere un algoritmo che dato il numero di bottiglie ne calcoli il costo.
Calcolo degli Interessi
Per un buono postale di V euro viene dato un interesse annuo del 3%. Calcolare il valore del buono dopo 5 anni.
Questa soluzione e corretta. Si osservi pero che lo stesso schema di ope- razione e ripetuta 5 volte. Se il problema avesse chiesto di calcolare il valore del buono dopo 50 anni seguendo questo schema avremmo scrit- to un algoritmo lunghissimo. Inoltre, prendiamo il seguente problema piu generale:
Calcolo degli Interessi
Dato il valore V di un buono postale e l’interesse annuo I, calcolare il valore del buono dopo X anni.
o equivalentemente
Alcuni Commenti (2)
o essere alterata da due costrutti linguistici: - Selezione, che vincola l’esecuzione di un gruppo di istruzioni alla verita di una condizione - Iterazione, che mentre una condizione `e vera ripete l’esecuzione di un gruppo di istruzioni.Alcuni Commenti (3)
u azioni devono essere eseguite solo in determinate circostanze (selezione) oppure una o piu azioni devono essere eseguite un certo numero di volte (iterazione). Ad esempio: