Bonjour,
J'ai un exercice qui me pose problème en algorithmique (en rapport avec la trigonométrie), et j'aurais besoin d'un peu d'aide pour le terminer et le corriger.
Je dois créer un algorithme qui calcule la mesure principale d'une fraction de Pi, et la redonne sous la forme d'une fraction de Pi. Le numérateur et le dénominateur doivent être entrés séparément , et je ne dois pas utiliser Pi dans mon calcul.
Voici ce que j'ai fait pour le moment:
1 VARIABLES
2 N EST_DU_TYPE NOMBRE
3 D EST_DU_TYPE NOMBRE
4 MP EST_DU_TYPE NOMBRE
5 DEBUT_ALGORITHME
6 LIRE N
7 LIRE D
8 TANT_QUE (N/D < -1 OU N/D > 1) FAIRE
9 DEBUT_TANT_QUE
10 SI (N/D < -1) ALORS
11 DEBUT_SI
12 MP PREND_LA_VALEUR N/D + 2
13 FIN_SI
14 SI (N/D > 1) ALORS
15 DEBUT_SI
16 MP PREND_LA_VALEUR N/D - 2
17 FIN_SI
18 FIN_TANT_QUE
19 AFFICHER MP
20 FIN_ALGORITHME
Mais il ne fonctionne pas, le message "interrompu ligne 18 : dépassement de la capacité autorisée pour les boucles***" s'affiche à chacun de mes tests.
D'avance merci !
1 VARIABLES
2 N EST_DU_TYPE NOMBRE
3 D EST_DU_TYPE NOMBRE
4 MP EST_DU_TYPE NOMBRE
5 DEBUT_ALGORITHME
6 LIRE N
7 LIRE D
8 TANT_QUE (N/D < -1 OU N/D > 1) FAIRE
9 DEBUT_TANT_QUE
10 SI (N/D < -1) ALORS
11 DEBUT_SI
12 MP PREND_LA_VALEUR N/D + 2
13 FIN_SI
14 SINON
15 DEBUT_SINON
16 MP PREND_LA_VALEUR N/D - 2
17 FIN_SINON
18 FIN_TANT_QUE
19 AFFICHER MP
20 FIN_ALGORITHME
Toujours le même message d'erreur malgré l'ajout du "Sinon"
Bonjour, il y a de l'idée, mais tu enlèves ou rajoutes tes 2 toujours à N/D alors que tu devrais le faire sur MP
donc ça serait plutôt :
(tu peux le copier/coller dans algobox en mode éditeur de texte, ou bien directement en ligne dans proglab )
VARIABLES
N EST_DU_TYPE NOMBRE
D EST_DU_TYPE NOMBRE
MP EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE N
LIRE D
MP PREND_LA_VALEUR N/D
TANT_QUE (abs(MP)>1) FAIRE
DEBUT_TANT_QUE
SI (MP<-1) ALORS
DEBUT_SI
MP PREND_LA_VALEUR MP+2
FIN_SI
SI (N/D>1) ALORS
DEBUT_SI
MP PREND_LA_VALEUR MP-2
FIN_SI
FIN_TANT_QUE
AFFICHER MP
FIN_ALGORITHME
bonjour,
tes SI sont OK.
mais le contenu de N/D n'évolue pas.
proposition :
derriere la ligne 7, initialise MP en écrivant "MP Prend la valeur N/D"
en ligne 8, remplace N/D par MP==> tant que MP < -1 OU MP > 1
ligne 10 : SI MP < -1
en ligne 14 : SI MP > 1
ca marche ?
Merci beaucoup Glapion !
J'ai déjà réfléchis à comment faire en sorte d'afficher une fraction par la suite, je vais tester tout de suite
Merci encore
Merci également pour ton aide Leile
Je vais reprendre mon algorithme, retirer le "Sinon" et remettre le "Si" d'origine
Voilà, là ça affiche le résultat sous forme d'une fraction :
VARIABLES
N EST_DU_TYPE NOMBRE
D EST_DU_TYPE NOMBRE
MP EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE N
LIRE D
MP PREND_LA_VALEUR N/D
TANT_QUE (abs(MP)>1) FAIRE
DEBUT_TANT_QUE
SI (MP<-1) ALORS
DEBUT_SI
N PREND_LA_VALEUR N+2*D
FIN_SI
SI (MP>1) ALORS
DEBUT_SI
N PREND_LA_VALEUR N-2*D
FIN_SI
MP PREND_LA_VALEUR N/D
FIN_TANT_QUE
AFFICHER N
AFFICHER "/"
AFFICHER D
FIN_ALGORITHME
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :