problema

dati due numeri A e B sommarli

"modo normale": saper sommare due cifre

dati due numeri A e B moltiplicarli

razionaliziamo

dati due numeri A e B

1)Si prepari un contenitore C con valore 0

2)Si sommi A a C e si ponga il risultato in C

3)Si sottragga 1 a B e si metta il risultato in B

Se B non è uguale a 0 allora si torni al passo 2)
altrimenti C contiene la il prodotto tra l’originale A e B

capacità base: moltiplicare 2 cifre e sommare

Determinare il M.C.D. di due numeri naturali dati diversi da 0

1)Si scompongono i due numeri in fattori primi

2)Si prendono in considerazione i soli fattori comuni

3)Dall’elenco di fattori comuni ottenuti nei passi di esecuzione dell’istr.2 si considerino quelli con l’esponente più piccolo

4)Si moltiplicano fra di loro i fattori individuali nei passi di esecuzione dell’istr.3 - il risultato è il M.C.D cercato.

M.C.D. con il metodo di euclide

1)Dividere il primo numero per il secondo. Chiamare R il resto della divisione

2)Se R=0 hai finito: il secondo numero è il M.C.D.

3)Se R diverso da 0 si operino i seguenti cambiamenti:
secondo numero diventa il primo numero
r diventa il secondo numero

4) torna all'istruzione 1

metodo pallottoliere: sappiamo sommare e sottrarre un'unità al numero

come capire quale è meglio?

guardando:
1)comprensibilità
2)numero di istruzioni

pallottoliere: è più semplice osservando gli algoritmi

è migliore osservando i possibili processi

parametrizzazione

Per raggiungere un ulteriore livello di generalizzazione possiamo far presente come esistano problemi per i quali uno stesso elenco di istruzioni può servire a condurre alla soluzione di problemi che differiscono solo per le informazioni iniziali (parametri).

è una sequenza finita di passi che risolve un problema dato un processo e l'esecuzione di un algoritmo

per risolvere i problemi usiamo 2 tipi di conoscienza

proceduale: dato un problema individuiamo una procedura risolutiva per risolverlo

dichiarativa: dato un problema individuiamo un insieme di regole per risolverlo

algoritmo

spiega come ottenere un risultato tramite una sequenza di ordini

L’esecuzione delle azioni atte ad eseguire un algoritmo è detto processo

è affidato ad un esecutore

Ne prendono parte anche:
committente: chi pone il quesito
risolutore: scrive l’algoritmo
utente: fornisce i dati

chi sfrutta l'algoritmo