ISN – De ALGOBOX à PYTHON Voici trois algorithmes écrits pour

publicité
ISN – De ALGOBOX à PYTHON
Voici trois algorithmes écrits pour ALGOBOX. Que font-ils ?
1 VARIABLES
2
X EST_DU_TYPE NOMBRE
3
Y EST_DU_TYPE NOMBRE
4 DEBUT_ALGORITHME
5
AFFICHER "Donner le nombre initial"
6
LIRE X
7
Y PREND_LA_VALEUR 2*X*X+3*X-5
8
AFFICHER "Le résultat est : "
9
AFFICHER Y
10 FIN_ALGORITHME
Réponse
1 VARIABLES
2
AB EST_DU_TYPE NOMBRE
3
BC EST_DU_TYPE NOMBRE
4
AC EST_DU_TYPE NOMBRE
5 DEBUT_ALGORITHME
6
AFFICHER "Longueur du coté le plus grand?"
7
LIRE AB
8
AFFICHER "Longueur 2nd côté?"
9
LIRE BC
10
AFFICHER "Longueur dernier côté?"
11
LIRE AC
12
SI (pow(AB,2)==pow(BC,2)+pow(AC,2)) ALORS
13
DEBUT_SI
14
AFFICHER "Il est rectangle"
15
FIN_SI
16
SINON
17
DEBUT_SINON
18
AFFICHER "Il n'est pas rectangle"
19
FIN_SINON
20 FIN_ALGORITHME
Réponse
1 VARIABLES
2
U EST_DU_TYPE NOMBRE
3
V EST_DU_TYPE NOMBRE
4
W EST_DU_TYPE NOMBRE
5
I EST_DU_TYPE NOMBRE
6 DEBUT_ALGORITHME
7
U PREND_LA_VALEUR 0
8
V PREND_LA_VALEUR U+1
9
W PREND_LA_VALEUR 0
10
POUR I ALLANT_DE 0 A 9
11
DEBUT_POUR
12
W PREND_LA_VALEUR U+V
13
U PREND_LA_VALEUR W
14
V PREND_LA_VALEUR U+1
15
AFFICHER "Boucle n :"
16
AFFICHER I
17
AFFICHER "le résultat est : "
18
AFFICHER W
19
FIN_POUR
20
AFFICHER "Le résultat FINAL est : "
21
AFFICHER W
22 FIN_ALGORITHME
Réponse
Algorithme 4 avec ALGOBOX: (Remplacer les ???? par le nom qui va bien…)
VARIABLES
A EST_DU_TYPE NOMBRE
B EST_DU_TYPE NOMBRE
R EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE A
LIRE B
AFFICHER " ?????????? de "
AFFICHER A
AFFICHER " et "
AFFICHER B
TANT_QUE (B!=0) FAIRE
DEBUT_TANT_QUE
R PREND_LA_VALEUR A%B
// Toutes les lignes commençant par // ne sont que des commentaires.
// L’opérateur % donne le reste de la division euclidienne
A PREND_LA_VALEUR B
B PREND_LA_VALEUR R
AFFICHER " ?????????? de "
AFFICHER A
AFFICHER " et "
AFFICHER B
FIN_TANT_QUE
AFFICHER "= "
AFFICHER A
FIN_ALGORITHME
Réponse :
Algorithme 5 avec ALGOBOX:
VARIABLES
n EST_DU_TYPE NOMBRE
diviseur EST_DU_TYPE NOMBRE
nbfacteurs EST_DU_TYPE NOMBRE
a EST_DU_TYPE NOMBRE
puissance EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE n
AFFICHER n
AFFICHER "="
a PREND_LA_VALEUR n
nbfacteurs PREND_LA_VALEUR 0
POUR diviseur ALLANT_DE 2 A floor(n/2)
// floor(x) : Partie entière de x
DEBUT_POUR
SI (a%diviseur==0) ALORS
DEBUT_SI
nbfacteurs PREND_LA_VALEUR nbfacteurs+1
puissance PREND_LA_VALEUR 1
a PREND_LA_VALEUR a/diviseur
TANT_QUE (a%diviseur==0) FAIRE
DEBUT_TANT_QUE
puissance PREND_LA_VALEUR puissance+1
a PREND_LA_VALEUR a/diviseur
FIN_TANT_QUE
SI (nbfacteurs>1) ALORS
DEBUT_SI
AFFICHER " * "
FIN_SI
AFFICHER diviseur
AFFICHER "^"
AFFICHER puissance
FIN_SI
FIN_POUR
SI (nbfacteurs==0) ALORS
DEBUT_SI
AFFICHER n
FIN_SI
FIN_ALGORITHME
Réponse :
Téléchargement