Bonjour à tous !
Tous les programmeurs Basic ont déjà été confrontés à ce problème : tracer un tableau de valeurs en Basic. C'est une fonction très utile de la plupart des Basic, et même de tous les langages. On réalise un tableau de valeurs, une matrice grossièrement, que l'on peut facilement afficher sous la forme d'un tableau. Or en Basic, si vous avez déjà essayé d'afficher une matrice, vous devez savoir que ça ne donne pas un tableau propre avec ses lignes et ses colonnes mais plutôt ceci :
Pour une matrice identité de rang 4. Bon, on voit bien que pour des belles colonnes, avec des titres et tout, c'est pas encore ça... Certains tenteront de tracer des lignes sur l'écran graphiques et avec des habiles et plus lourds calculs de positions arriveront à afficher dans des beaux tableaux des matrices et des listes (voir III).
Eh bien je vous propose dans ce tuto d'apprendre à exploiter les deux tableaux intégrés de votre TI z80 ! Je le complèterait peut-être plus tard si je découvre des super astuces ou si des nuances doivent être apportées. Sur ce, je vous souhaite une bonne lecture !
I) Le plus intuitif : le tableau des listes
Commençons par le commencement : qu'est-ce qu'une liste précisément ? Une liste est une suite de nombre stockés dans une seule variable. Les calculs et tests se font sur chacun des membres de cette liste. Les calculs entre listes ne sont par contre possible qu'entre listes de même dimension. Pour ceux qui ont fait une Terminale S spé mathématiques, une liste de rang N est en fait ni plus ni moins une matrice de dimensions 1*N, ou un vecteur à N dimensions. Pour des utilisations plus avancées de leurs fonctions, je vous redirige sur cette page qui vous l'expliquera mieux que moi, et m'évite le hors-sujet !
Les listes systèmes sont au nombre de 6 (en fait 7 mais je garde ça pour plus loin ), numérotées de L1 à L6. Elles sont accessibles directement sur le clavier, avec 2nd suivi du numéro de la liste. Elles sont affichées par défaut dans un tableau système, c'est ça qui nous intéresse.
Stat+Enter et vous y êtes :
Voilà un tableau tout trouvé ! Un fois le programme quitté, il suffira d'aller jeter un oeil ici pour admirer le super tableau qu'on se sera constitué grâce aux calculs sur les listes.
Après, il est vrai que dans un tableau, c'est quand même mieux d'avoir des vrais noms de colonnes. Ne vous inquiétez pas, c'est tout à fait possible, et l'astuce est simple : on va créer nos propres listes ! Pour ce faire, on va écrire une ligne comme ça :
Ce petit L que j'ai utilisé, vous le trouverez dans 2nd+Stat+^+>+Enter
Le ABC est maintenant le nom de la colonne. On a droit à 5 lettres majuscules dans les noms de ces listes, ce qui laisse quand même quelques noms de colonnes possibles.
Pour afficher ces listes dans le tableau de valeurs, allez dans celui ci. Effacez toutes les listes systèmes du tableau en mettant votre curseur sur leur nom et en appuyant Del. La colonne est vide et n'attend qu'à être remplie ! Maintenant, tapez le nom de la colonne, c'est à dire les lettres suivant le petit L : la colonne s'affiche ! Un aperçu de ce que ça peut donner sur un programme simple :
II) Le mieux : le tableau de valeurs
Voilà LA technique pour afficher des tableaux dans un programme, et elle est bonne à connaître ! En effet, on a vu que la méthode précédente ne permettait pas d'afficher un tableau dans un programme, on est obligé de stopper celui ci pour afficher notre tableau. Eh bien, grâce aux commandes de Basic dédiées à ce tableau de valeur, on va pouvoir afficher un tableau de valeurs dans un programme, profiter d'une pause et continuer notre programme !
Tout d'abord, le tableau de valeur est celui des fonctions, accessible avec 2nd+Graph. Il affiche dans la première colonne les X, et dans les suivantes Y(X) pour toutes les fonctions entrées dans Y=.
Voilà maintenant les fonctions à maîtriser pour tirer le meilleur parti de ce tableau :
Voilà, vous pouvez faire un tableau ! Toutefois, il faut faire quelques remarques :
Pour obtenir les colonnes suivant X, il vous faut créer des fonctions. Cela se fait de la sorte par exemple :
Sachez qu'avec un peu de doigté, la plupart des fonctions de la calculatrice peuvent être tracées et le cas échéant au moins être calculées avec le tableau de valeurs.
Par exemple, voici comment utiliser les listes dans le tableau de valeurs comme dans le tableau des listes. Ici, on associe dans Y1 le Xème terme d'une liste L1 prédéfinie, permettant ainsi d'afficher des données ne pouvant pas être calculées directement à partir de X selon une formule prédéfinie :
Voilà maintenant un aperçu du rendu avec un code simple :
III) Une alternative graphique : le tableau dynamique
Dans certains cas, un tableau créé soi même peut être nécessaire, les tableaux système ne sufficant plus. Il s'agit d'utiliser les fonctions graphiques de votre calculatrice pour afficher un tableau personnalisé. Cela demande de la pratique pour le faire correctement, mais voici pour vous un code proposé par Wistaro qui permet un affichage dynamique et beaucoup plus grand du tableau :
——————————————————————————————————————————————————————————————————————————
J'espère que ce tuto vous aura aidé et qu'il vous aura plu ! N'hésitez pas à proposer des correctifs ou des ajouts s'ils vous semblent nécessaires.
Tous les programmeurs Basic ont déjà été confrontés à ce problème : tracer un tableau de valeurs en Basic. C'est une fonction très utile de la plupart des Basic, et même de tous les langages. On réalise un tableau de valeurs, une matrice grossièrement, que l'on peut facilement afficher sous la forme d'un tableau. Or en Basic, si vous avez déjà essayé d'afficher une matrice, vous devez savoir que ça ne donne pas un tableau propre avec ses lignes et ses colonnes mais plutôt ceci :
Pour une matrice identité de rang 4. Bon, on voit bien que pour des belles colonnes, avec des titres et tout, c'est pas encore ça... Certains tenteront de tracer des lignes sur l'écran graphiques et avec des habiles et plus lourds calculs de positions arriveront à afficher dans des beaux tableaux des matrices et des listes (voir III).
Eh bien je vous propose dans ce tuto d'apprendre à exploiter les deux tableaux intégrés de votre TI z80 ! Je le complèterait peut-être plus tard si je découvre des super astuces ou si des nuances doivent être apportées. Sur ce, je vous souhaite une bonne lecture !
I) Le plus intuitif : le tableau des listes
Commençons par le commencement : qu'est-ce qu'une liste précisément ? Une liste est une suite de nombre stockés dans une seule variable. Les calculs et tests se font sur chacun des membres de cette liste. Les calculs entre listes ne sont par contre possible qu'entre listes de même dimension. Pour ceux qui ont fait une Terminale S spé mathématiques, une liste de rang N est en fait ni plus ni moins une matrice de dimensions 1*N, ou un vecteur à N dimensions. Pour des utilisations plus avancées de leurs fonctions, je vous redirige sur cette page qui vous l'expliquera mieux que moi, et m'évite le hors-sujet !
Les listes systèmes sont au nombre de 6 (en fait 7 mais je garde ça pour plus loin ), numérotées de L1 à L6. Elles sont accessibles directement sur le clavier, avec 2nd suivi du numéro de la liste. Elles sont affichées par défaut dans un tableau système, c'est ça qui nous intéresse.
Stat+Enter et vous y êtes :
Voilà un tableau tout trouvé ! Un fois le programme quitté, il suffira d'aller jeter un oeil ici pour admirer le super tableau qu'on se sera constitué grâce aux calculs sur les listes.
Après, il est vrai que dans un tableau, c'est quand même mieux d'avoir des vrais noms de colonnes. Ne vous inquiétez pas, c'est tout à fait possible, et l'astuce est simple : on va créer nos propres listes ! Pour ce faire, on va écrire une ligne comme ça :
- Code:
{1,2,3->ʟABC
Ce petit L que j'ai utilisé, vous le trouverez dans 2nd+Stat+^+>+Enter
Le ABC est maintenant le nom de la colonne. On a droit à 5 lettres majuscules dans les noms de ces listes, ce qui laisse quand même quelques noms de colonnes possibles.
Pour afficher ces listes dans le tableau de valeurs, allez dans celui ci. Effacez toutes les listes systèmes du tableau en mettant votre curseur sur leur nom et en appuyant Del. La colonne est vide et n'attend qu'à être remplie ! Maintenant, tapez le nom de la colonne, c'est à dire les lettres suivant le petit L : la colonne s'affiche ! Un aperçu de ce que ça peut donner sur un programme simple :
II) Le mieux : le tableau de valeurs
Voilà LA technique pour afficher des tableaux dans un programme, et elle est bonne à connaître ! En effet, on a vu que la méthode précédente ne permettait pas d'afficher un tableau dans un programme, on est obligé de stopper celui ci pour afficher notre tableau. Eh bien, grâce aux commandes de Basic dédiées à ce tableau de valeur, on va pouvoir afficher un tableau de valeurs dans un programme, profiter d'une pause et continuer notre programme !
Tout d'abord, le tableau de valeur est celui des fonctions, accessible avec 2nd+Graph. Il affiche dans la première colonne les X, et dans les suivantes Y(X) pour toutes les fonctions entrées dans Y=.
Voilà maintenant les fonctions à maîtriser pour tirer le meilleur parti de ce tableau :
- IndpntAsk : On demande au programme de demander les valeurs indépendantes dans X. A vrai dire totalement inutile placé seul, puisque la pause placées lors de l'affichage du tableau ne permettra pas d'entrer des valeurs indépendantes. Par contre, couplé avec un TblInput il peut se révéler utile ;
- IndpntAuto : A mettre par défaut si l'on exploite pas le TblInput. Les valeurs de X sont placées automatiquement, selon TblStart et ΔTbl ;
- TblStart : La valeur à laquelle on commence la liste de valeurs de X. Utile selon le contexte, par exemple pour un tableau de suite numériques commençant au rang 1 ou 2 ;
- ΔTbl : L'écart entre chaque valeur de la liste de valeurs de X. Utile selon le contexte, par exemple pour un tableau défini différemment selon la parité du X ;
- TblInput : La 7e liste système ! Elle contient au maximum 7 valeurs et contient la liste de valeurs de X. Très utile pour un tableau à valeurs spécifiques !
- DispTable : On affiche notre tableau. le programme se met en pause et ne propose un défilement qu'en mode IndpntAuto ;
Voilà, vous pouvez faire un tableau ! Toutefois, il faut faire quelques remarques :
- TblStart est toujours la première valeur de TblInput, pour les optimisations et les tests ;
- TblInput doit toujours contenir au moins une valeur et au maximum 7. Le cas échéant, vous aurez une erreur de dimension ! pensez toujours à lui allouer au moins une valeur avant de l'utiliser donc !
- Ce sont des variables système, c'est à dire q'elles peuvent être modifiés sans demande au préalable par le système lors de l'utilisation normale de la calculatrice. Il faudrait donc toujours vérifier que leur valeur ne posera pas problème dans l'utilisation du tableau immédiatement après l'utilisation du programme ;
- Si vous êtes en mode IndpntAsk, prévoyer toujours un défilement à base de DispTable enchaînés, car il ne pourra pas être proposé !
Pour obtenir les colonnes suivant X, il vous faut créer des fonctions. Cela se fait de la sorte par exemple :
- Code:
"X^2->Y1 // ne pas oublier le guillemet, c'est une chaîne !
DispTable
Sachez qu'avec un peu de doigté, la plupart des fonctions de la calculatrice peuvent être tracées et le cas échéant au moins être calculées avec le tableau de valeurs.
Par exemple, voici comment utiliser les listes dans le tableau de valeurs comme dans le tableau des listes. Ici, on associe dans Y1 le Xème terme d'une liste L1 prédéfinie, permettant ainsi d'afficher des données ne pouvant pas être calculées directement à partir de X selon une formule prédéfinie :
- Code:
IndpndAsk
DependAuto
{7,1,2,3,4,5,6->TblInput
{11,22,33,44,55,66,77->L1
"L1(X->Y1
DispTable
Voilà maintenant un aperçu du rendu avec un code simple :
III) Une alternative graphique : le tableau dynamique
Dans certains cas, un tableau créé soi même peut être nécessaire, les tableaux système ne sufficant plus. Il s'agit d'utiliser les fonctions graphiques de votre calculatrice pour afficher un tableau personnalisé. Cela demande de la pratique pour le faire correctement, mais voici pour vous un code proposé par Wistaro qui permet un affichage dynamique et beaucoup plus grand du tableau :
- Code:
Lbl 1
1->ΔX:1->ΔY
0->Xmin:0->Ymin
Xmax->W:Ymax->H
ClrHome
Output(4,1,"ʟʟʟComparatorʟʟʟ"
For(A,1,16
Output(3,A,"ʟ
Output(5,A,"ʟ
End
Output(7,1,"MAX: 6 lists
Output(8,1,"Inf: L1 to L6
Input "Nb list?",N
If (N≦0)+(N>6:Goto 1
DelVar E
Lbl 2
"L1L2L3L4L5L6->Str1
ClrHome:ClrDraw
DelVar Cround(W/N,0->T
For(A,0,W,T
E->D:C+1->C
For(B,6,H-7,7
D+1->D:Horizontal B
expr(sub(Str1,C,1->ʟP
E+8->dim(Ans
Text(B+2,A," ",ʟP(D
End
Text(0,A," ʟ",C
Vertical A:End
Horizontal H-8
StorePic1
Pause
E+8->E:Goto 2
Wistaro a écrit:Il permet de comparer au maximum 6 listes systèmes en même temps, et il affiche jusqu'à 8 valeurs en simultané. Dans un version future, je pourrais éventuellement ajouter la possibilité d'inclure ses propres listes personnalisée.
Le tableau est sauvegardé dans la Pic1, vous pourrez donc le réutiliser dans un autre contexte.
Une fois les listes affichées, vous pouvez appuyez sur ENTER pour afficher les valeurs suivantes.
——————————————————————————————————————————————————————————————————————————
J'espère que ce tuto vous aura aidé et qu'il vous aura plu ! N'hésitez pas à proposer des correctifs ou des ajouts s'ils vous semblent nécessaires.
Dernière édition par Mingerton le Sam 14 Mar 2015 - 14:06, édité 3 fois (Raison : Ajout d'une partie)