Tri d'un tableau
GW-Basic, utilisé par PC-Basic
Exemple de programmation
Trier un tableau avec la méthode Bubble - Sort
Ce programme utilise WHILE ... WEND, FOR ... NEXT et IF ... THEN
SWAP permet de changer les valeurs entre deux variables
5 REM Bubble - Sort
10 DIM A(6)
20 A(1)=12:A(2)=5:A(3)=1
30
A(4)=23:A(5)=11:A(6)=3
40 FLIPS=1
50 WHILE FLIPS
60 FLIPS=0
70
FOR
N=1 TO 5
80 IF A(N)>A(N+1) THEN SWAP A(N), A(N+1): FLIPS=1
90
NEXT N
100 WEND
110 FOR N=1 TO 6
120 PRINT A(N), 'La virgule permet
d'afficher les nombres en colonne
130 NEXT N
On peut utiliser ce programme pour faire un générateur de combinaison de loterie (6/49 ici)
RANDOMIZE TIMER permet au programme de toujours générer des nombres aléatoire différents à chaque nouvelle exécution d'un programme.
INT(49*RND(1)+1) permet de générer des nombre de 1 à 49
5 REM Bubble - Sort
10 RANDOMIZE TIMER
20 DIM A(6)
30
A(1)=INT(49*RND(1)+1)
40 A(2)=INT(49*RND(1)+1):IF A(2)=A(1) THEN 40
50
A(3)=INT(49*RND(1)+1):IF A(3)=A(1) OR A(3)=A(2) THEN 50
60
A(4)=INT(49*RND(1)+1):IF A(4)=A(1) OR A(4)=A(2) OR A(4)=A(3) THEN 60
70
A(5)=INT(49*RND(1)+1):IF A(5)=A(1) OR A(5)=A(2) OR A(5)=A(3) OR A(5)=A(4) THEN
70
80 A(6)=INT(49*RND(1)+1):IF A(6)=A(1) OR A(6)=A(2) OR A(6)=A(3) OR
A(6)=A(4) OR A(6)=A(5)THEN 80
110 FLIPS=1
120 WHILE FLIPS
130 FLIPS=0
140 FOR N=1 TO 5
150 IF A(N)>A(N+1)
THEN
SWAP A(N), A(N+1): FLIPS=1
160 NEXT N
170 WEND
180 FOR N=1 TO 6
190
PRINT A(N),
200 NEXT N