Tester l'algorithme :


(cliquer sur le bouton ci-dessus pour lancer ou relancer l'exécution de l'algorithme)

Résultats :

Code de l'algorithme :
1     VARIABLES
2       L EST_DU_TYPE LISTE
3       n EST_DU_TYPE NOMBRE
4       i EST_DU_TYPE NOMBRE
5       c EST_DU_TYPE NOMBRE
6       p EST_DU_TYPE NOMBRE
7       r EST_DU_TYPE NOMBRE
8       j EST_DU_TYPE NOMBRE
9       g EST_DU_TYPE NOMBRE
10      joueur EST_DU_TYPE NOMBRE
11      mot EST_DU_TYPE CHAINE
12    DEBUT_ALGORITHME
13      LIRE n
14      g PREND_LA_VALEUR 1
15      p PREND_LA_VALEUR 0
16      joueur PREND_LA_VALEUR 1
17      POUR i ALLANT_DE 1 A n
18        DEBUT_POUR
19        L[i] PREND_LA_VALEUR 0
20        FIN_POUR
21      TANT_QUE (g*(p-n)!=0) FAIRE
22        DEBUT_TANT_QUE
23        SI (joueur==1) ALORS
24          DEBUT_SI
25          c PREND_LA_VALEUR ALGOBOX_ALEA_ENT(1,n)
26          r PREND_LA_VALEUR ALGOBOX_ALEA_ENT(1,2)
27          SI (L[c]==1 OU L[c]==2) ALORS
28            DEBUT_SI
29            c PREND_LA_VALEUR ALGOBOX_ALEA_ENT(1,n)
30            r PREND_LA_VALEUR ALGOBOX_ALEA_ENT(1,2)
31            FIN_SI
32          joueur PREND_LA_VALEUR 2
33          L[c] PREND_LA_VALEUR r
34          FIN_SI
35          SINON
36            DEBUT_SINON
37            LIRE c
38            LIRE mot
39            SI (mot=="S") ALORS
40              DEBUT_SI
41              r PREND_LA_VALEUR 1
42              FIN_SI
43              SINON
44                DEBUT_SINON
45                r PREND_LA_VALEUR 2
46                FIN_SINON
47            SI (L[c]==1 OU L[c]==2 ) ALORS
48              DEBUT_SI
49              LIRE c
50              LIRE r
51              FIN_SI
52            L[c] PREND_LA_VALEUR r
53            joueur PREND_LA_VALEUR 1
54            FIN_SINON
55        
56        
57        
58        
59        POUR i ALLANT_DE 1 A n
60          DEBUT_POUR
61          SI (L[i]==1) ALORS
62            DEBUT_SI
63            AFFICHER "S"
64            FIN_SI
65          SI (L[i]==2) ALORS
66            DEBUT_SI
67            AFFICHER "O"
68            FIN_SI
69          SI (L[i]==0) ALORS
70            DEBUT_SI
71            AFFICHER "."
72            FIN_SI
73          FIN_POUR
74        AFFICHER " au suivant"
75        POUR j ALLANT_DE 1 A n-2
76          DEBUT_POUR
77          SI (L[j]==1 ET L[j+1]==2 ET L[j+2]==1) ALORS
78            DEBUT_SI
79            g PREND_LA_VALEUR 0
80            FIN_SI
81          FIN_POUR
82        p PREND_LA_VALEUR p+1
83        FIN_TANT_QUE
84      SI (joueur==1) ALORS
85        DEBUT_SI
86        AFFICHER "tu as gagné"
87        FIN_SI
88        SINON
89          DEBUT_SINON
90          AFFICHER "l'ordinateur a gagné"
91          FIN_SINON
92      
93      
94      
95      
96      
97      
98      
99    FIN_ALGORITHME