[TUTO] Les tableaux en TI-Basic z80 Hitskin_logo Hitskin.com

Ceci est une prévisualisation d'un thème de Hitskin.com
Installer le thèmeRetourner sur la fiche du thème

Tout 82
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Tout 82

Ven 29 Mar 2024 - Bienvenue,

Rechercher
 
 

Résultats par :
 


Rechercher Recherche avancée

Connexion

Récupérer mon mot de passe



Chatbox externe


Derniers sujets
» [JEU] Mon voisin du dessous
[TUTO] Les tableaux en TI-Basic z80 EmptyDim 16 Oct 2022 - 21:11 par Wistaro

» Bonne année 2018!
[TUTO] Les tableaux en TI-Basic z80 EmptyVen 2 Nov 2018 - 19:42 par Ti64CLi++

» Lancement du TI-Concours 2017 !
[TUTO] Les tableaux en TI-Basic z80 EmptySam 20 Mai 2017 - 0:27 par Paulo1026

» Chaînes Youtube des membres
[TUTO] Les tableaux en TI-Basic z80 EmptyVen 19 Mai 2017 - 22:41 par Wistaro

» cacul du taux d'intêret
[TUTO] Les tableaux en TI-Basic z80 EmptyVen 24 Mar 2017 - 21:50 par m@thieu41

» [Projet] Un mario by tout82
[TUTO] Les tableaux en TI-Basic z80 EmptyDim 29 Jan 2017 - 14:09 par Wistaro

» Cherche documentation assembleur TI82stat
[TUTO] Les tableaux en TI-Basic z80 EmptyMer 25 Jan 2017 - 12:29 par Ti64CLi++

» Probleme Ti-82 Stats fr
[TUTO] Les tableaux en TI-Basic z80 EmptyJeu 12 Jan 2017 - 13:56 par Ti64CLi++

» ROM 82 stats.fr
[TUTO] Les tableaux en TI-Basic z80 EmptyJeu 15 Déc 2016 - 10:24 par Ti64CLi++

Partenaires
TI-Planet Espace-TI : Forum

Faire un don à Tout-82...
Où va cet argent ?
Membres donateurs:- Persalteas (10€)
- Wistaro (5€)
- jo2geek (22€)

Les posteurs les plus actifs du mois
Aucun utilisateur

Le Deal du moment :
TCL C74 Series 55C743 – TV 55” 4K QLED 144 ...
Voir le deal
499 €

Vous n'êtes pas connecté. Connectez-vous ou enregistrez-vous

[TUTO] Les tableaux en TI-Basic z80

3 participants

Aller en bas  Message [Page 1 sur 1]

1[TUTO] Les tableaux en TI-Basic z80 Empty [TUTO] Les tableaux en TI-Basic z80 Mar 10 Mar 2015 - 21:55

Mingerton

Mingerton
----------------------
----------------------

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 :

[TUTO] Les tableaux en TI-Basic z80 Matrix10

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 ! study




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 ! Wink

Les listes systèmes sont au nombre de 6 (en fait 7 mais je garde ça pour plus loin tongue ), 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 :

[TUTO] Les tableaux en TI-Basic z80 List10

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. Bien Joué

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.  Bien Joué

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 Wink :

[TUTO] Les tableaux en TI-Basic z80 Carre10




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  Cool ! Toutefois, il faut faire quelques remarques :


  1. TblStart est toujours la première valeur de TblInput, pour les optimisations et les tests ;

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

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

  4. 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 Wink :

[TUTO] Les tableaux en TI-Basic z80 Tab10



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



Dernière édition par Mingerton le Sam 14 Mar 2015 - 14:06, édité 3 fois (Raison : Ajout d'une partie)

2[TUTO] Les tableaux en TI-Basic z80 Empty Re: [TUTO] Les tableaux en TI-Basic z80 Mer 11 Mar 2015 - 14:03

Wistaro

Wistaro
Passioné
Passioné

Les affichages des matrices sur écran graphique sont pas des algo hyper lourd! C'est optmisable.
Il suffit de stocker les coordonnées (dynamique → fonction du nombre d'éléments de ta matrice ou statiques) dans 2 listes, une pour les x, une pour les y.

Puis il faut 2 boucle imbriquées pour afficher les éléments de la matrice au bon endroit. Après pour les éléments graphiques du tableau (traits), c'est plus compliqué.

Prenons un tableau au hasard. En colone, les matières, et en ligne les éleves.

Connaissant la largeur totale de l'écran (94px pour TI83/84), la taille d'un caractère (5px), le nombre de caractères de tes matieres, le nombre de tes matières (dynamique, si par exemple une matière se rajoute.).
Avec ça tu peux créer une fonction dynamique qui te trace les séparations du tableau dynamiquement. Et pas en beaucoup de lignes. Razz

https://www.youtube.com/user/Wistaro

3[TUTO] Les tableaux en TI-Basic z80 Empty Re: [TUTO] Les tableaux en TI-Basic z80 Mer 11 Mar 2015 - 15:08

Mingerton

Mingerton
----------------------
----------------------

Ba franchement j'ai l'habitude de tracer des tableaux comme ça grâce à des tracés de listes, mais c'est jamais aussi léger que les méthodes que j'ai données. Après libre à toi de nous donner ton super morceau de code, je serai ravi d'ajouter une troisième partie si c'est justifié Wink

Après c'est vrai que ce tuto visait plus les tableaux système, mais on peut l'élargir si on veut.

Sinon, merci pour le Plus Smile

4[TUTO] Les tableaux en TI-Basic z80 Empty Re: [TUTO] Les tableaux en TI-Basic z80 Mer 11 Mar 2015 - 19:50

Wistaro

Wistaro
Passioné
Passioné

"Mon super morceau de code"

XD!

Non, mais si tu vise la rapidité, simplicité et la légèreté, ta méthode est parfaite.

Si tu veux une utilisation poussée, la technique dont je parle peux être utile.
Par exemple, dans le concours d'algorithmes et de programmation pour les molécules (tiplanet.org), j'utilise, entreautre, un tableau dynamique Smile Mais je donne pas trop de détails pour le moment Smile
Je détaillerais cela plus tard.

Pour le code pour un tableau simple dynamique, je te prépare ça Razz

https://www.youtube.com/user/Wistaro

5[TUTO] Les tableaux en TI-Basic z80 Empty Re: [TUTO] Les tableaux en TI-Basic z80 Mer 11 Mar 2015 - 22:42

Linkakro

Linkakro
----------------------
----------------------

Ton histoire de tableau dynamique m'évoque le dessin vectoriel. Je ne sais pas si j'ai compris ce que tu veux dire. Moi j'ai utilisé ça dans un prototype de sauvegarde d'image il y a longtemps (cf Imgstok sur Espace-TI).

Tu n'as pas mentionné DependAuto/DependAsk/CalculsAuto/CalculsDem.

Quitte à parler du contrôle du tableur de graphe et TblInput/EntréeTable, montrer l'affichage des listes dans le tableur serait utile. Je réalise que je l'ai mentionné quelque part mais ne l'ai jamais synthétisé en article. (honte à moi)
Voici un exemple.
Code:
IndpndAsk
DependAuto
{7,1,2,3,4,5,6}->TblInput
{11,22,33,44,55,66,77}->L1
"L1(X->Y1
DispTable
Avec DependAsk ou IndpntAsk on peut contourner les limitations de taille 7 de TblInput et de la liste L1 l'une par rapport à l'autre.

6[TUTO] Les tableaux en TI-Basic z80 Empty Re: [TUTO] Les tableaux en TI-Basic z80 Jeu 12 Mar 2015 - 17:40

Mingerton

Mingerton
----------------------
----------------------

Ba comme l'instruction DispTable met en pause je n'ai pas cru nécessaire de mentionner ces deux fonctions dans les commandes à conaître pour faire le tableau comme je l'ai décrit. Comme DependAuto est le mode par défaut je ne pense pas qu'un programme y touchera. Si tu penses que je dois le préciser je le ferai.

J'attends le code de Wistaro pour pouvoir faire une grosse édition d'un coup, avec ta technique et la sienne. En tout cas, merci beaucoup pour vos participations, le tuto y gagne grandement ! Smile

7[TUTO] Les tableaux en TI-Basic z80 Empty Re: [TUTO] Les tableaux en TI-Basic z80 Jeu 12 Mar 2015 - 18:29

Wistaro

Wistaro
Passioné
Passioné

En gros mon programme tu lui rentre x listes de valeurs et sa te les sort sous formes de tableaux mais plus sympa que celui de base. En plus je le stock dans un pic donc réutilisable et pas besoin de pause.

Je te l'envoi dès que j'ai accès à un pc

https://www.youtube.com/user/Wistaro

8[TUTO] Les tableaux en TI-Basic z80 Empty Re: [TUTO] Les tableaux en TI-Basic z80 Ven 13 Mar 2015 - 19:46

Wistaro

Wistaro
Passioné
Passioné

Voilà de retour!

Voici le programme:

[TUTO] Les tableaux en TI-Basic z80 713507tab

Code:

Lbl 1
1->DeltaX:1->DeltaY
0->Xmin:0->Ymin
Xmax->W:Ymax->H
ClrHome
Output(4,1,"|L|L|LComparator|L|L|L"
For(A,1,16
Output(3,A,"|L
Output(5,A,"|L
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->|LP
E+8->dim(|LP
Text(B+2,A,"  ",|LP(D
End
Text(0,A,"   |L",C
Vertical A:End
Horizontal H-8
StorePic1
Pause
E+8->E:Goto 2

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 Razz
Une fois les listes affichées, vous pouvez appuyez sur ENTER pour afficher les valeurs suivantes.

Le code peut paraître un peu lourd comme ceci, mais avec un peu d'optimisation...Smile

https://www.youtube.com/user/Wistaro

9[TUTO] Les tableaux en TI-Basic z80 Empty Re: [TUTO] Les tableaux en TI-Basic z80 Sam 14 Mar 2015 - 14:08

Mingerton

Mingerton
----------------------
----------------------

Linkakro a écrit:Avec DependAsk ou IndpntAsk on peut contourner les limitations de taille 7 de TblInput et de la liste L1 l'une par rapport à l'autre.

Je ne comprends pas comment tu fais, j'ai beau essayer de tirer parti de ces commande je ne vois pas comment le faire. Tu aurais une petite explication s'il te plaît ? Razz

Contenu sponsorisé



Revenir en haut  Message [Page 1 sur 1]

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum