jouons avec les mots

Aller en bas

jouons avec les mots

Message  Admin le Dim 17 Avr - 20:34

É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.

Admin
Admin

Messages : 137
Date d'inscription : 29/12/2010

Voir le profil de l'utilisateur http://aidescolaire.yoo7.com

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum