Tableau 3 dimensions

GW-BASIC (PC-BASIC)

Initiation au langage Basic

Vous pouvez continuer avec autant de dimensions que vous le souhaitez dans une variable tableau. Vous n'êtes limité que par la quantité d'informations que vous pouvez stocker dans la mémoire de l'ordinateur.

Ajoutez une troisième dimension au tableau: les groupes d'intérêt. Voir Enregistrement

Voici les informations :

VOTES DU GROUPE D'INTÉRÊT 1

  Candidat 1 Candidat 2
District 1
District 2
District 3
143
215
125
678
514
430

VOTES DU GROUPE D'INTÉRÊT 2

  Candidat 1 Candidat 2
District 1
District 2
District 3
525
318
254
54
157
200

VOTES DU GROUPE D'INTÉRÊT 3

  Candidat 1 Candidat 2
District 1
District 2
District 3
400
124
75
119
300
419

Pour mettre tout cela dans la mémoire de votre ordinateur, tapez:

5 DIM V(3,3,2)
10 DATA 143, 678, 215, 514, 125, 430
20 DATA 525, 54, 318, 157, 254, 200
30 DATA 400,118,124,300,75,418
40 FOR G = 1 TO 3
50 FOR D = 1 TO 3
60 FOR C = 1 TO 2
70 READ V(G,D,C)
80 NEXT C
90 NEXT D
100 NEXT  G
105 CLS
110 INPUT "Groupe d'intérêt No. (1-3)"; G
120 IF G < 1 OR G > 3 THEN 110
130 INPUT "DISTRICT NO. (1-3)"; D
140 IF D < 1 OR D > 3 THEN 130
150 INPUT "CANDIDAT NO. (1-2)"; C
160 IF C < 1 OR C > 2 THEN 150
170 PRINT V(G,D,C)
180 GOTO 110

Exécutez le programme et testez les indices. Les lignes 40 à 100 lisent tous les votes dans le tableau V, en leur donnant chacun trois indices :

Le premier indice est le groupe d'intérêt (Groupes d'intérêt 1-3),
Le deuxième indice est le district (Districts 1-3).
Le troisième indice est le candidat (candidats 1-2).

Voici la mémoire de l'ordinateur:

Par exemple, 678 est maintenant étiqueté V(1, 1,2). Cela signifie que 678 est du groupe d'intérêt 1, du district 1 et du candidat 2.

Pour profiter des trois dimensions, supprimez les lignes 110-180 et tapez :

110 R=0
120 IF R = 0 THEN 140
130 A$=INKEY$:IF A$="" THEN 130
140 CLS:PRINT: PRINT "TAPEZ <1> POUR GROUPE"
150 PRINT "<2> POUR DISTRICT OU <3> POUR CANDIDAT"
160 P = 0 : INPUT R
170 ON R GOSUB 1000,2000,3000
180 GOTO 120
1000 INPUT "GROUPE (1-3)"; G
1010 IF G<1 OR G>3 THEN 1000
1020 CLS
1030 PRINT "VOTES POUR LE GROUPE" G
1040 PRINT "CAND. 1 "
1050 FOR D = 1 TO 3
1060 PRINT TAB(P) "DIST. " D;
1065 P = P + 15
1070 NEXT D
1080 P=0:C=1
1090 FOR D = 1 TO 3
1100 PRINT TAB(P) V(G,D,C);
1105 P = P + 15
1110 NEXT D
1120 PRINT:PRINT:PRINT "CAND. 2 "
1125 P=0
1130 FOR D = 1 TO 3
1140 PRINT TAB(P) "DIST. " D;
1150 P = P + 15
1160 NEXT D
1170 P=0:C=1
1180 FOR D = 1 TO 3
1190 PRINT TAB(P) V(G,D,C);
1200 P = P + 15
1210 NEXT D
1220 RETURN
2000 INPUT ·"DISTRICT(1-3)"; D
2010 IF D<1 OR D>3 THEN 2000
2020 CLS
2030 PRINT "VOTES POUR DIST. " D
2040 FOR G = 1 TO 3
2050 PRINT "GROUP" G
2060 FOR C = 1 TO 2
2070 PRINT "CAND. ";C;" ";V(G,D,C)
2080NEXT C
2090 NEXT G
2100 RETURN
3000 INPUT "CANDIDAT (1-2)"; C
3010 IF C<1 OR C>2 THEN 3000
3020 CLS
3030 PRINT "VOTES POUR CAND. " C
3040 PRINT "DIST. 1  ";
3050 PRINT "DIST. 2  ";
3060 PRINT "DIST. 3"
3070 FOR G = 1 TO 3
3080 PRINT "GROUPE" G;
3090 FOR D = 1 TO 3
3100 PRINT V(G,D,C);
3110 NEXT D
3120 NEXT G
3130 RETURN

Programme faites-le vous même

Écrivez un programme pour distribuer les cartes en utilisant un tableau à deux dimensions.

Faites de la première dimension la couleur de la carte {1-4) et de la deuxième dimension la valeur de la carte (1-13).

CARTE1.BAS

 

 

 

 

 

 

 

Recherche personnalisée