bonjour,
nous commencons en cours a programmer des algorythme sur la calculatrice (Ti-83+)
Ma prof nous a distribuer deux fiches a faire sur le sujet mais je n'arrive pas a le realiser sur ma calculatrice...
La structure alternative :
Soit f la fonction définie sur N de la facon suivant : -si n est pair, alors f(n)=n/2
-si n est impair, alors f(n)=3n+1
Voici l'algorithme de calcul des valeurs de la fonction f :
Entrée
Saisir n
Traitement
Si n est pair alors
y prend la valeur n/2
sinon
y prend la valeur 3n+1
FinSi
Sortie
Afficher y
Sur ma ti j'ai essayer toute sorte de programmes mais a chaque fois cela ne marchais pas
J'ai penser à :
:Input "n=",n
:If n=PAIR
:Then
:n/2->y
:If n=IMPAIR
:Then
:3n+1->y
:End
: Disp "y=",y
Si vous pouviez m'aider...je vous remercie d'avance !
ce qui ne marche pas c'est ton if n = PAIR
moi je passerais par
if mod(n;2) = 0 (ce qui veut dire si lorsqu'on divise n par 2 le reste est 0 soit si n est pair)
then
1/2 STO y
Else
3 n + 1 STO y
END
Disp "y" , y
je n'ai pas la TI sous les yeux mais cela devrait marcher
j'ai essayer mais ca ne marche pas
J'ai oubliée de dire, qu'il y avait aussi écrit sur la feuille, qu'il fallait faire:
Si condition alors
Traitement 1
Sinon
Traitement 2
FinSi
Instruction calculatrice : If....Then...Else...End
bonjour, je ne pense pas que la fonction mod existe sur TI.
Pour indique qu'un nombre n est pair, il faut dire que le quotient N/2 est entier c'est à dire, pour la calculatrice, n/2 est égal à sa partie entière. Connais-tu cette fonction.
Par ailleurs, effectivement tu te trompes après la ligne: n/2y
Les lignes suivantes sont:
Else
3n+1y
End
Disp y (ou Disp"y=",y)
Merci
j'ai essayer mais je ne vois pas tout a fait comment on fait partie entière, faut-il faire : partEnt(n/2) ou n/2 STO partEnt(y) ou autre chose encore...?
Par contre j'ai fait le programme en suivant vos conseille mais quand je veux le faire il m'indique une erreur...
J'ai fait cela :
:Input "n=",n
:partEnt(n/2)
:Then
:n/2-->y
:Else
:3n+1-->y
:End
:disp y
Il doit y avoir une erreur quelque part...
Je rectifie encore (je n'avais pas vu la première fois). Tu dois écrire:
If partEnt(n/2) = n/2
sinon tu n'as entré aucune condition. D'accord ?
je ne comprends, je l'ai entré sur ma calculatrice (TI82) et il fonctionne.
j'ai du mal à imaginer ce qui peut se passer.
tu utilise bien la touche "prgm" pour écrire Input, If, ....etc?
oui, je vais refaire le programme, j'ai surement fait une erreur
Merci beaucoup pour m'avoir aidé et bonne année !
Bonjour j'ai le même exercice qu'evela, et ça ne fonctionne pas non plus sur ma TI-83..
Voici mon algorithme qui apparemment a un problème de syntaxe:
Input "U=", U
Input "N=", N
For (I,1,N) (C'est un i majuscule)
If partEnt(U/2) = U/2
Then U/2->U
End
Else 3*U+1->U
Disp U
End
(il y a une toute petite différence car je dois afficher le résultat de la suite pour un certain N)
Merci de me dire si vous voyez une erreur..
Bonjour
j'écrirais plutôt
: Disp"U=", input U
: Disp"N=" ,input N
: For (I,1,N)
: If partEnt(U/2) = U/2
: Then
:U/2->U
: Else
: 3*U+1->U
: End
: Disp U
disp "",input lorsque vous voulez préciser ce que doit être le contenu de la variable
si c'est uniquement pour donner une valeur à la variable prompt est aussi bien puisqu'il affiche le nom de la variable
Bonjour,
hhhh je sens que je mindfuck là. J'ai le même problème qu'evela, et aucune de vos solutions n'a marché pour ma part, et j'y comprend plus rien . Au passage ma calculette est une TI-83 Premium CE. Si seulement ces foutus programmes pouvaient marcher....
Je me fait agresser part la fameuse et si connue: erreur de syntaxe...
Re Bonjour,
Oh DAMN! J'ai enfin réussi xD J'en appelle à la Saint pelle !!!!! OOh
Bref voilà ce que j'ai pu trouver, j'espère réussir à aider un maximum de personnes parce que j'en ai morflé:
:Input "N=", N
:If partEnt (N/2)=N/2
:Then
:N/2 ->Y
:Else
:3N+1->Y
:End
isp Y
Ah oui et c'est un exercice qui vient tout droit de mon lycée je suis sûr que quelques petits filous de là verrons ce message x)
2nd6.....xD
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :