Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

Algorithme calculant la mesure principale d'un angle orienté

Posté par
Kandinsky
12-02-14 à 16:20

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 !

Posté par
babasdu42
re : Algorithme calculant la mesure principale d'un angle orient 12-02-14 à 16:27

il faut que tu enleve un de tes si et le remplacer par un sinon

Posté par
Kandinsky
re : Algorithme calculant la mesure principale d'un angle orient 12-02-14 à 16:31

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"

Posté par
Glapion Moderateur
re : Algorithme calculant la mesure principale d'un angle orient 12-02-14 à 16:33

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


Ça marche mais ça ne donne pas le résultat sous forme de fraction comme demandé. Donc réfléchis à comment le transformer pour qu'il donne le numérateur et le dénominateur d'une fraction)

Posté par
Leile
re : Algorithme calculant la mesure principale d'un angle orient 12-02-14 à 16:33

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 ?

Posté par
Kandinsky
re : Algorithme calculant la mesure principale d'un angle orient 12-02-14 à 16:34

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

Posté par
Kandinsky
re : Algorithme calculant la mesure principale d'un angle orient 12-02-14 à 16:36

Merci également pour ton aide Leile

Je vais reprendre mon algorithme, retirer le "Sinon" et remettre le "Si" d'origine

Posté par
Glapion Moderateur
re : Algorithme calculant la mesure principale d'un angle orient 12-02-14 à 16:39

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

Posté par
Kandinsky
re : Algorithme calculant la mesure principale d'un angle orient 12-02-14 à 16:55

Encore merci pour votre aide Glapion



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1742 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !