• Aucun résultat trouvé

Solution du TP Maple n°3

N/A
N/A
Protected

Academic year: 2022

Partager "Solution du TP Maple n°3"

Copied!
1
0
0

Texte intégral

(1)

>

>

>

>

>

>

>

>

>

>

>

>

>

Solution du TP Maple n°3

restart:

with(LinearAlgebra):

coup_fatal:=proc(P,joueur,i,j) local k;

for k to 6 do

if P[i,k]=joueur and P[j,k]=joueur then return true end if end do;

return false end proc:

gagnante:=proc(P,joueur) local i,j,test;

for i to 5 do

for j from i+1 to 6 do if P[i,j]=0 then

if not coup_fatal(P,joueur,i,j) then P[i,j]:=joueur;P[j,i]:=joueur;

test:=not gagnante(P,3-joueur);

P[i,j]:=0;P[j,i]:=0;

if test then return true end if end if

end if end do end do;

return false end proc:

# Application 1 (position donnée à la question 3):

P:=Matrix(6,6,0):P[1,2]:=1:P[2,1]:=1:P[1,3]:=2:P[3,1]:=2:P[4,5]

:=1:P[5,4]:=1:P[1,5]:=2:P[5,1]:=2:

gagnante(P,1);

true coups_gagnants:=proc(P,joueur) local i,j,S;

S:=NULL;

for i to 5 do

for j from i+1 to 6 do if P[i,j]=0 then

if not coup_fatal(P,joueur,i,j) then P[i,j]:=joueur;P[j,i]:=joueur;

if not gagnante(P,3-joueur) then S:=S,[i,j]

end if;

P[i,j]:=0;P[j,i]:=0;

end if end if end do end do;

[S]

end proc:

coups_gagnants(P,1);

2, 5

# donc il n'y a qu'un coup gagnant.

# Application 2 (position initiale):

P:=Matrix(6,6,0):gagnante(P,1);

false

# la position de départ est donc perdante.

Références

Documents relatifs

Il était important dans ce TP de montrer en quoi la recherche d'approximations de π malgré son caractère désuet est encore d'actualité, notamment d'un point de vue algorithmique

En un sommet de la grille donn´ e on a le choix de monter ou d’avancer, le nombre de chemin est donc la somme des nombres de chemins qui commen¸ cent par monter (Chemin(l −1, L)) et

[r]

[r]

[r]

[r]

[r]

[r]