Bonjour à tous, J'ai un soucis avec une des questions d'une fiche de math. La question est :
Écrire un programme associé à cette algorithme dans un langage de calculatrice puis le tester sur votre calculatrice.
L'algorithme auquel je dois associé le programme est celui ci :
Variables : a,b nombres réels
Entrées : saisir a et b
Traitement : si a > b alors
a prend la valeur b
b prend la valeur a
fin de Si
Sortie :afficher a puis b.
Voilà je n'arrive pas à écrire la partie en gras de l'algorithme sur ma calculatrice ( Casio graph 35+E), auriez vous des idées pour terminer ce programme ? Merci d'avance pour votre aide.
Je cherche à écrire a prend la valeur de b et b prend la valeur de a,mais je ne l'ai pas trouver comme je t'ai dis sur la feuille précédente ( j'ai peux être mal regarder aussi c'est plausible )
Bonjour,
Il y a un problème; ton algorithme doit échanger les valeurs de a et b quand a>b, mais pour échanger les valeurs de 2 variables, il faut une variable intermédiaire.
En effet, si a prend la valeur b, b prend la valeur a qui est devenue b!!!
tu peux faire ceci:
c prend la valeur a
a prend la valeur b
b prend la valeur c
Merci mais cela ne marche toujours pas, je vais donc técrire mon programme :
"A=" ?=A
"B=" ?=B
If A>B
Then B->A, A->B
Ifend
A□ ( sa représente le triangle rectangle qui sert à afficher le résultat )
B□
Voilà est ce que tu pourais mexpliquer ce qui ne va pas ?
Mathausse
mathamore
Bonjour,
et alors ça marche et c'est la traduction exacte de l'algorithme donné dans l'énoncé
(algorithme qui n'a jamais fait l'échange de a et b !!)
après qu'on te demande de corriger cet algorithme défectueux dès le départ pour qu'il fasse effectivement l'échange de a et b est une autre histoire (et c'est là qu'il va falloir obligatoirement faire intervenir la variable C)
j'insiste
l'énoncé : "cet algorithme" est ce que tu as fait et rien d'autre (pas de c à rajouter ni rien)
et le résultat est ce qui est attendu par ce que tu as dit de l'énoncé et c'est tout
croire que "ça ne marche pas" est une erreur : ça marche et ça donne réellement le résultat attendu.
(qui n'est donc pas ce que tu imagines)
maintenant si l'énoncé n'est pas ça, c'est une autre histoire ...
L'énoncé est clairement" écrire un programme qui correspond à cet algorithme" ( que j'ai écris si dessus ), mais le programme( que j'ai écris au dessus )quand je l'essaye me marque syntaxe error quand j'ai fini de rentrer mes valeurs, et c'est sur ce problème que j'aimerais de l'aide, sur lécriture du programme
ah...
(c'est la première fois que tu dis que c'est "syntax error" !!)
donc c'est dans la syntaxe elle même que se situe l'erreur
voir la notice de ta calculette spécifique
Then B->A, A->B est peut être douteux (de faire plusieurs opérations sur la même ligne), peut être que ça se sépare avec des ; et pas des , peut être qu'il faut écrire ça sur des lignes séparées :
Then
B->A
A->B
Ifend
peut être que B->A s'écrit A <- B sur ta calculette ou je ne sais quoi (syntaxe pour mettre un résultat dans une variable ??)
que sais-je (voir la notice disais-je)
en tout cas c'est bien dans cette direction qu'il faut chercher et pas réinterpréter autrement l'énoncé comme l'a fait mathamore
Qui plus est, l'instruction "b prend la valeur a" ne sert strictement à rien!
algorithme complètement foireux!
c'est celui de l'énoncé
qu'il soit foireux ne change rien à ce que c'est celui là qu'on demande de traduire
ensuite qu'il y ait sans doute une question suivante demandant de le corriger pour que ça mette dans a la plus petite des deux et dans b la plus grande (donc échanger a et b si a > b) est une autre question
et c'est évident :
- soit que cette autre question suivante existe bel et bien
- soit que l'algorithme n'était pas donné mais que c'est encore un énoncé "raconté" à la sauce du demandeur et c'est lui qui a écrit cet algorithme faux dans une question précédente.
parce que sinon je suis parfaitement d'accord avec toi que cet exercice n'aurait rigoureusement aucun sens.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :