Sujet bac info 2013 g1, g2 et g3 avec correction

2,109 views

Published on

notre page: https://www.facebook.com/the.talented.programmer

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,109
On SlideShare
0
From Embeds
0
Number of Embeds
26
Actions
Shares
0
Downloads
37
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Sujet bac info 2013 g1, g2 et g3 avec correction

  1. 1. Devoirsetexamenssur:www.kiteb.net
  2. 2. Devoirsetexamenssur:www.kiteb.net
  3. 3. Devoirsetexamenssur:www.kiteb.net
  4. 4. Devoirsetexamenssur:www.kiteb.net
  5. 5. Corrigés Bac pratique Informatique Section Sciences de l'informatique 23 mai 2013(8h) Jeudi 23 mai 2013 à 8h program aires_23_05_2013_8h; uses wincrt; const a=0; b=3; type tenreg= record rect:real; trap:real; nb:integer; end; tf=file of tenreg; var f: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:=(b­a)/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 Devoirsetexamenssur:www.kiteb.net
  6. 6.           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 n­1 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(n­1));      dif2:=abs(trapeze(n)­trapeze(n­1));      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 Devoirsetexamenssur:www.kiteb.net
  7. 7.  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 Devoirsetexamenssur:www.kiteb.net
  8. 8. Corrigés Bac pratique Informatique Section Sciences de l'informatique 23 mai 2013(10h) Jeudi 23 mai 2013 à 10h program seance2_23_05_2013_10h; uses wincrt; var f,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; var i: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 Devoirsetexamenssur:www.kiteb.net
  9. 9.          begin          if   chr(ord(mot[i])+p)<'Z' then                                       c:=chr(ord(mot[i])+p)          else               c:=chr( (ord(mot[i])+p­90) 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])+p­122) 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 Devoirsetexamenssur:www.kiteb.net
  10. 10.                  write(f,ph);                  write(fc,phc);                  writeln(ph);                  writeln(phc);                end;       close(f);close(fc);      end;        BEGIN assign(f,'c:phrases.txt'); rewrite(f); assign(fc,'c:ph_crypt.txt'); rewrite(fc); saisie(n); traitement(f,fc,n);         END. 6/9 Devoirsetexamenssur:www.kiteb.net
  11. 11. Corrigés Bac pratique Informatique Section Sciences de l'informatique 23 mai 2013(14h) Jeudi 23 mai 2013 à 14h program seance3_23_05_2013_14h; uses wincrt; type mat= 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:=j­1;     end; 7/9 Correction proposée par Mr Mejdi Bechikh & Mme Hajer NEFZAOUI Devoirsetexamenssur:www.kiteb.net
  12. 12.  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].ICF­T[1].ICD+1);                    for i:=2 to k do                    begin                        if (T[i].ICF­T[i].ICD+1) > max then                                            max:=T[i].ICF­T[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 Devoirsetexamenssur:www.kiteb.net
  13. 13.          writeln(ligne1);                 for i:=1 to k do                 begin                    if (T[i].ICF­T[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 Devoirsetexamenssur:www.kiteb.net

×