Tutoriel 10
Les listes
Nouvelles commandes :
> dim(LN
= Donne ou configure la dimension d'une liste [2nd] [LIST] [>] [3]
> Fill(A,LN
= remplit une liste d'un certain chiffre [2nd]
[LISTE] [>] [4]
> SortA(LN
= Tri par ordre croissant d'une liste [2nd]
[LIST] [>] [1]
> SortD(LN
= Tri par ordre décroissant d'une liste [2nd]
[LIST] [>] [2]
> L1 à L6
ou L... = Variable listes [2nd]
[1 à 6] ou [2nd] [LIST] [>] [^] [ENTER] ...
Introduction :
Les listes sont des suites de valeur numériques dans une
seule "variable".
Elles servent souvent dans des jeux mais aussi dans certains
programmes de mathématiques.
Pour vous montrer leur utilité, nous allons faire un programme
qui mémorise les coordonnées de points pour pouvoir les
afficher ultérieurement.
Il est ici impossible les stoquer tous dans des variables.
De plus, les listes permettent d'accéder à chaque valeur par un
numéro, ce qui simplifie leur imbrication dans des boucles For( par exemple.
Création et initialisation de listes :
La TI-83 Plus comporte six listes (de L1
à L6 ; accessibles via
les touches 1 à 6) mais vous pouvez très bien en créer
d'autres.
Mais voyons d'abord la création d'une liste prédéfinie :
Exemples :
:3->dim(L1) Exemple 1
; dim( se trouve dans [2nd] [LIST] [>] [3]
:{1,7,5}->L1 Exemple 2
> Dans le premier exemple, on stoque 3 dans la
dimension de la liste pprédéfinie L1
; ce qui revient à lui donner une dimension de 3 cases : on
pourra ainsi y stoquer trois nombres accessibles via les indices
1 à 3. Mais nous y reviendrons...
> Dans l'exemple 2, les nombre 1, 7 et 5 sont stoqués à la
suite, directement dans la liste. Si la liste n'existait pas
encrore, elle aurait été crées avec trois "cases" et
remplie immédiatement.
> La seconde méthode est plus rapide car elle remplie la
liste directement à sa création et la redimensionne au besoin
en écrasant les valeurs précédentes.
> Quand à la première méthode, si il y avait déjà des
chiffres de stoqués dans les trois premières cases, ils
resteront : la liste ne serait ainsi pas mise à zéro (s'il y
avait plus de trois cases, les suivantes seraient supprimées).
Pour remettre une liste à zéro en la créant, il convient donc
de procéder comme dans cet exemple :
Démonstration :
:Delvar L1 Supprime bien
sur la liste de la mémoire de la TI
:3->dim(L1 Ici, la
liste n'existe pas encore, alors elle est créée et remplie de 0
Maintenant, si vous souhaitez avoir plus de six listes, il
vous faut créer des listes personnalisées. Celle ci s'utilisent
de la même façon que celless que nous venons de voir mais il
faut commencer leur nom par un petit L
(que vous trouverez dans [2nd] [LIST] [>] [^] [ENTER]), leur
nom doit contenir uniquement des lettres (ou theta) et des
chiffres et au maximum cinq caractères.
Exemple :
:5->dim(LTI83P) Ici,
la liste personnalisée TI83P est créée avec 5
"cases"
Stoquer dans une liste :
Pour stoquer des nombres dans uns liste, c'est à peu près
pareil que pour le faire avec une variable.
Nous venons de voir que nous pouvons remplire une liste d'un seul
coup comme ceci :
:{1,7,5}->L1 Attention
: dans ce cas la liste est redimensionnée
Dans la plupart des cas, vous ne voudrez accéder qu'à une seule
case. Supposons que vous aviez donné une dimension de 3 à la
liste L1. Vous savez ainsi
que vous ne pourrez stoquer que trois nombre dans la liste (ou
alors il faut la redimensionner). Alors, pour remplire cette
liste, nous accéderont à ses cases par les nombre 1 à 3 comme
le montre cet exemple :
Exemple :
:23->L1(1) Ici, on
stoque 23 dans la case 1 de la liste L1 ; les autres
valeurs de la liste restent inchangées
:0->L1(2) Idem dans la
case 2
:105->L1(3) Enfin, on stoque 105 dans la troisième case
Accéder à une liste :
Pour récupérer un nombre dans une liste, on suit le même
principe :
Exemple :
:Disp L1(1) Ici, on
affiche ce qui est mémorisé dans la case 1 de la liste L1
; soit 23 si on reprend l'exemple précédent
:Disp L1(2) Idem pour la
case 2
:Disp L1(3) Etc...
Autres commandes :
Vous en connaissez pour faire de bons jeux avec des listes.
Cependant, sachez que si vous ne connaissez pas la dimension
d'une liste, vous pouvez y accéder via dim(
.
Pour remplire tout une liste d'une certaine valeur, vous aurez
besoin de Fill( ([2nd] [LIST] [>]
[4])
Pour trier les données que contient une liste par ordre
croissant, vous aurrez besoin de SortA(
et pour trier par ordre décroissant, c'est SortD(.
Pour faire des programmes plus complexes (tri par ordre
croissant, moyenne d'une liste, nombre maximum, somme
cumulée...), vous aurez beoin des fonctions du menu [2nd]
[LIST]. Je vous laisse y regarder dans le manuel de votre TI car
ceci serait trop vaste.
Exemple de ces commandes :
:Fill(-1,L1) Remplit la
liste 1 du nombre -1 dans toutes ses cases
:SortA(L1) Tri par ordre croissant
la liste 1 ; si elle contenait {6,1,-5,7}, elle
deviendra alors {-5,1,6,7}
:SortD(L1) Tri par ordre décroissant la liste 1 ; si elle
contenait {6,1,-5,7}, elle deviendra alors {7,6,1,-5}
Application :
Nous allons donc procéder à une petite application
"concrète" que nous diviserons en deux par pur besoin
d'apprentissage.
Il y aura donc la partie calcul quii stoquera une série de
nombre aléatoires dans une liste et une partie affichage qui
irra voir dans a liste les coordonnées des points à afficher.
Partie 1 : Calcul des points et stoquage dans des listes :
:Disp "COMBIEN DE
:Input "POINTS ?",A Demande
à l'utilisateur une dimension pour la liste
:A->dim(L1) Et
l'applique à la liste L1, coordonnées X ; ici, pas
besoin de mettre la liste à 0 puisqu'on va la remplire tout de
suite
:A->dim(L2) Et
l'applique aussi à la liste L2, coordonnées Y
:For(X,1,A) Boucle pour remplire la
liste
:randInt(0,94)->L1(X) Remplit
les coordonnées X des points à afficher ultérieurement
:randInt(0,62)->L2(X) Remplit
les coordonnées Y des points à afficher ultérieurement
:End Fin de la boucle
Partie 2 : Affichage des points celon les coordonnées
stoquées dans les listes :
:0->Xmin:94->Xmax:0->Ymin:62->Ymax On initialise l'écran graphique
:For(X,1,dim(L1)) Pour
afficher tous les points de la liste, il faut connaitre le nombre
de points qu'elle stoque, ceci est effectué avec dim(
:Pt-On(L1(X),L2(X)) Affiche le point
:End Fin
de boucle
Un dernier mot sur Pause :
Nous avons déjà vu la commande Pause. Nous allons maintenant
en voir une nouvelle utilisation :
Essayez ce code :
:{95,25,3,1,85,64,254,25,748,123,658,745,896,214}->L1
Initialisation de la liste à
afficher
:Pause L1 Fait une pause
tout en affichant L1 pour que l'utilisateur puisse la
visualiser en entier
Lors de la pause, la liste 1 est affichée et vous pouvez
appuyer sur droite ou gauche pour faire défiler la liste et
ainsi la voir en entier.
Ainsi, si vous faites un programme de mathématiques par exemple,
et que vous devez afficher une liste, faites comme ceci.
Il est impossible de faire autrement.
Conclusion :
Maintenant que vous connaissez l'existance des listes, il vous sera aisé de faire des jeux comme un serpent (on stoque les coordonnées du serpent pour ensuite pouvoir les effacer) ou un jeu de tunnel... Vous avez en main un outil plus puissant que ous ne le pensiez et je vous conseille d'y réfléchir et de bien comprendre son fonctionnement pour pouvoir aborder la lecon suivante qui traitera des matrices : une "dérivée" des listes et qui fonctionne à peu près pareil...
Retour : Sommaire
Aide : Liste
des commandes
Précédent : Tutoriel
09 : Fonctions graphiques
Suivant : Tutoriel
11 : Les matrices