Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

programmes sur ti 83+

Posté par
evela
31-12-10 à 13:25

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 !

Posté par
Cherchell
re : programmes sur ti 83+ 31-12-10 à 13:32

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

Posté par
evela
re : programmes sur ti 83+ 31-12-10 à 13:36

daccord je vais essayer Merci !

Posté par
evela
re : programmes sur ti 83+ 31-12-10 à 13:55

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

Posté par
co11
re : programmes sur ti 83+ 31-12-10 à 14:12

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)

Posté par
evela
re : programmes sur ti 83+ 31-12-10 à 16:48

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...?

Posté par
co11
re : programmes sur ti 83+ 31-12-10 à 16:52

Il faut faire PartEnt(n/2)

Posté par
co11
re : programmes sur ti 83+ 31-12-10 à 16:53

PS: tu sais que tu as partEnt dans math - NUM ?

Posté par
evela
re : programmes sur ti 83+ 31-12-10 à 16:58

Oui c'est la que je l'ai trouvée !

Posté par
evela
re : programmes sur ti 83+ 31-12-10 à 17:01

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...

Posté par
co11
re : programmes sur ti 83+ 31-12-10 à 17:04

As-tu oublié le "If" en deuxième ligne ?

Posté par
evela
re : programmes sur ti 83+ 31-12-10 à 17:08

Effectivement, je l'avait oublié...
Mais meme en le rajoutant ma ti m'indique une erreur de syntaxe

Posté par
co11
re : programmes sur ti 83+ 31-12-10 à 17:10

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 ?

Posté par
evela
re : programmes sur ti 83+ 31-12-10 à 17:18

Merci...maisil y a toujours une erreur de syntaxe...

Posté par
co11
re : programmes sur ti 83+ 31-12-10 à 17:39

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?

Posté par
evela
re : programmes sur ti 83+ 31-12-10 à 18:56

oui, je vais refaire le programme, j'ai surement fait une erreur
Merci beaucoup pour m'avoir aidé et bonne année !

Posté par
co11
re : programmes sur ti 83+ 31-12-10 à 19:24

Bonne année aussi.

Posté par
Polux
re : programmes sur ti 83+ 02-01-16 à 14:12

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..

Posté par
hekla
re : programmes sur ti 83+ 02-01-16 à 14:28

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

Posté par
Polux
re : programmes sur ti 83+ 02-01-16 à 15:43

Je vais essayer merci!

Posté par
Polux
re : programmes sur ti 83+ 02-01-16 à 15:55

Mon programme fonctionne merci beaucoup!

Posté par
hekla
re : programmes sur ti 83+ 02-01-16 à 15:57

de rien
au lieu de Disp"u=",u
on peut écrire prompt u

Posté par
Polux
re : programmes sur ti 83+ 02-01-16 à 16:02

Ah oui j'avais déjà vu ça, mais bon vu qu'il tourne je vais le laisser comme ça
Merci en tout cas

Posté par
hekla
re : programmes sur ti 83+ 02-01-16 à 16:58

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

Posté par
Polux
re : programmes sur ti 83+ 02-01-16 à 18:51

Hein d'accord, merci

Posté par
DansLaMerde
re : programmes sur ti 83+ 08-11-16 à 21:20

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...    

Posté par
DansLaMerde
re : programmes sur ti 83+ 08-11-16 à 21:35

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

Posté par
DansLaMerde
re : programmes sur ti 83+ 08-11-16 à 21:36

désolé la derniere ligne c'est:

isp Y

Posté par
DansLaMerde
re : programmes sur ti 83+ 08-11-16 à 21:37

ah mais ça fait un smiley la dernière ligne est:

: Disp Y



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !