Prof. Di Capua Giuseppe
Ud 1: Dal problema all’algoritmo
Problemi
Il maestro disse: «Non voglio avere nulla a che vedere con chi non si chiede:
come fare, come fare?» da Confucio, "I colloqui", XV, 15
La parola problema ha un vasto campo di significati.
Nella scuola quello più comune è legato alla matematica o almeno al campo
scientifico,
In realtà…
…Ogni giorno, diverse volte al giorno, siamo chiamati a risolvere dei
problemi. Per esempio:
1. decidere se riconciliarci con un amico con cui abbiamo litigato;
2. calcolare l'area di un rettangolo, note la base e l'altezza;
3. scegliere tra diverse proposte quella economicamente più
vantaggiosa per una gita scolastica;
4. stabilire quale squadra vincerà quest'anno il campionato nazionale
di calcio...
1/8
Ud 1: Dal problema all’algoritmo
Problemi
Ci troviamo di fronte a una situazione problematica tutte le volte che per
una questione non abbiamo una soluzione automatica e, per procedere
oltre, abbiamo bisogno di raggiungere nuove informazioni, magari
derivandole da quelle già disponibili per mezzo di opportune operazioni.
In altre parole, un problema nasce tutte le volte che una persona decide
di raggiungere un obiettivo, ma non ha ancora identificato un mezzo per
raggiungere questo traguardo.
2/8
Ud 1: Dal problema all’algoritmo
Problemi
Fin dai primi anni di scuola abbiamo appreso la nozione di problema sotto
forma di quesito a cui si deve dare una risposta, detta
soluzione del problema.
Naturalmente quando il quesito ci viene posto da parte di qualcuno, questi
suppone che non conosciamo la soluzione. Infatti perché il problema sia
tale è necessario fare uno sforzo mentale nella ricerca della soluzione del
problema.
3/8
Ud 1: Dal problema all’algoritmo
Problemi
A questo punto scatta un processo di ricerca per risolvere il quesito
posto, cioè il problema.
Possiamo quindi affermare che i problemi hanno origine dalla realtà che,
letta nella sua complessità, presenta molto spesso in chi la osserva
situazioni che possiamo definire problematiche che creano curiosità e
perché.
Uscire da una situazione problematica vuol dire compiere delle
azioni che permettono di dare risposte alle domande
poste, vuoi dire «risolvere un problema».
4/8
Ud 1: Dal problema all’algoritmo
Risolutore ed Esecutore
Risolutore
chi si propone di risolvere un problema
Avvalendosi di un patrimonio di conoscenze precedentemente acquisite,
deve seguire un cammino che si compone di più passi e che viene detto
analisi del problema.
1/7
Ud 1: Dal problema all’algoritmo
Risolutore ed Esecutore
Esecutore
chi si propone di eseguire la soluzione
del problema
1/7
Ud 1: Dal problema all’algoritmo
Il Risolutore si occupa di:
a) interpretare l'enunciato del problema e definire gli obiettivi
che devono essere realizzati;
b) individuare le informazioni necessarie per risolvere il problema
(dati iniziali) costruendo, se possibile, un opportuno modello della
situazione problematica;
c) descrivere il procedimento risolutivo individuando le operazioni
da compiere sui dati e col legar logicamente per ottenere i
risultati o dati finali;
d) verificare se i risultati ottenuti rispondono alle finalità del
problema reale e, quindi, se i sono o non sono attendibili
2/7
Ud 1: Dal problema all’algoritmo
L’Esecutore si occupa di:
a) eseguire nell'ordine le operazioni descritte nel processo
risolutivo evidenziando i risultati o finali;
2/7
Ud 1: Dal problema all’algoritmo
Risolutore ed Esecutore
PROBLEMA
INTERPRETAZIONE
VERIFICA
DEI RISULTATI
ESECUZIONE
MODELLO
PROCEDIMENTO
RISOLUTIVO
3/7
Ud 1: Dal problema all’algoritmo
Risolutore ed Esecutore
IL risolutore e l'esecutore della risoluzione di un problema sono
la stessa persona, ma a volte no.
Può presentarsi il caso che il risolutore affidi l'esecuzione del
processo risolutivo ad un'altra persona ad un esecutore
automatico come, per esempio, ad un elaboratore elettronico.
In questo caso, il risolutore descrive il procedimento risolutivo
di un problema deve riferirsi all'esecutore.
La descrizione del procedimento risolutivo è condizionata dalle
caratteristiche dell'esecutore.
4/7
Ud 1: Dal problema all’algoritmo
Risolutore ed Esecutore
Il risolutore deve:
•sapere quale linguaggio comprende l'esecutore;
•sapere quali sono le azioni operative e logiche che
l'esecutore sa eseguire;
•sapere in modo ordinato, conciso e univoco le azioni che
•l'esecutore deve eseguire.
Il ruolo dell'esecutore
Il ruolo dell'esecutore invece si estrinseca nei seguenti passi:
•ricevere i dati iniziali;
•interpretare ed eseguire le azioni descritte nel processo
risolutivo del problema;
•fornire i risultati.
5/7
Ud 1: Dal problema all’algoritmo
Risolutore ed Esecutore
Procedimento
risolutivo
del problema
Risolutore
Dati iniziali
Esecutore
Dati finali
o risultati
Verifica dei risultati
6/7
Ud 1: Dal problema all’algoritmo
Risolutore ed Esecutore
Nella soluzione dei problemi è facilmente riconoscibile la necessità
di esaminare tre aspetti fondamentali:
1)L'insieme dei dati di cui si dispone e l'insieme dei risultati che si
vogliono ottenere.
2)L'insieme delle istruzioni che consentono di ottenere la
soluzione del problema.
3)Le capacità dell'esecutore a cui le istruzioni sono dirette.
7/7
Ud 1: Dal problema all’algoritmo
Algoritmo
Possiamo concludere che risolvere un problema
significa ricercare ed esprimere una successione
finita di istruzioni interpretabili ed eseguibili da un
esecutore, che conducano da determinate
informazioni iniziali ad altre informazioni finali.
Se tale successione di istruzioni rispetta determinate
caratteristiche viene detta Algoritmo
1/6
Ud 1: Dal problema all’algoritmo
Algoritmo
Nasce dal nome di un matematico arabo del IX secolo
: Abu Ja’far Mohammed ibn Musa al -Kowarizm
1/6
Ud 1: Dal problema all’algoritmo
Algoritmi
Una Definizione
è una descrizione di un insieme finito di passi,
che devono essere eseguite
per portare a termine un dato compito
e per raggiungere un risultato definito.
Esempi di algoritmo possono essere:
Le istruzioni per l’utilizzo di un elettrodomestico
Le regole per eseguire la divisione tra due numeri
2/6
Ud 1: Dal problema all’algoritmo
Algoritmi
Proprietà
Non Ambiguo:
Le istruzioni devono essere
precise e non ambigue
Deterministico:
Appliccato n volte sugli stessi dati produce
gli stessi risultati
Finito:
Le istruzioni devono essere un
numero finito ed eseguite in un
tempo finito
Generale:
Risolve tutti i problemi di una stessa classe
3/6
Ud 1: Dal problema all’algoritmo
Algoritmi
Definizione
Un algoritmo è
una descrizione completa, univoca e esaustiva
di un insieme finito di operazioni elementari,
interpretabili e riproducibili dall’esecutore,
che permette di raggiungere lo scopo
del processo in un tempo ragionevole.
4/6
Ud 1: Dal problema all’algoritmo
Algoritmi
Deve
Dati che servono
Contattare telefonicamente una serie di persone a cui deve
lasciare un messaggio
L’elenco delle persone con il nome e il numero di telefono
Il messaggio da comunicare
Risultati
L’elenco delle persone con l’indicazione per ciascuna dell’esito
della telefonata
5/6
Ud 1: Dal problema all’algoritmo
Algoritmi
Deve
Contattare telefonicamente una serie di persone a cui deve
lasciare un messaggio
Algoritmo
o leggi il numero telefonico
o componi il numero
o a seconda della situazione che si presenta scrivi sull’elenco:
‘occupato’, ‘ numero errato’ o ‘OK’
o ripeti le operazioni precedenti finché le persone sono finite.
6/6
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
VARIABILI E COSTANTI
Per rappresentare un algoritmo occorre
individuare le entità che lo caratterizzano.
innanzitutto
Es. 1: ATTIVITA’ FATTURAZIONE
Il cliente cui è rivolta la fatturazione
Entità
Il prodotto che viene venduto
La fattura
Ogni entità può essere presente con diversi esemplari, contraddistinti dai
diversi valori assunti dagli ATTRIBUTI DELL’ENTITA’, gli elementi che
rappresentano e specificano l’entità.
Entità cliente
Attributi: Il nome, l’indirizzo, la città dove risiede, il
numero di partita IVA
Se gli attributi possono assumere valori diversi per diversi
esemplari dell’entità, essi sono detti VARIABILI.
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
VARIABILI E COSTANTI
Gli attributi che assumono sempre lo stesso valore
vengono definiti COSTANTI
Entità prodotto
(automobile)
Attributi: La marca, il modello, il colore, il numero di
ruote (in un automobile è sempre 4!)
I nomi che diamo alle variabili o alle costanti,
vengono detti IDENTIFICATORI
h
b
A= b  h
r
A = r²  
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
DATI
I dati sono i valori assunti da variabili e costanti. I dati
possono essere di diverso tipo:
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
ISTRUZIONI
Le istruzioni sono le azioni che costituiscono l’algoritmo.
Al fine di raggiungere il risultato voluto, le istruzioni di un
algoritmo devono essere eseguite secondo un ordine ben
preciso, che di norma è quello sequenziale, ma che può
talvolta variare in funzione dei dati e a seconda del
particolare algoritmo.
A tal fine, nella rappresentazione di un algoritmo, le
istruzioni vengono raggruppate all’interno di costrutti detti
Strutture di Controllo.
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
ISTRUZIONI
Istruzioni di assegnazione
Consente di assegnare un valore o una espressione ad una
variabile. L’assegnazione è distruttiva ovvero si perde il
valore contenuto in precedenza nella variabile.
La indicheremo con
Nome variabile = Espressione
Esempio:
A =10 Variabile A assegno il numero 10
A = B Variabile A assegno il contenuto della Variabile B
A=B+D
Variabile A assegno una espressione
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
ISTRUZIONI
Esempio:
A = 10 Variabile assegno un dato Costante
A
10
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
ISTRUZIONI
Esempio:
A = B Variabile A assegno Variabile B
7
B
7
A
B
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
ISTRUZIONI
Esempio:
A = B + D Variabile A assegno Espressione
B
7
D
11
A
B+D
4
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
ISTRUZIONI
INPUT: Assegna un valore letto dall’esterno ad una
variabile
Esempio: Algoritmo dell’area di un quadrato
leggi(lato)
Se l’input è il numero 8 allora nella variabile lato ci sarà il
numero 8
lato
8
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
ISTRUZIONI
OUTPUT: Visualizzano il valore di una variabile
Esempio: Algoritmo dell’area di un quadrato
scrivi(Area)
Se l’input è il numero 8 (lato) allora nella variabile Area ci
sarà il numero 64
64
Area
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
LA RAPPRESENTAZIONE DEGLI
ALGORITMI
Rappresentare un algoritmo significa esprimerlo in maniera
precisa e non ambigua.
A tal fine sono state sviluppate diverse tecniche di
rappresentazione, che possiamo essenzialmente suddividere
tra
Grafiche
Testuali
Grafiche
Diagrammi a Blocchi
Testuali
Pseudocodifica
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
I DIAGRAMMI A BLOCCHI
Sono particolari diagrammi in cui si indicano, per mezzo di
blocchi di forma diversa, le varie operazioni previste
dall’algoritmo e, per mezzo di frecce, l’ordine secondo il quale
tali operazioni vanno eseguite
Esempio
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
LA PSEUDOCODIFICA
E’ un linguaggio più rigoroso del linguaggio naturale, che usa
espressioni verbali opportunamente strutturate per
schematizzare le azioni descritte dall’algoritmo.
La pseudocodifica è una convenzione tra risolutore ed
esecutore. Noi useremo un sottoinsieme della lingua inglese:
Esempio
inizio
leggi(b,h)
area = b*h
scrivi(area)
fine
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
ISTRUZIONI DI CONTROLLO
Le strutture di controllo che possono essere presenti in un
algoritmo sono:
1)
2)
3)
4)
Sequenza
Assegnazione
Selezione
Iterazione
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
SEQUENZA
Si parla di Struttura di Sequenza quando le operazioni descritte
dall'algoritmo vanno eseguite una dopo l'altra, secondo l'ordine con cui
sono elencate.
Un semplice esempio di sequenza è fornito dall’algoritmo per usare il
videoregistratore quando si vuole vedere un film:
1) Accendere il televisore
2) Accendere il videoregistratore
3) Inserire la videocassetta
4) Sintonizzare il televisore sul canale del videoregistratore
5) Premere il pulsante play del videoregistratore
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
SEQUENZA
Pseudocodifica
inizio
Istruzione
Istruzione
Istruzione
…
Istruzione
…
fine
Diagramma
blocchi
inizio
1
2
3
n
fine
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
Istruzioni Semplici
Nella rappresentazione di un algoritmo ci possono essere
istruzioni semplici o altre strutture di controllo
(selezione/Iterazione).
Le istruzioni semplici possono essere di:
1) Input
2) Output
3) Assegnazione
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
INPUT
L'istruzione di input (o di lettura) permette di assegnare a una variabile
un valore fornito dall'esterno, per esempio tramite la sua digitazione
sulla tastiera del computer.
In questa istruzione deve essere sempre specificato il nome della
variabile interessata.
Il suo effetto è quello di convertire prima la sequenza di caratteri digitati
sulla tastiera in un valore di tipo uguale a quello della variabile e poi di
memorizzare tale valore nella locazione di memoria individuata
dall'identificatore per tale variabile.
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
INPUT
In pseudocodifica l'istruzione di input da tastiera ha la
seguente forma
leggi (variabile)
I diagrammi a blocchi esprimono l’input da tastiera con un
parallelogramma:
variabile
I
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
OUTPUT
L'istruzione di output (o di scrittura) permette di inviare a una
periferica di uscita (per es.: video, stampante) un messaggio o il valore di
una variabile.
L’effetto dell'istruzione di output consiste
 nel calcolare il valore della espressione che nell'istruzione rappresenta
