Complément de programmation Basic n°3
Présentation
Ce complément de cours va vous permettre de mieux assimiler les commandes
associées aux matrices vues dans la
leçon n°7. De plus, ce
complément vous apprendra le principe et l'utilité de ces commandes. Pour cela
nous aborderons de petits programmes afin de faciliter la compréhension. Soyez
attentif !
Tout comme les listes, les matrices sont des types structurés. Les listes sont des tableaux à une
dimension tandis que les matrices sont des tableaux à deux dimensions. Voici deux parties de programme
(pouvant être utilisé pour un morpion) pour constater l'utilité des matrices.
// Initialisation du programme
|
ViewWindow 0,3,1,0,3,1
Identity 3Mat A
Fill(0,Mat A)
For 0I To 3
Vertical I
Horizontal I
Next
|
// réglage des paramètres de fenêtre
// création de la matrice A en matrice unité de dimension 3
// remplacement des valeurs de la matrice A par 0
// début de la boucle permettant de créer un tableau graphique 3x3
// affichage d'une ligne verticale à l'abscisse I
// affichage d'une ligne horizontale à l'ordonnée I
// fin de la boucle, le tableau graphique 3x3 est finie
|
// affichage des croix ou carrés dans les cases suivant ce que le joueur à décider
|
For 1I To 3
For 1J To 3
If Mat A[I,J]=1
Then F-Line I-1,J-1,I,J
F-Line I-1,J,I,J-1
IfEnd
If Mat A[I,J]=2
Then Plot I-.8,J-.8
Plot I-.2,J-.8
Line
Plot I-.2,J-.2
Line
Plot I-.8,J-.2
Line
Plot I-.8,J-.8
Line
IfEnd
Next
Next
|
// début de la boucle parcourant la matrice de la colonne 1 à 3
// début de la boucle parcourant la ligne 1 à 3 de la colonne I
// test si la case (I,J) contient un pion du joueur 1
// si oui, on dessine une diagonale dans la case (I,J)
// si oui, on finie la croix en dessinant l'autre diagonale
// sinon, on poursuit le programme à partir de ce point
// test si la case (I,J) contient un pion du joueur 2
// si oui, on entre les coordonnées du 1er coin du rectangle
// si oui, on entre les coordonnées du 2ème coin du rectangle
// si oui, on dessine le 1er côté du rectangle
// si oui, on entre les coordonnées du 3ème coin du rectangle
// si oui, on dessine le 2ème côté du rectangle
// si oui, on entre les coordonnées du 4ème coin du rectangle
// si oui, on dessine le 3ème côté du rectangle
// si oui, on entre les coordonnées du 1ème coin du rectangle
// si oui, on dessine le 4ème côté du rectangle
// sinon, on poursuit le programme à partir de ce point
// fin de la boucle parcourant la ligne 1 à 3 de la colonne I
// fin de la boucle parcourant la matrice de la colonne 1 à 3
|
Grâce à l'utilisation des matrices, ce programme est facilement compréhensible. On distingue
aisément les coordonnées des cases du tableau 3x3. A l'inverse si nous avions utilisé des variables,
l'alogorithme serait difficilement applicable pour des tableaux de grande dimension, ici seule la
taille de l'écran et de la matrice limitent la taille du tableaux.