Ceci est un tutoriel de Linkakro. Seuls quelques ajouts et la mise en page sont de moi.
Ce tutoriel a pour but de donner une traduction de la plupart des instructions d'algorithmie en TI-Basic pour ceux qui l'étudient au lycée et ne savent pas comment le saisir sur leur calculatrice TI 82/82stat/82statfr/83/83plus etc.
Les paresseux peuvent s'intéresser au programme CMD de maxence et aussi TXT et leur dérivé commun LOGICBOX.
http://espace-ti.forumactif.com/t713-cmd-un-nouveau-langage-revolutionnaire
http://espace-ti.forumactif.com/t961-cmd-version-2
http://espace-ti.forumactif.com/t725-ti-concours-txt
http://tout82.free.fr/forum/sujet.php?sujet=3629
http://espace-ti.forumactif.com/t991-basic-logicbox-le-digne-successeur-de-cmd
Le vocabulaire des fonctions est donné autant en français que ce que la ti82 Stats.fr accepte. Il faudra traduire pour la ti82(stats). (Voir le catalogue des fonctions pour pouvoir traduire.)
Exemples de traduction Algorithmie-TI-Basic
Sachez en prémisse que les ponctuations de fin de ligne (comme les guillemets) peuvent être omises dans une TI.
Idem juste avant la fonction [sto->].
Les lettres sont obligatoirement majuscules avant la 83plus. (Sauf quelques variables du menu variable/statistique qui s'affichent pareil.)
Ce tutoriel a pour but de donner une traduction de la plupart des instructions d'algorithmie en TI-Basic pour ceux qui l'étudient au lycée et ne savent pas comment le saisir sur leur calculatrice TI 82/82stat/82statfr/83/83plus etc.
Les paresseux peuvent s'intéresser au programme CMD de maxence et aussi TXT et leur dérivé commun LOGICBOX.
http://espace-ti.forumactif.com/t713-cmd-un-nouveau-langage-revolutionnaire
http://espace-ti.forumactif.com/t961-cmd-version-2
http://espace-ti.forumactif.com/t725-ti-concours-txt
http://tout82.free.fr/forum/sujet.php?sujet=3629
http://espace-ti.forumactif.com/t991-basic-logicbox-le-digne-successeur-de-cmd
Le vocabulaire des fonctions est donné autant en français que ce que la ti82 Stats.fr accepte. Il faudra traduire pour la ti82(stats). (Voir le catalogue des fonctions pour pouvoir traduire.)
Exemples de traduction Algorithmie-TI-Basic
Sachez en prémisse que les ponctuations de fin de ligne (comme les guillemets) peuvent être omises dans une TI.
Idem juste avant la fonction [sto->].
Les lettres sont obligatoirement majuscules avant la 83plus. (Sauf quelques variables du menu variable/statistique qui s'affichent pareil.)
- Code:
Les informations de début et fin de programme n'existent pas en TI-Basic.
Il est inutile de déclarer les variables, il faut seulement les initialiser.
Les types de variables sont prédéfinis dans une TI. Les lettres seront toujours majuscules et désigneront des nombres réels (ou complexes sur 82stat et après).
Observez au passage l'instruction d'affectation : "->" saisi par la touche [sto->] comme "store" en anglais.
Les variables se saisissent par le clavier avec les combinaisons basées sur 2nde et alpha, ou le menu [var].
Sur TI 82, 2nde+var permet d'accéder aux équations de courbes au lieu de var+[droite] sur les autres TI.
[code]nombres réels a,b
a initialisé à 1
Début
a<-1 // "a est affecté à la valeur 1"
b<-2*a
Fin[/code][code]1->A
2A->B[/code]
- Code:
Effacer l'écran se fait avec EffEcr. (ClrHome)
L'affichage se fait avec Disp.
La saisie se fait avec Prompt. Cela affiche automatiquement le nom de la variable et un "=?". On peut cumuler les variables.
Pour afficher quelque chose avant la saisie : Input.
Pour effectuer une pause attendant la touche entrer : Pause.
Pour afficher quelque chose avant la pause, on précise le texte à la fonction Pause.
Pour placer un texte/variable en (X,Y) : Output(Y,X,txt)[code]nombres réels c,d
Début
Effacer l'écran
Ecrire "LOL"
Ecrire "c=?"
Lire c
Ecrire "d=?"
Lire d
Ecrire "variable:"
Lire c
pause
Ecrire c
Ecrire d
pause
Effacer l'écran
Placer "coucou" en ligne 2 et colonne 1
Fin[/code]Toutes les fonctions suivantes sont dans le menu prgm.[code]EffEcr
Disp "LOL
Prompt C,D // cumule les variables
Input "VARIABLE:",C
Pause
Pause D // pause et affiche le nombre D
EffEcr
Output(2,1,"COUCOU[/code]
- Code:
Ici, j'illustre uniquement les écritures de conditions qu'on utilisera dans les tests Si et les boucles.
En effet les signes de comparaisons se saisissent chacun avec un unique caractère du menu test=2nde+math.
[code]Si c>8
Si c>=8 // ">=" représente "suppérieur ou égal"
Si c<=8 // "<=" représente "inférieur ou égal"
Si c!=8 // "!=" représente "différent", tout comme "=/=" le égal barré
Si c>8 et c<20
Si c<8 ou c>20
Si non(c<8) // complémente le résultat (Faux<->Vrai)
Si c=1 OuExclusif c=0 // n'existe pas sur ti82 basique[/code]
[code]If C>8
If C>=8 // ">=" se saisit en un seul caractère avec le menu 2nde+math(test)
If C!=8 // "!=" idem
If C>8 et C<20 // " et " est une fonction
If C<8 ou C>20 // " ou " idem
If non(C<8) // "non(" idem
If c=1 OuExclusif c=0 // "xor" en anglais
// cela s'écrit aussi : If c=1 et c!=0 ou c=0 et c!=1
// ou encore : If c=1 et non(c=0) ou c=0 et non(c=1)
// c'est même obligatoire sur ti82basique.[/code]Sachez aussi que la priorité des oprérations est :
-parenthèses
-calculs
-et
-ouExclusif
-ou
- Code:
La TI utilise la fonction If en guise de Si.
Elle supporte le sous-entendu de la fin LORSQU'IL N'Y A QU'UNE INSTRUCTION DEDANS ET PAS D'AUTRE ALTERNATIVE.[code]Nombres réels a,b,c
Début
Si c=3
alors
a<-2 // UNE SEULE INSTRUCTION POUR CET EXEMPLE
finSi
Si c=3
alors
a<-2 // une ou plusieurs instructions
b<-5
finSi
Si c=4
alors
a<-3
sinon
a<-5
finSi
Fin[/code][code]If C=3
2->A // UNE SEULE INSTRUCTION, juste suivant le test
If C=3
Then
2->A // une ou plusieurs instructions
5->B
End
If C=4
Then
3->A
Else
5->A
End[/code]
- Code:
La TI connaît trois types de boucles.
Pour : For
Tant que : While
Repète : Repeat
Il faudra parfois adapter vos algorithmes aux instructions de la TI.
Fait xxx tant que yyy : Répète xxx jusqu'à non(yyy)
Je vous déconseille de tenter d'utiliser Goto/Lbl qui permettent de faire trop n'importe quoi et causent des bugs si mal utilisés. Le programme saute d'un Goto vers le Label correspondant.
Une seule instruction ferme les boucles : End
Contrairement aux Fins dont on précise l'instruction ouvrante en algorithmie.[code]nombres réels a,c,d
Début
Pour d variant de 1 à c par pas de 2
Ecrire d
Fin_Pour
Tant_que a<8
a<-a+1
Fin_Tant_Que
Répète
a<-a-1
jusqu'à a<5
Fait
a<-a+1
tant que a>10 // jusqu'à a>=10[/code][code]For(D,1,C,2
Disp D
End
While A<8
A+1->A
End
Repeat A<5
A-1->A
End
Repeat A>=10
A+1->A
End[/code]
- Code:
[code]L'aléatoire se code de plusieurs manières et certaines dépendent du modèle de la TI.
l'exemple suivant est donné pour un aléatoire entier entre 1 et 3.
[code]entier aléatoire entre 2 et 4 // de A à B[/code][/code][code]Solution décomposée :
-sur ti82 : 2+int 3rand
-sur ti82stat : 2+int(3rand // A+int((B-A+1)rand
-sur ti82statfr : 2+ent(3NbrAléat
Solution optimisée :
-sur ti82stat : randInt(2,4
-sur ti82statfr : entAléat(2,4 // randInt(A,B[/code]
- Code:
La parité se teste de plusieurs manières, la plus courte utilise la fonction partDéc qui donne la partie décimale.
On peut aussi comparer un nombre à sa partie entière.
On peut même étudier le reste de la division. (reste nul si division juste ; voir prochain chapitre si ça vous intéresse)
Les fonctions partDéc(), partEnt() et ent() sont dans le menu math
Cela se généralise à la divisibilité par un nombre quelconque.
[code]Si A est pair
/////////////////////////
Si A divisible par B[/code][code]If non(parDéc(.5A // rappelez vous, cela donne If parDéc(A/2)=0
// ou bien
If ent(A/2)=A/2
///////////////////////
If non(partDéc(A/B
// ou bien
If ent(A/B)=A/B[/code]
- Code:
Les restes des divisions se calculent de deux façons et il existe deux types de restes (qui se différencient dans les négatifs).
Mais attention, TI a une erreur de traduction entre le français et l'anglais.
Reste classique en anglais :
DfPart(N/D) erreur possible
N-iPart(N/D) toujours juste
Reste euclidien en anglais :
N-int(N/D)
Reste classique en français :
DpartDéc(N/D) erreur possible
N-Dent(N/D) toujours juste
Reste euclidien en français :
N-DpartEnt(N/D)