1

Bonsoir tout le monde

Je suis en 1er S, je viens d'apprendre les suites et le cours sur les variations des suites.
Je me suis lancé dans la création d'un programme qui trouve la variation d'une suite, je suis archi débutant en BASIC ( jviens de commencer il y a 1h ^^).
Voila le programme que j'ai écris:

Prgm
local u
InputStr u
expr(u&"->f(u)")
f(n)->a
f(n+1)->b
if a-b<0 then
disp "la suite est croissante"
elseif a-b>0 then
disp "la suite est decroissante"
else
disp " la suite est constante"
endif
EndPrgm

Si je rentre la suite "u" du type: 2u + 1 , la TI me met: variable indéfnie.
Je n'ai pas trouvé comment définir une suite.
Qelqu'un pourrait me dire comment définir une suite et pourquoi mon programme ne marche pas ?
Merci d'avance

kasou

2

Tu ne peux pas faire de calcul formel sur une variable locale, il faut que tu donnes un nom différent à tes 2 variables différentes nommées u, genre:
:Local ustr
:InputStr ustr
:expr(ustr&"->f(u)")

(si tu veux corriger le problème sans changer l'utilisation prévue), mais il serait plus logique de demander d'entrer la suite en termes de n que de u, c'est-à-dire:
:Local u
:InputStr u
:expr(u&"->f(n)")
avatarMes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

3

Salut kevin,

J'ai fait ce que tu as écris :
:Local ustr
:InputStr ustr
:expr(ustr&"->f(n)")
f(n)->a
f(n+1)->b
if a-b<0 then
disp "la suite est croissante"
elseif a-b>0 then
disp "la suite est decroissante"
else
disp " la suite est constante"
endif
EndPrgm

Mais quand je rentre u, la ti m'afiche: type de donées :s


kasou

4

Si tu as écrit expr(ustr&"->f(n)"), alors il faut rentrer ta suite en termes de n, pas de u.
avatarMes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

5

Sa me fait toujours, le mème problème, j'ai essayé de rentrer: 7n+1 et sa me dit:" erreurur: type de données", je clique sur "voir" et sa me met le curseur devant la ligne: expr(ustr&"->f(n)")

Et aussi, comment je fais pour definir une suite, exemple: U(n) = U(n+1) -5 ?
Merci d'avance


kasou

6

il ne faut pas faire avec le mode FUNC, mais avec le mode SEQUENCE (suite)...
pour rentrer une suite récurrente, il faut écrire par exemple devant la ligne u1(n) : u1(n) = u1(n-1)-5.
Ensuite dans le menu Window, il faut régler nmin sur 0 (ou alors calcule de tête u1).

Pour utiliser une suite, tu devras utiliser un(n) où n est un entier positif ou nul.

7

salut Yoshi Noir , merci pour ta réponse

J'ai essayé de prendre en compte ce que tu dis et j'ai écris sa:

:Local ustr
:InputStr ustr
:expr(ustr&"->u1(n)")
>=->n
u1(n)->a
u1(n+1)->b
if a-b<0 then
disp "la suite est croissante"
elseif a-b>0 then
disp "la suite est decroissante"
else
disp " la suite est constante"
endif
EndPrgm

Sauf qu'il me dit synthaxe pour: >=->n , enfaite la j'ai voulu définir n comme nombre positif ou nul, mais sa doit pas ètre comme ça qu'on fait.

Je retire donc cette ligne, mais sa me met toujours: type de donnée :s


kasou

8

pas besoin de définir cette chose pour n, la calculatrice sait quel genre de nombre il lui faut entrer pour calculer la suite... Sinon pour déterminer la variation d'une suite, c'est pas vraiment comme ça qu'il faut procéder...

9

C'est comment alors ?

Dans mon cours, il faut comparer U(n) et U(n+1).
SI U(n) - U(n+1) < 0 , alors U(n) est croissant.
SI U(n) - U(n+1) > 0 , alors U(n) est decroissant.

Je ne sais pas comment définir une suite sur la ti 89, donc j'ai essayé de bidouiller quelque chose en lisant quelque poste de ce forum et en regardant un peut certains sites.

kasou

10

Il faut en faire une étude de fonction. Cependant la TI-89 ne sait pas calculer la différence d'une suite si les termes sont génériques...

11

Tu peux expliquer un peu plus Yoshi Noir.
C'est quoi des termes génériques ?
Et tu entends par quoi: étude de fonction ?

merci

kasou

12

Eh bien avec un papier et un stylo, tu calcules U(n+1) - U(n), ça te donne quelque chose, et ce quelque chose il faudra l'étudier dans R+...

13

Ba oui, c'est ce que j'essaye de faire avec mon programme.
Il ne faut pas de stylo et un papier, vu que c'est sur la ti 89, je te comprend pas trop Yoshi Noir.
Tu me donnes des réponses, mais sa m'aide pas du tout, enfin je suis débutant dans la programation du langage basic.
Ce qui cloche dans mon programme, c'est quand je défini la suite U(n) ?


kasou

14

Yoshi Noir (./12) :
Eh bien avec un papier et un stylo, tu calcules U(n+1) - U(n), ça te donne quelque chose, et ce quelque chose il faudra l'étudier dans R+...

Euh, une suite, ça s'étudie sur |N (et à valeurs dans |R) a priori. parce qu'a priori, U(3,5) n'est même pas défini, donc tu es mal parti pour faire une étude sur |R+.
Maintenant, si la suite est la restriction sur |N d'une fonction définie sur |R+, alors effectivement une étude classique avec dérivées etc. peut fonctionner, cela dit, ça va aussi te donner des propriétés de croissance ou décroissance entre 2 entiers dont tu t'en fous, tu ne veux pas savoir que la suite est par exemple croissante entre 1 et 1,5 et décroissante entre 1,5 et 2 (quand tu l'étends sur |R+), mais si la différence U(2)-U(1) est positive, négative ou nulle. Dans le cas général, une étude de variations sur une suite se fait à partir des différences U(n+1)-U(n) (les dérivées discrètes), pas des dérivées de l'extension sur |R+ (si elle existe).
Et ces dérivées discrètes sont elles-mêmes des suites, donc là aussi, les étudier sur |R+ n'est en général pas une bonne idée, dans l'étude de signes, on s'en fout de si U(1,5)-U(0,5) est positif, négatif ou nul (voire pas défini du tout).
avatarMes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

15

Merci de la réponse Kevin, tu as tout à fait raison.
Mais on pourrait m'aider à faire mon ptit programme ?
Ou dans mon code sa cloche ? je m'y prend pas ?
merci d'avance

kasou

16

kasou, je viens de tester ton programme, il ne fait pas d'erreur (dans le sens où il se lance, le résultat n'est pas toujours bon).
J'ai ajouté la contrainte pour n :
:Prgm
:    Local ustr,a,b
:    InputStr ustr
:    expr(ustr&"&#8594;f(n)")
:    f(n)&#8594;a
:    f(n+1)&#8594;b
:    If a-b<0|n&#8805;0 Then
:        Disp "La suite est croissante"
:    ElseIf a-b>0|n&#8805;0 Then
:        Disp "La suite est décroissante"
:    Else
:        Disp "La suite est constante"
:    EndIf
:EndPrgm
avatar

17

Salut Thepro

Ouai, sa ne me met plus de message d'erreur, et pour l'instant les suites que j'ai rentré fonctionnes, mais si j'essaye de mettre une suite récurente, sa m'affiche un message: mémoire.
Merci pour tes modifications

kasou

18

Up ! tongue grin

19

quand est-ce que tu definis ton U0 ?
avatar