jouons avec les mots
Page 1 sur 1
jouons avec les mots
ÉNONCÉ
Afin d’enrichir le vocabulaire des ses élèves en français, un enseignant souhaite mettre au point un programme didactique sous forme d’un jeu se déroule entre deux élèves. On admet que les mots proposés sont formés uniquement par des lettres majuscules.
Le jeu se termine de la manière suivante :
- le premier élève saisit un mot
- le deuxième doit proposer un mot commençant par la dernière lettre du mot précédent proposé par le premier élève
- le premier élève en fera de même et ainsi de suite
Le jeu se termine si :
- l’un des joueurs se trompe (propose un mot qui ne commence pas par la dernière lettre du mot précédent)
- l’un des joueurs propose un mot déjà cité lors du jeu
- le nombre de mots cités par les deux joueurs dépasse 100 ; dans ce cas le résultat est ex æquo
Exemple d’une partie du jeu:
Joueur1 : JARDIN
Joueur2 : NATAL
Joueur1 : LOUP
Joueur 2 : URNE
L’élève n°1 est vainqueur
PASCAL
program jouons_avec_les_mots;
uses wincrt;
type
tab= array[1..100] of string;
var
ch1,ch2:string;
e,l,j:integer;
t:tab;
c:char;
ok:boolean;
procedure saisie(var mot1:string;var t1:tab;var j1:integer);
var
lettre:boolean;
i:integer;
begin
j1:=j1+1;
if j1 mod 2 =0 then writeln ('joueur 2') else writeln ('joueur 1');
repeat
writeln('saisir une chaine');
readln(mot1);
lettre:=true;
i:=0;
repeat
i:=i+1;
if not( mot1[i] in ['A'..'Z','a'..'z']) then lettre:=false;
until (lettre=false) or (i=length(mot1));
until lettre;
t1[j1]:=mot1;
end;
function test (c1:char;ch:string):boolean;
var
i:integer;
begin
if c1=ch[1]
then
begin
test:=true;
for i:=1 to j-1 do
if ch=t[i] then test:=false
end
else test:=false;
end;
procedure affichage(j1:integer);
begin
if j1=6 then writeln('exaequo')
else
if j1 mod 2 =0 then writeln('l''eleve N°1 est vainqueur')
else writeln('l''eleve N°2 est vainqueur');
end;
begin
writeln('*********jouons avec les mots***********');
j:=0;
saisie(ch1,t,j);
saisie(ch2,t,j);
repeat
l:=length(ch1);
c:=ch1[l];
ok:=test(c,ch2);
if ok
then
begin
ch1:=ch2;
saisie(ch2,t,j); end;
until (ok=false) or (j=6);
affichage(j);
end.
Afin d’enrichir le vocabulaire des ses élèves en français, un enseignant souhaite mettre au point un programme didactique sous forme d’un jeu se déroule entre deux élèves. On admet que les mots proposés sont formés uniquement par des lettres majuscules.
Le jeu se termine de la manière suivante :
- le premier élève saisit un mot
- le deuxième doit proposer un mot commençant par la dernière lettre du mot précédent proposé par le premier élève
- le premier élève en fera de même et ainsi de suite
Le jeu se termine si :
- l’un des joueurs se trompe (propose un mot qui ne commence pas par la dernière lettre du mot précédent)
- l’un des joueurs propose un mot déjà cité lors du jeu
- le nombre de mots cités par les deux joueurs dépasse 100 ; dans ce cas le résultat est ex æquo
Exemple d’une partie du jeu:
Joueur1 : JARDIN
Joueur2 : NATAL
Joueur1 : LOUP
Joueur 2 : URNE
L’élève n°1 est vainqueur
PASCAL
program jouons_avec_les_mots;
uses wincrt;
type
tab= array[1..100] of string;
var
ch1,ch2:string;
e,l,j:integer;
t:tab;
c:char;
ok:boolean;
procedure saisie(var mot1:string;var t1:tab;var j1:integer);
var
lettre:boolean;
i:integer;
begin
j1:=j1+1;
if j1 mod 2 =0 then writeln ('joueur 2') else writeln ('joueur 1');
repeat
writeln('saisir une chaine');
readln(mot1);
lettre:=true;
i:=0;
repeat
i:=i+1;
if not( mot1[i] in ['A'..'Z','a'..'z']) then lettre:=false;
until (lettre=false) or (i=length(mot1));
until lettre;
t1[j1]:=mot1;
end;
function test (c1:char;ch:string):boolean;
var
i:integer;
begin
if c1=ch[1]
then
begin
test:=true;
for i:=1 to j-1 do
if ch=t[i] then test:=false
end
else test:=false;
end;
procedure affichage(j1:integer);
begin
if j1=6 then writeln('exaequo')
else
if j1 mod 2 =0 then writeln('l''eleve N°1 est vainqueur')
else writeln('l''eleve N°2 est vainqueur');
end;
begin
writeln('*********jouons avec les mots***********');
j:=0;
saisie(ch1,t,j);
saisie(ch2,t,j);
repeat
l:=length(ch1);
c:=ch1[l];
ok:=test(c,ch2);
if ok
then
begin
ch1:=ch2;
saisie(ch2,t,j); end;
until (ok=false) or (j=6);
affichage(j);
end.
Sujets similaires
» jeu de mots: énoncé et analyse
» jeu de mots: algorithme et traduction pascal
» permutation de 3 valeurs avec utilisation de variable auxiliaire
» jeu de mots: algorithme et traduction pascal
» permutation de 3 valeurs avec utilisation de variable auxiliaire
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum