Algorithme angle orienté

Publié le 23 mars 2012 il y a 12A par Anonyme - Fin › 30 mars 2012 dans 12A
17.00 / 20
5

Sujet du devoir

Bonjour,
Je dois réaliser un algorithme permettant de retourner deux choses lorsqu'on entre une mesure d'un angle orienté:
- La mesure principale de cet angle
- Le nombre de "tour" qu'il faut ajouter ou soustraire pour l'obtenir

Voici le début de l'algorithme : http://img11.hostingpics.net/pics/231870DMALGORITHME001.jpg

Où j'en suis dans mon devoir

Je ne sais pas du tout comment m'y prendre...
Merci de bien vouloir m''aider.



27 commentaires pour ce devoir


Anonyme
Posté le 23 mars 2012
bonjour Shaynah,

je ne pourrais pas t'aider sur le langage lui-même (syntaxe), mais sur la logique de l'algorithme.

x représente l'angle saisi, à réduire
a sa mesure principale sur l'intervalle [-pi;pi[
k le nb de tours : on enlève ou on rajoute k fois 2pi.

début algorithme :
lire x
k=0
a=x

si x>=0 : '' on enlèvera k fois 2pi jusqu'à ce que a< pi
...... tant que a>=pi alors
................... a = a-2pi
................... k = k+1
.......sinon : affichage a et k
.......fin tant que : ''retour au début

sinon : ''cas x<0:on ajoutera k fois 2pi jusqu'à ce que a>= -pi
...... tant que a < -pi alors
................... a = a+2pi
................... k = k+1
.......sinon : affichage a et k
.......fin tant que : ''retour au début

finsi
Anonyme
Posté le 23 mars 2012
pour l'affichage de k (nombre de tours)
pense à préciser à l'affichage si on les a ajoutés ou soustraits.
Anonyme
Posté le 23 mars 2012
Je pense qu'il y a un problème mais je ne vois pas où
http://img11.hostingpics.net/pics/505395HKJ.jpg

Par exemple pour x=185pi/6, l'algorithme me retourne cela :
a=2,61..
k=15
Anonyme
Posté le 23 mars 2012
une proposition : travailler en demi-tours, et avec pi plutot que 2pi

lire x
k=0
a=x
DEBUT.
Si x>=pi alors
...debut si
.......tant que (a>pi) faire
............a=a-pi
............k=k+0,5
.......fin tant que
.......afficher "mesure x " a
.......afficher "nb de tours enlevés " k
...fin si
sinon
....debut sinon
........tant que (a<-pi) faire
........a= a+pi
........k=k+0,5
........fin tant que
.....afficher "mesure x= " a
.....afficher "nb de tours ajoutés " k
.....fin sinon
fin algo

cet algo repond 15 tours et x=150° pour x=185pi/6
et 1,5 tour et x=-60° pour x=-10pi/3
qu'en dis tu ??
Anonyme
Posté le 23 mars 2012
as-tu bien mis k à zéro, et x dans a au début?

je ne maitrise pas trop ce langage...
toutefois je pense qu'il y a plusieurs erreurs :
si on numérote les lignes que tu m'as envoyées

1) tu ouvres un test sur x>=0 (ligne 1)
mais tu ne dois pas en ouvrir un autre pour x<0 (ligne 15)---> c'est le SINON du 1er test
en effet si x n'est pas >=0 alors c'est qu'il est <0

2) il me semble (?) que tu devrais enlever finsi après le 1er fintantque, ainsi que le SINON qui suit (ligne 9 et 10)

il n'y auras qu'un seul finsi, à la fin, correspondant au test sur x

je ne sais pas si c'est bien clair :S

quand je fais tourner avec cet organigramme, je trouves bien k=15 et a = 5pi/6 environ 0.83pi
Anonyme
Posté le 23 mars 2012
bonjour Leilé !
je vois que tu maitrises mieux ce langage que moi :)
je m'éclipse et te laisse donc en compagnie de Shaynah.
toutefois, je pense que k doit être un entier relatif.
Anonyme
Posté le 23 mars 2012
Il n'y a pas une erreur : http://img11.hostingpics.net/pics/731917fdf.jpg

Je ne retrouve pas les mêmes résultats
Anonyme
Posté le 23 mars 2012
Bonjour Carita, bonjour Shaynah
Si k doit etre entier, alors il faut faire varier a
avec a=a-2pi, et k=k+1
mais dans ce cas, le tant que doit s'ecrire tant que (a>2pi),
sinon, ca cloche... ce qui est different du debut de l'algo donné dans l'énoncé..
je suis perplexe..

Anonyme
Posté le 23 mars 2012
bonjour,
j'en vois une : dans le 2ème tant que,
il faut ecrire tant que a < -pi
je crois que tu as ecrit TQ a < pi...

je vais verifier la syntaxe des si, sinon en algobox.
tu dis que tu ne trouves pas les memes resultats : que trouves tu ?
Anonyme
Posté le 23 mars 2012
Je fait quel méthode alors?
Anonyme
Posté le 23 mars 2012
je trouve :
2.6179939
0
Anonyme
Posté le 23 mars 2012
les si et les sinon sont bien dans ton algorithme..
il te manque le fin sinon et le fin algo, c'est tout.
qu'obtiens tu comme resultats ?
Anonyme
Posté le 23 mars 2012
Je ne vois pas ou est mon erreur alors, je met bien x=(185*Math.PI)/6 et l'algorithme me retourne:
2.6179939
0
Anonyme
Posté le 23 mars 2012
et tu dois commencer par declarer tes variables :
a est du type nombre, k est du type nombre,
x est du type nombre,
Anonyme
Posté le 23 mars 2012
oui, je l'ai bien fait
Anonyme
Posté le 23 mars 2012
il me turlupine, cet exo ...

essaie ceci : la mesure principale appartient à [-pi;pi[
adapte la syntaxe le cas échéant

variables
x est du type nombre
k est du type nombre
a est du type nombre

DEBUT algorithme
lire x
k=0
a=x

Si x>=pi alors
...debut si
.......tant que (a>pi) faire
............a=a-2pi
............k=k+1
.......fin tant que
.......afficher "mesure x " a
.......afficher "nb de tours enlevés " k
....fin si
sinon
....debut sinon
........tant que (a<-pi) faire
........a= a+2pi
........k=k+1
........fin tant que
.....afficher "mesure x= " a
.....afficher "nb de tours ajoutés " k
.....fin sinon

fin algorithme
Anonyme
Posté le 23 mars 2012
je rectifie
.......tant que (a>=pi) faire
Anonyme
Posté le 23 mars 2012
je ne vois pas ce qui cloche.. je dois partir, mais je reviens ce soir..
d'ici là, peux tu essayer ton algorithme en remplacant Math.PI par 180, partout et en donnant la valeur de x au depart = 185*180/6 ==> ca donnera peut-etre une indication.
OK ?
Anonyme
Posté le 23 mars 2012
Ok je vais essayer
Anonyme
Posté le 23 mars 2012
je crois que j'ai une piste :
dans algobox, Math.PI prend la valeur 3,1416.....
pas la valeur 180!!
2.6179939 : c'est le resultat que j'obtiens aussi, avec pi=3,14
si tu remplaces math.pi par 180, tu auras de meilleurs resultats!
a ce soir
Anonyme
Posté le 23 mars 2012
Je ne devrais pas plutôt mettre "Si x>=0 alors" ?
Anonyme
Posté le 23 mars 2012
Anonyme
Posté le 23 mars 2012
Voilà je pense que c'est sa:
http://img11.hostingpics.net/pics/187508Capturerdd.jpg

Je trouve:
2.6179939 (Angle principal 5pi/6 ce qui correspond bien)
15 ( 185pi/6-15*2pi=5pi/6 )

On ne peut pas améliorer l'affichage? Pour que ce soit plus comprehésensible
Anonyme
Posté le 23 mars 2012
oui bien sur
x>=0
Anonyme
Posté le 23 mars 2012
Bonsoir, Shaynah,
je pense aussi que c'est ca. Le resultat que tu trouves est donc en radians (avec pi=3,1416...).
je ne connais pas suffisamment algobox pour afficher plus lisiblement, mais tu peux préciser l'unité (radian);
tu peux aussi convertir en degrés, et afficher en degrés juste après ta reponse en radians..
Bonne soirée !
Anonyme
Posté le 23 mars 2012
D'accord merci beaucoup :)
Bonne soirée!
Anonyme
Posté le 23 mars 2012

Il nous a fait bien réfléchir cet exo ! A bientot !
Bonne soirée.

Ils ont besoin d'aide !

Il faut être inscrit pour aider

Crée un compte gratuit pour aider

Je m'inscrisOU

J'ai déjà un compte

Je me connecte