Besoin d'aide ti 86

buty -  
 buty -
Bonjour,
Je suis une maman programmeur.
Mafille possède une ti 86 et a besoin de faire n programme pour la suite de Syracuse; cela ne me paraît pas compliqué mais je ne connais pas la ti 86 et il semble qu'elle fonctionne à l'envers, elleexécute le then lorsque la condition est fausse et le else lorsqu'elle est vrai !!!!
Voici le programme :
input u
while u>1
if int(u/2)=u/2 (nombre pair)
then
u/2 ->u
else (nombre impair)
3*u+1->u
end
pause
disp u
end

j'entre le nombre 5, la calculette affiche 2.5,1.25,.625
j'entre le nombre 6, affichage : 19,9.5,4.75,2.375,1.1875,.59375
Donc elle divise le nombre impair qu'elle devrait multiplier et multplie le nombre pair !
Je ne comprends pas, merci de votre aide

Véronique

4 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    bonjour

    je crois que le coupable est là
    if int(u/2)=u/2
    ce "=" est un test d"égalité et la TI85-86 (vieille machine) utilise pour ce test "==" du menu test
    et avec 5 en entrée ça donne bien 16,8,4,2,1
    bonne suite
    0
  2. buty
     
    Merci mais comment faudrait-il procéder pour éviter ce buG ,

    Véronique
    0
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    re

    mais il n'y a pas de bug chez la TI 86, c'est la syntaxe du langage TI (85-86)
    tu écris ceci
    if int(u/2)==u/2
    où == provient du menu Test (touche 2 de la machine puis F1, là où tu as pris >)

    RQ1. tu peux aussi mettre deux "=" de la touche STO, c'est un peu moins logique puisque ce "=" est bleu et s'obtient avec la touche ALPHA, comme un texte donc, mais ça fonctionne
    RQ2. sur les générations de machines qui suivent, TI a abandonné ce "=" au clavier qui a posé, et qui apparemment pose encore, pas mal de confusions

    bonne suite
    0
  4. buty
     
    OK MERCI BEAUCOUP? LE PROGRAMME FONCTIONNE CORRECTEMENT.
    c'est assez déconcertant pour un (une) programmeur d'écrire un "=" qui ne veut rien dire puisque non compris par la machine, je n'aurai jamais trouvé seule !!!

    Vive internet et merci à ceux qui se donnent la peine de répondre.

    Véronique
    0