ciò che si vuole scrivere,
 nel visualizzare sulla periferica di output il valore così calcolato.
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
OUTPUT
In pseudocodifica l'istruzione di output ha la seguente forma
scrivi (variabile)
I
diagrammi
di
parallelogramma:
flusso
esprimono
l’output
O
variabile
con
un
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
ASSEGNAZIONE
L'istruzione di assegnazione permette di attribuire un valore a una variabile.
Ciò può avvenire attraverso
1. il valore immediato che si vuole assegnare
2. un'altra variabile
3. un'espressione
Le espressioni sono istruzioni composte di costanti, variabili e operatori, e rappresentano i valori
aritmetici o booleani risultanti dal loro calcolo.
L’effetto dell'istruzione di assegnazione consiste nel
 calcolare il valore della costante, della variabile o dell'espressione che devono essere
assegnati,
 associare all'identificatore della variabile tale valore.
Il valore che la variabile aveva prima dell'esecuzione dell'istruzione di assegnazione viene perso
(DISTRUTTIVA).
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
ASSEGNAZIONE
In pseudocodifica l'istruzione di assegnazione del valore di una
espressione a una variabile ha la seguente forma
Variabile = espressione
Es.:
y = 3* x + 11
I diagrammi di flusso esprimono l'istruzione di assegnazione
con un rettangolo:
y = 3* x + 11
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
SELEZIONE
Spesso, nella soluzione di un problema ci si trova di fronte alla necessità di prevedere più modi
di proseguire, in base al verificarsi o meno di certe condizioni.
In questi casi si utilizza la Struttura di Selezione.
Esempio:
 Accendere il televisore
 Accendere il videoregistratore
 Se non è inserita alcuna videocassetta Allora
Inserire la videocassetta
 Sintonizzare il televisore sul canale del videoregistratore
 Premere il pulsante play del videoregistratore
La struttura di selezione può essere classificata a seconda del numero di alternative che produce
(semplice, binaria o multipla) e in base al modo in cui viene composta con altre strutture di
selezione (nidificata o in cascata).
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
SELEZIONE SEMPLICE
La Selezione Semplice si ha quando sono presenti istruzioni per uno solo dei due
possibili valori della condizione booleana.
Esempio:
…
…
Se non è inserita alcuna videocassetta Allora
Inserire la videocassetta
…
…
Pseudocodifica
Se condizione Allora
istruzione1
Finese
Diagramma a blocchi
vero
condizione
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
SELEZIONE BINARIA
La Selezione Binaria si ha se sono presenti istruzioni corrispondenti a entrambi i
possibili percorsi, e quindi istruzioni corrispondenti al valore vero e istruzioni
corrispondenti al valore falso di una condizione booleana.
Esempio:
Se non è inserita alcuna videocassetta Allora
Inserire la videocassetta
Altrimenti
Controllare il titolo della videocassetta
Pseudocodifica
Se condizione Allora
istruzione1
Altrimenti
istruzione2
finese
Diagramma a blocchi flusso
Falso
Vero
condizione
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
SELEZIONE MULTIPLA
La Selezione Multipla permette la diramazione del flusso operativo in base ai
possibili valori di una espressione non booleana. Di conseguenza, la struttura di
Selezione Multipla permette la produzione di più di due alternative nella
prosecuzione del flusso operativo.
Esempio:
Controllare il titolo della videocassetta
Se è “Matrix”: Premere il tasto Play
Se è “Via col Vento”: Premere il tasto Eject
Se è “Senza Titolo”: Premere il tasto Record
Pseudocodifica
NEL CASO CHE espressione SIA
valore 1: sequenza 1;
valore 2: sequenza 2;
…
valore n: sequenza n;
ALTRIMENTI sequenza;
FINECASO;
Diagramma a blocchi
espressione
1
2 … n
altro
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
SELEZIONE NIDIFICATA
Si parla di selezione nidificata quando all'interno del blocco che deve essere
eseguito nel caso di condizione vera troviamo altre strutture di selezione.
Esempio: Controllare il titolo della
videocassetta
Se il titolo è “Matrix” Allora
Se il nastro è all’inizio Allora
Premere il tasto Play
Altrimenti
Premere il tasto Rewind
Altrimenti
Premere il tasto Eject
Pseudocodifica
Se condizione1 Allora
Se condizione2 Allora
istruzione1
Altrimenti
istruzione2
finese
Altrimenti
istruzione3
finese
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
SELEZIONE NIDIFICATA
Si parla di selezione nidificata quando all'interno del blocco che deve essere
eseguito nel caso di condizione vera troviamo altre strutture di selezione.
Esempio:
Controllare il titolo della videocassetta
Se il titolo è “Matrix”
Allora Se il nastro è all’inizio
Allora Premere il tasto Play
Altrimenti Premere il tasto Rewind
Altrimenti Premere il tasto Eject
falso
Matrix
Eject
vero
Rewind
falso
Inizio
nastro
vero
Play
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
ITERAZIONE
Quando, al fine della soluzione di un problema è necessario eseguire più volte un'istruzione o un
blocco di istruzioni si utilizza la Struttura di Iterazione.
Essa, detta anche Ciclo, comanda l'esecuzione ripetuta di un'istruzione o di un blocco di
istruzioni in base al verificarsi di una data condizione.
Esempio:
 Accendere il televisore
 Sintonizzare il televisore sul primo canale
 Fintantoché il canale sintonizzato sta trasmettendo il telegiornale, eseguire:
