sujet bac info 2013 g1, g2 et g3 avec correction
DESCRIPTION
notre page: https://www.facebook.com/the.talented.programmerTRANSCRIPT
Dev
oirs
et e
xam
ens
sur
: w
ww
.kit
eb.n
et
Dev
oirs
et e
xam
ens
sur
: w
ww
.kit
eb.n
et
Dev
oirs
et e
xam
ens
sur
: w
ww
.kit
eb.n
et
Dev
oirs
et e
xam
ens
sur
: w
ww
.kit
eb.n
et
Corrigés Bac pratique InformatiqueSection Sciences de l'informatique
23 mai 2013(8h)
Jeudi 2 3 mai 201 3 à 8h program aires_23_05_2013_8h;uses wincrt;consta=0;b=3;typetenreg= recordrect:real;trap:real;nb:integer;end;tf=file of tenreg;varf:tf;v:tenreg; eps:real; rep:integer;{**************************************************************}
function fct (x:real):real;begin fct:=sqr(x);end;
{*************************************************************} procedure epsilon (var eps:real); begin repeat write(' taper une valeur pour epsilon:');readln(eps);
until (eps>=0.0001) and (eps<=0.1);
end; {*************************************************************} function rectangle ( n:integer):real; var x, h,S:real; i:integer; begin S:=0; h:=(ba)/n; x:=(a+h/2); for i:=1 to n do begin S:=S+fct(x);
1/9
Correction proposée par Mr Mejdi Bechikh & Mme Hajer NEFZAOUI
Dev
oirs
et e
xam
ens
sur
: w
ww
.kit
eb.n
et
x:=x+h; end; rectangle:=s*h; end;
{*************************************************************} function trapeze ( n:integer):real; var x, h,S:real; i:integer; begin h:=(b+a)/n; s:=(fct(a)+fct(a+h))/2; x:=a; for i:=1 to n1 do begin x:=x+h; S:=S+(fct(x)+fct(x+h))/2; end; trapeze:=s*h; end; {******************************************************} procedure trait (var f:tf; eps:real; var rep:integer); var n:integer; v:tenreg; Dif1,dif2,A1,A2:real; begin reset(f); n:=1; repeat n:=n+1; A1:=rectangle(n); A2:=trapeze(n); v.nb:=n; V.rect:=A1; v.trap:=A2;
write(f,v); dif1:=abs(rectangle(n)rectangle(n1)); dif2:=abs(trapeze(n)trapeze(n1)); writeln('n=',n, A1:9:5, A2:9:5);readln; until (dif1<=eps)or(dif2<=eps); {if (dif1<dif2) then rep:=1 else if (dif2<dif1) then rep:=2 else rep:=3;} if (dif1<eps) then rep:=1; if (dif2<eps) then rep:=2; writeln('la methode est ',rep); close(f);
2/9
Dev
oirs
et e
xam
ens
sur
: w
ww
.kit
eb.n
et
end; {******************************************************} procedure afficher (var f:tf; rep:integer); var v:tenreg; mes:string;
begin writeln('***N****','*Rectangle*','*trapeze*'); reset(f); while not(eof(f))do begin read(f,v); writeln(v.nb,v.rect:9:5,v.trap:9:5); end; if rep=1 then mes:='Med des rectangles' else if rep=2 then mes:='Med des trapèzes' else mes:='Exéquo'; writeln('la methode qui converge la première est :',mes); end;
BEGIN assign(f,'c:\calcul.dat'); rewrite(f); repeat epsilon(eps); writeln(rectangle(5)); trait(f,eps,rep); afficher(f,rep); until keypressed;
END.
3/9
Dev
oirs
et e
xam
ens
sur
: w
ww
.kit
eb.n
et
Corrigés Bac pratique InformatiqueSection Sciences de l'informatique
23 mai 2013(10h)
Jeudi 2 3 mai 201 3 à 10 h program seance2_23_05_2013_10h;uses wincrt;varf,fc:text;n:integer;
procedure saisie (var n: integer);begin repeat
write(' taper n:'); readln(n); until (n<=50);end;function verif (ch:string):boolean;vari:integer;begin i:=0;repeat i:=i+1;until (not(upcase(ch[i]) in ['A'..'Z',' ']))or(i=length(ch));verif:=(upcase(ch[i]) in ['A'..'Z',' '])and(ch[1]<>' ')and(ch[length(ch)]<>' ')and(pos(' ',ch)=0);end;
procedure saisie_ph( var ph:string);
begin repeat
write('Taper une phrase :');readln(ph);
until (verif(ph));
end;function crypter (mot:string; p:integer):string; var motc:string; c:char; i:integer; begin motc:=''; for i:=1 to length(mot) do begin if (mot[i] in ['A'..'Z']) then
4/9
Correction proposée par Mr Mejdi Bechikh & Mme Hajer NEFZAOUI
Dev
oirs
et e
xam
ens
sur
: w
ww
.kit
eb.n
et
begin if chr(ord(mot[i])+p)<'Z' then c:=chr(ord(mot[i])+p) else c:=chr( (ord(mot[i])+p90) mod 26 +64); end ; if (mot[i] in ['a'..'z']) then begin if chr(ord(mot[i])+p)<'z' then c:=chr(ord(mot[i])+p) else c:=chr( (ord(mot[i])+p122) mod 26 +97); end; motc:=motc+c; end;
crypter:=motc; end;
function crypter_ph( ph:string):string; var ch1,phc:string; i,p:integer; begin phc:=''; p:=0; ph:=ph+' '; while(ph<>'')do begin p:=p+1; ch1:=crypter(copy(ph,1,pos(' ',ph)1),p); phc:=phc+ch1+' '; delete(ph,1,pos(' ',ph)); end; delete(phc,length(ph),1);
crypter_ph:=phc; end; procedure traitement (var f,fc:text; n:integer); var i:integer; phc,ph:string; begin
append(f); append(fc); for i:=1 to n do begin saisie_ph(ph); phc:=crypter_ph(ph);
5/9
Dev
oirs
et e
xam
ens
sur
: w
ww
.kit
eb.n
et
write(f,ph); write(fc,phc); writeln(ph); writeln(phc); end; close(f);close(fc); end;
BEGINassign(f,'c:\phrases.txt'); rewrite(f);assign(fc,'c:\ph_crypt.txt'); rewrite(fc);saisie(n);traitement(f,fc,n);
END.
6/9
Dev
oirs
et e
xam
ens
sur
: w
ww
.kit
eb.n
et
Corrigés Bac pratique InformatiqueSection Sciences de l'informatique
23 mai 2013(14h)
Jeudi 2 3 mai 201 3 à 1 4 h program seance3_23_05_2013_14h;uses wincrt;typemat= array[1..24,1..24]of integer; tenreg=record nl,ICD,ICF:integer; end;tab= array [1..24] of tenreg; VAR L,C ,k:integer; M:mat; T:tab; F:text;
procedure remplir (var L,c:integer ; var M:mat); var i,j:integer; begin repeat write(' taper L:');readln(l); write(' taper c:');readln(c); until (l in [3..24]) and (c in [3..24]);
for i:=1 to l do begin for j:=1 to c do Repeat write('M[',i,',',j,']='); readln(M[i,j]);
Until (m[i,j]<>0); end;
end;
procedure Somme (m:mat; lig,col,c:integer; var Fin:integer); var i,j,s:integer; begin Fin:=0; S:=0; i:=lig; j:=col; repeat s:=s+m[lig,j]; j:=j+1;
until (S=0) or (j >c); if (s=0) then fin:=j1; end;
7/9
Correction proposée par Mr Mejdi Bechikh & Mme Hajer NEFZAOUI
Dev
oirs
et e
xam
ens
sur
: w
ww
.kit
eb.n
et
procedure traitement (var t:tab; m:mat; l,c:integer; var k:integer ); var s,f,i,j:integer; begin k:=0; for i:=1 to l do begin for j:=1 to c do begin somme(m,i,j,c,f); if (f<>0) then begin k:=k+1; T[k].Nl:=i; T[k].ICD:=j; T[k].ICF:=f; { writeln(i,'#',j,'#',f);}
end;
end; end;
end;
function maximum ( t:tab; k:integer ):integer; var i,max:integer; begin max:=(T[1].ICFT[1].ICD+1); for i:=2 to k do begin if (T[i].ICFT[i].ICD+1) > max then max:=T[i].ICFT[i].ICD+1;
end;
maximum:=max; end;
procedure Stockage (var F:text ; t:tab ; k:integer); var max,i:integer; chm,ligne1, ch,ch1,ch2,ch3:string; begin append(f); max:=maximum(t,k); STR(max,chm); ligne1:=' Le nombre d''elements de la plus longue séquence ='+chm; writeln(f,ligne1);
8/9
Dev
oirs
et e
xam
ens
sur
: w
ww
.kit
eb.n
et
writeln(ligne1); for i:=1 to k do begin if (T[i].ICFT[i].ICD+1) = max then begin Str(T[i].nl,ch1); Str(T[i].ICD,ch2); Str(T[i].ICF,ch3); ch:=ch1+'#'+ch2+'#'+ch3; writeln(f,ch); writeln(ch); end;
end;
Close(f);
end;
BEGIN assign(f,'C:\long_Seq.txt'); rewrite(f); remplir (l,c,m); traitement (t,m,l,c,k); stockage (f,t,k);
END.
9/9
Dev
oirs
et e
xam
ens
sur
: w
ww
.kit
eb.n
et