Upcoming SlideShare
×

# éNoncés+corrections bac2009

5,467 views

Published on

1 Like
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

Views
Total views
5,467
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
191
0
Likes
1
Embeds 0
No embeds

No notes for slide

### éNoncés+corrections bac2009

1. 1. Année Scolaire : 2011-2012 4 SCLycée Attarine Ariana 2012
2. 2. Année Scolaire : 2011-2012 4 SCProgram 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 dune 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. 3. Année Scolaire : 2011-2012 4 SC{***=== Procedure De Conversion Dune 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) DIV2)); 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. 4. Année Scolaire : 2011-2012 4 SCLycée Attarine Ariana 2012
5. 5. Année Scolaire : 2011-2012 4 SCProgram 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. 6. Année Scolaire : 2011-2012 4 SCLycée Attarine Ariana 2012
7. 7. Année Scolaire : 2011-2012 4 SCProgram 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 lentier N° ,i, : ); Readln(T[i]); Until (T[i]>=0); End;End;Lycée Attarine Ariana 2012
8. 8. Année Scolaire : 2011-2012 4 SC{******=== Procedure De Génération de TS ===*******}Procedure Generation_De_TS(Var TS:Tab2entiers; VarNbre2cases2TS: 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 DAffichage 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. 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.5Important :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 9Alors la somme S= 42 + 125+ 57 + 0 + 941 + 6754 + 32 + 0 +51 = 8002Le 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 4Lycée Attarine Ariana 2012
10. 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.5Program 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. 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.5Important :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é dansl’exemple ci-dessous.Ecrire un programme Pascal qui permet de saisir H, puis d’afficher le triangle.ExempleSi 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 4Lycée Attarine Ariana 2012
12. 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 PascalImportant :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 didentité nationale des Nélèves d’un lycée.Deux élèves ne peuvent pas avoir un même numéro de carte didentité nationale. Un numéro decarte didentité est composé obligatoirement de huit chiffres.Ecrire un programme Pascal qui permet de saisir les numéros de cartes didentité des N élèvesdu 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 7Lycée Attarine Ariana 2012
13. 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 PascalImportant :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 morseEcrire un programme Pascal qui permet de coder en morse un mot de passe, supposé composéde N chiffres décimaux (4≤ N ≤8), puis dafficher ce code.Pour une meilleure lisibilité du résultat, les chiffres codés en morse seront séparés par un pointdinterrogation (?) lors de laffichage.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 7Lycée Attarine Ariana 2012
14. 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 PascalImportant :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 lesconsonnes de CH qui sont en majuscule, suivies de toutes les voyelles de CH qui sont enmajuscule, suivis de toutes les consonnes de CH qui sont en minuscule et finalement toutes lesvoyelles de CH qui son en minuscule en conservant à chaque fois le même ordre dapparitiondès lettres de la chaîne CH.Ecrire un programme Pascal qui permet de saisir une chaîne CH non vide composée de lettresalphabétiques et dont la taille ne dépasse pas 50 et de construire puis dafficher 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 4Lycée Attarine Ariana 2012