Problème D'Algorithme.

chyrla Messages postés 179 Date d'inscription   Statut Membre Dernière intervention   -  
chyrla Messages postés 179 Date d'inscription   Statut Membre Dernière intervention   -
Salut à tous ! Je suis en Première STL (Science et Technologie de Laboratoire) option SPCL (Science Physique Chimie Laboratoire). J'ai un prof de math qui nous a donné un algorithme à faire sur algobox : L'énoncé :

Écrire un programme dont l'entrée est une mesure en radian et dont la sortie est la mesure principale.

Cela fait deux jours que j'essai ... je pète les plombs ! (Inutiles de venir poster si ce n'est pas pour apporter une réponse constructive)

(algobox est un logiciel libre et en téléchargement gratuit. Dernière version : 0.6)

Merci d'avance du coup de main ! Je m'y remet !

Bonne soirée.
A voir également:

14 réponses

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
bonjour

tu vais simplement (un peu) mélangé les variables X et Y

VARIABLES
X EST_DU_TYPE NOMBRE
Y EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE X
Y PREND_LA_VALEUR X
SI (Y<-Math.PI) ALORS
DEBUT_SI
TANT_QUE (Y<=-Math.PI) FAIRE
DEBUT_TANT_QUE
Y PREND_LA_VALEUR Y+(2*Math.PI)
FIN_TANT_QUE
FIN_SI
SINON
DEBUT_SINON
SI (Y>Math.PI) ALORS
DEBUT_SI
TANT_QUE (Y>Math.PI) FAIRE
DEBUT_TANT_QUE
Y PREND_LA_VALEUR Y-(2*Math.PI)
FIN_TANT_QUE
FIN_SI
FIN_SINON
AFFICHER Y


RQ. En fait on pourrait supprimer la variable Y et travailler uniquement sur X (mais sa valeur initiale sera alors perdue)

bonne suite
1
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
pour le premier SI il faut lire
SI Y<=-Math.PI ALORS
0
chyrla Messages postés 179 Date d'inscription   Statut Membre Dernière intervention   6
 
L'algo en lui même marche, merci beaucoup ^^' Seulement maintenant il faudrait trouver un moyen pour repasser la valeur en PI ^^
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
bonjour

- pour le décompte du nombre de tours, il te suffit de déclarer une nouvelle variable T (par exemple) qui va être
1. initailisée à 0
2. mise à jour chaque fois que tu ajoutes/enlève un tour dans les boucles TANTQUE

- pour la première question, c'est un brin plus compliqué, tu ne dois plus entrer X comme un nombre décimal, mais comme une fraction de PI, et ça ce n'est possible qu'en séparant le numérateur et le dénominateur de X (par exemple pour entrer X=17*PI/5 tu dois (oublier X) entrer séparément N=17 et D = 5, et travailler uniquement avec N et D

bon courage
1
vordano Messages postés 1685 Date d'inscription   Statut Membre Dernière intervention   316
 
bon, je te le dis tout de suite, je ne te ferais pas le programme (surtout parce que le programme a l'air compliqué...)
par contre je peux t'aider pour faire ton algo (après a toi de voir quoi utiliser dans le programme pour reproduire ce que je te donnerais.

dans un premier temps, est ce que tu sais calculer la mesure principale a partir d'une mesure en radian ?


ps: j'ai signalé le sujet pour qu'il soit déplacé dans programmation
0
chyrla Messages postés 179 Date d'inscription   Statut Membre Dernière intervention   6
 
Alors oui pour le calcul à la main, et le programme ce n'est pas un programme, juste un algo. (C'était déjà dans Droit/Programmation je crois)
0
Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   663
 
et donc... tu peux écrire les étapes que tu fais ? en gros ce sera l'algo !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vordano Messages postés 1685 Date d'inscription   Statut Membre Dernière intervention   316
 
ton sujet était dans droit/informatique :)

pour le "programme" je parlais de l'algo et ensuite j'ai souligné que le programme algobox avais l'air compliqué ^^

et a part ca pour l'algo:

il faut d'abord déclarer autant de variable que nécessaire, pour ca il faut que tu identifie chaque valeur de ton calcul mesure radian->mesure principale

est ce que tu as eu un cour sur l'utilisation du logiciel algobox ?
je suppose qu'il dois y avoir une fonction qui calcul tout seul ce que tu cherche non ?
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
bonjour

pour une ébauche d'algorithme

lire r
si r < 0
alors 
  tant que abs(r) > pi
    r = r+2*pi
  fin tant que
sinon
  tant que r > pi
    r = r-2*pi
  fin tant que
fin si
afficher r


reste à régler
1. quelques cas particuliers
2. l'utilisation d'algobox

bonne suite
0
chyrla Messages postés 179 Date d'inscription   Statut Membre Dernière intervention   6
 
Merci pour l'ébauche, j'avais déjà, mais dépassement des boucles ... j'essai de vous mettre un de mes algo.

VARIABLES
X EST_DU_TYPE NOMBRE
Y EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE X
Y PREND_LA_VALEUR X
SI (Y<-Math.PI) ALORS
DEBUT_SI
TANT_QUE (X<-Math.PI) FAIRE
DEBUT_TANT_QUE
Y PREND_LA_VALEUR Y+(2*Math.PI)
FIN_TANT_QUE
FIN_SI
SINON
DEBUT_SINON
SI (X>Math.PI) ALORS
DEBUT_SI
TANT_QUE (X>Math.PI) FAIRE
DEBUT_TANT_QUE
Y PREND_LA_VALEUR Y-(2*Math.PI)
FIN_TANT_QUE
FIN_SI
FIN_SINON
AFFICHER Y



FIN_ALGORITHME

voila ce que j'ai fais, mais trop de boucles.
0
chyrla Messages postés 179 Date d'inscription   Statut Membre Dernière intervention   6
 
Merci pour ce lien, il va falloir que je lise de haut en bas, j'espère trouver mon bonheur ^^'
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
je ne comprends pas ta question, le pb est il - au niveau
- des entrées
- du traitement
- de la sortie
essaies d'illustrer par un exemple d'exécution
0
chyrla Messages postés 179 Date d'inscription   Statut Membre Dernière intervention   6
 
Le probleme est que je ne sais pas coder ce bout qu'il me manque.

Il faudrait en sortie, donc avant d'afficher y, un autre traitement; Il me faut une valeur dans le genre 3Math.PI/2. (Par exemple)

Seulement, pour le moment nous n'avons eu qu'une séance sur PC ...

Merci de l'aide que vous m'apportez, vous immaginez pas combien j'en ai test.
Environ 8 algo, une heure par algo a se demander ce qu'il ne va pas ... x)

Et ce n'est pas fini ... Mais ca avance ! Donc merci =D
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
je ne comprends toujours pas ta question

- si tu mets en entrée 3*PI/2 l'algorithme renvoie -PI/2 (c'est la mesure principale)

- si tu veux 3*PI/2 en sortie, ce n'est plus la mesure principale mais la plus petite mesure positive dans ce cas, il faut 2 valeurs en sortie (la mp et la ppmp) et ajouter un test sur Y pour avoir la ppmp lorsque la mp est négative

ou alors tu veux dire autre chose ....

bon courage
0
chyrla Messages postés 179 Date d'inscription   Statut Membre Dernière intervention   6
 
Dans algobox, quand tu lances l'algorithme, il te demande X. C'est la ligne lire X.

Je lui donne une valeur en PI, par exemple : 32*Math.PI/3

il me ressort une valeur décimale mais je veux une valeur de la forme n*Math.Pi/3. (n ici est la variable).

Par la suite dans mon exercice je dois ajouter des conditions pour savoir combien de tours il y a eu en plus, ou en moins.

Merci d'avance.
0
chyrla Messages postés 179 Date d'inscription   Statut Membre Dernière intervention   6
 
Merci pour tout, j'ai enfin réussi, je suis en train d'essayer pour le nombre de tour.

ça avance doucement mais surement.

à bientot !
0