SlideShare une entreprise Scribd logo
1  sur  7
Télécharger pour lire hors ligne
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 : 22 mai 2008 10h30
                    SESSION 2008                             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 d’écrire un programme Pascal permettant de déterminer et d'afficher un code à
partir d'un entier N strictement positif et supérieur à 100, selon le principe suivant :
   1. Calculer la somme S des chiffres qui composent le nombre N
   2. Recommencer le calcul de la somme des chiffres de la somme obtenue S tant que celle-ci
       n'est pas comprise entre 1 et 9.
   3. Le code sera le nombre formé par N auquel on place à sa gauche la dernière somme
       obtenue.
Exemple:
Pour N= 9867, le programme affichera : le code est : 39867
En effet:
Pour N= 9867 :
    La 1ère somme S vaut 30 (car 9+8+6+7= 30)
    La 2ème somme S vaut 3 (car 3+0 = 3)
    Etant donné que la dernière somme S, qui vaut 3, est comprise entre 1 et 9, le code sera
       39867




Grille d’évaluation :
                                   Questions                                        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 : 22 mai 2008 10h30
                    SESSION 2008           DUREE : 1 h – COEFFICIENT : 0.5
Program P22Mai2008_10h30;
Uses WinCrt;
Var
   N:LongInt;
{**= Procedure De Saisie de N ==**}
Procedure SaisieDe_N(Var N : LongInt);
Begin
   Repeat
      Write('Saisir N: ');
      Readln(N);
   Until (N>100);
End;
{**=FN Qui Calcule la somme des chiffres d'un nombre=**}
Function SommeChiffres(NBR:LongInt):Integer;
Var
   Ch:String;
   S,i,e,X:Integer;
Begin
   S:=0;
   STR(NBR,CH);
   For i:=1 To Length(Ch) Do
   Begin
      Val(Ch[i],X,e);
      S:=S+X;
   End;
   SommeChiffres:=S;
End;
{******=== Fonction Code ==*******}
Function Code(N:LongInt):LongInt;
Var
   Res,Aux:LongInt;
   e:Integer;
   Ch, Gauche:String;
Begin
   Aux:=N;
   Repeat
      Aux:= SommeChiffres(Aux);
   Until Aux<=10;
   Str(N,Ch);
   Str(Aux,Gauche);
   Val(Gauche+Ch, Res, e);
   Code:=Res;
End;
Begin{******===   Programme Principal ===*******}
   SaisieDe_N(N);
   Write('Le Code = ',Code(N));
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 : 22 mai 2008 9h
                    SESSION 2008                            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 d'écrire un programme Pascal permettant de déterminer et d’afficher si un entier
N saisi (N > 9) est divisible par 9 ou non, en appliquant la méthode suivante:
   1. On fait la somme du 1er et du 2ème chiffre de N
   2. Si la somme obtenue est supérieure ou égale à 9, on lui soustrait 9
   3. On ajoute ensuite à cette somme et on lui applique la règle 2 (on lui retranche 9 si elle est
       supérieure à 9) et ainsi de suite jusqu'au dernier chiffre de N.
   4. Si le résultat final est nul, le nombre N est alors divisible par 9.
Exemple:
Pour N = 65493 le programme effectuera les opérations suivantes :
     6 + 5 = 11 (11 est supérieur ou égal à 9, on lui soustrait 9, on obtient 2)
     2 + 4 = 6 (6 est strictement inférieur à 9)
     6 + 9 = 15 (15 est supérieur ou égal à 9, on lui soustrait 9, on obtient 6)
     6 + 3 = 9 (9 est supérieur ou égal à 9, on lui so11strait 9, on obtient 0)
     Le résultat est nul et tous les chiffres de N ont été traités, donc le nombre 65493 est
divisible par 9. En effet, 65493 = 9 x 7277




Grille d’évaluation :
                                   Questions                                       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 : 22 mai 2008 9h
                    SESSION 2008             DUREE : 1 h – COEFFICIENT : 0.5
Program P22Mai2008_9h;
Uses WinCrt;
Type
    Vecteur=Array[1..10] of Integer;
{Selon l'énoncé et l'exemple: N est de type LongInt
  --> au max contient 10 chiffres (2 Milliards w chwaya sarf)
}
Var
    T: Vecteur;
    TailleT:Integer;
    N:LongInt;
{******=== Procedure De Saisie de N ===*******}
Procedure SaisieDe_N(Var N : LongInt);
Begin
    Repeat
       Write('Saisir N: ');
       Readln(N);
    Until (N>9);
End;
{**== Procedure Qui Met tous les chiffre de N dans T ==**}
Procedure Chiffres_De_N_Dans_T(Var T:Vecteur;
                                 Var TailleT: Integer; N:LongInt);
Begin
    TailleT:=0;
    Repeat
       TailleT:=TailleT+1;
       T[TailleT]:=N MOD 10;
       N:=N DIV 10;
    Until (N=0);
End;
{******=== Fonction Verif ==*******}
Function Verif(T:Vecteur;TailleT: Integer):Boolean;
Var
    i,S:Integer;
Begin
    S:=T[TailleT];
    For i:=TailleT-1 DownTo 1 Do
    Begin
       S:=S+T[i];
       IF S>=9 THEN S:=S-9;
    End;
    Verif:=(S=0);
End;
Begin {******===    Programme Principal         ===*******}
    SaisieDe_N(N);
    Chiffres_De_N_Dans_T(T, TailleT,N);
    IF Verif(T, TailleT) THEN
       Write('Le Nombre [',N, '] est Divisible par 9')
    ELSE   Write('Le Nombre [',N, '] n''est pas Divisible par 9');
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 : 22 mai 2008 9h
                    SESSION 2008                            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.

Ecrire un programme Pascal qui permet de :
    Remplir un tableau T, d'une façon automatique et aléatoire, par n entiers strictement
       positifs, inférieurs ou égaux à 1000, avec (5≤ n ≤ 30).
    Vérifier pour l'élément de T d'indice p donné, s'il est égal à la somme d'un certain nombre
       d'éléments consécutifs de T qui le précèdent immédiatement. Dans ce cas, le programme
       affiche ces éléments, sinon il affiche "Condition non vérifiée".
Exemple1:
      Pour le tableau T suivant, avec n=7 et p=5 :
                                     3         2     4       6      12      18       20
                               T
                                     1         2     3       4       5       6       7
      Le programme affiche : 6, 4, 2
Exemple2:
      Pour le tableau T suivant, avec n=7 et p=3 :
                                     3         2     4       6      12      18       20
                               T
                                     1         2     3       4       5       6       7
      Le programme affiche "Condition non vérifiée".




Grille d’évaluation :
                                   Questions                                       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 : 22 mai 2008 14h
                    SESSION 2008           DUREE : 1 h – COEFFICIENT : 0.5


Program P22Mai2008_14h;
Uses WinCrt;
Type
    Vecteur=Array[1..30] of integer;
Var
    T:Vecteur;
    N, P:Integer;

{******=== Procedure De Saisie de N ===*******}
Procedure SaisieDe_N(Var N : Integer);
Begin
   Repeat
      Write('Saisir N: ');
      Readln(N);
   Until (N>=5) And (N<=30);
End;

{******=== Procedure De Saisie de P ===*******}
Procedure SaisieDe_P(Var P : Integer; N:Integer);
Begin
   Repeat
      Write('Saisir P: ');
      Readln(P);
   Until (P>=2) And (P<=N);
End;

{******=== Procedure De Remplissage de T ===*******}
Procedure Remplissage_De_T(Var T:Vecteur; N: Integer);
Var
    i:Integer;
Begin
    Randomize; {initialise le générateur aléatoire}
    For i:=1 To N Do
    Begin
       T[i]:=Random(1000)+1;
       {Random(1000) génère un nombre aléatoire entre 0 et 999}
    End;
End;




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



{******=== Procedure Affichage de la liste ===*******}
Procedure AfficherListe(T:Vecteur; N,P: Integer);
Var
    S, i:Integer;
Begin
    S:=0;
    i:=P;
    Repeat
       i:=i-1;
       S:=S+T[i];
       Write(T[i],', ');
    Until S=T[P];
End;

{**=FN Qui Calcule la somme =**}
Function Somme(T:Vecteur; N,P:Integer):Integer;
Var
    S,i:Integer;
Begin
    S:=0;
    i:=P;
    Repeat
       i:=i-1;
       S:=S+T[i];
    Until (S>=T[P]) OR (i=1);
    Somme:=S;
End;

{******===   Programme Principal ===*******}
Begin
   SaisieDe_N(N);
   Remplissage_De_T(T, N);
   SaisieDe_P(P,N);
   IF Somme(T,N,P)=T[P] THEN AfficherListe(T,N,P)
   ELSE Write('Condition non vérifiée');
End.




Lycée Attarine Ariana 2012

Contenu connexe

Tendances

Les algorithmes d'arithmetique
Les algorithmes d'arithmetiqueLes algorithmes d'arithmetique
Les algorithmes d'arithmetique
mohamed_SAYARI
 
Projet de programmation la conversion entre les bases
Projet de programmation   la conversion entre les bases Projet de programmation   la conversion entre les bases
Projet de programmation la conversion entre les bases
Tunisie collège
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 si
Narûtö Bàl'Sèm
 
Serie algos approximationx
Serie algos approximationxSerie algos approximationx
Serie algos approximationx
mohamed_SAYARI
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmique
fast xp
 
Bac blanc base de données
Bac blanc base de donnéesBac blanc base de données
Bac blanc base de données
lycee
 

Tendances (20)

Mes devoirs 4 si
Mes devoirs 4 siMes devoirs 4 si
Mes devoirs 4 si
 
Les algorithmes d'arithmetique
Les algorithmes d'arithmetiqueLes algorithmes d'arithmetique
Les algorithmes d'arithmetique
 
Récursivité
RécursivitéRécursivité
Récursivité
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdf
 
Projet de programmation la conversion entre les bases
Projet de programmation   la conversion entre les bases Projet de programmation   la conversion entre les bases
Projet de programmation la conversion entre les bases
 
Les structures de données.pptx
Les structures de données.pptxLes structures de données.pptx
Les structures de données.pptx
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)
 
Exercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombresExercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombres
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 si
 
Exercices pascal fenni_2018
Exercices pascal fenni_2018Exercices pascal fenni_2018
Exercices pascal fenni_2018
 
Serie algos approximationx
Serie algos approximationxSerie algos approximationx
Serie algos approximationx
 
Travaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesTravaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de données
 
Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018
 
Exercices algo
Exercices algoExercices algo
Exercices algo
 
bac info : série récursivité
bac info : série récursivitébac info : série récursivité
bac info : série récursivité
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmique
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
 
Exo algo
Exo algoExo algo
Exo algo
 
Serie
SerieSerie
Serie
 
Bac blanc base de données
Bac blanc base de donnéesBac blanc base de données
Bac blanc base de données
 

Similaire à éNoncés+corrections bac2008

éNoncés+corrections bac2010
éNoncés+corrections bac2010éNoncés+corrections bac2010
éNoncés+corrections bac2010
Morom Bil Morom
 
éNoncés+corrections bac2009
éNoncés+corrections bac2009éNoncés+corrections bac2009
éNoncés+corrections bac2009
Morom Bil Morom
 
Mathématiques appliquées EPL UCLouvain 2011
Mathématiques appliquées EPL UCLouvain 2011Mathématiques appliquées EPL UCLouvain 2011
Mathématiques appliquées EPL UCLouvain 2011
UCLouvain / MAP
 
Examen de-passage-developpement-informatiques-tsdi-2015-synthese-variante-2-o...
Examen de-passage-developpement-informatiques-tsdi-2015-synthese-variante-2-o...Examen de-passage-developpement-informatiques-tsdi-2015-synthese-variante-2-o...
Examen de-passage-developpement-informatiques-tsdi-2015-synthese-variante-2-o...
abdelghani04
 

Similaire à éNoncés+corrections bac2008 (16)

éNoncés+corrections bac2010
éNoncés+corrections bac2010éNoncés+corrections bac2010
éNoncés+corrections bac2010
 
éNoncés+corrections bac2009
éNoncés+corrections bac2009éNoncés+corrections bac2009
éNoncés+corrections bac2009
 
TP2 Atelier C++/ GL2 INSAT / Tunisie
TP2 Atelier C++/ GL2 INSAT / TunisieTP2 Atelier C++/ GL2 INSAT / Tunisie
TP2 Atelier C++/ GL2 INSAT / Tunisie
 
la complexité des algorithmes en toute simplicité
la complexité des algorithmes en toute simplicitéla complexité des algorithmes en toute simplicité
la complexité des algorithmes en toute simplicité
 
TP3 Atelier C++/ GL2 INSAT / Tunisie
TP3 Atelier C++/ GL2 INSAT / TunisieTP3 Atelier C++/ GL2 INSAT / Tunisie
TP3 Atelier C++/ GL2 INSAT / Tunisie
 
Asd1
Asd1Asd1
Asd1
 
Exercices : Algorithmes et Langage C
Exercices : Algorithmes et Langage CExercices : Algorithmes et Langage C
Exercices : Algorithmes et Langage C
 
Mathématiques appliquées EPL UCLouvain 2011
Mathématiques appliquées EPL UCLouvain 2011Mathématiques appliquées EPL UCLouvain 2011
Mathématiques appliquées EPL UCLouvain 2011
 
Correction TP4 Atelier C++ /GL2 INSAT / Tunisie
Correction TP4 Atelier C++ /GL2 INSAT / TunisieCorrection TP4 Atelier C++ /GL2 INSAT / Tunisie
Correction TP4 Atelier C++ /GL2 INSAT / Tunisie
 
Examen de-passage-developpement-informatiques-tsdi-2015-synthese-variante-2-o...
Examen de-passage-developpement-informatiques-tsdi-2015-synthese-variante-2-o...Examen de-passage-developpement-informatiques-tsdi-2015-synthese-variante-2-o...
Examen de-passage-developpement-informatiques-tsdi-2015-synthese-variante-2-o...
 
Electronique-Numérique-TD-7.pdf
Electronique-Numérique-TD-7.pdfElectronique-Numérique-TD-7.pdf
Electronique-Numérique-TD-7.pdf
 
1 tdi synthese_principale_v2_2015.docx
1 tdi synthese_principale_v2_2015.docx1 tdi synthese_principale_v2_2015.docx
1 tdi synthese_principale_v2_2015.docx
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
 
Catalogue pfe 2018 2019
Catalogue pfe 2018 2019Catalogue pfe 2018 2019
Catalogue pfe 2018 2019
 
Présentation Finale - Partie I.pptx
Présentation Finale - Partie I.pptxPrésentation Finale - Partie I.pptx
Présentation Finale - Partie I.pptx
 
Big data f prez formation_datascience_14-sept
Big data f prez formation_datascience_14-septBig data f prez formation_datascience_14-sept
Big data f prez formation_datascience_14-sept
 

