1

Bonjour a tous,voila mon probleme:
Depuis quelque temps j'essai de creer un programme permettant de passer dun nombre reeel a un binaire en basic

petit rappel du binaire(pour ceux qui le savent deja):
pour trouver la valeur binaire dun nombre,on le compare a un tableau
ex:le nombre 166
cela donne: .../ 128 / 64 / 32 / 16 / 8 / 4 / 2 / 1 / 0 -->On remarque que
/ 1 / 0 / 1 / 0 / 0 /1 / 0 / 1 1*2=2.. 2*2=4...et 4*2=8 ...........
je mexplique:

166>128 donc on place 1 et on fait 166-128=38(qui nous servira pour la
prochaine valeur)
38<64 donc on met 0 et on continu avec la meme valeur
38>32 donc on place 1 et 38-32=6 (cf au dessu...)
6<16 donc 0
6<8 donc 0
6>4donc 1 et 6-4=2
2=2 donc 1 et 2-2=0
0<1 donc 0
0=0 donc 1

Voici donc le code que je tape pour l'avoir:
:ClrHome //efface l'ecran
:Prompt A //demande la variable A(nombre reel a convertir)
:246144->B // stoque 246144 dans B
:Repeat B=1 //jusqu'a ce que B=1(debut de la boucle)
:If A>B //si a>b
:Ouput("1" //ecrit 1
:A-B->A //comme expliquer plus haut,si a>b,on fai a-b pour avoir la nouvele valeur a comparer a b
:B/2->B // comme expliquer plus haut,si a>b,on fai b/2 pour avoir le nouvo comparant
:If a<b //si a<b
:Output("0" //ecirt 0
:End //fin de la boucle on revient a repeat



Mais malhaureusement,il ne marche pas,alors si vous avez le bon code,merci de me le faire parvenir!

2

dans l'écran home 42 |> bin ( |> == petit triangle plein)

3

Peut -tu texpliquer stp?
je ne comprend pas lerreur dans mon programme ou sinon si tu as la soluce pour faire ce convertisseur?

4

sacha>si condition n'éxécute que la ligne qui se trouve juste en dessous. Pour éxécuter plusieur commande, faut que tu fasse suivre la condition par then puis termine par endif :
If condition then
instruction
instruction
instruction
...
EndIF
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

5

Ca donne ca?


:ClrHome
:Prompt A
:246144->B
:Repeat B=1
:If A>B
:then
:Ouput("1"
:A-B->A
:B/2->B
:If a<b
:then
:Output("0"
:Endif

6

7

Copi ton code dans mon prgramme stp ca maidera a comprendre parce que la je ne voi pa pkoi
if a=1
3->b
4->c
Et ma boucle alors?sinon le prog ne marche pas?

8

Ca donne ca (juste en corrigeant les erreurs de synthaxe :


:ClrHome
:Prompt A
:246144->B
:While B!=1 // != signifie different
:If A>B then
:Ouput(x,y,"1") // x et y sont les positions où tu veux afficher ton 1
:A-B->A
:B/2->B
:If a<b then
:Output(x,y,"0")
:Endif
:Endif // il te manque ce endif
:EndWhile // ...Et ce endwhile (fin de ton repeat si tu prefere)

A par ca je te conseille vivement d'utiliser le [Catalog] disponile sur ta calc pour verifier la synthaxe de ton prog ou si tu as un doute.
Dernier truc : dans ton PRoGraM Editor tu as plein de raccourcis disponibles avec les touches F1...Fn qui t'eviteront de te tromper dans tes structures (genre le IF,While,For,etc...)

@+

[EDIT] : Oublis de corrigier le 2eme Output
PS: je te déconseille d'utiliser les outputs d'ailleurs. Sauf si tu gere les positions d'affichage.
"De l'Art de faire des Posts qui ne servent a Rien." (c) Ximoon

15:13 @Ximoon - 29-11-2005
"C'est débile ce sondage, une fois de plus Dude, tu ne sers à rien #hehe#" #love# Il est collector celui là ^^

18:56 @Ximoon - 09-10-2010
"Mince Dude sert à quelque chose %) (pas taper :D )" Owii xD #trilove#

9

output 98,0, * permet de faire une console plus serrée que Disp

10

Sinon tu peux faire resultat&"1"->resultat (ou resultat&"0"->resultat), puis afficher tous à la fin le contenus de resultat.

Dude>euh... je crois pas que le programme affichera 0 quand a<b si il faut préalablement que a>b ^^
Le 2é then ... EndIf ne sert à rien (puisqu'il n'y a qu'une seul instruction qui suit le if et non plusieur) et il faut déplacer le dernier EndIf juste avant le 2é if.

Sinon, regardes la fonction modulo ( mod() ), tu peux considérablement réduire la taille de ton programme.

Sinon, Sacha, t'aurais pas un ti-83 ou 84, par hasard ??
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.