Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Un algoritmo un pro
edimento
he, in una sequenza nita e ordinata di passi, permette
di ottenere un dato riultato o di risolvere un problema.
La des
rizione di un algoritmo in
parti.
(1) Intestazione. Si tratta di una brevissima des
rizione dell'algoritmo. In AlgoBox
la sezione Prsentation de l'algorithme.
(2) Sezione di
hiarativa.
In questa parte si
di hiarano
le variabili e le eventuali
In AlgoBox la
sezione Variables, e la di hiarazione avviene li ando su D larer nouvelle variable. In questo ontesto una variabile il
valore pu variare durante l'ese
uzione dell'algoritmo, mentre una
ostante il nome
on
ui viene indi
ato un dato
he non
ambia durante l'ese
uzione dell'algoritmo.
Il nome pu essere
ostituito da un qualsiasi numero di lettere o di
ifre, eventualmente separate da un unders
ore (
io il simbolo _).
tengono oltre a numeri an
he lettere dell'alfabeto o
aratteri spe
iali quali % e &.
In Algobox i dati numeri
i sono i dati du_type_nombre, quelli alfanumeri
i sono i
dati du_type_
haine, e sarebbe inoltre possibile utilizzare dati du_type_lyste.
(3) Sezione ese
utiva. In questa parte,
onvenzionalmente posta fra le parole Inizio
e Fine, vengono des
ritte le istruzioni vere e proprie
he
ompongono l'algoritmo.
Le istruzioni
elementari
seguente lista:
2.
Strutture di ontrollo
Nella sezione ese
utiva si veri
a spesso l'esigenza di ripetere pi volte al
ue istruzioni,
oppure di eseguire
erte istruzioni solo a
ondizione
he siano veri
ate determinate
ondizioni.
strutture di ontrollo.
1 VARIABLES
2
lato1 EST_DU_TYPE NOMBRE
3
lato2 EST_DU_TYPE NOMBRE
4
perimetro EST_DU_TYPE NOMBRE
5 DEBUT_ALGORITHME
6
LIRE lato1
7
LIRE lato2
8
perimetro PREND_LA_VALEUR 2*(lato1+lato2)
9
AFFICHER "Il perimetro del rettangolo : "
10
AFFICHER perimetro
11 FIN_ALGORITHME
2.2. La selezione. Questa struttura di
ontrollo
onsente di s
egliere le istruzioni in base al
veri
arsi di una
erta
ondizione. La sintassi in linguaggio di pseudo
odi
a la seguente:
Se
ondizione
allora
istruzione1
altrimenti
istruzione2
La parte altrimenti
istruzione2
deve essere eseguita al
una istruzione se la
ondizione non risulta veri
ata. Spesso inoltre
a
ade
he dopo l'allora o l'altrimenti siano presenti non singole istruzioni ma blo
hi di
pi istruzioni.
In AlgoBox si
li
a su Ajouter SI...Alors e poi eventualmente si aggiunge l'opzione
Ajouter SINON.
2.3. La Ripetizione. Talvolta si vuole ripetere un'istruzione ntanto
he una
erta
ondizione resta soddisfatta. Si utilizza allora la
osiddetta iterazione pre
ondizionale,
he
in linguaggio di pseudo
odi
a ha la seguente sintassi:
Mentre
ondizione
allora
istruzione
Abbiamo utilizzato sia la pro
edura di selezione
he quella di iterazione pre
ondizionale
quando abbiamo s
ritto l'algoritmo per il
al
olo del MCD di due numeri interi basato
sul metodo delle divisioni su
essive di Eu
lide.
1 VARIABLES
2
a EST_DU_TYPE NOMBRE
3
b EST_DU_TYPE NOMBRE
4
r EST_DU_TYPE NOMBRE
5 DEBUT_ALGORITHME
6
LIRE a
7
LIRE b
8
TANT_QUE (a==0 ET b==0) FAIRE
9
DEBUT_TANT_QUE
10
AFFICHER "I numeri a e b non possono essere
ontemporaneamente nulli."
11
LIRE a
12
LIRE b
13
FIN_TANT_QUE
14
SI (a<0) ALORS
15
DEBUT_SI
16
a PREND_LA_VALEUR -a
17
FIN_SI
18
SI (b<0) ALORS
19
DEBUT_SI
20
b PREND_LA_VALEUR -b
21
FIN_SI
22
SI (a==0 OU b==0) ALORS
23
DEBUT_SI
24
SI (a==0) ALORS
25
DEBUT_SI
26
AFFICHER "Il MCD di a e b : "
27
AFFICHER b
28
FIN_SI
29
SINON
30
DEBUT_SINON
31
AFFICHER "Il MCD di a e b : "
32
AFFICHER a
33
FIN_SINON
34
FIN_SI
35
SINON
36
DEBUT_SINON
37
r PREND_LA_VALEUR a%b
38
TANT_QUE (r>0) FAIRE
39
DEBUT_TANT_QUE
40
a PREND_LA_VALEUR b
41
b PREND_LA_VALEUR r
42
r PREND_LA_VALEUR a%b
43
FIN_TANT_QUE
44
AFFICHER "Il MCD di a e b : "
45
AFFICHER b
46
FIN_SINON
47 FIN_ALGORITHME
Altre volte inve
e noto a priori quante volte ne
essario ripetere una
erta istruzione.
Si pu in questo
aso utilizzare la
osiddetta iterazione enumerativa, la
ui sintassi in
linguaggio di pseudo
odi
a la seguente
Per
Fino a
valore nale
Ripeti
In questo aso la
variabile
il numero di ripetizioni e viene automati amente in rementata di una unit a ogni ripetizione.
1 VARIABLES
2
a EST_DU_TYPE NOMBRE
3
b EST_DU_TYPE NOMBRE
4
n EST_DU_TYPE NOMBRE
5
k EST_DU_TYPE NOMBRE
6
F EST_DU_TYPE NOMBRE
7 DEBUT_ALGORITHME
8
AFFICHER "Che numero di Fibona
i si vuole
al
olare?"
9
LIRE n
10
SI (n==0 OU n==1) ALORS
11
DEBUT_SI
12
AFFICHER "Il numero di Fibona
i ri
hiesto : "
13
AFFICHER n
14
FIN_SI
15
SINON
16
DEBUT_SINON
17
a PREND_LA_VALEUR 0
18
b PREND_LA_VALEUR 1
19
POUR k ALLANT_DE 2 A n
20
DEBUT_POUR
21
F PREND_LA_VALEUR a+b
22
a PREND_LA_VALEUR b
23
b PREND_LA_VALEUR F
24
FIN_POUR
25
AFFICHER "Il numero di Fibona
i ri
hiesto : "
26
AFFICHER F
27
FIN_SINON
28 FIN_ALGORITHME