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

Algorithmes d'approximation
Algorithmes d'approximationAlgorithmes d'approximation
Algorithmes d'approximation
mohamed_SAYARI
 
Les algorithmes d’approximation
Les algorithmes d’approximationLes algorithmes d’approximation
Les algorithmes d’approximation
Wael Ismail
 
éNoncés+corrections bac2010
éNoncés+corrections bac2010éNoncés+corrections bac2010
éNoncés+corrections bac2010
Morom Bil Morom
 
Chapitre iv algorithmes de tri
Chapitre iv algorithmes de triChapitre iv algorithmes de tri
Chapitre iv algorithmes de tri
Sana Aroussi
 
éNoncés+corrections bac2009
éNoncés+corrections bac2009éNoncés+corrections bac2009
éNoncés+corrections bac2009
Morom Bil Morom
 
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
 
Les algorithmes avancés
Les algorithmes avancésLes algorithmes avancés
Les algorithmes avancés
mohamed_SAYARI
 
Exercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivitéExercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivité
salah fenni
 
Serie algos approximationx
Serie algos approximationxSerie algos approximationx
Serie algos approximationx
mohamed_SAYARI
 

Tendances (20)

Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)
 
Chap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-rechercheChap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-recherche
 
Algorithmes d'approximation
Algorithmes d'approximationAlgorithmes d'approximation
Algorithmes d'approximation
 
Les enregistrements
Les enregistrements Les enregistrements
Les enregistrements
 
Les algorithmes d’approximation
Les algorithmes d’approximationLes algorithmes d’approximation
Les algorithmes d’approximation
 
Algorithmes de tri
Algorithmes de triAlgorithmes de tri
Algorithmes de tri
 
Mes devoirs 4 si
Mes devoirs 4 siMes devoirs 4 si
Mes devoirs 4 si
 
éNoncés+corrections bac2010
éNoncés+corrections bac2010éNoncés+corrections bac2010
éNoncés+corrections bac2010
 
Chapitre iv algorithmes de tri
Chapitre iv algorithmes de triChapitre iv algorithmes de tri
Chapitre iv algorithmes de tri
 
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
 
éNoncés+corrections bac2009
éNoncés+corrections bac2009éNoncés+corrections bac2009
éNoncés+corrections bac2009
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
Série sous programmes (bac scientifique)
Série sous programmes (bac scientifique)Série sous programmes (bac scientifique)
Série sous programmes (bac scientifique)
 
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
 
Cours algorithme: structures répétitives
Cours algorithme: structures répétitivesCours algorithme: structures répétitives
Cours algorithme: structures répétitives
 
Les algorithmes avancés
Les algorithmes avancésLes algorithmes avancés
Les algorithmes avancés
 
Exercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivitéExercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivité
 
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
 
Serie2
Serie2Serie2
Serie2
 
Serie algos approximationx
Serie algos approximationxSerie algos approximationx
Serie algos approximationx
 

Similaire à éNoncés+corrections bac2008

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 (15)

Serie
SerieSerie
Serie
 
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