sujet bac info 2013 g1, g2 et g3 avec correction

13
D e v o i r s e t e x a m e n s s u r : w w w . k i t e b . n e t

Upload: borhen-boukthir

Post on 25-Jun-2015

630 views

Category:

Education


7 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Sujet bac info 2013 g1, g2 et g3 avec correction

Dev

oirs

et e

xam

ens

sur

: w

ww

.kit

eb.n

et

Page 2: Sujet bac info 2013 g1, g2 et g3 avec correction

Dev

oirs

et e

xam

ens

sur

: w

ww

.kit

eb.n

et

Page 3: Sujet bac info 2013 g1, g2 et g3 avec correction

Dev

oirs

et e

xam

ens

sur

: w

ww

.kit

eb.n

et

Page 4: Sujet bac info 2013 g1, g2 et g3 avec correction

Dev

oirs

et e

xam

ens

sur

: w

ww

.kit

eb.n

et

Page 5: Sujet bac info 2013 g1, g2 et g3 avec correction

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:=(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

Dev

oirs

et e

xam

ens

sur

: w

ww

.kit

eb.n

et

Page 6: Sujet bac info 2013 g1, g2 et g3 avec correction

          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

Dev

oirs

et e

xam

ens

sur

: w

ww

.kit

eb.n

et

Page 7: Sujet bac info 2013 g1, g2 et g3 avec correction

 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

Page 8: Sujet bac info 2013 g1, g2 et g3 avec correction

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

Page 9: Sujet bac info 2013 g1, g2 et g3 avec correction

         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

Dev

oirs

et e

xam

ens

sur

: w

ww

.kit

eb.n

et

Page 10: Sujet bac info 2013 g1, g2 et g3 avec correction

                 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

Page 11: Sujet bac info 2013 g1, g2 et g3 avec correction

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:=j­1;    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

Page 12: Sujet bac info 2013 g1, g2 et g3 avec correction

 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

Dev

oirs

et e

xam

ens

sur

: w

ww

.kit

eb.n

et

Page 13: Sujet bac info 2013 g1, g2 et g3 avec correction

         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

Dev

oirs

et e

xam

ens

sur

: w

ww

.kit

eb.n

et