Vous êtes sur la page 1sur 6

Epreuve pratique d’informatique

Sections : Mathématiques, Sciences expérimentales et Sciences


techniques
Examen baccalauréat Session 2019
28-05-2019
Proposé par Mr. Adili Houcine

Séance 1 de 8 h00 à 9h00


program Nomination;
uses wincrt;
type
tab=array[1..20] of string[10];
var
nom:tab;
n:integer;
procedure lecture (var Nom:tab;var n:integer);
var
i:integer;
function verif(ch:string):boolean;
var
j:integer;
Begin
j:=1 ;
while( ch[j]in['A'..'Z']) and(j<=length(ch)) do

Devoirs et examens sur : www.Kiteb.net


Begin
j:=j+1;
end;
verif:=(j>length(ch)) and(length(ch)=10);
end;
Begin
repeat
write('donner le nombre de produits:');
readln(n);
until (n in[3..20]);
for i:= 1 to n do
begin
repeat
write('donner le nom du produit n°',i,':');
readln(Nom[i]);
until(verif(nom[i]));
end;
end;
procedure spirale(nom:tab;n:integer);
var
ch,ch1:string;
p,i,j:integer;
function proposition(m:string):string;
var
K:integer;
res:string;
begin
res:=m;
for K:= 1 to (length(res) div 2 ) do
Begin
insert(res[length(res)],res,k*2-1);
delete(res,length(res),1);
end;
proposition:=res;
end;
begin
repeat
write('saisir p:');
readln(p);
until(p in[1..10]);
ch:='';

Devoirs et examens sur : www.Kiteb.net


for i:=1 to n do
Begin
ch:=ch+nom[i][p];
end;
WRITELN('La chaine obtenue est:',ch);
writeln('Les ',n,' propositions à utiliser sont: ');
for j:= 1 to n do
begin
writeln(ch);
ch:=proposition(ch);
end;
end;
Begin
lecture(nom,n);
spirale(nom,n);
end.

Séance 2 de 9 h30 à 10h30


program TirArc;
uses wincrt;
type
tab=array[1..20] of string[30];
var
A:tab;
n:integer;
procedure remplir(var A:tab;n:integer);
var
i:integer;
function alpha(ch:string):boolean;
var
j:integer;
Begin
j:=1;
while((upcase(ch[j]) in ['A'..'Z']) or(ch[j]=' '))and(j<=length(ch)) do
begin
j:=j+1;
end;
alpha:=(j>length(ch)) and(length(ch)<=30) ;
end;
begin

Devoirs et examens sur : www.Kiteb.net


for i:= 1 to n do
begin
Repeat
write('donner le nom du joueur n°',i,':'); readln(A[i]);
until(Alpha(A[i]));
end;
end;
procedure score (A:tab;n:integer);
type
tab1=array[1..20] of integer;
var
t:tab1;
t1:tab;
i,j,somme,essai:integer;
procedure tri(var t1:tab;var t:tab1;n:integer);
var
permut:boolean;
aux,k:integer;
aux1:string;
begin
Repeat
permut:=false;
for k:=1 to n-1 do
begin
if(t[k]<t[k+1])Then
begin
aux:=t[k];
t[k]:=t[k+1];
t[k+1]:=aux;
aux1:=t1[k];
t1[k]:=t1[k+1];
t1[k+1]:=aux1;
permut:=true;
end;
end;
until(permut=false);
end;
begin
for i:=1 to n do
begin
somme:=0;
writeln('saisir les essais du joueur n°',i,':');

Devoirs et examens sur : www.Kiteb.net


for j:=1 to 3 do
begin
Repeat
writeln ('Essai n°',j,':');
readln(essai);
until(essai in[1..10]);
somme:=somme+essai;
end;
t[i]:=somme;
end;
t1:=A;
tri (t1,t,n);
for i:=1 to n do
begin
WriteLn(t1[i],' avec un score de ',t[i]);
end;
end;
begin
Repeat
write('donner le nombre de joueurs:');
readln(n);
until (n in[2..20]);
remplir(A,n);
score(A,n);
end.

Séance 3 de 11 h00 à 12h00


program plagiat;
uses wincrt;
var
t1,t2:string;
nbc:integer;
function nbmots(ch:string):integer;
var
nb,p:integer;
begin
nb:=1;
p:=pos(' ',ch);

Devoirs et examens sur : www.Kiteb.net


While (p<>0) do
Begin
nb:=nb+1;
delete(ch,1,p);
p:=pos(' ',ch);
end;
nbmots:=nb;
end;
function commun(ch,ch1:string):integer;
var
nb,i,p:integer;
begin
nb:=0;
while(pos(' ',ch)<>0)do
begin
if(POS(copy(ch,1,pos(' ',ch)),ch1)<>0)Then
Begin
nb:=nb+1;
delete(ch,1,pos(' ',ch));
End
Else
delete(ch,1,pos(' ',ch));
end;
if(pos(ch,ch1)<>0)Then
nb:=nb+1;
commun:= nb;
end;
begin
Repeat
write('saisir texte originale:');
readln(t1);
write('saisir texte à testé:');
readln(t2);
until(nbmots(t1)=nbmots(t2));
nbc:=commun(t1,t2);
if(nbc>= nbmots(t1) div 2)Then
write('texte plagié')
Else
write('texte non plagié');
end.

Devoirs et examens sur : www.Kiteb.net

Vous aimerez peut-être aussi