Année Scolaire : 2011-2012   4 SC




Lycée Attarine Ariana 2012
Année Scolaire : 2011-2012                                     4 SC




Program P20Mai2009_9h;
Uses WinCrt;
Type
   Tab2Chaines = Array[1..30] of String;
Var
   T: Tab2Chaines;
   i,N: Integer;

{******=== Procedure De Saisie de N ===*******}
Procedure SaisieDe_N(Var N : Integer);
Begin
   Repeat
      Write('Saisir N: ');
      Readln(N);
   Until (2<=N) AND (N<=30); {Ou N in [2..30]}
End;
{******=== Procedure De Remplissage de T ===*******}
Procedure Remplissage_De_T(Var T:Tab2Chaines; N: Integer);
Var
   i:Integer;
Begin
   For i:=1 To N Do
   Begin
      Repeat
          Write('Saisir la chaîne N° ',i,' : ');
          Readln(T[i]);
      Until length(T[i]) in [1..5];
   End;
End;
{***=== Procedure Qui élimine à partir d'une chaîne...=****}
{******=== tous les Caractères Non Alphabétiques   =*******}
Procedure ElimNonAlpha(Var Ch:String);
Var
   i:Integer;
Begin
   i:=1;
   Repeat
      IF Not (CH[i] IN ['A'..'Z','a'..'z'])THEN
          Delete(Ch,i,1)
      ELSE
          i:=i+1;
   Until i>length(ch);
End;


Lycée Attarine Ariana 2012
Année Scolaire : 2011-2012                                                 4 SC


{***=== Procedure De Conversion D'une Chaîne en Maj        =****}
Procedure Convertir_En_Maj(Var Ch:String);
Var
   i:Integer;
Begin
   For i:=1 To Length(Ch) Do
   Begin
      Ch[i]:=Upcase(Ch[i]);
   End;
End;

{******===    Fonction Palindrome     =*******}
Function Palindrome(Mot:String):Boolean;
Var
   k:Integer;
Begin
      k:=0;
      Repeat
         k:=k+1;

          Until (Mot[k]<>Mot[Length(Mot)-k+1]) OR   (k>=(Length(Mot) DIV
2));
          Palindrome:=(Mot[k]=Mot[Length(Mot)-k+1]);
End;
{******===    Procedure Traitement     ===*******}
Procedure Traitement(Var T:Tab2Chaines; N: Integer);
Var
   i:Integer;
Begin
   For i:=1 To N Do
   Begin
      ElimNonAlpha(T[i]);
      IF T[i]<>'' Then Convertir_En_Maj(T[i]);
   End;
End;
{******===    Programme Principal        ===*******}
Begin
   SaisieDe_N(N);
   Remplissage_De_T(T,N);
   Traitement(T, N);
   {-----Affichage Du Résultat-----}
   For i:=1 To N Do
   Begin
      IF (T[i]<>'') And (Palindrome(T[i])) THEN
         Writeln('La chaîne de la case ',i,
                  ' est non vide palindrome :', T[i]);
   End;
End.




Lycée Attarine Ariana 2012
Année Scolaire : 2011-2012   4 SC




Lycée Attarine Ariana 2012
Année Scolaire : 2011-2012                                        4 SC




Program P19Mai2009_14h;
Uses WinCrt;
Type
    ChaineDeTailleMax50=String[50];
Var
    Res,Ch: ChaineDeTailleMax50;
{****=== Fonction Qui Vérifie Si Une Ch est Composée ===*****}
{****=== Seulement De Lettres Alphabétiques         ===*******}
Function Alpha(Ch:String):Boolean;
Var i:integer;
Begin
    i:=1;
    While (Upcase(Ch[i]) in ['A'..'Z']) AND (i<Length(Ch)) Do
    Begin
       i:=Succ(i); {ou i:=i+1}
    End;
    Alpha:=Upcase(Ch[i]) in ['A'..'Z'];
End;
{******=== Procedure De Saisie de Ch ===*******}
Procedure SaisieDe_Ch(Var Ch : ChaineDeTailleMax50);
Begin
    Repeat
       Write('Saisir Ch: ');
       Readln(Ch);
    Until (Length(Ch)>0) AND (Alpha(Ch));
End;
{******===         Fonction Résultat    ===*******}
Function Resultat(Ch:ChaineDeTailleMax50):ChaineDeTailleMax50;
Var
    i:Integer;
    ConsonneMAJ, VoyelleMAJ, ConsonneMin, VoyelleMin:String;
Begin
    ConsonneMAJ:=''; VoyelleMAJ :='';
    VoyelleMAJ :=''; ConsonneMin:='';

   For i:=1 To Length(Ch) Do
   Begin
      IF Ch[i] in ['A'..'Z'] THEN
         Begin
             IF Ch[i] in ['A','E','I','O','U','Y'] THEN
                VoyelleMAJ:=VoyelleMAJ+Ch[i]
             ELSE ConsonneMAJ:=ConsonneMAJ+Ch[i];
         End
      ELSE IF Ch[i] in ['a','e','i','o','u','y'] THEN
                   VoyelleMin:=VoyelleMin+Ch[i]
              ELSE ConsonneMin:=ConsonneMin+Ch[i];
   End;
   Resultat:=ConsonneMAJ+VoyelleMAJ+ConsonneMin+VoyelleMin;
End;
{******===     Programme Principal        ===*******}
Begin
   SaisieDe_Ch(Ch);
   Res:=Resultat(Ch);
   Write('Le Résultat Res= ',Res);
End.



Lycée Attarine Ariana 2012
Année Scolaire : 2011-2012   4 SC




Lycée Attarine Ariana 2012
Année Scolaire : 2011-2012                                   4 SC




Program P19Mai2009_9h;
Uses WinCrt;
Type
   Tab2entiers = Array[1..30] of Integer;
Var
   T, TS : Tab2entiers;
   N, k, Nbre2cases2TS : Integer;
   Ch:String;
{******=== Procedure De Saisie de N et K ===*******}
Procedure SaisieDe_N_Et_De_K(Var N,K : Integer);
Begin
   Repeat
      Write('Saisir N: ');
      Readln(N);
   Until (5<=N) AND (N<=30); {Ou N in [5..30]}

      Repeat
         Write('Saisir K: ');
         Readln(K);
      Until (1<K) AND (K<N); {Ou K in [2..N-1]}

End;

{******=== Procedure De Remplissage de T ===*******}

Procedure Remplissage_De_T(Var T:Tab2entiers; N: Integer);
Var
   i:Integer;
Begin
   For i:=1 To N Do
   Begin
      Repeat
         Write('Saisir l''entier N° ',i,' : ');
         Readln(T[i]);
      Until (T[i]>=0);
   End;
End;




Lycée Attarine Ariana 2012
Année Scolaire : 2011-2012                                       4 SC


{******=== Procedure De Génération de TS ===*******}
Procedure Generation_De_TS(Var TS:Tab2entiers; Var
Nbre2cases2TS: Integer;
                           T:Tab2entiers; K,N: Integer);
Var
   i:Integer;
Begin
   Nbre2cases2TS:=0;
   Repeat
      Nbre2cases2TS:=Nbre2cases2TS+1;
      TS[Nbre2cases2TS]:=0;
      For i:=Nbre2cases2TS To (Nbre2cases2TS+K-1) Do
      Begin
         TS[Nbre2cases2TS]:=TS[Nbre2cases2TS]+T[i];
      End;
   Until (Nbre2cases2TS+K-1)=N;

End;

{******=== Procedure D'Affichage de TS             ===*******}

Procedure Affichage_De_TS(TS:Tab2entiers; Nbre2cases2TS:
Integer);
Var
   i:Integer;
Begin
   For i:=1 To Nbre2cases2TS Do
   Begin
         Writeln('TS[',i,'] = ', TS[i]);
   End;
End;

{******===                   Programme Principal   ===*******}

Begin
   SaisieDe_N_Et_De_K(N,K);
   Remplissage_De_T(T,N);
   Generation_De_TS(TS,Nbre2cases2TS, T, K, N);
   Affichage_De_TS(TS, Nbre2cases2TS);
End.




Lycée Attarine Ariana 2012
Année Scolaire : 2011-2012                                                                                4 SC



             REPUBLIQUE TUNISIENNE
                                                              Sections: Math. + Tech. + Sc.Exp.
            MINISTERE DE L’EDUCATION
                 ET DE LA FORMATION
                                                         EPREUVE PRATIQUE D’INFORMATIQUE
                             ***
         EXAMEN DU BACCALAUREAT                          DATE : Mercredi 19 mai 2009 (Heure : 10h30)
                    SESSION 2009                              DUREE : 1 h – COEFFICIENT : 0.5


Important :
1) Une solution modulaire au problème est exigée.
2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2009 se trouvant sur la racine C: en lui
   donnant comme nom votre numéro d’inscription.

      Soit T un tableau de N chaînes de caractères non vides et dont la taille maximale est 5
      caractères.
      On se propose d’écrire un programme Pascal permettant de remplir le tableau T par N
      chaînes (2<= N <=30), puis de calculer et d’afficher la somme des nombres extraits
      des chaînes de chaque élément du tableau T.
      Le nombre extrait de la chaine contenue dans la case i de T, est formé par la
      concaténation der tous les chiffres de la chaîne parcourue de gauche à droite.
      N.B. : Si une chaîne ne contient pas de chiffres, elle prend la valeur 0 dans le calcul
      de la somme finale.
      Exemple
      Si N = 9 et que le tableau T contient les éléments suivants :
  T = R4*s2 12hj5 5?7e                   Ak!r E9Y41 6754 3E-Z2        G(Y U5Kx1
             1        2            3       4         5    6      7     8      9



Alors la somme S= 42 + 125+ 57 + 0 + 941 + 6754 + 32 + 0 +51 = 8002

Le programme affichera la valeur S.


                                   Grille d’évaluation                            Nombre de points
  Décomposition en modules utiles à la solution (déclaration+appel)                  4=2+2
  Si exécution et tests réussis Alors                                                   16
         Sinon
              Structures de données adéquates au problème                               2
              Saisie et contrôle des données                                            3
              Traitements avec structures de contrôle adéquates                         6
              Affichage des résultats                                                   1
              Compilation                                                               4




Lycée Attarine Ariana 2012
Année Scolaire : 2011-2012                                                             4 SC

             REPUBLIQUE TUNISIENNE
                                               Sections: Math. + Tech. + Sc.Exp.
            MINISTERE DE L’EDUCATION
                ET DE LA FORMATION
                                        EPREUVE PRATIQUE D’INFORMATIQUE
                             ***
         EXAMEN DU BACCALAUREAT          DATE : Mercredi 19 mai 2009 (Heure : 10h30)
                    SESSION 2009               DUREE : 1 h – COEFFICIENT : 0.5
Program P19Mai2009_10h30;
Uses WinCrt;
Type Tab2Chaines = Array[1..30] of String;
Var T: Tab2Chaines; N: Integer; S:LongInt;
{******=== Procedure De Saisie de N ===*******}
Procedure SaisieDe_N(Var N : Integer);
Begin
   Repeat
      Write('Saisir N: ');
      Readln(N);
   Until (2<=N) AND (N<=30); {Ou N in [2..30]}
End;
{******=== Procedure De Remplissage de T ===*******}
Procedure Remplissage_De_T(Var T:Tab2Chaines; N: Integer);
Var i:Integer;
Begin
   For i:=1 To N Do
   Begin
      Repeat
          Write('Saisir la chaîne N° ',i,' : ');
          Readln(T[i]);
      Until (length(T[i])in [1..5]);
   End;
End;
{******=== Fonction String2Integer (Ch-->Entier) ==*******}
Function String2Integer(Ch:String):Integer;
Var i,e,Res:Integer;
   Num:String;
Begin
   Num:='';
   For i:=1 To Length(Ch) Do
   Begin
      IF Ch[i] IN ['0'..'9'] THEN Num:=Num+Ch[i];
   End;
   Val(Num,Res,e);
   String2Integer:=Res;
End;
{******=== Procedure De Calcul De la Somme S =*******}
Procedure SommeS(Var S:LongInt; T:Tab2Chaines; N: Integer);
Var i, X, e:Integer;
Begin
   S:=0;
   For i:= 1 To N Do
   Begin
      S:=S+String2Integer(T[i]);
   End;
End;
{******===    Programme Principal        ===*******}
Begin
   SaisieDe_N(N);
   Remplissage_De_T(T,N);
   SommeS(S, T, N);
   Write('La somme S= ',S);
End.



Lycée Attarine Ariana 2012
Année Scolaire : 2011-2012                                                                               4 SC


             REPUBLIQUE TUNISIENNE
                                                                Sections : Math. + Tech. + Sc.Exp.
            MINISTERE DE L’EDUCATION
                ET DE LA FORMATION
                                                         EPREUVE PRATIQUE D’INFORMATIQUE
                             ***
         EXAMEN DU BACCALAUREAT                           DATE : Mercredi 20 mai 2009 (Heure : 10h30)
                      SESSION 2009                              DUREE : 1 h – COEFFICIENT : 0.5


Important :
1. Une solution modulaire au problème est exigée.
2. Enregistrez au fur et à mesure votre programme dans le dossier Bac2009 se trouvant sur la
   racine C: en lui donnant comme nom votre numéro d’inscription.

On veut dessiner à l’aide du caractère *, un triangle de hauteur H (5<= H <= 10), comme indiqué dans
l’exemple ci-dessous.
Ecrire un programme Pascal qui permet de saisir H, puis d’afficher le triangle.


Exemple
Si H = 6, le programme affichera le triangle suivant :
* * * * * * * * * * *
   * * * * * * * * *
     * * * * * * *
          * * * * *                           H= 6 (6 lignes)

              * * *
                  *




                                   Grille d’évaluation                             Nombre de points
  Décomposition en modules utiles à la solution (déclaration+appel)                   4=2+2
  Si exécution et tests réussis Alors                                                     16
           Sinon
                Structures de données adéquates au problème                              2
                Saisie et contrôle des données                                           2
                Traitements avec structures de contrôle adéquates                        8

                Compilation                                                              4




Lycée Attarine Ariana 2012
Année Scolaire : 2011-2012                                                                                4 SC



             REPUBLIQUE TUNISIENNE
                                                             Sections: Math. + Tech. + Sc.Exp.
            MINISTERE DE L’EDUCATION
                ET DE LA FORMATION
                                                         EPREUVE PRATIQUE D’INFORMATIQUE
                             ***
         EXAMEN DU BACCALAUREAT                                 DATE : 23 mai 2008 10h30
                    SESSION 2009                             DUREE : 1 h – COEFFICIENT : 0.5


                                      Sujet : Programmation Pascal
Important :
1. Une solution modulaire au problème est exigée.
2. Enregistrez au fur et à mesure votre programme dans le dossier Bac2009 se trouvant sur la racine C: en lui
   donnant comme nom votre numéro d’inscription.




On se propose de ranger dans un tableau V les numéros des cartes d'identité nationale des N
élèves d’un lycée.
Deux élèves ne peuvent pas avoir un même numéro de carte d'identité nationale. Un numéro de
carte d'identité est composé obligatoirement de huit chiffres.
Ecrire un programme Pascal qui permet de saisir les numéros de cartes d'identité des N élèves
du lycée puis de les afficher.




                                   Grille d’évaluation                         Nombre de points
  Décomposition en modules utiles à la solution (déclaration+appel)                  5
  Si exécution et tests réussis Alors                                                  15
         Sinon
              Compilation                                                              4
              Structures de données adéquates au problème posé                         4
              Traitements avec structures de contrôle adéquates                        7




Lycée Attarine Ariana 2012
Année Scolaire : 2011-2012                                                                                 4 SC



             REPUBLIQUE TUNISIENNE
                                                                  Sections: Math. + Tech. + Sc.Exp.
            MINISTERE DE L’EDUCATION
                ET DE LA FORMATION
                                                             EPREUVE PRATIQUE D’INFORMATIQUE
                             ***
         EXAMEN DU BACCALAUREAT                                        DATE : 23 mai 2008 9h
                    SESSION 2009                                  DUREE : 1 h – COEFFICIENT : 0.5


                                      Sujet : Programmation Pascal
Important :
1. Une solution modulaire au problème est exigée.
2. Enregistrez au fur et à mesure votre programme dans le dossier Bac2009 se trouvant sur la racine C: en lui
   donnant comme nom votre numéro d’inscription.




                                                         Code morse

Ecrire un programme Pascal qui permet de coder en morse un mot de passe, supposé composé
de N chiffres décimaux (4≤ N ≤8), puis d'afficher ce code.
Pour une meilleure lisibilité du résultat, les chiffres codés en morse seront séparés par un point
d'interrogation (?) lors de l'affichage.
Tableau d'équivalence chiffres / codes morses :



               Ce caractère est                0         1    2    3    4     5     6    7        8    9
               un trait d’union
                                             ----- .---- ..--- …-- ….- ….. -…. --… ---.. ----.

Exemple:
Pour le mot de passé 123456, le programme affichera: .---- ? ..--- ? ...-- ? ....- ? ..... ? -.... ?

                                   Grille d’évaluation                              Nombre de points
  Décomposition en modules utiles à la solution (déclaration+appel)                       5
  Si exécution et tests réussis Alors                                                        15
         Sinon
              Compilation                                                                   4
              Structures de données adéquates au problème posé                              4
              Traitements avec structures de contrôle adéquates                             7




Lycée Attarine Ariana 2012
Année Scolaire : 2011-2012                                                                                4 SC



             REPUBLIQUE TUNISIENNE
                                                             Sections: Math. + Tech. + Sc.Exp.
            MINISTERE DE L’EDUCATION
                ET DE LA FORMATION
                                                         EPREUVE PRATIQUE D’INFORMATIQUE
                             ***
         EXAMEN DU BACCALAUREAT                               DATE : Mardi 19 mai 2009 à 14h
                    SESSION 2009                             DUREE : 1 h – COEFFICIENT : 0.5


                                      Sujet : Programmation Pascal
Important :
1. Une solution modulaire au problème est exigée.
2. Enregistrez au fur et à mesure votre programme dans le dossier Bac2009 se trouvant sur la racine C: en lui
   donnant comme nom votre numéro d’inscription.


On se propose de réaliser le traitement suivant sur une chaîne CH :
Construire une chaîne RES à partir de la chaîne CH dans laquelle on rangera toutes les
consonnes de CH qui sont en majuscule, suivies de toutes les voyelles de CH qui sont en
majuscule, suivis de toutes les consonnes de CH qui sont en minuscule et finalement toutes les
voyelles de CH qui son en minuscule en conservant à chaque fois le même ordre d'apparition
dès lettres de la chaîne CH.
Ecrire un programme Pascal qui permet de saisir une chaîne CH non vide composée de lettres
alphabétiques et dont la taille ne dépasse pas 50 et de construire puis d'afficher la chaîne RES.

Exemple 1 :
       Si CH = ‘’aFAbzKOikvMx’’
Alors le programme affichera la chaîne ‘’FKMAObzkvxai’’
Exemple 2 :
       Si CH = ‘’bonjour’’
       Alors le programme affichera la chaîne ‘’bnjroou’’


                                   Grille d’évaluation                         Nombre de points
  Décomposition en modules utiles à la solution (déclaration+appel)               4=2+2
  Si exécution et tests réussis Alors                                                  16
           Sinon
                Structures de données adéquates au problème                            2
                Saisie et contrôle des données                                         2
                Traitements avec structures de contrôle adéquates                      8

                Compilation                                                            4




Lycée Attarine Ariana 2012

éNoncés+corrections bac2009

  • 1.
    Année Scolaire :2011-2012 4 SC Lycée Attarine Ariana 2012
  • 2.
    Année Scolaire :2011-2012 4 SC Program P20Mai2009_9h; Uses WinCrt; Type Tab2Chaines = Array[1..30] of String; Var T: Tab2Chaines; i,N: Integer; {******=== Procedure De Saisie de N ===*******} Procedure SaisieDe_N(Var N : Integer); Begin Repeat Write('Saisir N: '); Readln(N); Until (2<=N) AND (N<=30); {Ou N in [2..30]} End; {******=== Procedure De Remplissage de T ===*******} Procedure Remplissage_De_T(Var T:Tab2Chaines; N: Integer); Var i:Integer; Begin For i:=1 To N Do Begin Repeat Write('Saisir la chaîne N° ',i,' : '); Readln(T[i]); Until length(T[i]) in [1..5]; End; End; {***=== Procedure Qui élimine à partir d'une chaîne...=****} {******=== tous les Caractères Non Alphabétiques =*******} Procedure ElimNonAlpha(Var Ch:String); Var i:Integer; Begin i:=1; Repeat IF Not (CH[i] IN ['A'..'Z','a'..'z'])THEN Delete(Ch,i,1) ELSE i:=i+1; Until i>length(ch); End; Lycée Attarine Ariana 2012
  • 3.
    Année Scolaire :2011-2012 4 SC {***=== Procedure De Conversion D'une Chaîne en Maj =****} Procedure Convertir_En_Maj(Var Ch:String); Var i:Integer; Begin For i:=1 To Length(Ch) Do Begin Ch[i]:=Upcase(Ch[i]); End; End; {******=== Fonction Palindrome =*******} Function Palindrome(Mot:String):Boolean; Var k:Integer; Begin k:=0; Repeat k:=k+1; Until (Mot[k]<>Mot[Length(Mot)-k+1]) OR (k>=(Length(Mot) DIV 2)); Palindrome:=(Mot[k]=Mot[Length(Mot)-k+1]); End; {******=== Procedure Traitement ===*******} Procedure Traitement(Var T:Tab2Chaines; N: Integer); Var i:Integer; Begin For i:=1 To N Do Begin ElimNonAlpha(T[i]); IF T[i]<>'' Then Convertir_En_Maj(T[i]); End; End; {******=== Programme Principal ===*******} Begin SaisieDe_N(N); Remplissage_De_T(T,N); Traitement(T, N); {-----Affichage Du Résultat-----} For i:=1 To N Do Begin IF (T[i]<>'') And (Palindrome(T[i])) THEN Writeln('La chaîne de la case ',i, ' est non vide palindrome :', T[i]); End; End. Lycée Attarine Ariana 2012
  • 4.
    Année Scolaire :2011-2012 4 SC Lycée Attarine Ariana 2012
  • 5.
    Année Scolaire :2011-2012 4 SC Program P19Mai2009_14h; Uses WinCrt; Type ChaineDeTailleMax50=String[50]; Var Res,Ch: ChaineDeTailleMax50; {****=== Fonction Qui Vérifie Si Une Ch est Composée ===*****} {****=== Seulement De Lettres Alphabétiques ===*******} Function Alpha(Ch:String):Boolean; Var i:integer; Begin i:=1; While (Upcase(Ch[i]) in ['A'..'Z']) AND (i<Length(Ch)) Do Begin i:=Succ(i); {ou i:=i+1} End; Alpha:=Upcase(Ch[i]) in ['A'..'Z']; End; {******=== Procedure De Saisie de Ch ===*******} Procedure SaisieDe_Ch(Var Ch : ChaineDeTailleMax50); Begin Repeat Write('Saisir Ch: '); Readln(Ch); Until (Length(Ch)>0) AND (Alpha(Ch)); End; {******=== Fonction Résultat ===*******} Function Resultat(Ch:ChaineDeTailleMax50):ChaineDeTailleMax50; Var i:Integer; ConsonneMAJ, VoyelleMAJ, ConsonneMin, VoyelleMin:String; Begin ConsonneMAJ:=''; VoyelleMAJ :=''; VoyelleMAJ :=''; ConsonneMin:=''; For i:=1 To Length(Ch) Do Begin IF Ch[i] in ['A'..'Z'] THEN Begin IF Ch[i] in ['A','E','I','O','U','Y'] THEN VoyelleMAJ:=VoyelleMAJ+Ch[i] ELSE ConsonneMAJ:=ConsonneMAJ+Ch[i]; End ELSE IF Ch[i] in ['a','e','i','o','u','y'] THEN VoyelleMin:=VoyelleMin+Ch[i] ELSE ConsonneMin:=ConsonneMin+Ch[i]; End; Resultat:=ConsonneMAJ+VoyelleMAJ+ConsonneMin+VoyelleMin; End; {******=== Programme Principal ===*******} Begin SaisieDe_Ch(Ch); Res:=Resultat(Ch); Write('Le Résultat Res= ',Res); End. Lycée Attarine Ariana 2012
  • 6.
    Année Scolaire :2011-2012 4 SC Lycée Attarine Ariana 2012
  • 7.
    Année Scolaire :2011-2012 4 SC Program P19Mai2009_9h; Uses WinCrt; Type Tab2entiers = Array[1..30] of Integer; Var T, TS : Tab2entiers; N, k, Nbre2cases2TS : Integer; Ch:String; {******=== Procedure De Saisie de N et K ===*******} Procedure SaisieDe_N_Et_De_K(Var N,K : Integer); Begin Repeat Write('Saisir N: '); Readln(N); Until (5<=N) AND (N<=30); {Ou N in [5..30]} Repeat Write('Saisir K: '); Readln(K); Until (1<K) AND (K<N); {Ou K in [2..N-1]} End; {******=== Procedure De Remplissage de T ===*******} Procedure Remplissage_De_T(Var T:Tab2entiers; N: Integer); Var i:Integer; Begin For i:=1 To N Do Begin Repeat Write('Saisir l''entier N° ',i,' : '); Readln(T[i]); Until (T[i]>=0); End; End; Lycée Attarine Ariana 2012
  • 8.
    Année Scolaire :2011-2012 4 SC {******=== Procedure De Génération de TS ===*******} Procedure Generation_De_TS(Var TS:Tab2entiers; Var Nbre2cases2TS: Integer; T:Tab2entiers; K,N: Integer); Var i:Integer; Begin Nbre2cases2TS:=0; Repeat Nbre2cases2TS:=Nbre2cases2TS+1; TS[Nbre2cases2TS]:=0; For i:=Nbre2cases2TS To (Nbre2cases2TS+K-1) Do Begin TS[Nbre2cases2TS]:=TS[Nbre2cases2TS]+T[i]; End; Until (Nbre2cases2TS+K-1)=N; End; {******=== Procedure D'Affichage de TS ===*******} Procedure Affichage_De_TS(TS:Tab2entiers; Nbre2cases2TS: Integer); Var i:Integer; Begin For i:=1 To Nbre2cases2TS Do Begin Writeln('TS[',i,'] = ', TS[i]); End; End; {******=== Programme Principal ===*******} Begin SaisieDe_N_Et_De_K(N,K); Remplissage_De_T(T,N); Generation_De_TS(TS,Nbre2cases2TS, T, K, N); Affichage_De_TS(TS, Nbre2cases2TS); End. Lycée Attarine Ariana 2012
  • 9.
    Année Scolaire :2011-2012 4 SC REPUBLIQUE TUNISIENNE Sections: Math. + Tech. + Sc.Exp. MINISTERE DE L’EDUCATION ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE *** EXAMEN DU BACCALAUREAT DATE : Mercredi 19 mai 2009 (Heure : 10h30) SESSION 2009 DUREE : 1 h – COEFFICIENT : 0.5 Important : 1) Une solution modulaire au problème est exigée. 2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2009 se trouvant sur la racine C: en lui donnant comme nom votre numéro d’inscription. Soit T un tableau de N chaînes de caractères non vides et dont la taille maximale est 5 caractères. On se propose d’écrire un programme Pascal permettant de remplir le tableau T par N chaînes (2<= N <=30), puis de calculer et d’afficher la somme des nombres extraits des chaînes de chaque élément du tableau T. Le nombre extrait de la chaine contenue dans la case i de T, est formé par la concaténation der tous les chiffres de la chaîne parcourue de gauche à droite. N.B. : Si une chaîne ne contient pas de chiffres, elle prend la valeur 0 dans le calcul de la somme finale. Exemple Si N = 9 et que le tableau T contient les éléments suivants : T = R4*s2 12hj5 5?7e Ak!r E9Y41 6754 3E-Z2 G(Y U5Kx1 1 2 3 4 5 6 7 8 9 Alors la somme S= 42 + 125+ 57 + 0 + 941 + 6754 + 32 + 0 +51 = 8002 Le programme affichera la valeur S. Grille d’évaluation Nombre de points Décomposition en modules utiles à la solution (déclaration+appel) 4=2+2 Si exécution et tests réussis Alors 16 Sinon  Structures de données adéquates au problème 2  Saisie et contrôle des données 3  Traitements avec structures de contrôle adéquates 6  Affichage des résultats 1  Compilation 4 Lycée Attarine Ariana 2012
  • 10.
    Année Scolaire :2011-2012 4 SC REPUBLIQUE TUNISIENNE Sections: Math. + Tech. + Sc.Exp. MINISTERE DE L’EDUCATION ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE *** EXAMEN DU BACCALAUREAT DATE : Mercredi 19 mai 2009 (Heure : 10h30) SESSION 2009 DUREE : 1 h – COEFFICIENT : 0.5 Program P19Mai2009_10h30; Uses WinCrt; Type Tab2Chaines = Array[1..30] of String; Var T: Tab2Chaines; N: Integer; S:LongInt; {******=== Procedure De Saisie de N ===*******} Procedure SaisieDe_N(Var N : Integer); Begin Repeat Write('Saisir N: '); Readln(N); Until (2<=N) AND (N<=30); {Ou N in [2..30]} End; {******=== Procedure De Remplissage de T ===*******} Procedure Remplissage_De_T(Var T:Tab2Chaines; N: Integer); Var i:Integer; Begin For i:=1 To N Do Begin Repeat Write('Saisir la chaîne N° ',i,' : '); Readln(T[i]); Until (length(T[i])in [1..5]); End; End; {******=== Fonction String2Integer (Ch-->Entier) ==*******} Function String2Integer(Ch:String):Integer; Var i,e,Res:Integer; Num:String; Begin Num:=''; For i:=1 To Length(Ch) Do Begin IF Ch[i] IN ['0'..'9'] THEN Num:=Num+Ch[i]; End; Val(Num,Res,e); String2Integer:=Res; End; {******=== Procedure De Calcul De la Somme S =*******} Procedure SommeS(Var S:LongInt; T:Tab2Chaines; N: Integer); Var i, X, e:Integer; Begin S:=0; For i:= 1 To N Do Begin S:=S+String2Integer(T[i]); End; End; {******=== Programme Principal ===*******} Begin SaisieDe_N(N); Remplissage_De_T(T,N); SommeS(S, T, N); Write('La somme S= ',S); End. Lycée Attarine Ariana 2012
  • 11.
    Année Scolaire :2011-2012 4 SC REPUBLIQUE TUNISIENNE Sections : Math. + Tech. + Sc.Exp. MINISTERE DE L’EDUCATION ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE *** EXAMEN DU BACCALAUREAT DATE : Mercredi 20 mai 2009 (Heure : 10h30) SESSION 2009 DUREE : 1 h – COEFFICIENT : 0.5 Important : 1. Une solution modulaire au problème est exigée. 2. Enregistrez au fur et à mesure votre programme dans le dossier Bac2009 se trouvant sur la racine C: en lui donnant comme nom votre numéro d’inscription. On veut dessiner à l’aide du caractère *, un triangle de hauteur H (5<= H <= 10), comme indiqué dans l’exemple ci-dessous. Ecrire un programme Pascal qui permet de saisir H, puis d’afficher le triangle. Exemple Si H = 6, le programme affichera le triangle suivant : * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * H= 6 (6 lignes) * * * * Grille d’évaluation Nombre de points Décomposition en modules utiles à la solution (déclaration+appel) 4=2+2 Si exécution et tests réussis Alors 16 Sinon  Structures de données adéquates au problème 2  Saisie et contrôle des données 2  Traitements avec structures de contrôle adéquates 8  Compilation 4 Lycée Attarine Ariana 2012
  • 12.
    Année Scolaire :2011-2012 4 SC REPUBLIQUE TUNISIENNE Sections: Math. + Tech. + Sc.Exp. MINISTERE DE L’EDUCATION ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE *** EXAMEN DU BACCALAUREAT DATE : 23 mai 2008 10h30 SESSION 2009 DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation Pascal Important : 1. Une solution modulaire au problème est exigée. 2. Enregistrez au fur et à mesure votre programme dans le dossier Bac2009 se trouvant sur la racine C: en lui donnant comme nom votre numéro d’inscription. On se propose de ranger dans un tableau V les numéros des cartes d'identité nationale des N élèves d’un lycée. Deux élèves ne peuvent pas avoir un même numéro de carte d'identité nationale. Un numéro de carte d'identité est composé obligatoirement de huit chiffres. Ecrire un programme Pascal qui permet de saisir les numéros de cartes d'identité des N élèves du lycée puis de les afficher. Grille d’évaluation Nombre de points Décomposition en modules utiles à la solution (déclaration+appel) 5 Si exécution et tests réussis Alors 15 Sinon  Compilation 4  Structures de données adéquates au problème posé 4  Traitements avec structures de contrôle adéquates 7 Lycée Attarine Ariana 2012
  • 13.
    Année Scolaire :2011-2012 4 SC REPUBLIQUE TUNISIENNE Sections: Math. + Tech. + Sc.Exp. MINISTERE DE L’EDUCATION ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE *** EXAMEN DU BACCALAUREAT DATE : 23 mai 2008 9h SESSION 2009 DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation Pascal Important : 1. Une solution modulaire au problème est exigée. 2. Enregistrez au fur et à mesure votre programme dans le dossier Bac2009 se trouvant sur la racine C: en lui donnant comme nom votre numéro d’inscription. Code morse Ecrire un programme Pascal qui permet de coder en morse un mot de passe, supposé composé de N chiffres décimaux (4≤ N ≤8), puis d'afficher ce code. Pour une meilleure lisibilité du résultat, les chiffres codés en morse seront séparés par un point d'interrogation (?) lors de l'affichage. Tableau d'équivalence chiffres / codes morses : Ce caractère est 0 1 2 3 4 5 6 7 8 9 un trait d’union ----- .---- ..--- …-- ….- ….. -…. --… ---.. ----. Exemple: Pour le mot de passé 123456, le programme affichera: .---- ? ..--- ? ...-- ? ....- ? ..... ? -.... ? Grille d’évaluation Nombre de points Décomposition en modules utiles à la solution (déclaration+appel) 5 Si exécution et tests réussis Alors 15 Sinon  Compilation 4  Structures de données adéquates au problème posé 4  Traitements avec structures de contrôle adéquates 7 Lycée Attarine Ariana 2012
  • 14.
    Année Scolaire :2011-2012 4 SC REPUBLIQUE TUNISIENNE Sections: Math. + Tech. + Sc.Exp. MINISTERE DE L’EDUCATION ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE *** EXAMEN DU BACCALAUREAT DATE : Mardi 19 mai 2009 à 14h SESSION 2009 DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation Pascal Important : 1. Une solution modulaire au problème est exigée. 2. Enregistrez au fur et à mesure votre programme dans le dossier Bac2009 se trouvant sur la racine C: en lui donnant comme nom votre numéro d’inscription. On se propose de réaliser le traitement suivant sur une chaîne CH : Construire une chaîne RES à partir de la chaîne CH dans laquelle on rangera toutes les consonnes de CH qui sont en majuscule, suivies de toutes les voyelles de CH qui sont en majuscule, suivis de toutes les consonnes de CH qui sont en minuscule et finalement toutes les voyelles de CH qui son en minuscule en conservant à chaque fois le même ordre d'apparition dès lettres de la chaîne CH. Ecrire un programme Pascal qui permet de saisir une chaîne CH non vide composée de lettres alphabétiques et dont la taille ne dépasse pas 50 et de construire puis d'afficher la chaîne RES. Exemple 1 : Si CH = ‘’aFAbzKOikvMx’’ Alors le programme affichera la chaîne ‘’FKMAObzkvxai’’ Exemple 2 : Si CH = ‘’bonjour’’ Alors le programme affichera la chaîne ‘’bnjroou’’ Grille d’évaluation Nombre de points Décomposition en modules utiles à la solution (déclaration+appel) 4=2+2 Si exécution et tests réussis Alors 16 Sinon  Structures de données adéquates au problème 2  Saisie et contrôle des données 2  Traitements avec structures de contrôle adéquates 8  Compilation 4 Lycée Attarine Ariana 2012