Sintonizzare il televisore sul canale successivo
 Guardare la trasmissione
Esistono diversi tipi di Cicli, a seconda di quando e come viene effettuato il controllo sulla
condizione:
1. ciclo a condizione iniziale
2. ciclo a condizione finale
3. ciclo enumerativo
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
CICLO CON CONTROLLO IN CODA
Nel Ciclo con Controllo in Coda, prima vengono eseguite le istruzioni corrispondenti
al corpo dell'iterazione, poi viene eseguito il controllo per stabilire se ripetere
ulteriormente tali istruzioni.
In questo caso, la condizione si dice di uscita, in quanto, se essa non è verificata,
allora il ciclo viene ripetuto, altrimenti l'esecuzione prosegue con la prima
istruzione successiva alla struttura di iterazione.
In un ciclo con Controllo in coda il corpo dell'iterazione viene eseguito almeno una
volta, indipendentemente dal verificarsi o meno della condizione di iterazione.
Esempio:
Eseguire le seguenti istruzioni:
Prendere una videocassetta dallo scaffale
Leggere il titolo della videocassetta
fino a trovare che il titolo è “Matrix”
Inserire la videocassetta nel videoregistratore
Premere il tasto Play
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
CICLO CROLLO IN CODA
Pseudocodifica
Esegui
istruzione 1;
istruzione 2;
…
istruzione n;
Ripeti finchè cond
Diagramma di flusso
condizione
vero
falso
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
CICLO CON CONTROLLO IN
TESTA
Nel Ciclo con Controllo in Testa, per prima cosa si
esegui in controllo della condizione. Se la condizione è
Vera si eseguono le istruzioni del ciclo e poi si ripete il
controllo. Quando la condizione è FALSA l’esecuzione
prosegue con la prima istruzione successiva alla
struttura di iterazione.
In un ciclo con Controllo in testa il corpo dell'iterazione
potrebbe anche non essere mai eseguito se la
condizione è sempre FALSA.
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
CICLO A CONDIZIONE INIZIALE
Diagramma di flusso
Pseudocodifica
mentre condizione esegui
istruzione 1;
istruzione 2;
…
istruzione n;
finementre
falso
condizione
vero
Istruz1
Istruz2
Nelle istruzioni del Ciclo ci deve essere almeno una istruzione che cambia la
condizione (da Vera a Falsa) altrimenti diventa un Ciclo INFINITO
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
CICLO ENUMERATIVO
Il Ciclo Enumerativo impone la ripetizione delle istruzioni un numero predefinito di
volte.
Esempio:
Quattro amici sono venuti a farci visita e vogliamo offrire loro da bere
dell’aranciata.
L’algoritmo è il seguente:
Prendere un vassoio
Eseguire 4 volte le seguienti istruzioni:
Prendere un bicchiere
Posare il bicchiere sul vassoio
Prendere la bottiglia di aranciata
Versare l’aranciata nei bicchieri
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
CICLO ENUMERATIVO
Il Ciclo Enumerativo prevede l'utilizzo di una variabile di controllo che permette
di contare il numero di iterazioni eseguite.
Pseudocodifica
FOR variabile := valore1 TO valore2 STEP valore3 DO
Sequenza di istruzioni
La variabile di controllo viene inizializzata a un valore di partenza prima di
entrare nel corpo del ciclo e, dopo ciascuna iterazione, viene incrementata di un
valore detto passo dell'iterazione.
Il ciclo termina quando il valore raggiunto dalla variabile di controllo supera quello
indicato come valore obiettivo.
Il confronto della variabile di controllo con il valore obiettivo viene eseguito
all'inizio del ciclo.
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
CICLO ENUMERATIVO
Diagramma a Blocchi
Variabile := 1
…
falso
Variabile <= n
vero
…
Variabile :=
Variabile + 1