Page 1 of 1

Programmes [seconde]

Unread postPosted: 09 Apr 2011, 17:08
by AutumnCreed
Hello les gens, :8):

Bon voilà j'ai un nouveau problème avec ma TI 89 titanium :#langue#:
Je suis actuellement en seconde et au programme de maths il y a la création d'algorithme.
Bon à l'écrit je sais comme faire, tout est indiqué dans mon manuel, seulement lorsque que je veux faire de même pour ma calculette, cela ne fonctionne pas... :#ouin#:

En effet, les algorithme du manuel ont été composé pour les TI 83 et 84 (ainsi que les casio).
L'interface n'est pas la même, donc impossible de savoir à quoi correspond chaque truc en TI 83 et TI 89.

Donc je vous demande de l'aide pour pouvoir créer mes programmes moi-même et ainsi pouvoir suivre mon programme de maths tranquillement, en sachant que la calculette tient beaucoup trop à cœur à ma prof de maths qui adore foutre des algorithme dans les contrôles ^^

Merci d'avance ;)

Re: Programmes [seconde]

Unread postPosted: 09 Apr 2011, 18:05
by Bisam
Je répondrais sans hésiter :
1) Nous ne sommes pas devins : nous ne pouvons pas savoir quels sont les algorithmes que ton prof te demande.
2) Lis le manuel de ta calculatrice pour savoir comment faire pour la programmer. Le langage est du Basic qui est presque le même que sur TI-83 ou 84... mais il faut adapter certaines choses.

Re: Programmes [seconde]

Unread postPosted: 09 Apr 2011, 18:47
by AutumnCreed
Bien évidemment :#gni#:
Mais je veux parlé des instructions à écrire sur la calculette...
Par exemple End je ne pense pas que ça existe sur 89 ^^

Bon je vous donne un exemple congrès directement pioché dans mon bouquin de maths ;)


Programme Bac
Variable : M nombre réel
Début
Saisir M
Si M
Alors afficher "recalé"
Sinon
Si M ou = 10
Alors afficher "admis"
Sinon afficher "oral"

Fin Si

Fin si
Fin


Est-ce que la transformation sur TI 89 sera la suivante ?

Bac()
Prgm
Input M
If MThen "recalé"
Else
If M ou = 10 (je connais pas le signe sur le clavier ;])
Then "admis"
Else "Oral"
EndIf(Je ne sais pas comment faire EndIf :P: )
EndIf
EndPrgm


C'est ça ?

Re: Programmes [seconde]

Unread postPosted: 09 Apr 2011, 19:54
by critor
Le but d'un algorithme est de retourner un résultat.
Tu dois donc créer une fonction, et non un programme.

Re: Programmes [seconde]

Unread postPosted: 10 Apr 2011, 07:54
by AutumnCreed
Ah oui effectivement :D:

Je vais essayer de cette façon...euh sinon l'algorithme que j'ai écrit pour ma Ti c'est vraiment ça ? Parce qu'il me semble que je ne me suis pas servi de Disp...

Re: Programmes [seconde]

Unread postPosted: 10 Apr 2011, 08:32
by Bisam
AutumnCreed wrote:Est-ce que la transformation sur TI 89 sera la suivante ?

Code: Select all
Bac()
Prgm
Input M
If M8
Then "recalé"
Else
If M  ou = 10 (je connais pas le signe sur le clavier ;])
Then "admis"
Else "Oral"
EndIf(Je ne sais pas comment faire EndIf  :P: )
EndIf
EndPrgm

C'est ça ?

Si tu remplaces le "Prgm" par "Func" et le "EndPrgm" par "EndFunc", c'est presque bon.
1) Dans une fonction, tu ne peux pas demander la valeur de M par un "Input". Il faut le placer en paramètre. Il faut donc commencer la fonction par :
Code: Select all
Bac(M)
Func
...


2) Le "Then" se met sur la même ligne que le "If" et il faut penser à retourner à la ligne après les "Then" et "Else" sinon la calculette ne comprend pas l'instruction. Tu peux aussi utiliser "ElseIf" pour éviter les instructions emboîtées.

3) Enfin, pour retourner une valeur, la calculatrice choisira le dernier résultat "calculé". Ici, elle renverra bien un des résultats parmi "recalé", "admis" et "oral". Cependant, pour la lisibilité et pour plus de sécurité (si tu modifiais ton programme) il est préférable d'utiliser "Return" qui sert justement à demander à la calculette de renvoyer un résultat.

Dans ton cas, cela donnerait ceci :
Code: Select all
Bac(M)
Func
If M8 Then
  Return "recalé"
Else
  If M = 10 Then
    Return "admis"
  Else
    Return "Oral"
  EndIf
EndIf
EndFunc


ou plus simplement, avec "ElseIf" :
Code: Select all
Bac(M)
Func
If M8 Then
  Return "recalé"
ElseIf M = 10 Then
  Return "admis"
Else
  Return "Oral"
EndIf
EndFunc


4) Pour les instructions, tu peux tout taper avec le clavier, en toutes lettres, si tu connais le nom des instructions par coeur et sans faute d'orthographe. Sinon, dans l'éditeur de programmes, les menus te permettent d'accéder aux fonctions de programmation les plus courantes. Pour les tests, tu trouveras les symboles =, [Test].

Par ailleurs, même si ce n'est sans doute pas l'objet de ton étude pour l'instant, il faut savoir que la calculette dispose de "fonctions de choix" (la fonction "when(...)" pour la citer) qui permettent de raccourcir encore énormément ton code en renvoyant directement un résultat issu d'un test.
Code: Select all
Bac(M)
Func
Return when(M8,"recalé",when(M=10,"admis","Oral"))
EndFunc


et en plus, ici, comme il n'y a plus qu'une seule instruction, les "Func", "EndFunc" et "Return" ne servent à rien, ce qui donne finalement :
Code: Select all
Bac(M)
when(M8,"recalé",when(M=10,"admis","Oral"))

Re: Programmes [seconde]

Unread postPosted: 10 Apr 2011, 14:10
by AutumnCreed
Ok merci. (la dernière fonctionne en plus ^^)
De façon liminaire, tout ce qui est appelé "programme" dans le livre pour Ti 83 et 84 et qui a pour but d'obtenir une image à partir d'une équation est représenté sous la forme d'une fonction sur la Ti 89 xD...