![](//s1.studylibfr.com/store/data-gzf/cce410ad1a42004f69c1ce8d3c47f9ed/1/007403452.htmlex.zip/bg3.jpg)
1
ère
S-SI ©EPo
EXERCICE 2 :
Algorithmique et mesure principale
1) L’algorithme (partiel) ci-contre, écrit avec Algobox, a pour objectif de fournir la mesure
principale d’un angle x (nombre réel). Ainsi, cet algorithme donne la décomposition de x
sous la forme
ka 2
avec
ππ
;−∈a
et k un nombre entier naturel.
Math.PI est la notation utilisée par le logiciel pour le nombre
.
Compléter ce programme
1 VARIABLES
2 x EST_DU_TYPE NOMBRE
3 k EST_DU_TYPE NOMBRE
4 a EST_DU_TYPE NOMBRE
5 DEBUT_ALGORITHME
6 LIRE x
7 k PREND_LA_VALEUR 0
8 SI (x>=Math.PI) ALORS
9 DEBUT_SI
10 TANT_QUE (x>Math.PI) FAIRE
11 DEBUT_TANT_QUE
12 x PREND_LA_VALEUR x-2*Math.PI
13 k PREND_LA_VALEUR k+1
14 FIN_TANT_QUE
15 a PREND_LA_VALEUR 2*k
16 AFFICHER "x = "
17 AFFICHER x
18 AFFICHER " + "
19 AFFICHER a
20 AFFICHER " * PI"
21 FIN_SI
22 SINON
23 DEBUT_SINON
24 TANT_QUE (x<=-Math.PI) FAIRE
25 DEBUT_TANT_QUE
26 x PREND_LA_VALEUR x+2*Math.PI
27 k PREND_LA_VALEUR k+1
28 FIN_TANT_QUE
29 a PREND_LA_VALEUR 2*k
30 AFFICHER "x = "
31 AFFICHER x
32 AFFICHER " - "
33 AFFICHER a
34 AFFICHER " * PI"
35 FIN_SINON
36 FIN_ALGORITHME
2) Les nouvelles versions d’algobox renvoie effectivement la bonne décomposition pour
x=Math.PI. Par contre, il ne gère pas l’affichage de la valeur exacte. D’où la proposition
suivante qui modifie l’algorithme et affiche PI.
Remarque : il est évident que cet algorithme peut être amélioré. Il s’agit ici d’un exercice visant à
faire travailler la boucle TANT QUE et le test SI… ALORS… SINON…
1 VARIABLES
2 x EST_DU_TYPE NOMBRE
3 k EST_DU_TYPE NOMBRE
4 a EST_DU_TYPE NOMBRE
5 b EST_DU_TYPE NOMBRE
6 DEBUT_ALGORITHME
7 LIRE x
8 k PREND_LA_VALEUR 0
9 b prend la valeur Math.PI
10 SI (x>=Math.PI) ALORS
11 DEBUT_SI
12 TANT_QUE (x>Math.PI) FAIRE
13 DEBUT_TANT_QUE
14 x PREND_LA_VALEUR x-2*Math.PI
15 k PREND_LA_VALEUR k+1
16 FIN_TANT_QUE
17 a PREND_LA_VALEUR 2*k
18 AFFICHER "x = "
19 SI (x==b)
20 DEBUT_SI
21 AFFICHER " PI "
22 FIN_SI
23 SINON
24 DEBUT_SINON
25 AFFICHER x
26 FIN_SINON
27 AFFICHER " + "
28 AFFICHER a
29 AFFICHER " * PI"
30 FIN_SI
31 SINON
32 DEBUT_SINON
33 TANT_QUE (x<=-Math.PI) FAIRE
34 DEBUT_TANT_QUE
35 x PREND_LA_VALEUR x+2*Math.PI
36 k PREND_LA_VALEUR k+1
37 FIN_TANT_QUE
38 a PREND_LA_VALEUR 2*k
39 AFFICHER "x = "
40 SI (x==b)
41 DEBUT_SI
42 AFFICHER " PI "
43 FIN_SI
44 SINON
45 DEBUT_SINON
46 AFFICHER x
47 FIN_SINON
48 AFFICHER " - "
49 AFFICHER a
50 AFFICHER " * PI"
51 FIN_SINON
52 FIN_ALGORITHME