éNoncés+corrections bac2008

  • 1. 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 : 22 mai 2008 10h30 SESSION 2008 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 d’écrire un programme Pascal permettant de déterminer et d'afficher un code à partir d'un entier N strictement positif et supérieur à 100, selon le principe suivant : 1. Calculer la somme S des chiffres qui composent le nombre N 2. Recommencer le calcul de la somme des chiffres de la somme obtenue S tant que celle-ci n'est pas comprise entre 1 et 9. 3. Le code sera le nombre formé par N auquel on place à sa gauche la dernière somme obtenue. Exemple: Pour N= 9867, le programme affichera : le code est : 39867 En effet: Pour N= 9867 :  La 1ère somme S vaut 30 (car 9+8+6+7= 30)  La 2ème somme S vaut 3 (car 3+0 = 3)  Etant donné que la dernière somme S, qui vaut 3, est comprise entre 1 et 9, le code sera 39867 Grille d’évaluation : Questions 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
  • 2. 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 : 22 mai 2008 10h30 SESSION 2008 DUREE : 1 h – COEFFICIENT : 0.5 Program P22Mai2008_10h30; Uses WinCrt; Var N:LongInt; {**= Procedure De Saisie de N ==**} Procedure SaisieDe_N(Var N : LongInt); Begin Repeat Write('Saisir N: '); Readln(N); Until (N>100); End; {**=FN Qui Calcule la somme des chiffres d'un nombre=**} Function SommeChiffres(NBR:LongInt):Integer; Var Ch:String; S,i,e,X:Integer; Begin S:=0; STR(NBR,CH); For i:=1 To Length(Ch) Do Begin Val(Ch[i],X,e); S:=S+X; End; SommeChiffres:=S; End; {******=== Fonction Code ==*******} Function Code(N:LongInt):LongInt; Var Res,Aux:LongInt; e:Integer; Ch, Gauche:String; Begin Aux:=N; Repeat Aux:= SommeChiffres(Aux); Until Aux<=10; Str(N,Ch); Str(Aux,Gauche); Val(Gauche+Ch, Res, e); Code:=Res; End; Begin{******=== Programme Principal ===*******} SaisieDe_N(N); Write('Le Code = ',Code(N)); End. Lycée Attarine Ariana 2012
  • 3. 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 : 22 mai 2008 9h SESSION 2008 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 d'écrire un programme Pascal permettant de déterminer et d’afficher si un entier N saisi (N > 9) est divisible par 9 ou non, en appliquant la méthode suivante: 1. On fait la somme du 1er et du 2ème chiffre de N 2. Si la somme obtenue est supérieure ou égale à 9, on lui soustrait 9 3. On ajoute ensuite à cette somme et on lui applique la règle 2 (on lui retranche 9 si elle est supérieure à 9) et ainsi de suite jusqu'au dernier chiffre de N. 4. Si le résultat final est nul, le nombre N est alors divisible par 9. Exemple: Pour N = 65493 le programme effectuera les opérations suivantes : 6 + 5 = 11 (11 est supérieur ou égal à 9, on lui soustrait 9, on obtient 2) 2 + 4 = 6 (6 est strictement inférieur à 9) 6 + 9 = 15 (15 est supérieur ou égal à 9, on lui soustrait 9, on obtient 6) 6 + 3 = 9 (9 est supérieur ou égal à 9, on lui so11strait 9, on obtient 0) Le résultat est nul et tous les chiffres de N ont été traités, donc le nombre 65493 est divisible par 9. En effet, 65493 = 9 x 7277 Grille d’évaluation : Questions 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
  • 4. 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 : 22 mai 2008 9h SESSION 2008 DUREE : 1 h – COEFFICIENT : 0.5 Program P22Mai2008_9h; Uses WinCrt; Type Vecteur=Array[1..10] of Integer; {Selon l'énoncé et l'exemple: N est de type LongInt --> au max contient 10 chiffres (2 Milliards w chwaya sarf) } Var T: Vecteur; TailleT:Integer; N:LongInt; {******=== Procedure De Saisie de N ===*******} Procedure SaisieDe_N(Var N : LongInt); Begin Repeat Write('Saisir N: '); Readln(N); Until (N>9); End; {**== Procedure Qui Met tous les chiffre de N dans T ==**} Procedure Chiffres_De_N_Dans_T(Var T:Vecteur; Var TailleT: Integer; N:LongInt); Begin TailleT:=0; Repeat TailleT:=TailleT+1; T[TailleT]:=N MOD 10; N:=N DIV 10; Until (N=0); End; {******=== Fonction Verif ==*******} Function Verif(T:Vecteur;TailleT: Integer):Boolean; Var i,S:Integer; Begin S:=T[TailleT]; For i:=TailleT-1 DownTo 1 Do Begin S:=S+T[i]; IF S>=9 THEN S:=S-9; End; Verif:=(S=0); End; Begin {******=== Programme Principal ===*******} SaisieDe_N(N); Chiffres_De_N_Dans_T(T, TailleT,N); IF Verif(T, TailleT) THEN Write('Le Nombre [',N, '] est Divisible par 9') ELSE Write('Le Nombre [',N, '] n''est pas Divisible par 9'); End. Lycée Attarine Ariana 2012
  • 5. 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 : 22 mai 2008 9h SESSION 2008 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. Ecrire un programme Pascal qui permet de :  Remplir un tableau T, d'une façon automatique et aléatoire, par n entiers strictement positifs, inférieurs ou égaux à 1000, avec (5≤ n ≤ 30).  Vérifier pour l'élément de T d'indice p donné, s'il est égal à la somme d'un certain nombre d'éléments consécutifs de T qui le précèdent immédiatement. Dans ce cas, le programme affiche ces éléments, sinon il affiche "Condition non vérifiée". Exemple1: Pour le tableau T suivant, avec n=7 et p=5 : 3 2 4 6 12 18 20 T 1 2 3 4 5 6 7 Le programme affiche : 6, 4, 2 Exemple2: Pour le tableau T suivant, avec n=7 et p=3 : 3 2 4 6 12 18 20 T 1 2 3 4 5 6 7 Le programme affiche "Condition non vérifiée". Grille d’évaluation : Questions 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
  • 6. 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 : 22 mai 2008 14h SESSION 2008 DUREE : 1 h – COEFFICIENT : 0.5 Program P22Mai2008_14h; Uses WinCrt; Type Vecteur=Array[1..30] of integer; Var T:Vecteur; N, P:Integer; {******=== Procedure De Saisie de N ===*******} Procedure SaisieDe_N(Var N : Integer); Begin Repeat Write('Saisir N: '); Readln(N); Until (N>=5) And (N<=30); End; {******=== Procedure De Saisie de P ===*******} Procedure SaisieDe_P(Var P : Integer; N:Integer); Begin Repeat Write('Saisir P: '); Readln(P); Until (P>=2) And (P<=N); End; {******=== Procedure De Remplissage de T ===*******} Procedure Remplissage_De_T(Var T:Vecteur; N: Integer); Var i:Integer; Begin Randomize; {initialise le générateur aléatoire} For i:=1 To N Do Begin T[i]:=Random(1000)+1; {Random(1000) génère un nombre aléatoire entre 0 et 999} End; End; Lycée Attarine Ariana 2012
  • 7. Année Scolaire : 2011-2012 4 SC {******=== Procedure Affichage de la liste ===*******} Procedure AfficherListe(T:Vecteur; N,P: Integer); Var S, i:Integer; Begin S:=0; i:=P; Repeat i:=i-1; S:=S+T[i]; Write(T[i],', '); Until S=T[P]; End; {**=FN Qui Calcule la somme =**} Function Somme(T:Vecteur; N,P:Integer):Integer; Var S,i:Integer; Begin S:=0; i:=P; Repeat i:=i-1; S:=S+T[i]; Until (S>=T[P]) OR (i=1); Somme:=S; End; {******=== Programme Principal ===*******} Begin SaisieDe_N(N); Remplissage_De_T(T, N); SaisieDe_P(P,N); IF Somme(T,N,P)=T[P] THEN AfficherListe(T,N,P) ELSE Write('Condition non vérifiée'); End. Lycée Attarine Ariana 2012