Skip to content

Commit 3f3b568

Browse files
committed
[NEW] Exercice 29
1 parent 461cca9 commit 3f3b568

File tree

2 files changed

+235
-0
lines changed

2 files changed

+235
-0
lines changed

Exercice_29/exercice29.js

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
/****************************************** EXERCICE 29 *******************************************/
2+
3+
var readline = require("readline-sync");
4+
5+
var choixPrincipal;
6+
do {
7+
afficherMenuPrincipal();
8+
choixPrincipal = readline.question("Quel est votre choix ? : ");
9+
10+
switch (choixPrincipal) {
11+
case "A":
12+
gererCercle();
13+
14+
break;
15+
case "B":
16+
gererRectangle();
17+
18+
break;
19+
case "Q":
20+
console.log("À + !");
21+
break;
22+
23+
default:
24+
console.log("Cas non pris en compte, recommencez !");
25+
break;
26+
}
27+
} while (choixPrincipal != "Q");
28+
29+
function afficherMenuPrincipal() {
30+
var msg = "------------------------\n";
31+
msg += "-----Menu Principal-----\n";
32+
msg += "A : Cercle\n";
33+
msg += "B : Rectangle\n";
34+
msg += "Q : Quitter\n";
35+
msg += "------------------------\n";
36+
console.log(msg);
37+
}
38+
39+
function afficherMenu() {
40+
var msg = "------------------------\n";
41+
msg += "----------Menu----------\n";
42+
msg += "1 : Périmètre\n";
43+
msg += "2 : Aire\n";
44+
msg += "------------------------\n";
45+
console.log(msg);
46+
}
47+
48+
function calculerAireCercle(rayon) {
49+
return rayon * rayon * Math.PI;
50+
}
51+
52+
function calculerPerimetreCercle(rayon) {
53+
return 2 * rayon * Math.PI;
54+
}
55+
56+
function gererCercle() {
57+
var rayon = readline.questionInt("Quel est le rayon du cercle ? ");
58+
59+
afficherMenu();
60+
var saisie;
61+
62+
do {
63+
saisie = readline.questionInt("Quel est votre choix ? : ");
64+
} while (saisie != 1 && saisie != 2);
65+
66+
switch (saisie) {
67+
case 1:
68+
console.log(
69+
"Le périmètre d'un cercle de rayon " +
70+
rayon +
71+
" est de : " +
72+
calculerPerimetreCercle(rayon)
73+
);
74+
break;
75+
case 2:
76+
console.log(
77+
"L'aire d'un cercle de rayon " +
78+
rayon +
79+
" est de : " +
80+
calculerAireCercle(rayon)
81+
);
82+
break;
83+
}
84+
}
85+
86+
function calculerPerimetreRectangle(longueur, largeur) {
87+
return 2 * (longueur + largeur);
88+
}
89+
90+
function calculerAireRectangle(longueur, largeur) {
91+
return longueur * largeur;
92+
}
93+
94+
function gererRectangle() {
95+
var longueur = readline.questionInt("Quelle est la longueur du rectangle ? ");
96+
var largeur = readline.questionInt("Quelle est la largeur du rectangle ? ");
97+
98+
afficherMenu();
99+
var saisie;
100+
101+
do {
102+
saisie = readline.questionInt("Quel est votre choix ? : ");
103+
} while (saisie != 1 && saisie != 2);
104+
105+
switch (saisie) {
106+
case 1:
107+
console.log(
108+
"Le périmètre d'un rectangle de " +
109+
longueur +
110+
" par " +
111+
largeur +
112+
" est de " +
113+
calculerPerimetreRectangle(longueur, largeur)
114+
);
115+
break;
116+
case 2:
117+
console.log(
118+
"L'aire d'un rectangle de " +
119+
longueur +
120+
" par " +
121+
largeur +
122+
" est de " +
123+
calculerAireRectangle(longueur, largeur)
124+
);
125+
break;
126+
}
127+
}

Exercice_29/exercice29.pseudoc

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
/****************************************** EXERCICE 29 *******************************************/
2+
3+
FONCTION afficherMenuPrincipal()
4+
VARIABLE
5+
msg : CHAINE DE CARACTERE
6+
DÉBUT
7+
msg → "------------------------\n"
8+
msg → msg + "-----Menu Principal-----\n"
9+
msg → msg + "A : Cercle\n"
10+
msg → msg + "B : Rectangle\n"
11+
msg → msg + "Q : Quitter\n"
12+
msg → msg + "------------------------\n"
13+
AFFICHER msg
14+
FIN
15+
16+
FONCTION afficherMenu()
17+
VARIABLE
18+
msg : CHAINE DE CARACTERE
19+
DÉBUT
20+
msg → "------------------------\n"
21+
msg → msg + "----------Menu----------\n"
22+
msg → msg + "1 : Périmètre\n"
23+
msg → msg + "2 : Aire\n"
24+
msg → msg + "------------------------\n"
25+
AFFICHER msg
26+
FIN
27+
28+
FONCTION calculerAireCercle(rayon)
29+
DÉBUT
30+
RETOURNER rayon * rayon * π
31+
FIN
32+
33+
FONCTION calculerPerimetreCercle(rayon)
34+
DÉBUT
35+
RETOURNER 2 * rayon * π
36+
FIN
37+
38+
FONCTION gererCercle()
39+
VARIABLES
40+
rayon, saisie : ENTIER
41+
DÉBUT
42+
AFFICHER "Quel est le rayon du cercle ? "
43+
SAISIR rayon
44+
45+
afficherMenu()
46+
47+
FAIRE
48+
AFFICHER "Quel est votre choix ? : "
49+
SAISIR saisie
50+
TANT QUE (saisie != 1 ET saisie != 2)
51+
52+
SELON saisie
53+
CAS 1 : AFFICHER "Le périmètre d'un cercle de rayon ", rayon, " est de : ", calculerPerimetreCercle(rayon)
54+
CAS 2 : AFFICHER "L'aire d'un cercle de rayon ", rayon, " est de : ", calculerAireCercle(rayon)
55+
FINSELON
56+
FIN
57+
58+
FONCTION calculerPerimetreRectangle(longueur, largeur)
59+
DÉBUT
60+
RETOURNER 2 * (longueur + largeur)
61+
FIN
62+
63+
FONCTION calculerAireRectangle(longueur, largeur)
64+
DÉBUT
65+
RETOURNER longueur * largeur
66+
FIN
67+
68+
FONCTION gererRectangle()
69+
VARIABLES
70+
longueur, largeur, saisie : ENTIER
71+
DÉBUT
72+
AFFICHER "Quelle est la longueur du rectangle ? "
73+
SAISIR longueur
74+
AFFICHER "Quelle est la largeur du rectangle ? "
75+
SAISIR largeur
76+
77+
afficherMenu()
78+
79+
FAIRE
80+
AFFICHER "Quel est votre choix ? : "
81+
SAISIR saisie
82+
TANT QUE (saisie != 1 ET saisie != 2)
83+
84+
SELON saisie
85+
CAS 1 : AFFICHER "Le périmètre d'un rectangle de ", longueur, " par ", largeur, " est de ", calculerPerimetreRectangle(longueur, largeur)
86+
CAS 2 : AFFICHER "L'aire d'un rectangle de ", longueur, " par ", largeur, " est de ", calculerAireRectangle(longueur, largeur)
87+
FINSELON
88+
FIN
89+
90+
ALGORITHME main
91+
VARIABLE
92+
choixPrincipal : CHAINE DE CARACTERE
93+
DÉBUT
94+
FAIRE
95+
afficherMenuPrincipal()
96+
AFFICHER "Quel est votre choix ? : "
97+
SAISIR choixPrincipal
98+
99+
SELON choixPrincipal
100+
CAS "A" : gererCercle()
101+
AFFICHER "Le périmètre d'un rectangle de ", longueur, " par ", largeur, " est de ", calculerPerimetre(longueur, largeur)
102+
CAS "B" : gererRectangle()
103+
AFFICHER "L'aire d'un rectangle de ", longueur, " par ", largeur, " est de ", calculerAire(longueur, largeur)
104+
CAS "Q" : AFFICHER "À + !"
105+
AUTREMENT : AFFICHER "Cas non pris en compte, recommencez !"
106+
FINSELON
107+
TANT QUE (choixPrincipal != "Q")
108+
FIN

0 commit comments

Comments
 (0)