Bac Informatique Pratique 2000
FENNI Salah
Sujet
Soit la somme :
Écrire un programme qui saisit un entier naturel n tel que n = 100, calcule et affiche la
somme Sn.
Sujet
Écrire un programme de résolution d’une équation du premier degré à une inconnue x, de la
forme ax + b = 0.
On suppose que a, b et x sont des réels.
NB : Le programme doit traiter tous les cas possibles.
Sujet
Écrire un programme de résolution d’une inéquation du premier degré à une inconnue de la
forme ax + b < 0.
On suppose que a, b et x sont des réels.
(Le programme doit traiter tous les cas possibles)
Sujet
24 est un entier divisible par son chiffre des dizaines (2).
Écrire un programme qui permet de trouver et d’afficher tous les entiers à deux chiffres de 10
jusqu’à 99 vérifiant cette propriété.
Sujet
Écrire un programme qui affiche tous les entiers positifs de deux chiffres de la forme ab tel
que la somme des chiffres (a+b) divise le produit a*b.
Sujet
Soit le polynôme P(x) = 2x² - 3x - 5.
Écrire un programme qui calcule et affiche P(x) pour des valeurs de x variant de -4 à 4 par
pas de 0.5.
Sujet
Un entier naturel de trois chiffres est dit cubique s’il est égal à la somme des cubes de ses trois
chiffres.
Exemple: 153 est cubique car : 153 = 13
+ 53
+ 33
Ecrire un programme qui cherche et affiche tous les entiers cubiques de trois chiffres.
Sujet
Écrire un programme qui remplit un tableau de n réels, place les réels positifs dans un tableau
TP et les réels négatifs dans un tableau TN.
Sujet
Écrire un programme qui lit 15 nombres réels et les affiches en ordre inverse et à raison de
trois nombres par ligne.
Bac Informatique Pratique 2000
FENNI Salah
Sujet
Écrire un programme qui remplit un tableau de n réels, cherche le maximum, le minimum et
la moyenne des éléments de ce tableau et les affiche. On suppose que n est un entier naturel
compris entre 5 et 100.
Sujet
Ecrire un programme qui saisit un entier non nul n et 2n réels à mettre dans un tableau A,
puis remplit un tableau B par les éléments de A de la manière suivante :
B [1] = A [1]
B [2] = A [n+1]
B [3] = A [2]
B [4] = A[n+2]
Etc.
Sujet
Ecrire un programme qui saisit une chaîne de caractères formée uniquement par des chiffres
de ‘0’ à ‘9’, cherche et affiche la fréquence de chaque chiffre figurant dans cette chaîne.
Bac Informatique Pratique 2001
FENNI Salah
Sujet n°1 :
Ecrire un programme Pascal intitulé OCCURENCE qui permet de saisir une chaîne de caractères CH puis
d’afficher les occurences des voyelles qui figurent dans CH.
Exemple :
Si CH =‘LYCEE 25 juillet’
Le programme OCCURENCE affichera les résultats suivants :
L’occurence de ‘E’ est 3
L’occurence de ‘Y’ est 1
L’occurence de ‘U’ est 1
L’occurence de ‘I’ est 1
Remarque : la recherche de l’occurrence ne fait pas de distinction entre les voyelles majuscules et
minuscules.
N.B : La solution doit comporter au moins deux sous programmes.
Sujet n°2 :
pour x très proche de zéro.
Ecrire un programme Pascal qui permet d’afficher sin(x) en utilisant la formule ci-dessus.
Le calcul s’arrête quand la différence entre deux termes consécutifs devient inférieure ou égale à 10-4
. La
dernière somme calculée est une valeur approchée de sin (x).
Le candidat pourra utiliser la fonction FACT (a) suivante qui permet de calculer la factorielle de a (a !).
1. DEFFN FACT (a : entier) : entier
2. F  1
3. Si (a>0) alors
Pour i de 1 à a répéter
F  F x i
Fin pour
FinSi
4. FACT  F
5. Fin FACT
N.B : La solution doit comporter au moins une fonction et une procédure.
Sujet n°3 :
On dispose de deux tableaux T1 et T2 contenant respectivement n et m entiers positifs et non nuls.
On désire chercher dans T2 tous les diviseurs d’un élément donné de T1.
Exemple :
T1 23 15 10 277 300 34
1 2 3 4 5 6
T2 3 6 5 1
Si indice = 2 alors 3 , 5 et 1 seront affichés à l'écran.
Écrire un programme Pascal qui permet de saisir les deux tableaux T1 et T2 et l’indice d’un élément p de T1
puis d’afficher à l'écran tous les diviseurs de p figurant dans T2.
N.B : La solution doit comporter au moins deux procédures et une fonction.
...
!
9
!
7
!
5
!
3
!
1
sin(x)
que
Sachant
9
7
5
3






x
x
x
x
x
Bac Informatique Pratique 2001
FENNI Salah
Sujet n°4 :
Ecrire un programme Pascal intitulé PROD_SCALAIRE qui permet de calculer et d’afficher le produit
scalaire de deux tableaux A et B de n entiers positifs ( n étant un entier compris entre 5 et 50).
Le produit scalaire de deux tableaux A et B est donné par la formule suivante :
N.B : La solution doit comporter au moins une fonction et une procédure.
Sujet n°5:
Soit un tableau T1 contenant n lettres majuscules (de A à Z), n étant un entier compris entre 5 et 20.
On désire trier en ordre croissant les éléments de T1 et les ranger dans un tableau T2 en utilisant le principe
suivant :
1. chercher la lettre qui a le plus petit code ASCII dans T1
2. a) ranger cette lettre dans T2
b) remplacer cette lettre par ‘*’ dans T1
3. répéter n fois les étapes 1 et 2.
Ecrire un programme Pascal qui permet de :
 saisir les éléments de T1,
 trier les éléments de T1 et les ranger dans T2,
 afficher les éléments de T2.
N.B : La solution doit comporter au moins une fonction et deux procédures.
Sujet n°6 :
Soit un tableau T1 de n éléments (1  n  100) . Les éléments de T1 sont des entiers naturels de trois chiffres.
On se propose de remplir un tableau T2 de la façon suivante :
T2[i] est égal à la somme des carrés des chiffres de T1[i].
Exemple :
Si T1[i] = 254 alors T2[i] = 22
+ 52
+ 42
= 45
Ecrire un programme Pascal qui permet de saisir les éléments de T1, de remplir puis d’afficher le tableau T2.
N.B :
La solution doit comporter au moins une fonction et deux procédures.
Sujet n°7 :
Ecrire un programme Pascal qui permet de saisir un entier naturel n (5 <n<20) et n réels à mettre dans un
tableau A puis calcule et affiche la moyenne arithmétique m des éléments de A et leur écart type S.
Sachant que :



n
i
m
1
n
/
A[i])
(  
2
1
]
[




n
i
m
i
A
S
N.B : La solution doit comporter au moins une fonction et une procédure.
Sujet n°8 :
Ecrire un programme Pascal qui permet de trier par ordre décroissant les éléments d’un tableau A de n
entiers positifs dans un nouveau tableau B de même dimension.
n étant un entier vérifiant 5 < n < 25.
On utilisera la démarche suivante :
1. chercher le maximum de A
2. placer ce maximum dans B
3. remplacer le maximum par –1 dans A
4. refaire les étapes 1, 2 et 3 jusqu’à ce que le tableau A soit entièrement composé de –1.
N.B :
1) Prévoir l’affichage des éléments du tableau B.
2) La solution doit comporter au moins une fonction et une procédure.



n
i
PS
1
B[i]
*
A[i]
Bac Informatique Pratique 2001
FENNI Salah
Sujet n°9 :
Soit la suite (Pi)i impair définie par :
Ecrire un programme Pascal qui permet de calculer et d’afficher les termes de la suite P jusqu’à ce que la
différence entre deux termes consécutifs devient inférieure ou égale à 10-4
.
N.B : La solution doit comporter au moins une fonction et une procédure.
Sujet n°10 :
Deux entiers naturels strictement positifs m et n sont dits nombres amis si et seulement si :
 la somme des diviseurs de m sauf lui même est égale à n
 et la somme des diviseurs de n sauf lui même est égale à m..
Exemple :
220 et 284 sont deux nombres amis, en effet :
D284 = {1 , 2 , 4 , 71 , 142 , 284 }
D220= {1 , 2 , 4 , 5 , 10 , 11 , 20 , 22, 44 , 55 , 110 , 220 }
D284 et D 220 sont respectivement les ensembles de tous les diviseurs de 284 et de 220..
284 = 1 + 2 + 4 + 5 + 10 + 11 + 20 + 22+ 44 + 55 + 110
220 = 1 + 2 + 4 + 71 + 142
Ecrire un programme Pascal qui permet de déterminer puis d’afficher si deux entiers naturels donnés m et n
sont amis ou non.
N.B : La solution doit comporter au moins une fonction et une procédure.
Sujet n°11 :
On désire coder une chaîne de caractères en utilisant la fonction f(x) = 2x – 1, x étant le code ASCII
d’un caractère dans la chaîne.
Les caractères susceptibles d’être codés sont les lettres de l’alphabet (majuscule ou minuscule), les
chiffres (de 0 à 9) et le point. Les autres caractères restent inchangés.
Ecrire un programme Pascal qui permet de saisir une chaîne de caractères puis d’afficher son code.
N.B :
1) En Pascal la fonction bibliothèque ORD(c) renvoie le code ASCII du caractère c et la fonction CHR(i)
renvoie le caractère dont le code ASCII est i .
2) La solution doit comporter au moins une fonction et deux procédures.
Sujet n°12:
Ecrire un programme Pascal qui saisit un tableau A de n chaînes de caractères, cherche et affiche la longueur
de la chaîne la plus longue puis toutes les chaînes ayant cette longueur.
N.B :
La solution doit comporter au moins une fonction et deux procédures.
Sujet n°13:
On considère les couples d’entiers (k , E (k.a)) où E (k.a) est la partie entière du produit de k par a.
Écrire un programme Pascal qui permet de calculer et d’afficher les deuxièmes termes des n premiers
couples (n étant un entier naturel vérifiant la condition 5  n  100).
N.B : La solution doit comporter au moins deux sous programmes.









)
1
(
2
impair
i
et
i
i
1
i
x
i
1
-
i
x
P
P
P
2
-
i
i
1
2
1
5
a
Soit


Bac Informatique Pratique 2001
FENNI Salah
Sujet n°14:
Écrire un programme Pascal qui détermine puis affiche le nombre de combinaisons de p objets parmi n.
n et p sont deux entiers naturels strictement positifs (avec n  p).
La solution doit comporter une fonction intitulée FACTORIEL (x) qui détermine la factorielle de x (x ! = x
* (x-1) * (x-2) * …. * 3 * 2 * 1).
Sujet n°15:
Ecrire un programme Pascal qui permet de calculer puis d’afficher la racine carrée d’un réel positif x
donné en utilisant la suite suivante :
Il s’agit de calculer les premiers termes de cette suite jusqu’à ce que la différence entre deux termes
successifs devient inférieure ou égale à 10-4
.
Le dernier terme calculé est une valeur approchée de √x à 10-4
près.
N.B : La solution doit comporter obligatoirement une fonction et une procédure.
Sujet n°16:
Écrire un programme Pascal intitulé DIVISION qui permet de :
1. saisir deux entiers naturels a et b strictement positifs
2. calculer puis afficher le quotient q et le reste r de la division euclidienne de a par b en utilisant la
démarche suivante :
Etape1 : Initialiser un compteur c à 0
Etape2 : Si a < b alors aller à l’étape6
Etape3 : Remplacer a par a-b
Etape4 : Incrémenter le compteur c
Etape5 : Aller à l’étape2
Etape6 : Afficher le résultat de la division
Euclidienne sous la forme suivante :
Le reste de la division est a
Le quotient de la division est c
N.B : La solution doit comporter au moins deux procédures.
Sujet n°17:
Ecrire un programme Pascal intitulé PREMIERS qui permet d’afficher tous les nombres premiers inférieurs
ou égaux à un entier n donné ( 5  n  100).
N.B :
1. Un entier p est dit premier s’il n’est divisible que par 1 et par lui même (1 n’est pas considéré premier).
2. La solution doit comporter au moins une fonction et une procédure.
Sujet n°18:
Soit l'expression mathématique suivante : /4 = 1 – 1/3 + 1/5 – 1/7 + 1/9 - …
Écrire un programme Pascal qui utilise l’expression ci-dessus pour déterminer et afficher une valeur
approchée de  à 10-4
prés .
N.B :
1. Le calcul s’arrête quand la différence entre deux valeurs consécutives de cette expression devient
strictement inférieure à 10-4
.
2. La solution doit comporter au moins une fonction et une procédure.
)!
(
!
!
C
:
N.B n
p
p
n
p
n









 )/2
x/U
(U
U
x)/2
(1
U
n
n
1
n
0
Bac Informatique Pratique 2001
FENNI Salah
Sujet n°19:
Ecrire un programme Pascal qui permet de saisir les coordonnées des trois sommets A, B et C d’un triangle
puis détermine et affiche la nature du triangle (isocèle, équilatéral, quelconque).
N.B :La solution doit comporter au moins une fonction et une procédure.
Sujet n°20:
La suite de Fibonacci est définie par :
Ecrire un programme Pascal qui permet de saisir un entier naturel n strictement supérieur à 1 puis calcule et
affiche, pour toutes les valeurs de i inférieures ou égales à n, les valeurs du rapport :
1
-
i
i
F
F
N.B : La solution doit comporter au moins une fonction et une procédure.
Sujet n°21:
Ecrire un programme Pascal qui permet de saisir une chaîne de caractères CH1 puis d’en extraire les deux
nombres formés par les chiffres figurant dans la chaîne CH1 (extraction à partir de la droite puis extraction à
partir de la gauche).
Exemple :
Si CH1 = ‘A45B3C2’
Le programme Pascal affichera 4532 et 2354
N.B : La solution doit comporter au moins une fonction et une procédure.
Sujet n°22:
Ecrire un programme Pascal qui utilise l’algorithme d’Euclide pour déterminer et afficher le PGCD (Plus
Grand Commun Diviseur) de deux entiers naturels non nuls a et b.
Principe de l’algorithme d’Euclide :
1. Faire la division euclidienne de a par b. On obtient un quotient q et un reste r.
2. Si r est non nul, on remplace a par b et b par r et on revient à l’étape 1 sinon le traitement est
terminé et le PGCD = b.
La solution doit comporter au moins une fonction et une procédure.
Sujet n°23:
Ecrire un programme Pascal qui cherche et affiche les n premiers entiers naturels positifs impairs et
palindromes (n étant un entier naturel tel que 5  n  20).
Un entier est dit palindrome s’il est lu de la même façon de gauche à droite et de droite à gauche.
Exemple :
121 est un entier impair et palindrome.
N.B : La solution doit comporter au moins une fonction et une procédure.
Sujet n°24:
On considère deux tableaux Tp et Tn contenant respectivement n entiers positifs et n entiers négatifs (n étant
un entier naturel compris entre 2 et 20).
On désire afficher les éléments positifs et pairs du tableau TSOMME résultant de la somme de Tn et Tp tel
que TSOMME[i] = Tp[i] + Tn[i].
Ecrire un programme Pascal intitulé SOMME_PAIR qui permet de :
 saisir l’entier n
 saisir les tableaux Tn et Tp









2
-
n
1
-
n
n
1
0
F
F
F
1
F
1
F
Bac Informatique Pratique 2001
FENNI Salah
 remplir le tableau TSOMME
 afficher les éléments pairs et positifs du tableau TSOMME.
N.B :La solution doit comporter au moins deux procédures ou fonctions.
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Jeudi 23 mai 2002 ( Heure : 9h )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
On veut écrire un programme en Pascal permettant d’afficher tous les entiers naturels
formés de quatre chiffres dont la somme donnera un entier d’un seul chiffre.
Exemple :
La somme des chiffres de l’entier 2004 est égale à 6 (2+0+0+4=6) et par conséquent l’entier 2004
sera affiché.
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Jeudi 23 mai 2002 ( Heure :10 h 30’)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
On se propose d’afficher un histogramme à l’aide des lettres A, B et C comme celui de
l’exemple ci-dessous.
Ecrire un programme Pascal qui saisit le nombre de A, le nombre de B et le nombre de C
puis affiche l’histogramme correspondant. Les nombres sont des entiers naturels inférieurs ou
égaux à 15.
Exemple d'exécution:
Entrer trois nombres entiers compris entre 0 et 15: 6, 9, 3
B
B
B
A B
A B
A B
A B C
A B C
A B C
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C :
en lui donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Jeudi 23 mai 2002 ( Heure : 14 h )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal qui permet de saisir les résultats de (N-1) matchs de football
d’une équipe et d’afficher le nombre de matchs gagnés, nuls et perdus ainsi que le nombre de points
correspondants. N est un entier tel que 10 ≤ N ≤ 14.
Le nombre de points attribués est de trois pour un match gagné, un pour un match nul
et zéro pour un match perdu.
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C :
en lui donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Jeudi 23 mai 2002 ( Heure : 15 h 30’)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal qui permet de chercher puis d’afficher tous les entiers naturels de
l’intervalle [1000, 2000] qui vérifient la propriété suivante :
La somme des chiffres des unités et des dizaines est égale au produit du chiffre des centaines
par celui des milliers.
Exemple :
L’entier 1954 sera affiché car 4 + 5 = 9*1
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C :
en lui donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Lundi 20 mai 2002 ( Heure : 9 h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal qui réalise le traitement suivant :
- choisir un entier n de l’intervalle [2,9] et un entier Max de l’intervalle [10,99]
- afficher tous les entiers de l’intervalle [1,Max] en remplaçant par le caractère ‘*’ tous les
multiples de n ainsi que tous les entiers dont l’écriture contient le chiffre n.
Exemple d'exécution
Si n = 4 et Max = 18 alors la liste suivante sera affichée :
1 2 3 * 5 6 7 * 9 10 11 * 13 * 15 * 17 18
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Lundi 20 mai 2002 ( Heure :10 h 30’)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal qui réalise le traitement suivant :
- choisir un entier n de l’intervalle [100,500] et un entier m de l’intervalle [10,99]
- afficher tous les entiers de l’intervalle [1,m] en remplaçant par le caractère ‘*’ tous les
diviseurs de n ainsi que tous les entiers comportant dans leurs écritures le chiffre des unités de
n.
Exemples d'exécution:
Si n=100 et m=20 alors la liste suivante sera affichée:
* * 3 * * 6 7 8 9 * 11 12 13 14 15 16 17 18 19 *
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Lundi 20 mai 2002 ( Heure : 14 h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Soit un tableau T de 20 entiers positifs. Ecrire un programme Pascal qui permet d’afficher les
éléments de T compris entre deux positions P1 et P2, leur moyenne arithmétique, la valeur
maximale et la valeur minimale contenues dans cet intervalle.
On donne 1  P1 < P2  20.
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C :
en lui donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Lundi 20 mai 2002 ( Heure : 15 h 30’)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Soit le tableau T suivant :
10 7 9 7 10 6 7 4 8 8
Pour chaque élément de T on ne garde que sa première occurrence et on remplace les autres par 0.
10 7 9 0 0 6 0 4 8 0
On regroupe les éléments restant au début du tableau T.
10 7 9 6 4 8 0 0 0 0
Ecrire un programme Pascal qui fait le traitement ci-dessus pour un tableau T de n (2  n  20)
entiers positifs non nuls et détermine et affiche le nombre d’éléments différents de T.
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nombre de
points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Mardi 21 mai 2002 ( Heure : 9 h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal qui saisit une phrase et l’affiche renversée. La phrase commence,
obligatoirement, par une lettre et ses mots sont séparés par un seul espace.
Exemple:
Votre phrase:
RESOLUTION DE PROBLEMES
Résultat:
PROBLEMES DE RESOLUTION
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C :
en lui donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Mardi 21 mai 2002 ( Heure : 10 h 30’)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
On se propose de chercher les entiers de l’intervalle [m, n] admettant le plus de diviseurs. Les
entiers m et n vérifient la condition 5 ≤ m < n ≤ 100.
Pour cela écrire un programme Pascal permettant de chercher puis d’afficher ces entiers ainsi
que le nombre de leurs diviseurs.
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C :
en lui donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Mardi 21 mai 2002 ( Heure : 14 h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal permettant de décomposer un entier N donné (2  N 100) en
produit de facteurs premiers et d’afficher N et le produit de ses facteurs trouvés .
Exemple :
Si N = 60 alors on affiche 60 = 2*2*3*5
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Mardi 21 mai 2002 ( Heure : 15 h 30’)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
On veut écrire un programme Pascal permettant de supprimer les espaces superflus dans une chaîne
de caractère.
Exemple :
Si la chaîne est ‘Travauxpratiques’
alors l’exécution du programme donnera la chaîne=’Travaux pratiques’
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Mercredi 22 mai 2002 ( Heure : 9 h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal qui permet de remplir un tableau T par n entiers
( 2  n  20 ) puis d’afficher les éléments d’un deuxième tableau M rempli de la manière
suivante :
Si k=1 ou k=n alors M[k]=T[k]
sinon M[k]= (T[k-1] + T[k+1])/2
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C :
en lui donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Mercredi 22 mai 2002 ( Heure :10 h 30’)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
L’entier 36 a la propriété d’être divisible par la somme de ses chiffres, en effet 3+6 = 9 divise 36.
On se propose d’écrire un programme Pascal qui cherche et affiche tous les entiers naturels
d’un intervalle [a, b] donné, (5 ≤ a < b ≤ 200) ; ayant cette propriété.
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Mercredi 22 mai 2002 ( Heure : 14 h )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
On se propose de chercher parmi les entiers de l’intervalle [2 , 9] celui qui admet le plus
grand multiple inférieur ou égal à un entier donné N ( 20 < N < 50).
Ecrire un programme Pascal permettant de chercher puis d’afficher cet entier ainsi que son
multiple.
Exemple :
Pour N=49 le plus grand multiple des entiers de l’intervalle [2 , 9] est l’entier 49 qui est un
multiple de 7.
Dans ce cas les valeurs 7 et 49 seront affichées.
N.B :
1- La solution doit comporter au moins deux modules.
2- Le candidat doit traiter les cas des ex æquo (le cas où il y’a plusieurs
entiers admettant le plus grand multiple).
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C :
en lui donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Mercredi 22 mai 2002 ( Heure : 15 h 30’)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal permettant d’afficher tous les couples d’entiers naturels (m , n)
vérifiant la propriété suivante :
m  [1 , 100] et n  [2 , 15]
et m figure dans l’écriture du produit m.n
Exemples :
1) Si m = 20 et n = 6
alors le produite m.n = 120 contient le nombre 20 dans ce cas le couple (20,6) sera affiché.
2) Si m = 20 et n = 12
alors le produite m.n = 20*12 = 240 ne contient pas le nombre 20
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Samedi 18 mai 2002 ( Heure : 9 h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Une anagramme est un mot obtenu par transposition des lettres d’un autre mot (par exemple
chien, chine sont des anagrammes du mot niche).
Ecrire un programme Pascal qui permet de saisir deux mots non vides MOT1 et MOT2 puis
de déterminer si MOT2 est une anagramme de MOT1.
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C :
en lui donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Samedi 18 mai 2002 ( Heure : 10 h 30’)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal permettant de déterminer et d’afficher la moyenne d’une classe
MC de n élèves (10 ≤ n ≤ 30) ainsi que le nombre d’élèves qui ont une moyenne supérieure ou
égale à MC.
Les moyennes des élèves sont des réels de l’intervalle [0, 20].
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Samedi 18 mai 2002 ( Heure : 14 h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal qui simule le jeu suivant :
- à tour de rôle, l’ordinateur et l’utilisateur choisissent un nombre parmi : 0, 1 ou 2
- si la différence entre les deux nombres choisis vaut :
 2, le joueur qui a proposé le plus grand nombre gagne un point.
 1, le joueur qui a proposé le plus petit nombre gagne un point.
 0, aucun point n’est marqué.
- le jeu se termine quand l’un des deux joueurs totalise 10 points. Ce joueur sera
considéré comme gagnant.
Remarque :
Pour un choix aléatoire fait par l’ordinateur, on pourra utiliser la fonction RANDOM.
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Samedi 18 mai 2002 ( Heure : 15 h 30’)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
On se propose de remplir un tableau TRESULTAT par les éléments d’un tableau T contenant
n entiers positifs (3 ≤ n ≤ 10) en utilisant leurs positions rangées dans un tableau TPOS. Les
positions de deux éléments consécutifs de T sont séparées dans le tableau TPOS par un élément de
valeur 0.
NB : Les éléments de T sont supposés saisis différents deux à deux. On ne fera pas de test sur cette
contrainte.
Ecrire un programme Pascal qui permet de reconstituer le tableau TRESULTAT à partir des
tableau T et TPOS.
Exemple :
T 4 10 2 5
TPOS 5 7 0 1 0 2 3 4 0 6 8
TRESULTAT contiendra
TRESULTAT 10 2 2 2 4 5 4 5
N.B : La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Vendredi 17 mai 2002 ( Heure : 9 h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
On se propose d’écrire un programme Pascal qui permet de calculer et d’afficher la somme
des factorielles des chiffres d’un entier n donné (2 ≤ n ≤ 50). On donne 0! = 1.
Exemple :
Si n = 13 alors 7 sera affiché (1! + 3! = 7)
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C :
en lui donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Vendredi 17 mai 2002 ( Heure : 10 h 30’)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal qui permet de former puis d’afficher un entier r de quatre
chiffres à partir de deux entiers m et n strictement positifs et formés chacun de deux chiffres et ceci
en intercalant le nombre n entre les deux chiffres de m.
Exemple :
Si m=56 et n=21 alors l’entier r sera égal à 5216.
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C :
en lui donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Vendredi 17 mai 2002 ( Heure : 14 h )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
On se propose de répéter le traitement ci-dessous pour un entier n.
1- Si le nombre est impair alors on le multiplie par 3 et on lui ajoute 1
2- Si le nombre est pair alors on le divise par 2.
Il est éventuel que le nombre 1 apparaisse lors des n premières répétitions.
Ecrire un programme Pascal qui permet d’appliquer ce traitement à tous les entiers compris
entre A et B (2  A < B  50) et d’afficher chaque entier qui arrivent à 1 dans un nombre de
répétitions strictement inférieur à sa valeur.
Exemple :
L’entier 10 sera affiché car il arrive à 1 après 6 répétitions (6 < 10)
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Vendredi 17 mai 2002 (Heure : 15 h 30’ )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
On se propose de répéter le traitement ci-dessous pour un entier n.
3- Si le nombre est impair alors on le multiplie par 3 et on lui ajoute 1
4- Si le nombre est pair alors on le divise par 2.
Il est éventuel que le nombre 1 apparaisse lors des 10 premières répétitions.
Ecrire un programme Pascal qui permet d’appliquer ce traitement à tous les entiers compris
entre A et B (2  A < B  50) et d’afficher ceux qui arrivent à 1 lors des 10 premières répétitions.
Exemple :
L’entier 10 sera affiché car il arrive à 1 après 6 répétitions.
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Vendredi 24 mai 2002 ( Heure : 9 h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
On dispose de deux tableaux T1 et T2 contenant respectivement n éléments (5 ≤ n ≤ 20). Les
éléments de T1 sont des entiers naturels différents deux à deux et ceux de T2 sont des entiers
naturels représentant des fréquences de façon que T2[i] est la fréquence de T1[i].
On se propose d’écrire un programme Pascal qui permet de saisir les éléments de T1 et de
T2 puis d’afficher les éléments de T1 qui ont une fréquence supérieure ou égale à 10.
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Si exécution correcte sans modules et sans test sur T1
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
9
2
2
3
2
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Vendredi 24 mai 2002 (Heure : 10 h 30’)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal qui permet de saisir un entier n (100 n  10000) et de
déterminer et d’afficher tous ses chiffres qui le divisent.
Exemple :
Si N = 2376 alors les chiffres 2, 3 et 6 seront affichés.
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C :
en lui donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Vendredi 24 mai 2002 ( Heure : 14 h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal qui permet d’afficher tous les entiers de l’intervalle [10000,
20000] tel que le chiffre du milieu est égal à la somme des autres chiffres.
Exemple :
12942 sera affiché car : 1+2+4+2=9
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C :
en lui donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2002
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2002
DATE : Vendredi 24 mai 2002 ( Heure : 15 h 30’)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
On appelle poids d’un mot la somme des produits de la position de chaque voyelle
contenue dans le mot par son rang dans l’alphabet français.
Une lettre a le même rang qu’elle soit écrite en majuscule ou en minuscule.
Ecrire un programme Pascal qui calcule et affiche le poids d’un mot donné.
Exemple :
Le mot « Epreuve » a pour poids 165 car :
(1*5) + (4*5) + (5*21) + (7*5) = 165
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C :
en lui donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2002 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2003
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Samedi 17 mai 2003 ( Heure : 9h )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal qui saisit une chaîne de caractères et l'affiche sous la forme d'un
triangle comme indiqué ci-dessous.
Exemple :
Si la chaîne saisie est "INTERNET", on aura :
I
IN
INT
INTE
INTER
INTERN
INTERNE
INTERNET
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2003 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2003
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Samedi 17 mai 2003 ( Heure : 10h30’ )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Soit l'algorithme suivant :
0) Début quoi
1) [Lire (n)] Pour i de 1 à n Répéter
Lire(T[i])
FinPour
2) Lire (v)
3) [Tr  faux, i  0] Répéter
i  i + 1
tr  (T[i] = v)
Jusqu'à (i = n) OU (tr)
4) Si (tr) Alors
rt  " Oui "
Sinon rt  " Non "
FinSi
5 ) Ecrire (v, rt)
6 ) Fin quoi
Questions :
1. Traduire cet algorithme en Pascal.
2. Que fait cet algorithme ? (Ecrire la réponse comme commentaire à la fin du programme).
3. Au programme obtenu, ajouter un module dont le rôle est d’afficher tous les indices i
lorsque que T[i] = v
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2003 3
1) Traduction en Pascal 6
2) Rôle 3
3) Module d’affichage des indices 6
Bac Informatique Pratique 2003
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Samedi 17 mai 2003 ( Heure : 14h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Soit l'algorithme suivant :
0) Début quoi
1) [Lire (n)] Pour i de 1 à n Répéter
Lire(T[i])
FinPour
2) Lire (v)
3) [Tr  faux, i  0] Répéter
i  i + 1
tr  (T[i] = v)
Jusqu'à (i = n) OU (tr)
4) Si (tr) Alors
rt  " Oui "
Sinon rt  " Non "
FinSi
5 ) Ecrire (v, rt)
6 ) Fin quoi
Questions :
1. Traduire cet algorithme en Pascal.
2. Que fait cet algorithme ? (écrire la réponse comme commentaire à la fin du programme).
3. Dans l’action 1, ajouter les contrôles sur la saisie pour assurer les conditions suivantes :
5 ≤ n ≤ 40 et 0 ≤ T[i] ≤ 20
4. Transformer l’action 3 en une fonction et en tenir compte dans le programme.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
Bac Informatique Pratique 2003
FENNI Salah
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Samedi 17 mai 2003 ( Heure : 15h30’ )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Sachant que 6+6/22
+ 6/32
+6/42
+…..+6/n2
tend vers π2
, écrire un programme Pascal
permettant de calculer puis d’afficher une valeur approchée de π2
avec une erreur maximale ε . La
valeur de ε est une donnée.
N.B :
La solution doit comporter au moins une fonction et une procédure.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2003 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
Bac Informatique Pratique 2003
FENNI Salah
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Lundi 19 mai 2003 ( Heure : 9h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
L’algorithme suivant permet de calculer et d’afficher les moyennes des trois notes de n élèves.
0) Début Calcul_moyennes
1) Lire (n)
2) Pour i de 1 à n répéter
Lire (Note1, Note2, Note3)
Moy  (Note1 + 2 x Note2 + 2 x Note3)/5
Ecrire (Moy)
FinPour
3) Fin Calcul_moyennes
Questions :
1. Traduire cet algorithme en Pascal.
2. Dans l’action 1, ajouter le contrôle sur la saisie pour assurer la condition suivante 5 ≤ n ≤ 40
3. Ajouter une fonction intitulée RANG qui permet de chercher le rang de l’élève n° i.
4. Apporter les changements adéquats afin d’afficher pour chaque élève et sur une même ligne :
N° Moyenne Rang
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2003 3
1) Traduction en Pascal 5
2) ) Contrôles de saisie 2
3) Fonction RANG 6
4) Affichage 2
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
Bac Informatique Pratique 2003
FENNI Salah
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Lundi 19 mai 2003 ( Heure : 10h30’ )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Soit T un tableau de n entiers (2 ≤ n ≤ 20). On veut écrire un programme Pascal qui saisit n
et T puis affiche la valeur maximale V_max et la valeur minimale V_min d’une séquence de T
allant de i à j. (i et j sont deux entiers donnés vérifiant la condition i ≤ j ≤ n).
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2003 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DA LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
Bac Informatique Pratique 2003
FENNI Salah
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Lundi 19 mai 2003 ( Heure : 14h )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Soit T un tableau de n caractère (2 ≤ n ≤ 20). On se propose d’écrire un programme Pascal
qui saisit n et T puis affiche le nombre d’occurrences d’un caractère c donné, dans le tableau T.
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2003 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
Bac Informatique Pratique 2003
FENNI Salah
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Lundi 19 mai 2003 ( Heure : 15h30’ )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Soit l'algorithme suivant :
0) Début Exercice
1) Ecrire (“ Taper une touche “) , Lire (ch)
2) Selon ch Faire
"a" .. "z" : Si ch Dans ["a","e","i","u","o","y"]
Alors nature  "Voyelle"
Sinon nature  "Consonne "
FinSi
"0".."9" : nature  " Chiffre "
SINON nature  " Symbole "
Fin Selon
3) Ecrire (nature)
4) Fin Exercice
Questions :
1. Traduire cet algorithme en Pascal.
2. Que fait cet algorithme ? (Ecrire la réponse comme commentaire à la fin du programme).
a) Que fait le programme si ch = "A" ? (Ecrire la réponse sous forme d’un commentaire
à la fin du programme).
3. Modifier le programme pour afficher correctement la nature d'une lettre majuscule.
4. Transformer l’action 2 en une fonction et en tenir compte dans le programme.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2003 3
1) Traduction en Pascal 5
2) Rôle 2
3) a)
b)
1
2
4) Fonction 5
Bac Informatique Pratique 2003
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Mardi 20 mai 2003 ( Heure : 9h )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
L’algorithme suivant permet de calculer et d’afficher la moyenne arithmétique d’une classe de n
élèves.
0) Début moyenne_classe
1) [Lire (n)] Pour i de 1 à n répéter
Lire (T[i])
FinPour
2) [total  0] Pour i de 1 à n répéter
total  total + T[i]
FinPour
3) moyenne  total / n
4) Ecrire (moyenne)
5) Fin moyenne_classe
Questions :
1. Traduire cet algorithme en Pascal.
2. Dans l’action 1, ajouter les contrôles de saisie permettant d’assurer les conditions :
5 ≤ n ≤ 40 et 0 ≤ T[i] ≤ 20
3. Ajouter un module dont le rôle est de déterminer et d’afficher le nombre d’élèves qui ont
une moyenne supérieure ou égale à la moyenne de la classe.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2003 3
1) Traduction en Pascal 5
2) ) Contrôles de saisie 4
3) Module d’affichage du nombre d’élèves qui ont une moyenne
supérieure ou égale à la moyenne de la classe
6
Bac Informatique Pratique 2003
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Mardi 20 mai 2003 ( Heure : 10h30’ )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
L’algorithme suivant permet de calculer et d’afficher la moyenne arithmétique d’une classe de n
élèves.
0) Début moyenne_classe
1) [Lire (n)] Pour i de 1 à n répéter
Lire (T[i])
FinPour
2) [total  0] Pour i de 1 à n répéter
total  total + T[i]
FinPour
3) moyenne  total / n
4) Ecrire (moyenne)
5) Fin moyenne_classe
Questions :
1. Traduire cet algorithme en Pascal.
2. Dans l’action 1, ajouter les contrôles de saisie assurant les conditions suivantes :
5 ≤ n ≤ 40 et 0 ≤ T[i] ≤ 20
3. Ajouter un module dont le rôle est de déterminer puis d’afficher le nombre d’élèves qui ont
une moyenne dans l’intervalle [moyenne-2,moyenne+2]. La variable moyenne correspond à
la moyenne de la classe.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2003 3
1) Traduction en Pascal 5
2) ) Contrôles de saisie 4
3) Module d’affichage du nombre d’élèves qui ont une moyenne
dans l’intervalle [moyenne-2,moyenne+2]
6
Bac Informatique Pratique 2003
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Mardi 20 mai 2003 ( Heure : 14h )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Soit la somme Sn suivante :
Sn=1+3/22
+ 5/33
+7/44
+….. +(2n-1)/nn
Ecrire un programme Pascal intitulé SOMME permettant de calculer et d'afficher la somme Sn pour
un entier n positif donné en utilisant la formule ci-dessus.
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2003 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2003
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Mardi 20 mai 2003 ( Heure : 15h30’ )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
On veut écrire un programme Pascal permettant de:
 saisir une chaîne de caractères Ch
 parcourir la chaîne Ch et afficher l'occurrence de chacun de ses caractères.
N.B :
La solution doit comporter au moins une fonction et une procédure.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2003 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2003
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Mercredi 21 mai 2003 ( Heure : 9h )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Deux joueurs lancent en même temps un dé dont les faces sont numérotées de 1 à 6. Le joueur qui
obtiendra la plus grande valeur aura un point. Le jeu s'arrête quand l'un des joueurs arrive le
premier à un score de 10 points.
Ecrire un programme Pascal simulant ce jeu et afficher le numéro du joueur gagnant.
On pourra utiliser la fonction prédéfinie RANDOM(n) qui retourne un entier de l’intervalle [0,n-1].
N.B :
La solution doit comporter au moins une fonction et une procédure.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2003 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2003
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Mercredi 21 mai 2003 ( Heure : 10h30’ )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Soit l'algorithme suivant :
0) Début Exercice
1) Ecrire (“ Saisir deux entiers “) , Lire (a,b)
2) Ecrire (“ Saisir un opérateur “) , Lire (op)
3) SI op = "+" Alors Ecrire ( a + b)
sinon si op = "-" Alors Ecrire ( a - b)
sinon si op = "*" Alors Ecrire ( a * b)
sinon si op = "/" Alors Ecrire ( a / b)
sinon Ecrire ("Opérateur invalide")
4) Fin Exercice
Questions :
1. Traduire cet algorithme en Pascal.
2. Dans l’action 3, remplacer la structure conditionnelle généralisée par la structure
conditionnelle à choix (CASE … OF … )
3. a) Que fait le programme quand on choisit b=0 et op="/" ? (Ecrire la réponse sous forme de
commentaire après la fin du programme).
a. Modifier le programme pour corriger cette erreur.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2003 3
1) Traduction en Pascal 5
2) Utilisation du case … of … 5
3) a)
b)
1
4
Bac Informatique Pratique 2003
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Mercredi 21 mai 2003 ( Heure : 14h )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Soit l'algorithme suivant :
0) Début Exercice
1) Ecrire (" Donner la première note : ") , Lire (N1)
2) Ecrire (" Donner la deuxième note : ") , Lire (N2)
3) Ecrire (" Donner la troisième note : ") , Lire (N3)
4) moy  (N1*CF1) + (N2*CF2) + (N3*CF3) / (CF1 + CF2 + CF3)
5) Si moy ≥ 16
Alors déci  " Très bien "
Sinon Si moy ≥ 14
Alors déci  " Bien "
Sinon Si moy ≥ 12
Alors déci  " A. Bien "
Sinon Si moy ≥ 10
Alors déci  " Passable "
Sinon déci  " Faible "
FinSi
6) Ecrire (moy, deci )
7) Fin Exercice
N.B : CF1, CF2 et CF3 sont des constantes de valeurs respectives 1, 2 et 3.
Questions :
1. Traduire cet algorithme en Pascal.
2. Que fait cet algorithme ? (Ecrire la réponse comme commentaire à la fin du programme).
3. Transformer l’action 5 en une fonction et en tenir compte dans le programme.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Bac Informatique Pratique 2003
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Mercredi 21 mai 2003 ( Heure : 15h30’ )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Soit un tableau P de n chaîne de caractères (1<n<100). Tous les éléments de T doivent être
constitués uniquement de chiffres (0 ..9) et non vides.
On se propose de remplir un tableau Q de la façon suivante:
Q[i] contiendra la chaîne de caractère P[i] écrite à l’envers.
Exemple:
Si P[2]="925" Alors Q[2] contiendra la chaîne "529"
Ecrire un programme Pascal permettant de saisir les éléments de P, de remplir puis d'afficher les
éléments du tableau Q.
N.B :
La solution doit comporter au moins une fonction et une procédure.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2003 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2003
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Jeudi 22 mai 2003 ( Heure : 9h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
On veut écrire un programme Pascal permettant de lire un mot intitulé CHM et d'afficher les
chaînes de caractères suivantes:
 La chaîne formée par le premier et le dernier caractère de CHM
 La chaîne formée par les deux premiers et les deux derniers caractères de CHM
 etc.
Exemple :
Si la chaîne CHM contient "TURBO" alors le programme affichera :
TO
TUBO
TURRBO
TURBURBO
TURBOTURBO
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2003 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2003
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Jeudi 22 mai 2003 ( Heure : 10h30’)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Soit l'algorithme suivant :
0) Début Exercice
1) Écrire ("a = ") , Lire(a)
2) Écrire ("b = ") , Lire(b)
3) Écrire ("erreur = ") , Lire (eps)
4) [trv  faux] Répéter
[c 
a + b
2
] Si (f(a).f(c) = 0)
Alors
Trv  vrai
Sinon
Si f(a).f(c) < 0
Alors
b  c
Sinon
a  c
FinSi
FinSi
Jusqu'à (trv) OU (a-b< 2.eps)
5) Écrire ("Le zéro de f est : ", c, " à ",eps ," près")
6) Fin Exercice
Questions :
1. Traduire cet algorithme en Pascal en lui ajoutant la définition de la fonction f suivante
f(x)=5x2
-1 et en le testant pour a=0, b=1 et eps=0.001
2. Que fait cet algorithme ? (Ecrire la réponse comme commentaire à la fin du programme).
3. Transformer l’action 4 en une fonction.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Bac Informatique Pratique 2003
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Jeudi 22 mai 2003 ( Heure : 14h )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
On se propose d’écrire un programme Pascal permettant de déterminer et d'afficher la lettre
alphabétique la plus utilisée dans un texte donné. Le texte étant saisi comme une chaîne de
caractères contenant n de caractères (5 ≤ n ≤ 20).
Dans le cas d’ex æquo afficher toutes les lettres ayant la plus grande fréquence.
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2003 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2003
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Jeudi 22 mai 2003 ( Heure : 15h30’ )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Soit l'algorithme suivant :
0) Début Exercice
1) [Lire (n)] Pour k de 1 à n Répéter
Lire(T[k])
Fin Pour
2) Lire (v)
3) [Trv  faux, i  0] Répéter
i  i + 1
trv  (T[i] = v)
Jusqu'à (i = n) OU (trv)
4) Si (trv) Alors
rt  " est dans T "
Sinon rt  " n'est pas dans T "
Fin Si
5 ) Ecrire (v, rt)
6 ) Fin Exercice
Questions :
1. Traduire cet algorithme en Pascal.
2. Que fait cet algorithme ? (Ecrire la réponse comme commentaire à la fin du programme).
3. Ajouter une fonction intitulée OCCURRENCES qui permet de chercher et d'afficher le
nombre d'occurrences de la valeur de v dans T.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2003 3
1) Traduction en Pascal 6
2) Rôle 2
3) Fonction OCCURENCE 7
Bac Informatique Pratique 2003
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Vendredi 23 mai 2003 ( Heure : 10h30’ )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
On veut écrire un programme Pascal permettant de coder un message selon le procédé suivant :
Permuter chaque caractère d'indice pair avec le caractère qui le précède.
Exemple:
Le codage de la chaîne de caractères : "Baccalauréat" donne "aBcclauaérta"
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2003 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2003
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Vendredi 23 mai 2003 ( Heure : 9h )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Soit l'algorithme suivant qui calcule et affiche les moyennes de n candidats :
0) Début Calcul_moy
1) Écrire ("Donner le 1er
coefficient : "), Lire (Coef1)
2) Écrire ("Donner le 2ème
coefficient : "), Lire (Coef2)
3) [Lire (n)] Pour i de 1 à n Répéter
Lire (Note1)
Lire (Note2)
Moy  (Note1*Coef1 + Note2*Coef2)/( Coef1+Coef2)
Écrire ("Moyenne = ", Moy)
FinPour
4) Fin Calcul_moy
Questions :
1. Traduire cet algorithme en Pascal.
2. Dans le programme obtenu, ajouter un module intitulé RANG qui permet de chercher et
d'afficher le rang de chaque candidat.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2003 3
1) Traduction en Pascal 5
2) Module RANG
a) syntaxe et vocabulaire
b) structures de données adéquates
c) structures de contrôles adéquates
d) utilisation du module dans le programme principal
2
3
3
2
Bac Informatique Pratique 2003
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : vendredi 23 mai 2003 ( Heure : 14h )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Soit l'algorithme suivant :
0) Début Exercice
1) [lire(n)] Pour i de 1 à n répéter
lire(T[i])
FinPour
2) Pour i de 1 à n-1 Répéter
Pour j de i+1 à n répéter
Si T[j] > T[i] Alors
Aux  T[j]
T[j]  T[i]
T[i]  Aux
FinSi
FinPour
FinPour
3) Pour i de 1 à n répéter
Ecrire (T[i])
FinPour
4) Fin Exercice
Questions :
1. Traduire cet algorithme en Pascal.
2. Que fait ce programme ? (Ecrire la réponse comme commentaire à la fin du programme).
3. Dans l’action 2, apporter les modifications nécessaires au programme afin de ne réaliser
qu’au maximum une permutation pour chaque valeur de i.
4. Transformer l’action 2 en un module et en tenir compte dans le programme.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Bac Informatique Pratique 2003
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Vendredi 23 mai 2003 ( Heure : 15h30’ )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
L'authentification est une technique permettant à un utilisateur d'accéder à un système
informatique en introduisant un mot de passe.
On veut écrire un programme Pascal permettant d'authentifier un utilisateur selon le procédé
suivant :
L'utilisateur dispose d'au maximum trois essais pour saisir le mot de passe. Le programme
affichera l'un des messages suivants: "Utilisateur autorisé" si le bon mot de passe a été saisi ou
bien "Utilisateur non autorisé" dans le cas contraire.
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2003 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2003
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Samedi 24 mai 2003 ( Heure : 9h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Soit l'algorithme suivant :
0) Début Exercice
1) [lire(n)] Pour i de 1 à n répéter
lire(T[i])
FinPour
2) Pour i de 1 à n-1 Répéter
Pour j de i+1 à n répéter
Si T[j] > T[i] Alors
Aux  T[j]
T[j]  T[i]
T[i]  Aux
FinSi
FinPour
FinPour
3) Pour i de 1 à n répéter
Ecrire (T[i])
FinPour
4) Fin Exercice
Questions :
1. Traduire cet algorithme en Pascal.
2. Que fait ce programme ? (Ecrire la réponse comme commentaire à la fin du programme).
3. Dans l’action 1, ajouter le contrôle sur la saisie pour assurer la condition suivante : 3 ≤ n ≤ 10
4. Transformer l’action 2 en un module et en tenir compte dans le programme.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Bac Informatique Pratique 2003
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Samedi 24 mai 2003 ( Heure : 10h30’ )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
On veut écrire un programme Pascal permettant de chercher puis d'afficher l'indice de la plus
grande valeur d'un tableau T contenant n entiers (5 ≤ n ≤ 20). Dans le cas d’ex æquo, on affiche
l’indice de la première occurrence.
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2003 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2003
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Samedi 24 mai 2003 ( Heure : 14h )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
On appelle moyenne olympique d'un ensemble de nombres la moyenne arithmétique de tous les
nombres de cet ensemble sauf le plus petit et le plus grand.
Ecrire un programme Pascal permettant de saisir un tableau de N réels (5 ≤ N ≤ 20) distincts et
d'afficher leur moyenne olympique.
N.B :
La solution doit comporter au moins trois modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2003 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2003
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : Samedi 24 mai 2003 ( Heure : 15h30’ )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
On veut écrire un programme permettant de remplir deux tableaux P et Q de tailles
maximales n (n < 50) par des réels. Puis de ranger respectivement les éléments positifs de P puis
ceux de Q dans un Tableau TPOS. Ensuite calculer puis afficher la moyenne arithmétique des
éléments de TPOS.
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2003 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2003
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2003
DATE : mai 2003 ( Heure : )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Un entier strictement positif est dit premier s'il n'a que deux diviseurs distincts : 1 et lui même.
Ecrire un programme Pascal qui saisit un entier strictement positif n et affiche un message indiquant
si ce nombre est premier ou non.
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Lancement du logiciel 2
Enregistrement dans bac2003 3
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
15
12
4
4
4
3
Bac Informatique Pratique 2004
FENNI Salah
Sujet n°1(14 mai 2004 9h)
Soit T un tableau de N éléments (2<N<200) de type caractère. On désire écrire un programme Pascal
permettant de vérifier l'existence dans le tableau T d'un certain nombre de mots saisis dans un tableau Tm
de P éléments (2<P<20).
Exemple:
Soit
Remarques :
1- Les caractères de là chaîne recherchée doivent être adjacents dans le tableau T et non dispersés.
2- On remarque que les mots BAC, Canne et Sujet figurent dans le tableau T
N.B:
La solution doit comporter au moins deux modules.
Sujet n°2(14 mai 2004 10h30)
Ecrire un programme Pascal permettant de saisir deux entiers X et Y (0 < X 9 et 0 < Y 9) et
d’afficher la tableau de multiplication selon le modèle suivant :
Exemples : X=4 et Y=5, le programme affiche :
1 2 3 4 5
1 1 2 3 4 5
2 2 4 6 8 10
3 3 6 9 12 15
4 4 8 12 16 20
N.B:
La solution doit comporter au moins deux modules.
Sujet n°3(14 mai 2004 14h)
On considère deux suites (U) et (V) définies à partir de :
U1 = 1
U2 = 2
Ui = Ui-1 + Ui-2 (i  3)
Vi = Ui / Ui-1
La suite (Vn ) tend vers une limite, appelé nombre d’or.
On suppose que le nième
terme de la suite V, soit Vn, donne une valeur approchée du nombre d’or
avec décision E, dès que Vn – Vn-1 < E
Ecrire un programme Pascal permettant de déterminer le terme Vn à 10-4
près et son rang
N.B:
La solution doit comporter au moins deux modules.
Tm
BAC Canne Sujet
T
L B S u j e t a B A C a n n e d
Bac Informatique Pratique 2004
FENNI Salah
Sujet n°4(14 mai 2004 15h30)
Ecrire un programme Pascal permettant de saisir les éléments d'un tableau T de N entiers positifs ou
nuls (5N20), d'afficher l’occurrence du plus petit élément dans T et l'indice de sa première
apparition.
Exemple:
Soit le tableau T suivant :
5 2 4 2 1 7 9 4 1 1
Le plus petit élément est 1, son occurrence est 3 et l'indice de sa première apparition est 5.
N.B:
La solution doit comporter au moins deux modules.
Sujet n°5(15 mai 2004 9h)
On veut écrire un programme Pascal permettant de saisir les éléments de deux tableaux Ta et
Tb contenant respectivement p et q entiers (5p20 et 5q20) puis de déterminer si Ta est un
"sous tableau" de Tb. C'est-à-dire que tous les éléments de Ta figurent dans l’ordre dans Tb.
Exemple:
Résultat :Ta est un sous tableau de Tb
N.B:
La solution doit comporter au moins une procédure et une fonction
Sujet n°6(15 mai 2004 10h30)
L’algorithme suivant permet d’insérer un élément dans un tableau trié
0- DEBUT Insertion
1- Répéter
Ecrire("N= ")
Lire(n)
Jusqu’à (1>n) et (n<Nmax)
2- T[1]1
Pour i de 2 à n Répéter
T[i]T[i-1]+2*i
Finpour
3- Ecrire("Introduire l’entier à insérer "
Lire(v)
4- Proc Insertion(T,v)
5- Fin Insertion
Questions :
1. Traduire l’algorithme ci-dessus en Turbo Pascal (Nmax, nombre d’éléments du tableau T, est
une constante égale à 15)
2. Développer le module Insertion permettant d’insérer l’élément v dans le tableau T de telle
sorte que le tableau reste trié
3. Donner sous forme de commentaire à la fin du programme, le rôle de la séquence 2.
4. Ecrire un module d’affichage du tableau et en tenir compte dans le programme.
Ta
3 5 7
Tb
0 1 3 6 1 9 5 7 8
Bac Informatique Pratique 2004
FENNI Salah
Sujet n°7(15 mai 2004 14h)
L’algorithme suivant permet de remplir un tableau T puis d’inverser chacune de ses deux parties.
(1ère
partie : du 1er
au pème
élément, 2ème
partie : du (p+1)ème
au nième
élément), p est un entier à saisir
0- Début Inversion
1- Porc Saisie (n, p)
2- Pour i de 1 à n répéter
Lire(T[i])
FinPour
3- Proc Inverse (T, 1, p)
4- Proc Inverse (T,p+l,n)
5- Pour ide 1 à n répéter
Ecrire (T[i] : 2)
FinPour
6- Fin Inversion
Questions :
1) Traduire l’algorithme ci-dessus en Turbo Pascal et l'enregistrer dans le dossier bac2004 situé à
la racine C : en lui donnant comme nom le numéro de votre carte d’identité suivi de la chaîne de
caractères "V1"
2) Développer le module Saisie permettant de saisir deux entiers n et p vérifiant les conditions
suivantes : (3<n<20) et (1<p<n-1) et en tenir compte dans le programme.
3) Développer le module Inverse qui permet d’inverse une portion du tableau T du Jème
au Kème
élément (j<k) et en tenir compte dans le programme.
4) Enregistrer la nouvelle version du programme dans le dossier bac2004 situé à la racine C : en
lui donnant comme nom le numéro de votre carte d’identité suivi de la chaîne de caractères "V2"
Exemple: pour n = 9 et p = 5
Sujet n°8(15 mai 2004 15h30)
Soit T un tableau de N éléments (2<N<20) de type caractère. On se propose d'écrire un programme
Pascal permettant d'afficher la longueur de la plus longue séquence contenant uniquement des
voyelles.
N.B.
Une séquence doit contenir au moins deux éléments.
La solution doit comporter au moins deux modules.
Sujet n°9(17 mai 2004 9h)
Ecrire un programme en Pascal permettant de saisir les éléments d'un tableau T de N entiers
(4  N  10), déterminer puis d'afficher tous les éléments distincts de ce tableau.
N.B : La solution doit comporter au moins deux modules.
-2 0 8 -5 4 3 10 6 -1
Etat final du tableau T
-2 0 8 -5 4 3 10 6 -1
Etat final du tableau T
p
4 -5 8 0 -2 -1 6 10 3
Etat initial du tableau T
-2 0 8 -5 4 3 10 6 -1
Etat final du tableau T
Bac Informatique Pratique 2004
FENNI Salah
Sujet n°10(17 mai 2004 10h30)
On se propose d'écrire un programme Pascal permettant de chercher puis d'afficher tous les
entiers naturels d'un intervalle [a, b] (10 < a < b < 200) qui sont divisibles par chacun de leurs
chiffres non nuls.
Exemple
Dans l’intervalle [15, 50] l'entier 36 sera affiché car il est divisible par 3 et par 6.
N.B :
La solution doit comporter au moins deux modules.
Sujet n°11(17 mai 2004 14h)
Soit T un tableau de N caractères alphabétiques (2<N<20).
Ecrire un programme Pascal permettant de crypter les données figurant dans le tableau T comme
suit :
1. Convertir chaque caractère en sa représentation en code ascii.
2. permuter les chiffres des unités avec ceux des dizaines et déterminer le caractère correspondant
à ce nouveau code ascii.
3. remplir un tableau R par les codes ascii calculées dans l'étape N°2 des caractères du tableau T.
4. Afficher le tableau R obtenu.
N.B:
La solution doit comporter au moins deux modules.
Sujet n°12(17 mai 2004 15h30)
On veut écrire un programme Pascal permettant de saisir N entiers (10<N<20) dans un
tableau T et de les arranger en plaçant les valeurs paires, s'il y en a, au début du tableau, sans
modifier l'ordre de saisie des valeurs paires et impaires.
N.B:
La solution doit comporter au moins deux modules.
Sujet n°13(18 mai 2004 9h)
On veut écrire un programme Pascal permettant de lire deux mots chl et ch2 et d'afficher tous
les caractères qui apparaissent dans les deux chaînes sans redondance.
Exemple : Soit ch1= "Bonjour" et ch2= "Bonbon" résultat : B ; o ; n
NB: La solution doit comporter au moins deux modules.
Sujet n°14(18 mai 2004 10h30)
Soit la suite (U) définie par :
U0 = 2
U1= 3
Un = Un-1 + 2 * Un-2 ; pour tout n  2
En supposant que cette suite est croissante, écrire un programme Pascal permettant de lire un entier x
(x >2), de vérifier et d'afficher s'il est un terme de la suite U ou non. Dans l'affirmative afficher son
rang.
N.B : La solution doit comporter au moins deux modules.
4 -5 8 10 -2 -1 6 9 3
Etat initial du tableau T
-2 0 8 -5 4 3 10 6 -1
Etat final du tableau T
4 8 10 -2 6 -5 -1 9 3
Etat final du tableau T
Bac Informatique Pratique 2004
FENNI Salah
Sujet n°15(18 mai 2004 14h)
Soit l'algorithme suivant :
0) Début Inconnu
1) Lire(N)
2) Pour i de 1 à N répéter
Lire (D[i])
Fin Pour
3) {Ensemble d'actions permettant d'initialiser à 1 les éléments d'un tableau S de N entiers}
4) Pour i de 1 à N-l répéter
Pour j de i+1 à N répéter
Si D[i] > D[j] Alors
S[i]  S[i] + 1
Sinon
S[j]S[j]+1
Fin Si
Fin Pour
Fin Pour
Pour i de 1 à N répéter
A[S[i]]  D[i]
Fin Pour
5) Fin Inconnu
Questions :
1. Développer la séquence 3 et traduire cet algorithme en Pascal.
2. Enregistrer le programme dans le dossier bac2004 situé à la racine C : en lui donnant comme
nom le numéro de votre carte d'identité suivi de la chaîne de caractères "V1".
3. Donner, sous forme de commentaire en fin du programme, le rôle de celui-ci.
4. Transformer l'étape 4 en une procédure et en tenir compte dans le programme.
5. Ecrire un module d'affichage du tableau A et en tenir compte dans le programme.
6. Enregistrer la nouvelle version du programme dans le dossier bac2004 situé à la racine C : en
lui donnant comme nom le numéro de votre carte d'identité suivi de la chaîne de caractères
"V2".
Sujet n°16(18 mai 2004 15h30)
On propose par la suite, l'une des méthodes de la conversion d'un entier décimai (X) en son
équivalent binaire (base 2)
1. On divise (division entière) le nombre X par 2
2. On sauvegarde le reste de la division
3. On refait les deux étapes précédentes avec le quotient de la division, jusqu'à avoir un quotient nul.
4. Le regroupement des restes en sens inverse de leurs apparitions donne la valeur du nombre X en
binaire.
Exemple :
Si X = 13 alors
- La division entière de 13 par 2 donne un quotient = 6 et un reste = 1
- La division entière de 6 par 2 donne un quotient = 3 et un reste = 0
- La division entière de 3 par 2 donne un quotient = 1 et un reste = 1
- La division entière de 1 par 2 donne un quotient = 0 et un reste = 1
Donc le nombre décimal 13 vaut 1101 en Binaire
Question :
Ecrire un programme Pascal permettant de saisir un entier naturel X  100, de déterminer et d'afficher
sa valeur en Binaire, selon le format suivant :
Sens de lecture des
restes
Bac Informatique Pratique 2004
FENNI Salah
le nombre décimal X vaut ..... en binaire.
N.B: La solution doit comporter au moins une procédure et une fonction.
Sujet n°17(19 mai 2004 9h)
L'algorithme suivant permet de rendre un tableau T symétrique.
0- DEBUT Tab_Sym
1-Répéter
Lire (n)
Jusqu'à (n>l) et (n mod 2=0)
2- Pour i de 1 à n div 2 répéter
Lirc(T[2i-l])
T[2i]T[2i-l]
FinPour
3- Proc Symétrie (T)
4- Pour i de 1 à n Répéter
Ecrire (T[i] : 3)
FinPour
5-FINTab_Sym
Questions :
1) Traduire l'algorithme ci-dessus en Turbo Pascal et l'enregistrer dans le dossier bac2004 situe à
la racine C : en lui donnant comme nom le numéro de votre carte d'identité suivi des deux
caractères "V1".
2) Développer le Module Symétrie permettant de transformer T en un tableau symétrique
3) Donner, sous forme de commentaire dans le programme, le rôle de la séquence 2.
4) Transformer la séquence 2 en une procédure et en tenir compte dans le programme.
5) Enregistrer la nouvelle version du programme dans le dossier bac2004 situé à la racine C : en
lui donnant comme nom le numéro de votre carte d’identité suivi de deux caractères "V2"
Exemple : pour N = 10
Sujet n°18(19 mai 2004 10h30)
Soit T un tableau de N caractères (2<N<20). On veut écrire un programme Pascal permettant de
crypter les données figurant dans le tableau T comme suit :
1. Saisir un entier X (0< X <8)
2. Convertir chaque élément de T en une chaîne correspondante à sa représentation binaire sur 8
bits
3. Effectuer une rotation des chiffres binaires à droite, obtenus dans l'étape N°2, de X position(s).
4. Stocker chaque valeur obtenue suite au cryptage dans l'étape N°3 dans un tableau Tcr.
5. Afficher le contenu du tableau Tcr.
On propose d'utiliser la fonction Convert permettant de convertir une valeur décimale en une valeur
binaire représentée sous forme de chaîne de 8 caractères.
Function convert( d:integer);String,
Var
I:integer;
ch,chc: string,
begin
ch:="
For i:=l to 8 do
begin
4 0 -5 -8 3 3 8 -5 0 4
Etat final du tableau T
4 4 0 0 -5 -5 8 8 3 3
Etat initial du tableau T
-2 0 8 -5 4 3 10 6 -1
Etat final du tableau T
Bac Informatique Pratique 2004
FENNI Salah
Str(d MOD 2, chc)
d:=d DIV 2,
ch:= chc + ch;
end,
convert:=ch;
end;
Exemple :
Le caractère "A" a une représentation binaire égale à "0100000l". Si X==2, Alors la représentation
binaire de "A" après une rotation de deux positions à droite sera : "01010000", cette valeur sera
stockée dans le tableau Ter.
N.B : La solution doit comporter au moins deux modules.
Sujet n°19(19 mai 2004 14h)
On veut écrire un programme Pascal permettant de saisir les éléments d'un tableau T de N entiers
positifs ou nuls ( 5N20 ) et de déplacer tous les éléments nuls à la fin du tableau.
Exemple :
N.B : La solution doit comporter au moins deux modules.
Sujet n°20(19 mai 2004 15h30)
On se propose de fusionner les éléments de deux tableaux triés T et V contenant respectivement p et
q éléments de type entier.
Ecrire un programme Pascal permettant de saisir les éléments des deux tableaux T et V, de les trier
dans le sens croissant et de les fusionner dans un tableau F tout en respectant l'ordre de tri croissant.
On peut utiliser la procédure de tri suivante :
0- DEF PROC TRI (Var T: Tab; n : entier);
1- Jn
Répéter
Permut Faux ,
Pour i de 1 à J-l Répéter
Si T[i]>T[i+1] Alors
Aux  T[i]
T[i]T[i+l]
T[i+l] Aux
Permut  Vrai
Fin Si
Fin Pour
J J-1
Jusqu'à Permut = Faux
2- Fin TRI
NB : La solution doit comporter au moins deux modules
4 8 2 6 10 3 0 0 0
Etat final du tableau T
4 0 8 0 2 0 6 10 3
Etat initial du tableau T
Bac Informatique Pratique 2004
FENNI Salah
Sujet n°21(20 mai 2004 9h)
La fonction Random(x) en Turbo Pascal, permet de retourner un entier appartenant à l'intervalle
[0,x[.
Soit T un tableau de N entiers (1 < N ≤ 100).
Ecrire un programme Pascal permettant de remplir, d'une façon aléatoire (en utilisant la fonction
Random), le tableau T par N entiers de l'intervalle [5, 20] puis d'afficher les éléments de T qui sont
divisibles par leurs rangs.
N.B : La solution doit comporter au moins deux modules.
Sujet n°22(20 mai 2004 10h30)
Soit l'algorithme suivant :
0) DEBUT Exercice
1) Lire (n)
2) Pour i de 1 à n répéter
Lirc(T[i])
FinPour
3) i1
4) Répéter
Si T[i]<T[i+1]
Alors
CT[i]
T[i]T[i+1]
T[i+1]C
i1
Sinon
ii+1
Finsi
Jusqu’à i=N
5) FIN Exercice
Questions :
1. Traduire cet algorithme en Pascal.
2. Donner, sous forme de commentaire à la fin du programme, le rôle de celui-ci.
3. Transformer la séquence 4 en une procédure et en tenir compte dans le programme.
4. Ajouter une procédure permettant d'afficher tous les éléments du tableau T sans
redondance et en tenir compte dans le programme.
Sujet n°23(20 mai 2004 14h)
Soit un tableau T de N réels (1 < N < 20).
Ecrire un programme Pascal permettant de :
- remplir un tableau T par N réels.
- afficher la moyenne Moy de T.
- afficher tous les éléments du tableau T dont les valeurs sont les plus proches de Moy et leurs
indices
N.B:
La solution doit comporter au moins deux modules.
Sujet n°24(20 mai 2004 15h30)
On veut écrire un programme Pascal permettant de saisir N entiers (10<N<20), comportant
obligatoirement des valeurs positives et négatives, dans un tableau T.
Bac Informatique Pratique 2004
FENNI Salah
Déterminer et afficher le nombre d'éléments positifs et la somme des valeurs négatives.
N.B:La solution doit comporter au moins deux modules.
Sujet n°25(21 mai 2004 9h)
L’algorithme suivant permet de saisir N éléments distincts dans un tableau T.
0)DEBUT SaisieJTab
1) Répéter
Ecrire ("N = ")
Lire (n)
Jusqu'à (2 < n) et ( n < 20)
2) Ecrire ("T[l] : ")
Lire(T[l])
Pour i de 2 à n répéter
Répéter
Ecrire ("T[",i,"] : ")
Lire(T[i])
Jusqu'à Fn Existe (T, i) == faux
Fin Pour
3) Pour i de 1 à n répéter
Ecrire (T[i])
Fin Pour
4- FIN SaisieJTab
Questions :
1) Traduire l'algorithme Saisie_Tab en Turbo Pascal et l'enregistrer dans le dossier bac2004 situé
à la racine C : en lui donnant comme nom le numéro de votre carte d'identité suivi de la chaîne de
caractères "V1".
2) Développer le module Existe, qui vérifie l'existence de l'élément en cours de saisie dans le
tableau.
3) Transformer la séquence 2 en une procédure appelée Lecture et en tenir compte dans le
programme.
4) Enregistrer la nouvelle version du programme dans le dossier bac2004 situé à la racine C : en
lui donnant comme nom le numéro de votre carte d'identité suivi de la chaîne de caractères "V2"
Sujet n°26(21 mai 2004 10h30)
Soit un tableau T de N entiers distincts.
Si i<j et T[i] > T[j] alors le couple (i, j) est appelé inversion de T.
Ecrire un programme en Turbo Pascal permettant de saisir le tableau T de N entiers distincts. Puis de
déterminer et d'afficher tous les couples inversion de T.
N.B:
La solution doit comporter au moins deux modules.
Pour vérifier l'unicité d'un élément saisi d'indice i (i >1), on peut utiliser la fonction Verif dont
l'algorithme est le suivant :
0- DEF FN Verif(T : Tab; i : entier ) : booléen
1- Test  Vrai , j 1
Répéter
Test  T[j]<>T[i]
jj+1
Jusqu'à (Test == faux) ou (j=i)
2- Vérif  test
Bac Informatique Pratique 2004
FENNI Salah
3- Fin Vérif
Sujet n°27(21 mai 2004 14h)
On se propose de déterminer une valeur approchée de  par la méthode de Wallis, définie par la
formule suivante:
 2 2 4 4 6 6 8 8
— = — x — x — x — x — x — x — x — ...
2 1 3 3 5 5 7 7 9
Ecrire un programme Pascal qui utilise la formule ci-dessus pour déterminer et afficher une valeur
approchée de  à l0-6
prés.
N.B:
1. Le calcul s'arrête lorsque la différence entre deux valeurs consécutives de cette formule devient
strictement inférieure à l0-6
2. La solution doit comporter au moins deux modules.
Sujet n°28(21 mai 2004 15h30)
On se propose de simuler un jeu qui consiste à faire des lancés de deux dés, le score est calculé en
additionnant les points de chaque dé lors d'une lancé,
Le jeu se termine au bout de dix lancés au maximum.
Si le score du joueur atteint ou dépasse 50 points ou s'il obtient deux doublés successifs il est
déclare gagnant.
Ecrire un programme Pascal permettant de simuler le jeu ci-dessus.
N.B :
1. Un dé est un cube dont les faces sont numérotées de 1 à 6.
2. Une lancé se traduit par le fait de lancer deux dés en même temps
3. Un doublé est le fait d'obtenir deux faces portant le même numéro dans une lancé
4. La solution doit comporter au moins deux modules.
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE
D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Vendredi 13 mai 2005 (Heure : 9h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal intitulé Voyelles permettant de déterminer et d'afficher la position
de la deuxième voyelle dans un tableau T, de N caractères alphabétiques, donné. S'il y a moins que
deux voyelles dans T, le programme affichera -1.
N.B : La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
Si exécution correcte avec les modules demandés
Sinon Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
18
14
5
4
5
4
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Vendredi 13 mai 2005 ( Heure : 10h30)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
L'algorithme suivant est celui d'une fonction permettant de retourner la position du plus petit
élément dans un tableau A de k éléments à partir d'une position p.
0) Def Fn pos_min (A : tab ; p,k: entier): entier
1) [pm  p]
Pour i de p+1 à k Répéter
Si A[i] < A[pm]
Alors pm  i
Finsi
Fin pour
2) pos_min  pm
3) Fin Pos_min
Utiliser la fonction Pos_min ci-dessus pour écrire un programme Pascal permettant de saisir un
tableau T de n réels, de le trier dans l'ordre croissant par la méthode de "tri par sélection" puis de
l'afficher.
N. B. : le programme doit comporter au moins une procédure et une fonction.
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
Si exécution correcte avec les modules demandés
Sinon Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
18
14
5
4
5
4
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE
D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Vendredi 13 mai 2005 (Heure : 14h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal intitulé Predsucc permettant de remplir un tableau T par N
chiffres compris entre 0 et 9 et d'afficher les éléments de T qui sont encadrés par leurs
prédécesseurs et leurs successeurs.
N. B :
 Le premier élément sera affiché s'il est seulement succédé par son successeur.
 Le dernier élément sera affiché s'il est précédé par son prédécesseur.
Exemple : Pour le tableau T suivant :
T 2 3 3 5 6 7 2 8 9 8 7 0
1 2 3 4 5 6 7 8 9 10 12 13
Le programme affiche les valeurs 2, 6
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
Si exécution correcte avec les modules demandés
Sinon Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
18
14
5
4
5
4
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE
D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Vendredi 13 mai 2005 ( Heure : 15h30)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Écrire un programme Pascal intitulé Ecart qui permet de déterminer, pour un tableau T
contenant N éléments de type entier (5<N<20), le(s) couple(s) de valeurs, ayant des indices
distincts et présentant le plus petit écart.
Exemple :
Pour le tableau T suivant:
Le couple (8,10) présente le plus petit écart.
N.B : La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
Si exécution correcte avec les modules demandés
Sinon Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
18
14
5
4
5
4
12 -2 8 5 0 10
1 2 3 4 5 6
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE
D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Samedi 14 mai 2005 ( Heure : 9h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal permettant de saisir deux entiers naturels et d'afficher s'ils sont
premiers entre eux ou non.
a et b sont dits premiers entre eux, si PGCD (a,b) = 1.
Exemple :
Pour a = 7 et b = 4, PGCD (7,4) = 1 donc 7 et 4 sont premiers entre eux.
Indication :
Sachant que PGCD (a, b) = PGCD(b, r), avec r = a mod b.
Tant que le reste r est non nul, on remplace a par b et b par r. Le dernier reste r non nul est alors le
PGCD des deux nombres
Exemple
a b Reste (a mod b)
323 247 76
247 76 19
76 19 0
Donc PGCD(323,247) = 19
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
Si exécution correcte avec les modules demandés
Sinon Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
18
14
5
4
5
4
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION ET
DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE
D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Samedi 14 mai 2005 (Heure : 10h30)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
On propose ci-dessous l'algorithme d'une procédure de tri à bulles :
0) Def Proc TRI_Bulles( Var T:tab; n:entier)
1) Pour i de 1 à n-1 Répéter
Pour j de 1 à n-i Répéter
Si T[j]<T[j+1]
Alors Proc Permut (T[j],T[j+1])
Fin si
Fin Pour
Fin Pour
2) Fin TRI_Bulles
Remarque :
Le module Permut (a,b) permute le contenu de deux entiers a et b.
Questions
1) Dans le dossier bac2005 situé à la racine C : créer un sous-dossier en lui donnant
comme nom le numéro de votre carte d’identité.
2) Ecrire un programme Pascal intitulé Tri permettant de saisir p éléments entiers dans
un tableau V et de faire appel au module TRI_Bulles ci-dessus pour le trier.
3) Sous forme de commentaire, déterminer l'ordre du tri (croissant ou décroissant)
accompli par le programme. Enregistrer le programme sous le nom Tri_V1 dans le
sous-dossier créé précédemment.
4) Dans le cas où le tableau V est déjà trié à la fin de la saisie, les parcours effectués par
le module TRI_Bulles s'avèrent inutiles. En effet, aucune permutation n'aura lieu
au sein de ce module dans ce cas.
Modifier la procédure TRI_Bulles pour tenir compte de cette contrainte et
enregistrer votre travail sous le nom Tri_V2.
N.B : La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Création du sous-dossier et les Sauvegardes 3
2) Ecriture du programme Tri 10
3) Ordre du tri 3
4) Modification de la procédure Tri_Bulles 4
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE
D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Samedi 14 mai 2005 (Heure : 14h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Écrire un programme Pascal intitulé Minimum qui permet d'effectuer sur un tableau T de N
éléments de type entier (5<N<20) les opérations suivantes :
 Saisir deux entiers positifs Ind_i et Ind_j avec (0 < Ind_i < Ind_j ≤ N)
 Déterminer et afficher la valeur minimale (Min) de la partie du tableau T comprise entre les
indices Ind_i et Ind_j.
 Déterminer et afficher tous les multiples de la valeur Min sauf lui-même dans le tableau T.
Exemple :
T 23 11 72 80 15 24 2 48 16
1 2 3 4 5 6 7 8 9
▲ ▲
Ind_i Ind_j
Pour Ind_i = 2, Ind_j = 7
Le programme affichera :
- La valeur Min est : 2
- Les multiples de Min sont : 72 80 24
N.B : La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
Si exécution correcte avec les modules demandés
Sinon Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
18
14
5
4
5
4
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE
D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Samedi 14 mai 2005 ( Heure : 15h30)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
.
Ecrire un programme Pascal intitulé Tri permettant de trier un tableau T de N entiers distincts
(5<N<20) selon le principe suivant :
Pour chaque élément du tableau T :
 Déterminer le nombre d’éléments qui lui sont inférieurs.
 En déduire sa position au sein d'un autre tableau résultat appelé R.
Exemple : Pour un tableau T de 10 éléments :
Quatre valeurs sont inférieures au premier élément du tableau T. Cet élément sera donc
placé à la position 5 du tableau R.
N.B : - Le candidat n'est pas appelé à vérifier que les éléments du tableau T sont distincts.
- La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
Si exécution correcte avec les modules demandés
Sinon Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
18
14
5
4
5
4
6 2 0 5 12 25 13 8 14 3
1 2 3 4 5 6 7 8 9 10
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE
D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Lundi 16 mai 2005 (Heure : 9h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
.
Ecrire un programme Pascal intitulé Insertion permettant d'effectuer, sur un tableau T de N
éléments (5<N<20), les opérations suivantes :
- Saisir N valeurs entières dans le tableau T
- Insérer l'élément d'indice i à la position p. (p et i sont deux entiers distincts à saisir)
Remarque : p peut être supérieur à i ou inversement.
Exemple : Pour le tableau T suivant :
Après l'insertion de l'élément d'indice (i = 4) à la position (p = 7), le tableau T devient :
N.B : La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
Si exécution correcte avec les modules demandés
Sinon Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
18
14
5
4
5
4
6 2 0 5 12 25 13 8 14 3
1 2 3 4 5 6 7 8 9 10
6 2 0 12 25 13 5 8 14 3
1 2 3 4 5 6 7 8 9 10
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE
D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Lundi 16 mai 2005 ( Heure : 10h30)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
L'algorithme suivant est celui d'un programme permettant d'afficher une chaîne de caractères issue
du traitement d'un tableau T de n caractères et un tableau V de n chiffres binaires donnés.
0) Début Chaines
1) Ecrire ("n : ") ; Lire (n);
2) Pour i de 1 à n Répéter
Lire (T[i])
Fin Pour
3) Proc Lecture (V,n)
4) Ecrire (Fn Mot(T,V,n))
5) Fin Chaines
Questions :
1. Traduire cet algorithme en Pascal.
2. Transformer les séquences 1 et 2 en une procédure nommée Saisie et ajouter les contrôles
nécessaires pour que n vérifie la condition 2 ≤ n ≤ 20.
3. Ecrire la procédure Lecture qui permet de saisir n chiffres binaires (0 ou 1) dans un tableau
V.
4. Ecrire la fonction Mot qui permet de retourner une chaîne de caractères formée par la
concaténation des voyelles du tableau T aux quelles correspondent des 1 dans le tableau V.
Exemple : pour les tableaux T et V suivants :
T s K E ; a e i R . u
V 1 0 1 1 1 0 0 1 0 1
Le programme affichera la chaîne "Eau"
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine
C : en lui donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
1) Traduction en Pascal 2
2) Transformation des séquences 1 et 2 en une procédure Saisie avec ajout des contrôles 3
3) Ecriture de la procédure Lecture 4
4) Ecriture de la fonction Mot 4
Syntaxe, structures de données et de contrôle 5
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE
D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Lundi 16 mai 2005 (Heure : 14h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
L'algorithme suivant est celui d'une fonction permettant de retourner la somme d'une partie d'un
tableau T de N réels, délimitée par les indices p1 et p2.
0) Def FN Somme(T : tab ; p1,p2 : entier): entier
1) [S  0]
Pour i de p1 à p2 répéter
S  S + T[i]
2) Somme  S
3) Fin Somme
Questions :
Utiliser la fonction ci-dessus, pour écrire un programme Pascal, permettant de :
 Saisir un tableau V de N entiers (5 ≤ N ≤ 20).
 Afficher l'indice (Ind) de l'élément du tableau dont l'écart entre la somme (S1) des éléments
qui le précédent et celle des éléments qui le succèdent (S2) est minimal.
 Afficher les sommes S1 et S2 correspondantes.
Exemple : Pour le tableau T suivant :
T
11 3 9 24 30 7 4 14 16 21 13 16
1 2 3 4 5 6 7 8 9 10 11 12
Le programme affiche : S1 = 84 , S2 = 80 et ind = 7
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
Si exécution correcte avec les modules demandés
Sinon Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
18
14
5
4
5
4
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Lundi 16 mai 2005 (Heure : 15h30)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Sur les touches (2, 3, 4, 5, 6, 7, 8 et 9) du clavier d'un téléphone portable, sont inscrites des lettres
pour écrire des messages en plus des chiffres.
Par exemple, sur la touche 5 sont inscrites les lettres J, K et L.
- Pour taper la lettre J on appuie une seule fois.
- Pour taper la lettre K on appuie deux fois.
- Pour taper la lettre L on appuie trois fois.
Ecrire un programme Pascal permettant de déterminer et d'afficher le nombre total d'appuies sur les
touches du clavier d'un téléphone portable pour saisir un mot donné de N lettres, supposées non
accentuées, (4 ≤ N ≤ 9).
Indication :
La figure suivante donne la répartition des lettres sur les touches du clavier d'un téléphone portable.
1 2 3
ABC DEF
4 5 6
GHI JKL MNO
7 8 9
PQRS TUV WXYZ
0
* +  #
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
Si exécution correcte avec les modules demandés
Sinon Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
18
14
5
4
5
4
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Mardi 17 mai 2005 (Heure : 9h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Soit la procédure suivante :
Procedure Module (k :integer ; Var T :Tab) ;
Var j, Temp : integer;
Begin
j :=k-1 ;
Temp := T[k] ;
While (j>=1) AND (T[j]> Temp) DO
Begin
T[j+1]:=T[j];
j:=j-1;
End ;
T[j+1] :=temp ;
End ;
Questions :
1. Ecrire un programme Pascal intitulé Traitement, permettant de saisir N entiers dans
le tableau A et d'appeler la procédure Module ci-dessus avec les paramètres effectifs
2 et A.
2. Ecrire sous forme de commentaire le rôle de la procédure Module.
3. Apporter les modifications nécessaires à la procédure Module dans le but d’effectuer
un tri sur un tableau T et en tenir compte au niveau de l'appel de la procédure.
N.B : La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
1) Ecriture du programme traitement 3
2) Rôle de la procédure Module 3
3) Transformation de la procédure Module et son appel 7
Syntaxe, structures de données et de contrôle 5
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE
D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Mardi 17 mai 2005 (Heure : 10h30)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
On se propose d'écrire un programme Pascal permettant de saisir une chaîne de caractères Ch et de
supprimer les parenthèses, si elles existent, ainsi que leurs contenus.
N. B. : On suppose que la chaîne contient au maximum deux parenthèses correctement utilisées
(une ouvrante et une fermante).
Exemple :
Pour une chaîne Ch = "Lire un entier strictement positif (N>0) et l'afficher", le programme
retourne la chaîne "Lire un entier strictement positif et l'afficher "
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
Si exécution correcte avec les modules demandés
Sinon Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
18
14
5
4
5
4
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Mardi 17 mai 2005 (Heure : 14h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
On se propose de simuler le "jeu du nombre mystérieux", qui consiste à trouver un entier naturel
non nul k, générer au hasard par le programme, (k ≤ 100) en un nombre d'essais nb (nb ≤ 5).
A chaque essai, le joueur propose un entier positif p et le programme lui affiche l'un des
messages suivants :
 "proche" ; si l'écart entre p et k est inférieur à 5.
 "Loin" ; si l'écart entre p et k est supérieur ou égal à 5.
 "Bravo vous avez gagné !!" si p = k
Si le nombre d'essais nb est atteint sans trouver le nombre mystérieux k, le programme affichera
alors " Perdu, le nombre cherché est", suivie du nombre k.
Question :
Ecrire un programme Pascal permettant de simuler le jeu dont le principe est ci-dessus
mentionné. Prévoir les contrôles nécessaires pour que le joueur continu à jouer jusqu'à ce qu'il
réponde par "N" ou "n" à la question, "Voulez-vous rejouer (O/N) ?" posée à chaque fin du jeu.
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
Si exécution correcte avec les modules demandés
Sinon Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
18
14
5
4
5
4
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION ET
DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE
D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Mardi 17 mai 2005 (Heure : 15h30)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal intitulé Div_Mult permettant d'accomplir les tâches suivantes :
 Remplir un tableau T par N entiers positifs (5<N<20).
 Pour un élément d'indice p donné, de T, placer dans un autre tableau V :
 tous les diviseurs de l'élément d'indice p sauf lui même, s'ils existent dans le tableau
T, au début d'un tableau V.
 l'élément d'indice p.
 tous les multiples de l'élément d'indice p sauf lui même, s'ils existent dans le tableau
T, à sa droite.
 Remplacer le reste des éléments de V par -1 et l'afficher.
Exemple:
Pour p = 1 et le tableau T suivant :
Le programme affichera le tableau V suivant :
N.B : La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
Si exécution correcte avec les modules demandés
Sinon Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
18
14
5
4
5
4
12 2 0 6 9 48 3 24 10
1 2 3 4 5 6 7 8 9
2 6 3 12 0 48 24 -1 -1
1 2 3 4 5 6 7 8 9
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE
D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Mercredi 18 mai 2005 (Heure : 9h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
L'algorithme suivant est celui d'un programme permettant de lire un entier m (1 ≤m≤100), de
vérifier et d'afficher s'il est parfait ou non.
Rappelons qu'un entier naturel non nul est dit parfait s'il est égal à la somme de ses diviseurs
sauf lui même.
0) Début Parfait
1) Lire (m)
2) S  0
Pour i de 1 à m div 2 Répéter
Si m mod i = 0
Alors S  S + i
Fin Si
Fin Pour
3) Mess  " n'est pas parfait"
Si m = S Alors
Mess  " est parfait"
Fin Si
4) Ecrire (m, Mess)
5) Fin Parfait
Questions :
5. Créer un dossier portant le numéro de votre carte d'identité dans le dossier Bac2005
situé à la racine C:
6. Traduire cet algorithme en Pascal.
7. Transformer la séquence 2 en une fonction intitulée Som_div.
8. Transformer le programme Parfait pour qu'il permette de déterminer et d'afficher
tous les nombres parfaits compris entre 1 et 1000. Sauvegarder le programme sous le
nom Parfait2.
Enregistrer au fur et à mesure votre travail dans le sous-dossier portant comme nom le numéro
de votre carte d’identité que vous l'avez crée dans le dossier Bac2005 situé à la racine C:
Grille d’évaluation :
Questions Nbre de points
1) Création du dossier et Enregistrement 3
2) Traduction en Pascal 5
3) Transformation de la séquence 2 en une fonction 3
4) Transformation du programme 4
Syntaxe, structures de données et de contrôle 5
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Mercredi 18 mai 2005 (Heure : 10h30)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal intitulé Nb_Seq, qui à partir d’un tableau T de N entiers, affiche
toutes les séquences strictement croissantes, de ce tableau, ainsi que leur nombre.
Pour un tableau T de 15 éléments :
Les séquences strictement croissantes sont : (1,2,5),(3,12,25),(13),(8),(4,7,24,28,32),(11,14).
Le nombre de séquences est 6.
N.B : La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
Si exécution correcte avec les modules demandés
Sinon Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
18
14
5
4
5
4
1 2 5 3 12 25 13 8 4 7 24 28 32 11 14
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE
D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Mercredi 18 mai 2005 (Heure : 14h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Le matricule d'un employé dans une entreprise est composée de trois parties définies comme suit:
 Un entier donné de 4 chiffres, représentant le numéro d'ordre de l'employé.
 Un séparateur "-"
 Une clé calculée selon le principe suivant : si le numéro d'ordre de l'employé n'est pas
divisible par 97, la clé sera égale au reste de la division entière de ce numéro d'ordre par 97,
sinon la clé sera égale à 97.
Exemple :
Nom M. Hamdi S. Fourati R. Snoussi M. Seddik
Numéro d'ordre 1574 2570 2619 1854
Le programme affichera les noms et les matricules sous la forme suivante :
M. Hamdi a pour matricule 1574-22
S. Fourati a pour matricule 2570-48
R. Snoussi a pour matricule 2619-97
M. Seddik a pour matricule 1854-11
Question :
Ecrire un programme en Turbo Pascal, permettant de saisir les noms et les numéros d'ordre de N
employés dans deux tableaux Tnoms et Tnum, de remplir un tableau Tmat par les numéros de
matricules des employés et d'afficher les deux tableaux Tnoms et Tmat.
N.B : La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
Si exécution correcte avec les modules demandés
Sinon Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
18
14
5
4
5
4
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Mercredi 18 mai 2005 (Heure : 15h30)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal intitulé Combinaison_Max, permettant :
- de saisir les éléments d'un tableau T de N entiers formés chacun de trois chiffres (5 ≤ N ≤
20)
- de déterminer et d’afficher le plus grand élément du tableau T.
- d'afficher tous les éléments du tableau T dont la permutation des chiffres donne la valeur
maximale déterminée précédemment.
Exemple :
Pour le tableau T suivant :
Max = 432
Les éléments de T dont les chiffres donnent par permutation la valeur maximale sont : 234 et 324.
N.B : La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C :
en lui donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
Si exécution correcte avec les modules demandés
Sinon Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
18
14
5
4
5
4
234 125 120 324 152 120 214 312 432 -110
1 2 3 4 5 6 7 8 9 10
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Jeudi 19 mai 2005 (Heure : 9h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Écrire un programme Pascal intitulé El_Frequent permettant de saisir les éléments d'un
tableau T de N entiers (5≤N≤20) et d’afficher l’élément qui apparaît le plus dans le tableau T,
ainsi que son nombre d’occurrences.
Si plusieurs éléments différents répondent à la condition, le programme doit en fournir le premier.
N.B : La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
Si exécution correcte avec les modules demandés
Sinon Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
18
14
5
4
5
4
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Jeudi 19 mai 2005 (Heure : 10h30)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal intitulé Fac_Prem permettant de déterminer et d'afficher tous les
facteurs premiers d'un entier positif p donné, qui figurent dans un tableau T de N entiers (N est une
constante égale à 10).
Un entier naturel est dit premier s'il n'est divisible que par 1 et par lui-même. Ex : 2, 3, 5, 7, 11,
13, ….
Exemple :
Soit le tableau T suivant :
Pour p = 45 la décomposition en facteurs premiers donne 45 =5 3 3 =5 32
Le programme affichera la valeur suivante : 5 (puisque c'est la seule valeur, issue de la
décomposition en facteurs premiers du nombre 45, qui figure dans le tableau T)
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
Si exécution correcte avec les modules demandés
Sinon Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
18
14
5
4
5
4
12 2 7 2 1 4 9 4 5 1
1 2 3 4 5 6 7 8 9 10
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Jeudi 19 mai 2005 (Heure : 14h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal permettant de déterminer et d'afficher la fréquence de chaque
élément d'un tableau V de N entiers compris entre 0 et 9.
N.B : La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
Si exécution correcte avec les modules demandés
Sinon Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
18
14
5
4
5
4
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE
D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Jeudi 19 mai 2005 (Heure : 15h30)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal intitulé chez_la_fourmi permettant de simuler un jeu entre un
utilisateur et l'ordinateur régi par le principe suivant :
À dix reprises :
 L'utilisateur choisi entre Pair et Impair.
 À tour de rôle, l’ordinateur et l'utilisateur proposent chacun un chiffre compris entre 1 à 5.
 Si la somme des deux chiffres proposés a la même parité que celle choisie par l'utilisateur, ce
dernier marque un point sinon c'est l’ordinateur qui marque un point.
A la fin des dix reprises, si le score de l'utilisateur est supérieur à celui de l'ordinateur, alors
l'utilisateur sera déclaré gagnant, sinon il est perdant.
N.B : - La solution doit comporter au moins deux modules.
- Le candidat peut utiliser la fonction prédéfinie Random pour que l’ordinateur génère un
entier proposé.
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en
lui donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
Si exécution correcte avec les modules demandés
Sinon Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
18
14
5
4
5
4
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE
D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Vendredi 20 mai 2005 (Heure : 9h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal intitulé K_ppe permettant de déterminer et d'afficher le Kième
plus
petit élément (1 ≤ k ≤ N), s'il existe, et l’indice de sa première apparition dans un tableau T de N
entiers (N>=2).
Remarque : Si le Kième
plus petit élément ne figure pas dans le tableau T, le programme doit
afficher le message suivant : "pas de kième petit élément"
Exemple :
Soit le tableau T suivant :
Pour k = 3
Le 3ième
plus petit élément est 4 et l'indice de sa première apparition est 6.
N.B : La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
Si exécution correcte avec les modules demandés
Sinon Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
18
14
5
4
5
4
5 2 7 2 1 4 9 4 1 1
1 2 3 4 5 6 7 8 9 10
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE
D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Vendredi 20 mai 2005 (Heure : 10h30)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal intitulé Mult_Div, permettant de déterminer et d'afficher tous les
diviseurs ainsi de tous les multiples d'un entier p donné, dans une partie d'un tableau T de N
entiers donnés. Cette partie est délimitée par deux indices Ind_inf et Ind_sup.
avec (0 < Ind_inf < Ind_sup ≤ N).
Exemple :
T 25 32 43 4 32 72 80 15 24 2 48 56 10 14
1 2 3 4 5 6 7 8 9 10 11 12 13 14
▲ ▲
Ind_inf Ind_sup
Pour Ind_inf = 3, Ind_sup = 11 et p = 8
Le programme affichera :
- Les diviseurs de 8 sont : 4 2
- Les multiples de 8 sont : 32 72 80 24 48
N. B. : La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C :
en lui donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
Si exécution correcte avec les modules demandés
Sinon Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
18
14
5
4
5
4
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION ET
DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE
D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Vendredi 20 mai 2005 (Heure : 14h)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
L'une des méthodes de calcul du Plus Petit Commun Multiple (PPCM) de deux entiers positifs a et
b, tel que a>b est de trouver le plus petit multiple de a qui est aussi multiple de b.
Ecrire un programme Pascal qui saisie deux entiers positifs non nuls a et b avec a>b, détermine et
affiche leur PPCM.
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
Si exécution correcte avec les modules demandés
Sinon Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
18
14
5
4
5
4
Bac Informatique Pratique 2005
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION
ET DE LA FORMATION
***
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
EXAMEN DU BACCALAUREAT
SESSION 2005
DATE : Vendredi 20 mai 2005 (Heure : 15h30)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal, permettant de saisir un entier N de trois chiffres non nuls, de
déterminer et d'afficher tous les nombres qui peuvent être formés par les chiffres de N, ainsi que le
plus petit et le plus grand de ces nombres.
Exemple : Pour N= 427 :
 Les nombres formés par les chiffres de N sont : 427, 472, 724, 742, 247, 274
 Le plus petit nombre est 247
 Le plus grand nombre est 742
N.B :
La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2005 2
Si exécution correcte avec les modules demandés
Sinon Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données relatives au problème
Structures de contrôles relatives au problème
Modularité
18
14
5
4
5
4
Bac Informatique Pratique 2006
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION ET
DE LA FORMATION
***
EXAMEN DU BACCALAUREAT
SESSION 2006
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
DATE : Lundi 22 mai 2006 ( 9 h )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Soit l'algorithme suivant :
0) Début Nombres
1) Lire (n)
2) Si FN Verif(n) Alors
Ecrire (n, " est valable")
Finsi
3) Fin Nombres
L'algorithme ci-dessus permet de saisir un entier positif n formé de quatre chiffres et de l’afficher
avec la mention " est valable", s’il vérifie la condition suivante : le chiffre des milliers, qui ne doit
pas être nul, est suivi par ses multiples.
Exemple :
n = 2888 8 est un multiple de 2
n = 3696 6 et 9 sont des multiples de 3
n = 1541 5,4 et 1 sont des multiples de 1
Questions :
1. Traduire l'algorithme Nombres en Pascal.
2. Transformer la séquence 1) en une procédure Saisie en ajoutant les contrôles
nécessaires et en tenir compte dans le programme principal.
3. Ecrire la fonction Verif permettant de vérifier si le premier chiffre du nombre n est suivi
effectivement par ses multiples ou non.
Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C: en lui
donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2006 2
1. Traduction en Pascal
2. Transformation de la séquence 1) en une procédure Saisie
3. Ajout des contrôles de la procédure Saisie
4. Appel de la procédure Saisie
5. Ecriture de la fonction Verif
5
4
2
2
5
Bac Informatique Pratique 2006
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION ET
DE LA FORMATION
***
EXAMEN DU BACCALAUREAT
SESSION 2006
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
DATE : Lundi 22 mai 2006 (10h 30mn)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Deux entiers N1 et N2 sont dits frères si chaque chiffre de N1 apparaît au moins une fois dans N2 et
inversement.
Ecrire un programme Pascal qui saisit deux entiers N1 et N2, vérifie et affiche s’ils sont frères ou
non.
Exemples :
- Si N1 = 1164 et N2 = 614 alors le programme affichera : N1 et N2 sont frères
- Si N1 = 905 et N2 = 9059 alors le programme affichera : N1 et N2 sont frères
- Si N1 = 405 et N2 = 554 alors le programme affichera : N1 et N2 ne sont pas frères
N.B : La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C: en
lui donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2006 2
Si programme fonctionnel avec modules Alors
Sinon
Si programme fonctionnel sans modules Alors
Sinon
Vocabulaire et syntaxe Structures de données adéquates
Structures de contrôle adéquates
Modularité
18
14
5
4
5
4
Bac Informatique Pratique 2006
FENNI Salah
Bit Modem Ecran Souris Processeur Mémoire
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION ET
DE LA FORMATION
***
EXAMEN DU BACCALAUREAT
SESSION 2006
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
DATE : Lundi 22 mai 2006 ( 14 h )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal intitulé TRIANGLE qui permet :
- de remplir un tableau T de n chaînes de caractères (2<n<20). Chaque chaîne doit avoir
un nombre de caractères supérieur ou égal à son indice dans le tableau.
- d’afficher pour chaque élément T[i] du tableau, les i premiers caractères de la chaîne.
Exemple : Soit T un tableau de 6 chaînes de caractères.
T
1 2 3 4 5 6
Le programme affichera :
B
Mo
Ecr
Sour
Proce
Mémoir
N.B : La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C: en
lui donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2006 2
Si programme fonctionnel avec modules Alors
Sinon
Si programme fonctionnel sans modules Alors
Sinon
Vocabulaire et syntaxe
Structures de données adéquates
Structures de contrôle adéquates
Modularité
18
14
5
4
5
4
Bac Informatique Pratique 2006
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION ET
DE LA FORMATION
***
EXAMEN DU BACCALAUREAT
SESSION 2006
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
DATE : Lundi 22 mai 2006 (15h 30mn)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal qui permet de saisir n entiers à mettre dans un tableau T
(10<n<40) et deux entiers non nuls p et s. Puis d'afficher les éléments du tableau T.
p et s doivent être deux éléments de T. On demande d’afficher tous les blocs d’éléments de
T placés entre p et s dans l’ordre. p et s peuvent figurer dans cet ordre plusieurs fois dans T.
Exemple : Si p = 5 et s = 3
et si on donne le tableau T suivant :
7 5 0 3 9 1 5 6 3
Alors le résultat de l'affichage sera : 0 6
N.B : La solution doit comporter aux moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C:
en lui donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Question Nbre de points
Enregistrement dans bac2006 2
Si exécution correcte avec les modules demandés
Sinon
Si exécution correcte sans modules
Sinon
Syntaxe et vocabulaire
Structures de données adéquates
Structures de contrôles adéquates
Modularité
18
14
5
4
5
4
Bac Informatique Pratique 2006
FENNI Salah
B A B C B A C B A
1 2 3 4 5 6 7 8 9
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION ET
DE LA FORMATION
***
EXAMEN DU BACCALAUREAT
SESSION 2006
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
DATE : Mardi 23 mai 2006 ( 9 h )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Soit un tableau T de n caractères (5≤n<Nmax) qui ne peuvent être que "A", "B" ou "C" et tels que
deux éléments successifs du tableau ne sont pas égaux. (Nmax est une constante de valeur 15).
On se propose d’insérer un caractère donné Car dans la première position possible dans le tableau
T en respectant la règle ci-dessus mentionnée puis d’afficher le tableau T dans son nouvel état
(après insertion).
N. B :
- Car ne peut être que "A", "B" ou "C" et ne peut être inséré ni à la première ni à la dernière
position
du tableau.
- On suppose que l’insertion d’un nouveau élément est possible en effet n < Nmax.
Exemple :
T à l'état initial T après l'insertion d'un caractère Car = "B"
B A B C A C B A
1 2 3 4 5 6 7 8
Par la suite on donne l'algorithme suivant :
0) Début Insertion
1) Ecrire ("Donner un entier n avec 5≤n<Nmax") ; Lire (n)
Pour i de 1 à n Répéter
Ecrire ("Donner une lettre A ou B ou C ") ;
Lire (T[i])
Fin pour
2) Proc Insert_Car(Car,T,n)
3) Proc Affiche(n,T)
4) Fin Insertion
Questions :
1. Traduire en Pascal l'algorithme Insertion ci-dessus.
2. Transformer la séquence 1) en une procédure Saisie, ajouter les conditions nécessaires pour la
lecture de n ainsi que des éléments de T et en tenir compte dans le programme principal.
3. Ecrire la procédure Insert_Car permettant d'insérer un caractère Car dans le tableau T, tout en
respectant les conditions mentionnées ci-dessus.
4. Ecrire la procédure Affiche permettant d'afficher les éléments de T après insertion de Car.
Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C: en
lui donnant comme nom le numéro de votre carte d’identité.
Bac Informatique Pratique 2006
FENNI Salah
Ali Ali Salem Amal Eya Mohamed Amal Salem Salem Aziz
Ali Salem Amal Eya Mohamed Aziz
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION ET
DE LA FORMATION
***
EXAMEN DU BACCALAUREAT
SESSION 2006
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
DATE : Mardi 23 mai 2006 (10h 30mn)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
On se propose d'écrire un programme Pascal permettant :
a) de saisir un tableau T de N chaînes de caractères non vides composées chacune d’un
maximum de cinq caractères (N est une constante de valeur 10).
b) de garder la première occurrence pour les éléments redondants (qui apparaissent plus
qu'une fois) et de remplacer toutes les autres occurrences par des chaînes vides.
c) d'afficher les chaînes non vides restantes du tableau T.
Exemple : T initial
T final
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
Par la suite on propose l'algorithme suivant :
0) Début Non_Redondance
1) Pour i de 1 à N Répéter
Lire (T[i])
Fin pour
2) Proc Remplace(N,T)
3) Proc Affiche(N,T)
4) Fin Non_Redondance
Questions :
1. Traduire en Pascal l'algorithme Non_Redondance ci-dessus.
2. Transformer la séquence 1) en une procédure Saisie et y ajouter les contrôles nécessaires pour la
saisie des éléments du tableau T.
3. Ecrire la procédure Remplace permettant de réaliser le traitement b) ci-dessus mentionné.
4. Ecrire la procédure Affiche permettant d'afficher les éléments non redondants du tableau T.
Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C: en
lui donnant comme nom le numéro de votre carte d’identité.
Bac Informatique Pratique 2006
FENNI Salah
424 715 133 121 454 616 566
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION ET
DE LA FORMATION
***
EXAMEN DU BACCALAUREAT
SESSION 2006
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
DATE : Mardi 23 mai 2006 ( 14 h )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
On se propose d'écrire un programme Pascal permettant de saisir les éléments d'un tableau T de N
entiers de trois chiffres chacun (N est une constante) puis de chercher et d'afficher les nombres
symétriques de ce tableau T.
Exemple :
Pour N = 7 et T
1 2 3 4 5 6 7
Le programme affichera : Les nombres symétriques de T sont : 424, 121, 454 et 616
On propose l'algorithme suivant :
0)Début Symetrique
1)Proc Saisie (T)
2)Ecrire ("Les nombres symétriques de T sont : ")
3)Pour i de 1 à N Répéter
Si FN Verif (T[i]) alors
Ecrire (T[i] : 4)
FinSi
Fin Pour
4)Fin Symetrique
Questions :
1. Traduire cet algorithme en Pascal.
2. Ecrire la procédure Saisie permettant de remplir un tableau V par p entiers à trois chiffres.
3. Transformer la séquence 3) en une procédure Affiche et en tenir compte dans le programme
principal.
4. Ecrire la fonction Verif permettant de vérifier si un entier m de trois chiffres est
symétrique ou non.
Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C: en
lui donnant comme nom le numéro de votre carte d’identité.
Bac Informatique Pratique 2006
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION ET
DE LA FORMATION
***
EXAMEN DU BACCALAUREAT
SESSION 2006
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
DATE : Mardi 23 mai 2006 (15h 30mn)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
On se propose d'écrire un programme Pascal permettant de remplir deux tableaux T1 et T2 de N
entiers à deux chiffres chacun (2 ≤N≤15) puis de former un tableau T tel que un élément T[i] est le
résultat de la fusion des deux éléments T1[i] et T2[i] selon le principe suivant :
- Insérer le chiffre des dizaines du plus petit nombre parmi T1[i] et T2[i], entre les deux
chiffres du plus grand nombre parmi T1[i] et T2[i].
- Mettre le chiffre des unités du plus petit nombre parmi T1[i] et T2[i], à droite du nombre
obtenu.
Exemples : - Pour T1[i] = 52 et T2[i] = 36 , T[i] sera égal à 5326
- Pour T1[i] = 13 et T2[i] = 47 , T[i] sera égal à 4173
On propose l'algorithme suivant :
0)Début Trait_Tab
1)Répéter
Ecrire("donner un entier N ");Lire (N) Jusqu'à N dans [2..15]
2)Proc Saisie (N,T1,)
3)Proc Saisie (N,T2)
4)Proc Fusion (N,T1, T2, T);
5)Pour i de 1 à N Répéter
Ecrire (T[i]) Fin Pour
6)Fin Trait_Tab
Questions :
1. Traduire cet algorithme en Pascal.
2. Ecrire la procédure Saisie permettant de remplir, d'une façon aléatoire et automatique, un
tableau T par P entiers à deux chiffres.
3. Ecrire la procédure Fusion permettant de remplir un tableau F, à partir de deux tableaux V1 et
V2 de P éléments chacun, selon le principe ci-dessus.
Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C: en
lui donnant comme nom le numéro de votre carte d’identité.
Bac Informatique Pratique 2006
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION ET
DE LA FORMATION
***
EXAMEN DU BACCALAUREAT
SESSION 2006
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
DATE : Mercredi 24 mai 2006 ( 9 h )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
L'algorithme suivant est celui d'un programme permettant de déterminer et d'afficher si les éléments
d'un tableau T de n entiers constituent ou non une suite géométrique.
0)Début Suite
1)Répéter
Ecrire("donner un entier N ");Lire (n) Jusqu'à n dans [2..15]
2)Pour i de 1 à n Répéter
Répéter
Ecrire ("T[",i,"] :") Lire (T[i])
Jusqu'à (T[i] > 0) et (T[i] < 100) Fin Pour
3)Si FN Geometrique (n,T)
Alors Ecrire("C'est une progression Géométrique")
Sinon Ecrire("Ce n'est pas une suite Géométrique")
Fin Si
4)Fin Suite
Questions:
1. Traduire cet algorithme en Pascal.
2. Transformer la séquence 2) en une procédure Lecture en remplaçant sa boucle Répéter
… Jusqu'à par la fonction prédéfinie Random avec des bons paramètres, et en tenir
compte dans le programme principal.
3. Ecrire la fonction Geometrique, de type booléen, permettant de vérifier si les éléments du
tableau T forment ou non une suite géométrique.
N. B : Une suite U est dite géométrique si et seulement si il existe un réel q tel que pour tout entier
n
on a : Un = q * Un-1
Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C: en
lui donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2006 2
1. Traduction en Pascal
2. Transformation la séquence 2) en procédure Lecture
3. Remplacement de Répéter … Jusqu'à par Randon
4. Appel de la procédure Lecture
5. Ecriture de la fonction Geometrique
6
2
3
1
6
Bac Informatique Pratique 2006
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION ET
DE LA FORMATION
***
EXAMEN DU BACCALAUREAT
SESSION 2006
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
DATE : Mercredi 24 mai 2006 (10h 30mn)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
L'algorithme suivant est celui d’un programme permettant de déterminer et d'afficher si les
éléments d'un tableau T de n entiers constituent ou non une suite arithmétique.
0)Début Suite
1)Répéter
Ecrire("donner un entier n ");Lire (n) Jusqu'à n dans [2..15]
2)Pour i de 1 à n Répéter
Ecrire ("T[",i,"] : ");Lire (T[i]) Fin Pour
3)test FN Verif (n,T)
4)Proc Affiche(test)
5)Fin Suite
Questions:
1. Traduire cet algorithme en Pascal.
2. Transformer la séquence 2) en une procédure Lecture et en tenir compte dans le
programme principal.
3. Ecrire la fonction Verif, de type booléen, permettant de vérifier si les éléments du
tableau T forment ou non une suite arithmétique.
4. Ecrire une procédure Affiche permettant d'afficher un message indiquant si les
éléments du tableau T forment ou non une suite arithmétique.
N. B : Une suite U est dite arithmétique si et seulement si il existe un réel r tel que pour tout entier n
on a : Un = Un-1 + r
Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C: en
lui donnant comme nom le numéro de votre carte d’identité.
Bac Informatique Pratique 2006
FENNI Salah
Bus Clavier Ecran Mémoire
Bus Clavier Ecran Mémoire
Bus Clavier Ecran Mémoire
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION ET
DE LA FORMATION
***
EXAMEN DU BACCALAUREAT
SESSION 2006
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
DATE : Mercredi 24 mai 2006 ( 14 h )
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Soit l'algorithme de la procédure Trait suivante :
0)Def Proc Trait (i,N : entier ; var T : Tab)
1)j  i+1
2)Tant que (j ≤ N) et (T[j] ="") répéter
j  j+1
Fin Tant que
3)T[i]  T[j]
4)T[j]  ""
5)Fin Trait
Questions :
1. Ecrire un programme permettant de saisir les éléments d'un tableau T de N chaînes
de caractères qui peuvent être vides (2≤N≤20) puis d’utiliser la procédure Trait pour
tasser les éléments de ce tableau selon le principe suivant :
a) Rechercher la première case vide Cv du tableau T.
b) Chercher à partir de cette case Cv, la première case non vide Nv du tableau T.
c) Déplacer le contenu de Nv dans la case Cv puis écraser le contenu de Nv par une
chaîne vide.
d) Refaire les étapes a), b) et c) jusqu'à décaler toutes les chaînes non vides au début du
tableau T.
2. Ecrire, sous forme de commentaire juste avant son appel dans le programme principal, le
rôle de la procédure Trait.
Exemple : Pour T :T
T devient d'abord :
T
1 2 3 4 5 6
1 2 3 4 5 6
et à la fin on obtient :
T
1 2 3 4 5 6
N.B : La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C: en
lui donnant comme nom le numéro de votre carte d’identité.
Bac Informatique Pratique 2006
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION ET
DE LA FORMATION
***
EXAMEN DU BACCALAUREAT
SESSION 2006
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
DATE : Mercredi 24 mai 2006 (15h 30mn)
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
L'algorithme ci-dessous est celui d'un programme permettant de saisir un entier n
(1≤n≤100) et de déterminer combien de fois il est divisible par 2.
0)Début Divisibles
1)Ecrire ("Donner un entier dans [1,100]")
Lire (n)
2)Ecrire (n, " est divisible ", Fn Nb_Divis2(n), " par 2")
3)Fin Divisibles
Exemples :
11 est divisible 0 fois par 2
4 est divisible 2 fois par 2
8 est divisible 3 fois par 2
Questions:
1. Traduire cet algorithme en Pascal
2. Transformer la séquence 1) en une procédure Saisie, ajouter les contrôles nécessaires sur la
saisie de n et en tenir compte dans le programme principal.
3. Ecrire la fonction Nb_Divis2, permettant de retourner le nombre de fois où n est
divisible par 2.
Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C:
en lui donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2006 3
1. Traduction en Pascal
2. Transformation de la séquence 1 en procédure Saisie
3. Ajout des contrôles sur la saisie
4. Appel de la procédure Saisie
5. Ecriture de la fonction Nb_Divis2
5
4
2
2
4
Bac Informatique Pratique 2006
FENNI Salah
REPUBLIQUE TUNISIENNE
MINISTERE DE L’EDUCATION ET
DE LA FORMATION
***
EXAMEN DU BACCALAUREAT
SESSION 2006
Sections : Math. + Tech. + Sc.Exp.
EPREUVE PRATIQUE D’INFORMATIQUE
DATE : mai 2006
DUREE : 1 h – COEFFICIENT : 0.5
Sujet : Programmation en Pascal
Ecrire un programme Pascal qui permet :
- de saisir une chaîne de caractères CH.
- de saisir un entier positif n inférieur ou égal à la longueur de la chaîne CH.
- d’afficher toutes les séquences de taille n dans la chaîne CH.
Exemple :
Si la chaîne CH est "pascal" et si n=3 alors le programme affichera les séquences suivantes :
"pas" "asc" "sca" "cal"
N.B : La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C: en
lui donnant comme nom le numéro de votre carte d’identité.
Grille d’évaluation :
Questions Nbre de points
Enregistrement dans bac2006 2
Si programme fonctionnel avec modules Alors
Sinon
Si programme fonctionnel sans modules Alors
Sinon
Vocabulaire et syntaxe Structures de données adéquates Structures de
contrôle adéquates Modularité
18
14
5
4
5
4
Bac Informatique Pratique 2007
FENNI Salah
Sujet: Programmation en Pascal
Soit l'algorithme du programme principal suivant:
0) Début Traitement-Tab
1) Répéter
Ecrire(" Donner le nombre d'éléments: ") ; Lire(N)
Jusqu'à N dans [2..20]
2) Proc Remplir (N,T)
3) Pour i de 1 à (N div 2) Répéter
Aux ←T [i]
T [i] ←T [N-i+1]
T [N-i+l] ←Aux
Fin Pour
4) Fin Traitement-Tab
Questions:
1. Traduire l'algorithme ci-dessus en Pascal.
2. Ecrire la procédure Remplir permettant de remplir, dune manière automatique et aléatoire, un tableau V
par p chiffres décimaux (de 0 à 9), avec (2≤p≤20).
3. Transformer la séquence 3) en une procédure Traitement et en tenir compte dans le programme principal.
4. Afficher les éléments du tableau T avant et après le traitement.
5. Ecrire, sous forme de commentaire, le rôle de la procédure Traitement, juste avant son appel dans le
programme principal.
Enregistrer au fur et à mesure votre programme dans le dossier bac2007 situé à la racine C: en lui donnant
comme nom le numéro de votre carte d'identité.
REPUBLIQUE TUNISIENNE MINISTERE DE
L’EDUCATION Sections: Math. + Tech. + Sc.Exp.
ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE
*** EXAMEN DU BACCALAUREAT
SESSION 2007
DATE : 21 mai 2007 (9h)
DUREE: 1 h COEFFICIENT: 0.5
Bac Informatique Pratique 2007
FENNI Salah
Sujet: Programmation en Pascal
Pour chercher le chiffre de chance d'une personne, on procède comme suit: on additionne les chiffres
composants la date de naissance de la personne concernée. Au nombre obtenu, on refait le même procédé
jusqu'à ce qu'on obtienne un nombre composé d'un seul chiffre. Ce nombre est le chiffre de chance.
Exemple Soit la date de naissance suivante "29/09/1999"
 On additionne les chiffres de la date de naissance: 2+9+0+9+1+9+9+9= 48
 48 est composé de deux chiffres, on refait le même traitement: 4 + 8 = 12
 12 est composé de deux chiffres, on refait le même traitement: 1 + 2= 3
 3 est composé d'un seul chiffre et c'est le chiffre de chance recherché.
Question:
Ecrire un programme Pascal permettant de saisir la date de naissance d'une personne sous la forme d'une
"jj/mm/aaaa" (aucun contrôle ne sera effectué) puis d'appliquer la méthode citée ci-dessus et d'afficher le
chiffre de chance trouvé.
N.B: La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2007 situé à la racine C: en lui
donnant comme nom le numéro de votre carte d'identité.
REPUBLIQUE TUNISIENNE MINISTERE DE
L’EDUCATION Sections: Math. + Tech. + Sc.Exp.
ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE
*** EXAMEN DU BACCALAUREAT
SESSION 2007
DATE : 21 mai 2007 (10h30)
DUREE: 1 h COEFFICIENT: 0.5
Bac Informatique Pratique 2007
FENNI Salah
Sujet: Programmation en Pascal
Un "tautogramme" est une chaîne dont chacun de ses mots commence par la même lettre (sans distinction
entre majuscule et minuscule).
Exemple : la chaîne "Le lion lape le lait lentement" est un "tautogramme"
Question
Ecrire un programme Pascal, permettant de saisir une chaîne de caractères composée uniquement de lettres et
d'espaces (on suppose que deux mots consécutifs sont séparés par un seul espace) ; puis d’afficher un
message indiquant si cette chaîne est « tautogramme » ou non.
Remarque : Lors de la saisie de la chaîne, on pourra utiliser la fonction lettre_esp dont l’algorithme est le
suivant :
function lettre_esp (ch:string) :boolean;
Var
i : integer;
test: boolean;
begin
i:=l;
test:=true;
while (i<=length(ch) and test do
if upcase (ch[i]) in [‘A’..’Z’, ‘ ‘]
then i:=i+l
else test :=false ;
lettre_esp:=test
end;
Enregistrer au fur et à mesure votre programme dans le dossier bac2007 situé à la racine C: en lui donnant
comme nom le numéro de votre carte d'identité.
REPUBLIQUE TUNISIENNE MINISTERE DE
L’EDUCATION Sections: Math. + Tech. + Sc.Exp.
ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE
*** EXAMEN DU BACCALAUREAT
SESSION 2007
DATE : 21 mai 2007 (14h)
DUREE: 1 h COEFFICIENT: 0.5
Représente le
caractère espace
Bac Informatique Pratique 2007
FENNI Salah
Sujet: Programmation en Pascal
Un "totalogramme" est une chaîne dont chacun de ses mots commence et se termine par la même lettre.
Exemple : La chaîne "ALLALA EMPRUNTE TEMPORAIREMENT A DAOUD SES SOULIERS" est un
"totalogramme" :
Question
Ecrire un programme Pascal qui permet de saisir une chaîne de caractères composée uniquement de lettres
majuscules et d'espaces (on suppose que deux mots consécutifs sont séparés par un seul espace); puis
d’afficher un message indiquant si cette chaîne est "totalogramme" ou non.
Remarque: On pourra utiliser la fonction suivante lors de la saisie de la chaîne.
function lettre_maj_esp (ch:string) :boolean;
Var
i : integer;
test: boolean;
begin
i:=l;
test:=true;
while (i<=length(ch) and test do
if ch[i] in [‘A’..’Z’, ‘ ‘]
then i:=i+l
else test :=false ;
lettre_maj_esp:=test
end;
Enregistrer au fur et à mesure votre programme dans le dossier bac2007 situé à la racine C: en lui donnant
comme nom le numéro de votre carte d'identité.
REPUBLIQUE TUNISIENNE MINISTERE DE
L’EDUCATION Sections: Math. + Tech. + Sc.Exp.
ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE
*** EXAMEN DU BACCALAUREAT
SESSION 2007
DATE : 21 mai 2007 (15h30)
DUREE: 1 h COEFFICIENT: 0.5
Représente le
caractère espace
Bac Informatique Pratique 2007
FENNI Salah
Sujet: Programmation en Pascal
Soit l'algorithme du programme principal suivant:
0) Début entiers_manquants
1) Répéter
Ecrire ("Donner le nombre d'éléments N, 2≤N≤20 ") ;Lire(N)
Jusqu'à N Dans [2..20]
2) Ecrire("T[l] :"); Lire(T[l])
Pour i de 2 à N faire
Répéter
Ecrire("T[", i,"] :"); Lire(T[i])
Jusqu'à T[i] ≥T[i-l]
Fin Pour
3) Proc Manque(N,T)
4) Fin entiers_manquants
L'algorithme ci-dessus est celui d'un programme permettant de saisir, dans un tableau T, N entiers positifs
triés dans l'afficher les entiers manquants entre le premier et le dernier élément de ce tableau T ainsi que leur
nombre.
Exemple : Si N = 7 et si T est le tableau suivant
T 5 6 8 9 10 12 15
i 1 2 3 4 5 6 7
Le programme affichera : Les entiers manquants sont : 7 11 13 14 ; leur nombre est : 4
Questions:
1. Traduire cet algorithme en Pascal
2. Ecrire, sous forme de commentaire, le rôle de la séquence 2)
3. Transformer les deux séquences 1) et 2) en une procédure Saisie, ajouter les contrôles nécessaires
pour que tous les éléments du tableau T soient positifs et en tenir compte dans le programme
principal
4. Ecrire la procédure Manque, permettant de déterminer et d’afficher les entiers manquants entre les
entiers manquants entre le premier et le dernier élément du tableau T ainsi que leur nombre.
Enregistrer au fur et à mesure votre programme dans le dossier bac2007 situé à la racine C: en lui donnant
comme nom le numéro de votre carte d'identité.
REPUBLIQUE TUNISIENNE MINISTERE DE
L’EDUCATION Sections: Math. + Tech. + Sc.Exp.
ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE
*** EXAMEN DU BACCALAUREAT
SESSION 2007
DATE : 22 mai 2007 (9h)
DUREE: 1 h COEFFICIENT: 0.5
Bac Informatique Pratique 2007
FENNI Salah
Sujet: Programmation en Pascal
Soit l'algorithme du programme principal suivant:
0) Début Liste9
1) Ecrire ("Donner un entier de deux chiffres distincts ");Lire(N)
2) Répéter
N ← Absolue(N - Fn Echanger(N))
Ecrire(N)
Jusqu'à N = 9
3) Fin Liste9
N.B : chiffres distincts.
L'algorithme ci-dessus est celui d'un programme permettant de déterminer et d'afficher la liste des nombres
générés, à partir d'un entier N donné formé de deux chiffres distincts, selon le principe de l'exemple suivant:
Exemple : Si N = 19
1. Permuter les chiffres de N, on obtient 91.
2. Calculer la valeur absolue de la différence entre 91 et 19 pour générer le nombre 72; (72 = 91-19)
3. Répéter les deux étapes précédentes avec le nombre 72 pour générer le nombre 45 ; (45 = 72 -27)
4. Refaire le même travail avec chacun des nombres générés jusqu'à obtenir un dernier nombre égal à 9.
Questions:
1. Traduire cet algorithme en Pascal.
2. Transformer la séquence 1) en une procédure Lecture et y ajouter les contrôles nécessaires pour que
N soit composé de deux chiffres distincts et en tenir compte dans le programme principal.
3. Ecrire la fonction Echanger permettant de permuter les deux chiffres de N.
4. Ajouter, dans le programme principal, une instruction permettant d'afficher à chaque fois le nombre
généré.
Enregistrer au fur et à mesure votre programme dans le dossier bac2007 situé à la racine C: en lui donnant
comme nom le numéro de votre carte d'identité.
REPUBLIQUE TUNISIENNE MINISTERE DE
L’EDUCATION Sections: Math. + Tech. + Sc.Exp.
ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE
*** EXAMEN DU BACCALAUREAT
SESSION 2007
DATE : 22 mai 2007 (10h30)
DUREE: 1 h COEFFICIENT: 0.5
Bac Informatique Pratique 2007
FENNI Salah
Sujet: Programmation en Pascal
Soit l'algorithme du programme principal suivant:
0) Début Apparition
1) Répéter
Ecrire ("Saisir un mot: ") ;Lire (M)
Test ← vrai
i ← 0
L ← Longueur (M)
Tant que (Test et i< L) faire
i ←i+1
test ← Majuscule(M[i]) dans ["A". ."Z"]
Fin Tant que
Jusqu'à Test
2) Ecrire("Saisir une phrase: ") ; lire (ph)
3) M← FN Majus (M)
4) ph←FN Majus (ph)
5) Ecrire("Le nombre d'apparitions est ",FN Freq(M,ph));
6) Fin Apparition
L'algorithme ci-dessus est celui d'un programme permettant de saisir un mot (M), formé uniquement de
lettres, et une phrase quelconque (ph), puis de déterminer le nombre d'apparitions du mot saisi (majuscule ou
minuscule) dans la phrase.
Exemple:
Si le mot saisi est " bon" et si la phrase saisie est "Bonjour! Ce bonbon est très bon, on va acheter une bonne
quantité" alors le programme affichera: Le nombre d'apparitions est 5
Questions:
1. Traduire cet algorithme en Pascal et l'enregistrer.
2. Transformer les deux séquences 1) et 2) en une procédure Saisie et en tenir compte dans le
3. Ecrire la fonction Majus permettant de convertir une chaîne donnée en majuscule.
4. Ecrire la fonction Freq permettant de déterminer le nombre d'apparitions du mot (M) dans la phrase (ph).
Enregistrer au fur et à mesure votre programme dans le dossier bac2007 situé à la racine C: en lui donnant
comme nom le numéro de votre carte d'identité.
REPUBLIQUE TUNISIENNE MINISTERE DE
L’EDUCATION Sections: Math. + Tech. + Sc.Exp.
ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE
*** EXAMEN DU BACCALAUREAT
SESSION 2007
DATE : 22 mai 2007 (14h)
DUREE: 1 h COEFFICIENT: 0.5
Bac Informatique Pratique 2007
FENNI Salah
Sujet: Programmation en Pascal
Soit l'algorithme du programme principal suivant:
0) Début Apparition
1) Ecrire("Saisir une chaîne: ") ; lire (Ch)
2) Ecrire("Donner deux entiers d et f : "); lire(d,f)
3) Ecrire("Le nombre d'occurrences est: ",FN Occurence(Ch,d,f))
4) Fin Apparition
L'algorithme ci-dessus est celui d’un programme permettant de saisir une chaîne de caractères Ch et de
saisir deux entiers positifs d et f avec (d < f < Longueur (Ch)) et (f-d < longueur(Ch)) puis de déterminer et
d'afficher le nombre d'occurrences de la sous-chaîne SCh, formée par la suite des caractères de l'indice d à
l'indice f dans CH.
Exemple :
Si Ch est: "Certains produits de lessives sont utiles pour laver les vêtements très sales"
et si les deux bornes sont: d=22 et f=24 alors on aura SCh = "les" et le programme affichera: Le nombre
d'occurrences est 4
Questions:
1. Traduire l’algorithme Apparition en Pascal et l'enregistrer.
2. Transformer les deux séquences 1) et 2) en une procédure Saisie et en tenir compte dans le
programme principal, tout ajoutant les conditions nécessaires pour que d et f respectent les
conditions mentionnées.
3. Ecrire la fonction Occurrence permettant de déterminer le nombre d'occurrences, dans la chaîne Ch,
de la sous-chaîne SCh formée par la suite des caractères de l'indice d à l'indice f.
Enregistrer au fur et à mesure votre programme dans le dossier bac2007 situé à la racine C: en lui donnant
comme nom le numéro de votre carte d'identité.
REPUBLIQUE TUNISIENNE MINISTERE DE
L’EDUCATION Sections: Math. + Tech. + Sc.Exp.
ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE
*** EXAMEN DU BACCALAUREAT
SESSION 2007
DATE : 22 mai 2007 (15h30)
DUREE: 1 h COEFFICIENT: 0.5
Bac Informatique Pratique 2007
FENNI Salah
Sujet: Programmation en Pascal
Soit l'algorithme du programme principal suivant:
0) Début Traitement
1) Ecrire(" Donner le nombre d'éléments du tableau ") ; Lire(N)
2) Pour i de 1 à N Répéter
Ecrire("T[" , i , " ] : ")
Lire (T [i])
Fin pour
3) Proc Decale (N, T)
4) Proc Affiche (N, T)
5) Fin Traitement
L'algorithme ci-dessus est celui d'un programme permettant:
- de saisir un tableau T de N chaînes avec (2 ≤ N ≤ 15)
- de décaler toutes les chaînes non vides au début du tableau en gardant leur ordre
- d'afficher les chaînes non vides du tableau T.
Exemple: Soit N = 7 et soit le tableau T suivant:
T Souris Clavier Ecran Disquette Scanner
1 2 3 4 5 6 7
Après traitement, le tableau T devient:
T Souris Clavier Ecran Disquette Scanner
1 2 3 4 5 6 7
Questions:
1. Traduire en Pascal l'algorithme Traitement ci-dessus.
2. Transformer les séquences 1) et 2) en une procédure Lecture et y ajouter les contrôles nécessaires
pour la saisie de N.
3. Ecrire la procédure Decale permettant de décaler toutes les chaînes non vides au début du tableau T
en gardant leur ordre.
4. Ecrire la procédure Affiche permettant d'afficher les chaînes non vides du tableau T.
Enregistrer au fur et à mesure votre programme dans le dossier bac2007 situé à la racine C: en lui donnant
comme nom le numéro de votre carte d'identité.
REPUBLIQUE TUNISIENNE MINISTERE DE
L’EDUCATION Sections: Math. + Tech. + Sc.Exp.
ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE
*** EXAMEN DU BACCALAUREAT
SESSION 2007
DATE : 23 mai 2007 (9h)
DUREE: 1 h COEFFICIENT: 0.5
Bac Informatique Pratique 2007
FENNI Salah
Sujet: Programmation en Pascal
Ecrire un programme Pascal permettant de saisir deux entiers naturels strictement positifs m et n avec (m ≤
l00 et n ≤ 100), de calculer puis d'afficher leur produit p selon le principe suivant:
1. Initialiser la variable produit p à 0.
2. Si (m < n) alors permuter les contenus des deux variables m et n
3. Ajouter n² à p
4. Affecter à m la valeur de (m-n)
5. Répéter les actions 2, 3 et 4 jusqu'à ce que m ou n soit nul
6. Afficher la valeur de p qui est le produit de m par n.
m n p
- - 0
23 14 0 + 196 = 196
14 9 196 + 81 = 277
9 5 277 + 25 = 302
5 4 302 + 16 = 318
4 1 318 + 1 = 319
3 1 319 + 1 = 320
2 1 320 + 1 = 321
1 1 321 +1 = 322
1 0 322
N.B : La solution doit contenir au moins une procédure et une fonction.
Enregistrer au fur et à mesure votre programme dans le dossier bac2007 situé à la racine C:
en lui donnant comme nom le numéro de votre carte d'identité.
REPUBLIQUE TUNISIENNE MINISTERE DE
L’EDUCATION Sections: Math. + Tech. + Sc.Exp.
ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE
*** EXAMEN DU BACCALAUREAT
SESSION 2007
DATE : 23 mai 2007 (10h30)
DUREE: 1 h COEFFICIENT: 0.5
Bac Informatique Pratique 2007
FENNI Salah
Sujet: Programmation en Pascal
Ecrire un programme pascal qui permet de saisir une chaîne non vide CH de longueur impaire et de l’afficher
sous la forme d’un sablier.
Exemples :
Si Ch=″SABLIER″
Le programme affichera
SABLIER
ABLIE
BLI
L
BLI
ABLIE
SABLIER
Si Ch=″ECRAN″
Le programme affichera
ECRAN
CRA
R
CRA
ECRAN
N.B : La solution doit comporter au moins deux modules.
Enregistrer au fur et à mesure votre programme dans le dossier bac2007 situé à la racine C:
en lui donnant comme nom le numéro de votre carte d'identité.
REPUBLIQUE TUNISIENNE MINISTERE DE
L’EDUCATION Sections: Math. + Tech. + Sc.Exp.
ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE
*** EXAMEN DU BACCALAUREAT
SESSION 2007
DATE : 23 mai 2007 (14h)
DUREE: 1 h COEFFICIENT: 0.5
www.algorithmique.e-monsite.com
www.algorithmique.e-monsite.com
www.algorithmique.e-monsite.com
www.algorithmique.e-monsite.com
Devoirs
et
examens
sur
:
www.Kiteb
.net
Devoirs
et
examens
sur
:
www.Kiteb
.net
Devoirs
et
examens
sur
:
www.Kiteb
.net
Devoirs
et
examens
sur
:
www.Kiteb
.net
Devoirs
et
examens
sur
:
www.Kiteb
.net
Devoirs
et
examens
sur
:
www.Kiteb
.net
Devoirs
et
examens
sur
:
www.Kiteb
.net
Devoirs
et
examens
sur
:
www.Kiteb
.net
Devoirs
et
examens
sur
:
www.Kiteb
.net
Devoirs
et
examens
sur
:
www.Kiteb
.net
Devoirs
et
examens
sur
:
www.Kiteb
.net
Devoirs
et
examens
sur
:
www.Kiteb
.net
Devoirs
et
examens
sur
:
www.Kiteb
.net
Devoirs
et
examens
sur
:
www.Kiteb
.net
Devoirs
et
examens
sur
:
www.Kiteb
.net
Devoirs
et
examens
sur
:
www.Kiteb
.net
Devoirs
et
examens
sur
:
www.Kiteb
.net
Devoirs
et
examens
sur
:
www.Kiteb
.net
Devoirs
et
examens
sur
:
www.Kiteb
.net
Devoirs
et
examens
sur
:
www.Kiteb
.net
Devoirs
et
examens
sur
:
www.Kiteb
.net
Page 1 sur 2
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION

EXAMEN DU BACCALAURÉAT
SESSION 2017
Épreuve pratique d’informatique
Durée : 1h Coefficient : 0.5
Sections : Maths, Sciences
expérimentales et S.Techniques
Date : 25 mai 2017 S12
Important :
1) Une solution modulaire au problème est exigée.
2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui
donnant comme nom votre numéro d’inscription (6 chiffres).
Dans un tableau d’entiers, l’existence d’au minimum de deux éléments pairs d’une façon consécutive forme
ce qu’on appelle une séquence paire.
On se propose d’écrire un programme intitulé Occ_Pair qui permet de remplir un tableau T par N entiers
(avec 3≤N≤20) et d’afficher le nombre de séquences paires de ce tableau ainsi que les entiers de chacune de
ces séquences.
Exemple :
Pour N=15 et le tableau T suivant :
T 3 18 6 5 3 4 32 8 9 12 5 10 2 1 8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Séquence 1 Séquence 2 Séquence 3
Le programme affiche :
Le nombre de séquences paires est 3.
Les séquences d’entiers pairs sont :
18 , 6
4, 32, 8
10 , 2
Pour cela, on donne l’algorithme du programme principal suivant :
0) Début Occ_Pair
1) Ecrire ("Donner la taille du tableau :") , Lire(N)
2) PROC Remplir(T,N)
3) PROC Afficher(T,N)
4) Fin Occ_Pair
Page 2 sur 2
Travail demandé :
a. Traduire l’algorithme Occ_Pair en un programme Pascal et ajouter les déclarations nécessaires.
b. Transformer la séquence n°1 en un module en ajoutant les contraintes nécessaires et apporter les
modifications nécessaires dans le programme principal.
c. Développer le module Remplir qui permet de remplir le tableau T par N entiers strictement positifs.
d. Développer le module Afficher qui permet d’afficher le nombre de séquences d’entiers pairs du
tableau T ainsi que les entiers de chacune de ces séquences.
Grille d’évaluation :
Questions Nombre de points
a. Traduction de l’algorithme Occ_Pair en Pascal + Ajout des
déclarations nécessaires.
b. Transformation de la séquence n°1 en un module +
Modifications nécessaires dans le programme principal.
c. Développement du module Remplir.
d. Développement du module Afficher.
4 + 1
3.5 + 1
4.5
6
Page 1 sur 2
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION

EXAMEN DU BACCALAURÉAT
SESSION 2017
Épreuve pratique d’informatique
Durée : 1h Coefficient : 0.5
Sections : Maths, Sciences
expérimentales et S.Techniques
Date : 25 mai 2017 S23
Important :
1) Une solution modulaire au problème est exigée.
2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui
donnant comme nom votre numéro d’inscription (6 chiffres).
Le jeu Numbermind est un jeu à deux qui consiste à deviner un numéro de téléphone.
Le principe du jeu est le suivant :
- Le premier joueur propose une combinaison de 8 chiffres représentant le numéro à deviner.
- Le deuxième joueur annonce une proposition de 8 chiffres, si cette proposition correspond au
numéro à deviner, ce joueur est gagnant sinon on lui affiche sa proposition à laquelle on garde
tous les chiffres bien placés et on remplace le reste par des tirets tout en mentionnant les chiffres
corrects mais mal placés dans la proposition.
- On répète l’étape précédente jusqu’à trouver le numéro cherché ou atteindre un nombre d’essais
égal à 8.
Pour simuler ce jeu, on donne l’algorithme du programme principal suivant :
0) Début Numbermind
1) Répéter
Ecrire (" Saisir le numéro de téléphone à deviner :")
Lire (num)
Jusqu’à ( FN Verif (num))
2) Efface_ecran ( )
3) Deviner (num)
4) Fin Numbermind
NB : Efface_ecran est une procédure prédéfinie qui permet d’effacer l’écran. Son équivalent en Pascal
est: CLRSCR ;
Travail demandé :
a. Traduire l’algorithme Numbermind en un programme Pascal et ajouter les déclarations
nécessaires.
b. Développer le module Verif qui permet de vérifier si le numéro de téléphone proposé est
composé uniquement par 8 chiffres.
Page 2 sur 2
c. Développer le module Deviner qui consiste à :
- vérifier chaque numéro proposé par le deuxième joueur, en gardant les chiffres bien
placés et en remplaçant le reste par des tirets tout en mentionnant ceux qui sont correctes
mais mal placés dans la proposition et le nombre d’essai qui lui reste.
- arrêter le jeu une fois que le deuxième joueur propose un numéro identique au numéro à
deviner ou bien on atteint un nombre d’essai égal à 8.
- afficher le message " Bravo, vous avez gagné" si le joueur 2 réussit à deviner le numéro
et le message "Désolé, vous avez perdu " s’il ne devine pas le numéro après 8 essais.
Exemple :
Pour le numéro de téléphone à deviner 68456231, le programme affiche :
.
Grille d’évaluation :
Questions Nombre de points
a. Traduction de l’algorithme Numbermind en Pascal +
Ajout des déclarations nécessaires.
b. Développement du module Verif.
c. Développement du module Deviner.
5+1
3
11
Page 1 sur 2
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION

EXAMEN DU BACCALAURÉAT
SESSION 2017
Épreuve pratique d’informatique
Durée : 1h Coefficient : 0.5
Sections : Maths, Sciences
expérimentales et S.Techniques
Date : 25 mai 2017 S31
Important :
1) Une solution modulaire au problème est exigée.
2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui
donnant comme nom votre numéro d’inscription (6 chiffres).
Dans le but de sécuriser les messages à envoyer, on peut faire appel à une méthode de cryptage.
Une des méthodes utilisées consiste à remplacer chaque lettre du message à crypter par celle qui la suit de
p positions dans l'alphabet français, où p désigne le nombre de mots du message.
NB :
 On suppose que le caractère qui suit la lettre "Z" est le caractère "A" et celui qui suit la lettre "z"
est le caractère "a".
 Le caractère espace ne subit aucune modification.
 Le code ASCII de la lettre "a" est égal à 97 et celui de la lettre "A" est égal à 65.
Exemple :
Pour le message "Examen Pratique En Informatique"
Etant donné que le message à crypter est formé de 4 mots, pour la lettre alphabétique "E" par exemple,
elle sera remplacée par "I" car en ajoutant au code Ascii de "E" qui est 69 la valeur 4, on obtient 73 qui
est le code Ascii de "I".
En continuant à appliquer ce principe de codage, le message crypté sera :
"Ibeqir Tvexmuyi Ir Mrjsvqexmuyi"
On se propose d’écrire un programme intitulé Cryptage qui permet de saisir un message M formé
uniquement de lettres et d’espaces puis de l’afficher crypté, en utilisant le principe cité ci-dessus.
NB : Le message peut contenir des espaces superflus (inutiles).
Pour cela, on propose l’algorithme du programme principal suivant :
0) Début Cryptage
1) Répéter
Ecrire ("Donner le message à crypter:")
Lire(M)
Jusqu’à (FN Valide (M))
2) pFN Nbmot (M)
3) Ecrire (FN Crypter (M,p))
4) Fin Cryptage
Page 2 sur 2
Travail demandé :
a. Traduire l’algorithme Cryptage en un programme Pascal et ajouter les déclarations nécessaires.
b. Transformer la séquence n°1 en un module et apporter les modifications nécessaires dans le
programme principal.
c. Développer le module Valide qui permet de vérifier si le message M est non vide et formé
uniquement par des lettres et des espaces.
d. Développer le module Nbmot qui permet de déterminer le nombre de mots dans le message M à
crypter en prenant en considération la possibilité d’existence des espaces superflus (inutiles).
e. Développer le module Crypter qui permet de crypter un message M en utilisant le principe décrit
précédemment.
Grille d’évaluation :
Questions Nombre de points
a. Traduction de l’algorithme Cryptage en Pascal + Ajout
des déclarations nécessaires.
b. Transformation de la séquence n°1 en un module +
Modifications nécessaires dans le programme
principal.
c. Développement du module Valide.
d. Développement du module Nbmot.
e. Développement du module Crypter.
4 + 1
3 + 1
3
4
4
Page 1 sur 2
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION

EXAMEN DU BACCALAURÉAT
SESSION 2017
Épreuve pratique d’informatique
Durée : 1h Coefficient : 0.5
Sections : Maths, Sciences
expérimentales et S.Techniques
Date : 25 mai 2017 S42
Important :
1) Une solution modulaire au problème est exigée.
2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui
donnant comme nom votre numéro d’inscription (6 chiffres).
Un IBAN ou numéro international de compte bancaire est une variété de caractères alphanumériques
qui identifie de façon distincte, le compte d'un client tenu dans une institution bancaire partout dans le
monde.
Exemple: TU3830004015870002601171 est un numéro IBAN où :
TU désigne les initiales du pays du client qui est la Tunisie,
38 est la clé IBAN
Le reste des chiffres représente le code RIB du client qui est de longueur constante relativement à un
pays donné (20 pour la Tunisie). Sachant que RIB désigne le Relevé d’Identité Bancaire qui permet au
titulaire d'un compte bancaire de transmettre ses coordonnées bancaires pour des virements ou des
prélèvements.
La clé IBAN est obtenue en utilisant le procédé suivant :
- Former une chaine ch composée par les deux premières lettres en majuscules du nom du pays du
client auxquelles on ajoute "00" à droite.
- Former un nombre à partir de la chaîne ch en remplaçant chaque lettre par le nombre qui lui
correspond selon le tableau suivant :
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
- Calculer le reste de la division du nombre obtenu par 97
- Soustraire de 98 le reste obtenu. Si le résultat comporte un seul chiffre, insérer un zéro à
gauche. Le nombre ainsi obtenu est la clé IBAN.
Exemple : Pour un client de la Tunisie, on obtient la chaîne suivante : TU00
En remplaçant T par 29 et U par 30, on obtient le nombre suivant 293000.
La clé IBAN correspondante à ce client est 38 obtenu comme suit : le reste de la division de
293000 par 97 donne 60 en la retranchant de 98 on obtient 98-60= 38 qui est la clé IBAN de la
Tunisie.
Page 2 sur 2
On se propose d’écrire un programme Pascal qui permet de générer un code IBAN à partir des deux
premières lettres du nom du pays d’un client et de son code RIB.
Pour cela on donne l’algorithme du programme principal suivant :
0) Début Generation
1) PROC Saisir (Init, RIB)
2) Cle FN Cle_IBAN (Init)
3) Ecrire("L’IBAN correspondant est : ", Init+Cle+RIB)
4) Fin Generation
Travail demandé :
a. Traduire l’algorithme Generation en un programme Pascal et ajouter les déclarations
nécessaires.
b. Développer le module Saisir qui permet de saisir :
 Deux lettres majuscules qui représentent les initiales du pays.
 Le RIB qui doit être une suite de chiffres, correspondant au pays du client, de longueur L
avec 10≤ L≤ 30.
c. Développer le module Cle_IBAN qui permet de générer la clé IBAN d’un client en utilisant le
procédé décrit précédemment.
d. Ajouter ce qui est nécessaire au programme de façon à ce qu’il puisse générer plusieurs codes
IBAN relativement à un groupe de clients dont le nombre est inconnu à l’avance.
Grille d’évaluation :
Questions Nombre de points
a. Traduction de l’algorithme Generation en Pascal + Ajout
des déclarations nécessaires.
b. Développement du module Saisir.
c. Développement du module Cle_IBAN.
d. Modification du programme
4+ 1
5
8
2
Page 1 sur 2
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION

EXAMEN DU BACCALAURÉAT
SESSION 2017
Épreuve pratique d’informatique
Durée : 1h Coefficient : 0.5
Sections : Maths, Sciences
expérimentales et S.Techniques
Date: 25 mai 2017 S52
Important :
1) Une solution modulaire au problème est exigée.
2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui
donnant comme nom votre numéro d’inscription (6 chiffres).
Afin de répondre aux besoins des écoles primaires d’une région de la Tunisie, le ministère de l’Éducation
charge une commission de visiter ces écoles, de chercher leurs besoins en matériels (Tableaux à craie et
tables) et de déterminer le(s) école(s) ayant le besoin le plus élevé.
Pour automatiser les tâches de cette commission, on se propose d’écrire un programme permettant:
 de remplir un premier tableau TE par les N codes des écoles primaires avec 2≤N≤250. Le code d’une
école est une chaîne de 6 chiffres.
 de remplir un deuxième tableau TB par les besoins matériels des écoles en tableaux à craie et en
tables sous le format suivant : Nombre_de_tableaux#Nombre_de_tables sachant que chaque
besoin ne doit pas dépasser 999. Exemples : "852#999", "0#105", "52#0"
 de calculer dans un troisième tableau TBU, le budget nécessaire pour chaque école calculé comme
suit : P1* Nombre_de_tableaux + P2* Nombre_de_tables sachant que P1 et P2 sont
respectivement les prix d’un tableau à craie et d’une table et qui sont deux constantes dont les valeurs
en dinars sont 80 et 160.
 d’afficher toutes les écoles ayant le besoin budgétaire le plus élevé en matériels.
Pour cela on propose l’algorithme du programme principal suivant :
0) Début Besoin
1) Répéter
Ecrire ("Donner le nombre d’écoles à visiter : ")
Lire(N)
Jusqu’a (N dans [2..250])
2) PROC Remplir(TE,TB,N)
3) PROC Generer(TB,TBU,N)
4) PROCAfficher (TE,TBU,N)
5) Fin Besoin
Exemple : Pour N=8 et les deux tableaux TE et TB suivants :
TE 310600 035100 199600 001800 421200 600700 059700 776600
1 2 3 4 5 6 7 8
TB 10#8 100#16 17#0 32#50 8#0 0#0 5#5 2#10
1 2 3 4 5 6 7 8
Le tableau TBU sera :
TBU 2080 10560 1360 10560 640 0 1200 1760
1 2 3 4 5 6 7 8
Page 2 sur 2
En effet, l’école dont le code est "310600" a besoin de 10 tableaux à craie et de 8 tables ("10#8"). Le budget
est calculé comme suit : 10*80+8*160=2080.
Le programme affiche :
Le besoin budgétaire le plus élevé est 10560 D et les écoles concernées sont : 035100 - 001800
Travail demandé :
a. Traduire l’algorithme Besoin en un programme Pascal et ajouter les déclarations nécessaires.
b. Développer le module Remplir qui permet de remplir les deux tableaux TE et TB en respectant les
contraintes décrites précédemment.
c. Développer le module Generer qui permet de générer dans un troisième tableau TBU le budget
nécessaire pour chaque école.
d. Développer le module Afficher qui permet d’afficher le budget le plus élevé et le(s) école(s)
concernée(s) par ce budget.
Grille d’évaluation :
Questions Nombre de points
a. Traduction de l’algorithme Besoin en Pascal + Ajout
des déclarations nécessaires.
b. Développement du module Remplir
c. Développement du module Generer.
d. Développement du module Afficher.
4 + 1.5
5
5
4.5
Page 1 sur 2
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION

EXAMEN DU BACCALAURÉAT
SESSION 2017
Épreuve pratique d’informatique
Durée : 1h Coefficient : 0.5
Sections : Maths, Sciences
expérimentales et S.Techniques
Date : 25 mai 2017 S41
Important :
1) Une solution modulaire au problème est exigée.
2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui
donnant comme nom votre numéro d’inscription (6 chiffres).
Sur les billets d’avion d’une Campanie aérienne, figure un code de 11 chiffres précédés d’une lettre
majuscule. Exemple U19586900462.
Pour vérifier l’authenticité d’un billet, on remplace la lettre du code par son rang alphabétique pour obtenir
un nombre de 12 ou de 13 chiffres.
Si le reste de la division par 9 de la somme des chiffres de ce nombre est égale à 8, ce billet est authentique,
sinon c’est un faux billet.
Exemple :
Le billet ayant pour code "U19586900462" est authentique. En effet,
- La lettre "U" a pour rang alphabétique 21.
- Le nombre formé sera : "2119586900462".
- La somme des chiffres de ce nombre est 2+1+1+9+5+8+6+9+0+0+4+6+2 =53.
- Le reste de la division de 53 par 9 est égale à 8.
On se propose d’écrire un programme qui permet de vérifier l’authenticité d’un billet à partir de son code.
Pour cela, on donne l’algorithme du programme principal suivant :
0) Début Billet
1) Répéter
Ecrire (" Saisir le code à valider :")
Lire (code)
Jusqu’à (FN Verif (code))
2) Si (FN Authentique (code))
Alors Ecrire ("C’est un billet authentique")
Sinon Ecrire ("Attention ! Ce billet n’est pas authentique")
Fin Si
3) Fin Billet
Page 2 sur 2
Travail demandé :
a. Traduire l’algorithme Billet en un programme Pascal et ajouter les déclarations nécessaires.
b. Développer le module Verif qui permet de vérifier si le code proposé commence par une lettre
majuscule suivie de 11 chiffres.
c. Développer le module Authentique qui permet de vérifier l’authenticité du code en utilisant le
procédé décrit précédemment
d. Ajouter ce qui est nécessaire au programme de façon à ce qu’il puisse vérifier plusieurs billets
dont le nombre est inconnu à l’avance.
Grille d’évaluation :
Questions Nombre de points
a. Traduction de l’algorithme Billet en Pascal + Ajout des
déclarations nécessaires.
b. Développement du module Verif.
c. Développement du module Authentique.
d. Modification du programme
4 + 1
3
10
2
Page 1 sur 2
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION

EXAMEN DU BACCALAURÉAT
SESSION 2017
Épreuve pratique d’informatique
Durée : 1h Coefficient : 0.5
Sections : Maths, Sciences
expérimentales et S.Techniques
Date : 25 mai 2017 S22
Important :
1) Une solution modulaire au problème est exigée.
2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui
donnant comme nom votre numéro d’inscription (6 chiffres).
Le jeu du pendu est un jeu à deux qui consiste à trouver un mot en devinant les lettres qui le composent.
Pour ce faire, un premier joueur propose un mot à deviner ensuite, on affiche au deuxième joueur le mot
à deviner d’une manière masquée en faisant apparaitre la première et la dernière lettre du mot et en
remplaçant chacune des lettres restantes par un tiret ("-").
Pour deviner le mot, le deuxième joueur annonce une lettre. Si cette lettre fait partie du mot à deviner,
on la dévoile en l’affichant à la place du tiret correspondant dans le mot masqué et ceci autant de fois
que cette lettre apparait dans le mot.
Le jeu continue jusqu’à dévoiler toutes les lettres masquées ou atteindre un nombre d’essai égal à la
longueur du mot à deviner.
Pour cela, on donne l’algorithme du programme principal suivant :
0) Début Jeu
1) Répéter
Ecrire ("Saisir le mot à deviner :")
Lire (mot)
Jusqu’à (FN Verif (mot))
2) Efface_ecran ( )
3) masqueFN Masquer (mot)
4) PROC Deviner (mot, masque)
5) Fin Jeu
NB : Efface_ecran est une procédure prédéfinie qui permet d’effacer l’écran. Son équivalent en pascal
est : CLRSCR;
Travail demandé :
a. Traduire l’algorithme Jeu en un programme Pascal et ajouter les déclarations nécessaires.
b. Développer le module Verif qui permet de vérifier si le mot proposé est composé uniquement
par des lettres et ayant une longueur comprise entre 5 et 20.
c. Développer le module Masquer qui permet de générer le mot à deviner d’une manière masquée
et ceci en dévoilant la lettre de début et celle de la fin et en remplaçant le reste des lettres par des
tirets "-".
d. Développer le module Deviner qui affiche au deuxième joueur le mot masqué et lui demande de
proposer une lettre puis dévoile ses occurrences dans le mot masqué sans faire de distinction
entre lettre majuscule et lettre minuscule.
Page 2 sur 2
e. Apporter les modifications nécessaires au programme afin qu’il puisse donner au deuxième
joueur la possibilité de :
- répéter l’action de deviner jusqu’à trouver le mot à deviner ou atteindre un nombre d’essai
égal à la longueur de ce mot et afficher à chaque fois le nombre d’essais restants.
- afficher le message " Bravo, vous avez gagné" si le joueur 2 réussit à deviner le mot et le
message "Désolé, vous avez perdu " s’il ne le devine pas après un nombre d’essais égal à la
longueur de ce mot.
Exemple :
On suppose que le mot à deviner est Pascal:
Exécution 1 Exécution 2
Grille d’évaluation :
Questions Nombre de points
a. Traduction de l’algorithme Jeu en Pascal + Ajout des
déclarations nécessaires.
b. Développement du module Verif.
c. Développement du module Masquer.
d. Développement du module Deviner.
e. Modification du programme
5 + 1
3
3
4
4
Page 1 sur 2
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION

EXAMEN DU BACCALAURÉAT
SESSION 2017
Épreuve pratique d’informatique
Durée : 1h Coefficient : 0.5
Sections : Maths, Sciences
expérimentales et S.Techniques
Date : 25 mai 2017 S33
Important :
1) Une solution modulaire au problème est exigée.
2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui
donnant comme nom votre numéro d’inscription (6 chiffres).
Dans le but de sécuriser les messages à envoyer, on peut faire appel à une méthode de cryptage.
Une des méthodes utilisées, pour crypter un message M de longueur paire et formé uniquement de lettres
majuscules et d’espaces, consiste à :
Etape 1 : Découper le message à envoyer en blocs de deux lettres.
Etape 2 : Déterminer pour chaque lettre d’un bloc l’entier correspondant selon le tableau suivant :
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Espace
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
On obtient ainsi pour chaque bloc un couple d’entiers (x1, x2), où x1 est l’entier qui
correspond au premier caractère du bloc et x2 est l’entier qui correspond au deuxième
caractère du bloc.
Etape 3 : Transformer le couple (x1, x2) de chaque bloc en un couple (y1, y2), tels que :
 y1 est égal au reste de la division entière de 11*x1 + 3 * x2 par 27.
 y2 est égal au reste de la division entière de 7*x1 + 4 * x2 par 27.
Etape 4 : Transformer chaque entier des couples (y1, y2) en un caractère, en utilisant le tableau de
correspondance de l’étape n° 2 et la chaîne obtenue sera le message crypté correspondant à M.
Exemple :
Pour le message M = "A MODIFIER", le message crypté correspondant en appliquant la méthode décrite
précédemment sera "IXMFD ZNOP" obtenu comme suit :
Le message M à crypter : A M O D I F I E R
Etape 1 : Découpage en bloc de
deux caractères
A M O D I F I E R
Etape 2 : Détermination
du couple (x1, x2)
(x1, x2) (0,26) (12,14) (3,8) (5,8) (4,17)
Etape 3 : Calcul du
couple (y1, y2)
(y1, y2) (8,23) (12,5) (3,26) (25,13) (14,15)
Etape 4 : Détermination du message
crypté
I X M F D Z N O P
On se propose d’écrire un programme Pascal intitulé « Cryptage » qui permet de saisir un message M de
longueur paire et constitué seulement par des lettres majuscules et d’espaces, puis d’afficher le message
crypté correspondant en appliquant la méthode décrite ci-dessus.
Page 2 sur 2
Pour cela on propose l’algorithme du programme principal suivant :
0) Début Cryptage
1) Répéter
Ecrire ("Donner une chaîne à coder :")
Lire(M)
Jusqu’a (FN Valide (M))
2) Ecrire (FN Crypter (M))
3) Fin Cryptage
Travail demandé :
a. Traduire l’algorithme Cryptage en un programme Pascal et ajouter les déclarations nécessaires.
b. Transformer la séquence n°1 en un module et apporter les modifications nécessaires dans le
programme principal.
c. Développer le module Valide qui permet de vérifier si le message M est de longueur paire et
constitué seulement par des lettres majuscules et d’espaces.
d. Développer le module Crypter qui permet de crypter un message M en appliquant la méthode
décrite précédemment.
Grille d’évaluation :
Questions Nombre de points
a. Traduction de l’algorithme Cryptage en Pascal + Ajout
des déclarations nécessaires.
b. Transformation de la séquence n°1 en un module +
Modifications nécessaires dans le programme
principal.
c. Développement du module Valide.
d. Développement du module Crypter.
3,5 + 1
3 + 1
4,5
7
Page 1 sur 2
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION

EXAMEN DU BACCALAURÉAT
SESSION 2017
Épreuve pratique d’informatique
Durée : 1h Coefficient : 0.5
Sections : Maths, Sciences
expérimentales et S.Techniques
Date : 25 mai 2017 S53
Important :
1) Une solution modulaire au problème est exigée.
2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui
donnant comme nom votre numéro d’inscription (6 chiffres).
Le ministère de l’éducation organise une compétition nationale en informatique pour évaluer le niveau
algorithmique des élèves. Chaque participant à cette compétition a un code composé de trois lettres
majuscules représentant les trois premières lettres du nom de son gouvernorat suivi de trois chiffres. Suite
au passage de l’épreuve, une note comprise entre 0 et 20 est accordée à chaque participant.
On se propose d’écrire un programme « Competition » qui permet :
- de remplir un tableau TC par les codes des N participants en respectant les contraintes
mentionnées ci-dessus avec N un entier de l’intervalle [5..100].
- de remplir un tableau TN par les notes des N participants.
- d’afficher le taux de réussite nationale (TRN) calculé comme suit :
TRN = Npr / N avec Npr représente le nombre de participants qui ont réussi sachant qu’un
participant est déclaré réussi si et seulement si il a une note ≥10.
- d’afficher le taux de réussite relatif à un gouvernorat donné (TRG) connaissant son nom qui est
une chaine d’au maximum 15 lettres alphabétiques :
TRG = Nprg/ Ntpg avec Nprg et Ntpg représentent respectivement le nombre de participants
d’un gouvernorat qui ont réussi et le nombre total de participant de ce gouvernorat.
Pour cela, on propose l’algorithme du programme principal suivant :
0) Début Competition
1) Répéter
Ecrire ("Donner le nombre de participants :")
Lire(N)
Jusqu’à (N dans [5..100])
2) PROC Remplir(TC,TN,N)
3) PROC Afficher(TC,TN,N)
4) Fin Competition
Page 2 sur 2
Exemple :
Pour N=7 et les deux tableaux TC et TN suivants :
TC JEN120 TUN121 JEN125 TUN135 BIZ234 SFA234 JEN236
1 2 3 4 5 6 7
TN 15,25 16,50 9,75 7,50 13,25 15,00 16,75
1 2 3 4 5 6 7
Si le gouvernorat donné est Jendouba le programme affiche :
Le taux de réussite national est de 71.43% en effet puisque Nbr= 5 et N= 7 alors
TRN= 5/7*100 = 71.43%
Le taux de réussite de Jendouba est 66.67% en effet Nprg=2 et Ntpg = 3 alors
TRG = 2/3 *100 = 66.67%
Travail demandé :
a. Traduire l’algorithme Competition en un programme Pascal et ajouter les déclarations
nécessaires.
b. Transformer la séquence n°1 en un module et apporter les modifications nécessaires dans le
programme principal.
c. Développer le module Remplir qui permet de remplir deux tableaux TC et TN respectivement par
les codes et les notes des N participants (avec N est un entier de l’intervalle [5..100]) en respectant
les contraintes décrites précédemment.
d. Développer le module Afficher qui permet d’afficher le taux de réussite national et le taux de
réussite d’un gouvernorat donné qui est une chaîne d’au maximum 15 lettres alphabétiques en
respectant le format d’affichage en pourcentage avec deux chiffres après la virgule.
Grille d’évaluation :
Questions Nombre de points
a. Traduction de l’algorithme Competition en Pascal +
Ajout des déclarations nécessaires.
b. Transformation de la séquence n°1 en un module +
Modifications nécessaires dans le programme
principal.
c. Développement du module Remplir.
d. Développement du module Afficher.
4 + 1,5
3 + 1
5,5
5
Page 1 sur 2
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION

EXAMEN DU BACCALAURÉAT
SESSION 2017
Épreuve pratique d’informatique
Durée : 1h Coefficient : 0.5
Sections : Maths, Sciences
expérimentales et S.Techniques
Date : 25 mai 2017 S11
Important :
1) Une solution modulaire au problème est exigée.
2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui
donnant comme nom votre numéro d’inscription (6 chiffres).
Le terme Bigramme désigne la combinaison de deux lettres consécutives et distinctes dans un mot.
On se propose d’écrire un programme qui permet d’afficher le nombre d’occurrences de chaque Bigramme
d’une chaîne de caractères Ch non vide et formée uniquement de lettres minuscules.
Pour cela, on donne l’algorithme du programme principal suivant :
0) Début Bigramme
1) Répéter
Ecrire ("Donner une chaîne:")
Lire (Ch)
Jusqu’à (FN Valide(Ch))
2) PROC Afficher(Ch)
3) Fin Bigramme
Travail demandé :
a. Traduire l’algorithme Bigramme en un programme Pascal et ajouter les déclarations nécessaires.
b. Transformer la séquence n°1 en un module et apporter les modifications nécessaires.
c. Développer le module Valide qui permet de vérifier si la chaîne Ch est non vide et formée
uniquement de lettres minuscules.
d. Développer le module Afficher qui permet de déterminer et d’afficher le nombre d’occurrences de
chaque Bigramme de la chaîne Ch.
Page 2 sur 2
Exemple :
Pour Ch = "mamapappacma"
Le programme affiche :
Le nombre d’occurrences de ma est 3
Le nombre d’occurrences de am est 1
Le nombre d’occurrences de ap est 2
Le nombre d’occurrences de pa est 2
Le nombre d’occurrences de ac est 1
Le nombre d’occurrences de cm est 1
Grille d’évaluation :
Questions Nombre de points
a. Traduction de l’algorithme Bigramme en Pascal + Ajout des
déclarations nécessaires.
b. Transformation de la séquence n°1 en un module +
Modifications nécessaires dans le programme principal
c. Développement du module Valide.
d. Développement du module Afficher.
4.5 + 1
3.5 + 1
4
6
Page 1 sur 2
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION

EXAMEN DU BACCALAURÉAT
SESSION 2017
Épreuve pratique d’informatique
Durée : 1h Coefficient : 0.5
Sections : Maths, Sciences
expérimentales et S.Techniques
Date : 25 mai 2017 S13
Important :
1) Une solution modulaire au problème est exigée.
2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui
donnant comme nom votre numéro d’inscription (6 chiffres).
Une séquence nulle d’un tableau d’entiers T est un ensemble d’éléments consécutifs dont la somme de
valeurs est égale à zéro.
On se propose d’écrire un programme intitulé « Sequence » qui permet de remplir un tableau T par N
entiers non nuls (avec 3 ≤ N ≤ 15) et d’afficher le nombre de séquences nulles de ce tableau ainsi que les
éléments de chacune.
Exemple :
Pour N=12 et le tableau T suivant :
Séquence nulle Séquence nulle
car 15 - 11- 4 = 0 car 4-4 =0
T -4 5 12 -6 -11 -23 -2 15 -11 -4 4 -4
1 2 3 4 5 6 7 8 9 10 11 12
Séquence nulle Séquence nulle
car 5+12-6-11=0 car -4+4 =0
Séquence nulle
car 15 -11-4+ 4 -4=0
Le nombre de séquences nulles de ce tableau est 5 qui sont :
 5, 12, -6 , -11
 15, -11 , -4
 -4, 4
 4, -4
 15, -11 , -4, 4, -4
Page 2 sur 2
Pour cela, on donne l’algorithme du programme principal suivant :
0) Début Sequence
1) Répéter
Ecrire ("Donner la taille du tableau :")
Lire(N)
Jusqu’à (N dans [3..15])
2) Proc Remplir(T, N)
3) Proc Afficher(T, N)
4) Fin Sequence
Travail demandé :
a. Traduire l’algorithme Sequence en un programme Pascal et ajouter les déclarations nécessaires.
b. Transformer la séquence n°1 en un module et apporter les modifications nécessaires dans le
programme principal.
c. Développer le module Remplir qui permet de remplir le tableau T par N entiers non nuls.
d. Développer le module Afficher qui permet d’afficher le nombre de séquences nulles du tableau T
ainsi que les éléments de chacune.
Grille d’évaluation :
Questions Nombre de points
a. Traduction de l’algorithme Sequence en Pascal + Ajout des
déclarations nécessaires.
b. Transformation de la séquence n°1 en un module +
Modifications nécessaires dans le programme principal.
c. Développement du module Remplir.
d. Développement du module Afficher.
5 + 1
3 + 1
4
6
Page 1 sur 2
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION

EXAMEN DU BACCALAURÉAT
SESSION 2017
Épreuve pratique d’informatique
Durée : 1h Coefficient : 0.5
Sections : Maths, Sciences
expérimentales et S.Techniques
Date : 25 mai 2017 S21
Important :
1) Une solution modulaire au problème est exigée.
2) Dans le répertoire Bac2017, créez un dossier de travail portant comme nom votre numéro
d’inscription (6 chiffres) dans lequel vous devez enregistrer au fur et à mesure tous les fichiers
solutions de ce sujet.
Le club culturel d’un lycée organise un jeu de lettres entre les élèves de l’établissement. Le jeu se joue à
deux sous forme de tours en appliquant le principe suivant :
- On propose 10 lettres alphabétiques majuscules.
- Chacun des deux joueurs est appelé à former un mot significatif dans la langue française
composé par des lettres parmi les 10 proposées.
- Le score du tour de chacun des joueurs sera égal au nombre de lettres du mot proposé une fois
validé par l’enseignant.
Pour simuler un tour de ce jeu, on donne l’algorithme du programme principal suivant :
0) Début Jeu
1) PROC Generer (ch)
2) Ecrire (" Les 10 lettres sont:", ch)
3) Ecrire ("Donner la proposition du joueur1 : "), Lire (mot1)
4) Ecrire ("Donner la proposition du joueur2 : "), Lire (mot2)
5) Si (FN Verif (mot1, ch))
Alors Score1long(mot1)
Fin Si
6) Si (FN Verif (mot2, ch))
Alors Score2 long (mot2)
Fin Si
7) Si (Score1= Score2)
Alors Ecrire ("Egalité entre les deux joueurs ")
Sinon Si (Score 1> Score 2)
Alors Ecrire ("C’est le premier joueur qui a gagné")
Sinon Ecrire ("C’est le deuxième joueur qui a gagné ")
Fin Si
8) Fin Jeu
Travail demandé :
a. Dans un fichier intitulé Version1, traduire l’algorithme Jeu en un programme Pascal et ajouter
les déclarations nécessaires.
b. Dans un fichier intitulé Version2, copier le contenu du fichier Version1 et effectuer les
modifications suivantes :
Page 2 sur 2
b.1 Développer le module Generer qui permet de générer aléatoirement une chaîne ch
de 10 lettres majuscules.
b.2 Développer le module Verif qui permet de vérifier si le mot proposé est composé
uniquement par des lettres de la chaîne ch et qu’il est un mot significatif dans la langue
française selon l’avis d’un professeur au quel on se réfère.
NB : Le professeur au quel on se réfère valide le mot proposé en introduisant la lettre "O"
dans le cas où le mot est significatif et introduit la lettre "N" dans le cas contraire.
b.3 Modifier le programme de façon à ce que le jeu dure plusieurs tours jusqu’à ce que le
score total de l’un des joueurs dépasse 15 comme le montre l’exemple ci-dessous :
Grille d’évaluation :
Questions Nombre de points
a. Traduction de l’algorithme Jeu en Pascal + Ajout des
déclarations nécessaires.
b.
b.1 Développement du module Generer.
b.2 Développement du module Verif.
b.3 Modification du programme
6.25 + 1.25
3
4.5
5
Page 1 sur 2
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION

EXAMEN DU BACCALAURÉAT
SESSION 2017
Épreuve pratique d’informatique
Durée : 1h Coefficient :0.5
Sections : Maths, Sciences
expérimentales et S.Techniques
Date : 25 mai 2017 S32
Important :
1) Une solution modulaire au problème est exigée.
2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui
donnant comme nom votre numéro d’inscription (6 chiffres).
Dans le but de sécuriser les messages à envoyer, on peut faire appel à une méthode de cryptage.
Soit la méthode de cryptage suivante qui consiste à crypter par transposition de caractères, un message M
de longueur L décrite comme suit:
- Déterminer tous les diviseurs de L autres que 1 et lui même.
- Pour chaque diviseur d de L et en commençant par le plus petit, on inverse symétriquement les
caractères de chaque bloc de longueur d.
Exemple :
Pour le message "INFORMATIQUE" dont la longueur L = 12.
- Les diviseurs de 12 autres que 1 et 12 sont : 2, 3, 4 et 6.
- Les inversions des blocs de caractères seront effectuées comme suit :
 Après inversion de chaque bloc de 2 caractères de la chaîne "INFORMATIQUE", on aura la
chaîne "NIOFMRTAQIEU".
 Après inversion de chaque bloc de 3 caractères de la chaîne " NIOFMRTAQIEU ", on aura la
chaîne "OINRMFQATUEI".
 Après inversion de chaque bloc de 4 caractères de la chaîne " OINRMFQATUEI ", on aura la
chaîne "RNIOAQFMIEUT".
 Après inversion de chaque bloc de 6 caractères de la chaîne " RNIOAQFMIEUT ", on aura la
chaîne "QAOINRTUEIMF".
On se propose d’écrire un programme Pascal intitulé « Cryptage » qui permet de saisir un message M
dont la longueur est un nombre non premier et supérieur à 4 et d’afficher le message crypté en utilisant la
méthode décrite précédemment.
Pour cela on donne l’algorithme du programme principal suivant :
0) Début Cryptage
1) Répéter
Ecrire ("Donner le message à crypter :")
Lire(M)
Jusqu’a (FN Valide (M))
2) Ecrire (FN Crypter (M))
3) Fin Cryptage
Page 2 sur 2
Travail demandé :
a. Traduire l’algorithme Cryptage en un programme Pascal et ajouter les déclarations nécessaires.
b. Transformer la séquence n°1 en un module et apporter les modifications nécessaires dans le
programme principal.
c. Développer le module Valide qui permet de vérifier si la longueur du message M est un nombre
non premier et supérieur à 4.
d. Développer le module Crypter qui permet de crypter un message M en utilisant le principe décrit
précédemment.
Grille d’évaluation :
Questions Nombre de points
a. Traduction de l’algorithme Cryptage en Pascal +
Ajout des déclarations nécessaires.
b. Transformation de la séquence n°1 en un module +
Modifications nécessaires dans le programme
principal.
c. Développement du module Valide.
d. Développement du module Crypter.
3,5 + 1,5
3 + 1
3,5
7,5
Page 1 sur 2
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION

EXAMEN DU BACCALAURÉAT
SESSION 2017
Épreuve pratique d’informatique
Durée : 1h Coefficient :0.5
Sections : Maths, Sciences
expérimentales et S.Techniques
Date : 25 mai 2017 S43
Important :
1) Une solution modulaire au problème est exigée.
2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui
donnant comme nom votre numéro d’inscription (6 chiffres).
L’ISSN (International Standard Serial Number) est un code international normalisé qui permet
d’identifier de manière univoque toute publication en série indépendamment du pays d’édition, de la
langue de publication et du support (imprimé, ressource en ligne, CD, DVD...).
L’ISSN prend la forme suivante : ISSN Bloc1-Bloc2 où chaque bloc est formé de quatre chiffres.
Le dernier chiffre du deuxième bloc est un chiffre de contrôle d’authenticité qui doit être égal au reste
de la division par 11 du nombre formé par les 7 autres chiffres ( les 4 chiffres du Bloc1 suivis des 3
premiers chiffres du Bloc2) ; il sera remplacé par "X" si ce reste est égal à 10.
Exemple:
ISSN 0317-8472 est un ISSN authentique.
En effet, 2 représente le reste de la division entière de 317847 par 11.
ISSN 1050-125X est un ISSN authentique.
En effet, X remplace 10 qui est égal au reste de la division entière de 1050125 par 11.
ISSN 0317-8473 n’est pas un ISSN authentique.
En effet, 3 ne représente pas le reste de la division entière de 317847 par 11.
On se propose d’écrire un programme Pascal qui permet de remplir un premier tableau Pub par N noms
de publications avec 5≤ N≤10 et dans un deuxième tableau Code les N codes ISSN correspondants
puis d’afficher uniquement les publications authentiques sachant qu’une publication est dite authentique
si et seulement si son code ISSN est authentique.
Pour cela, on propose l’algorithme du programme principal suivant :
0) Début Verification
1) Répéter
Ecrire (" Saisir le nombre de publications à vérifier :")
Lire (N)
Jusqu’à ( N dans [5..10])
2) PROC Remplir (Pub, code, N)
3) Pour i de 1 à N faire
Si (FN authentique (Code[i]))
Alors Ecrire (Pub[i])
Fin Si
Fin Pour
4) Fin Verification
Page 2 sur 2
Travail demandé :
a. Traduire l’algorithme Verification en un programme Pascal et ajouter les déclarations
nécessaires.
b. Développer le module Remplir qui permet de saisir les noms des N publications dans un tableau
nommé Pub ainsi que les N codes ISSN correspondants dans un tableau nommé Code sachant
qu’un code ISSN doit être une chaine représentée comme suit : ISSN Bloc1-Bloc2 où Bloc1 et
Bloc2 sont deux groupes de quatre chiffres chacun.
c. Développer le module Authentique qui permet de vérifier l’authenticité d’un code ISSN en
utilisant le procédé décrit précédemment.
Grille d’évaluation :
Questions Nombre de points
a. Traduction de l’algorithme Verification en Pascal + Ajout
des déclarations nécessaires.
b. Développement du module Remplir.
c. Développement du module Authentique.
6+ 1
6
7
Page 1 sur 2
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION

EXAMEN DU BACCALAURÉAT
SESSION 2017
Épreuve pratique d’informatique
Durée : 1h Coefficient : 0.5
Sections : Maths, Sciences
expérimentales et S.Techniques
Date : 25 mai 2017 S51
Important :
1) Une solution modulaire au problème est exigée.
2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui
donnant comme nom votre numéro d’inscription (6 chiffres).
Le ministère de l’éducation organise une olympiade d’informatique à l’échelle nationale.
Pour générer un code pour chaque participant à cette olympiade, on se propose d’écrire un programme
intitulé Olympiade qui permet de:
 remplir deux tableaux TN et TG respectivement par, les noms et les gouvernorats d’origine des N
participants avec 5 ≤ N ≤ 26. Il est à noter que le nom d’un participant ne doit pas dépasser 15 lettres
et celui du gouvernorat est d’au maximum 10 lettres.
 générer dans un troisième tableau TC, un code pour chaque participant. Ce code est formé de 5
caractères dont :
o les trois premiers caractères représentent les trois premières lettres du gouvernorat du
participant
o et les deux derniers caractères est un nombre de 2 chiffres représentant le rang du participant
par rapport aux autres participants du même gouvernorat.
 afficher pour chaque participant, son nom et son code.
Exemple :
Pour N = 9 et les deux tableaux TN et TG suivants :
TN Rahma Ayoub Aya Ali Mohamed Bilel Meriem Sana Anis
1 2 3 4 5 6 6 8 9
TG Jendouba Monastir Bèja Jendouba Tataouine Jendouba Monastir Sfax Sfax
1 2 3 4 5 6 7 8 9
Après génération des codes, le tableau TC sera :
TC Jen01 Mon01 Bèj01 Jen02 Tat01 Jen03 Mon02 Sfa01 Sfa02
En effet, la participante Rahma aura le code Jen01 puisque les trois premières lettres de son gouvernorat
est Jen et elle est la première participante du gouvernorat de Jendouba.
Le participant Anis aura le code Sfa02 puisque les trois premières lettres de son gouvernorat est Sfa et il est
le deuxième participant du gouvernorat de Sfax.
Le programme affiche :
Rahma Jen01
Ayoub Mon01
Aya Bèj01
Ali Jen02
Mohamed Tat01
Page 2 sur 2
Bilel Jen03
Meriem Mon02
Sana Sfa01
Anis Sfa02
Pour cela on propose l’algorithme du programme principal suivant :
0) Début Olympiade
1) Répéter
Ecrire ("Donner le nombre de participants :")
Lire(N)
Jusqu’à (N dans [5..26])
2) Pour i de 1 à N faire
Repeter
Ecrire ("Donner le nom du participant :")
Lire(TN[i])
Jusqu’à ( FN Verif ( TN[i], 15))
Repeter
Ecrire ("Donner le nom du gouvernorat :")
Lire (TG[i])
Jusqu’à ( FN Verif ( TG[i], 10))
Fin Pour
3) PROC Generer (TG,TC, N)
4) PROC Afficher (TN, TC, N)
5) Fin Olympiade
Travail demandé :
a. Traduire l’algorithme Olympiade en un programme Pascal et ajouter les déclarations nécessaires.
b. Développer le module Verif qui permet de vérifier si une chaine est composée uniquement par des
lettres et de longueur L donnée.
c. Développer le module Generer qui permet de générer le tableau TC comme décrit précédemment.
d. Développer le module Afficher qui permet d’afficher pour chaque participant, son nom et son code.
Grille d’évaluation :
Questions Nombre de points
a. Traduction de l’algorithme Olympiade en Pascal + Ajout des
déclarations nécessaires.
b. Développement du module Verif.
c. Développement du module Generer.
d. Développement du module Afficher.
6 + 2
4
5
3
1 / 2
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION

EXAMEN DU BACCALAURÉAT
SESSION 2018
Épreuve pratique d’informatique
Durée : 1h Coefficient : 0.5
Sections : Maths, S.expérimentales et S.techniques
Important :
Enregistrez au fur et à mesure votre programme dans le dossier Bac2018 situé à la racine C: en lui
donnant comme nom, votre numéro d’inscription (6 chiffres).
Un client collectionne les images qu'il trouve dans les paquets de ses biscuits préférés pour gagner des
passes d’entrées gratuites, à un parc d’attraction. La collection doit comporter 20 images différentes
relatives à des personnages distincts de bandes dessinées.
On suppose que les images ont été disposées au hasard dans les paquets et que :
 chaque paquet contient exactement une image de personnages de bandes dessinées,
 un même personnage peut se retrouver dans plusieurs paquets.
Pour gagner ce voyage, le client achète une boîte contenant 50 paquets.
On donne l’algorithme du programme principal suivant où P représente un tableau contenant la collection
des personnages distincts que le client a pu collectionner, suite à l’ouverture des 50 paquets achetés, et C, le
nombre d’éléments de P.
0) Début Collection
1) Répéter
Ecrire ("Donner le nom du personnage trouvé dans le paquet n° 1 :")
Lire (P[1])
Jusqu’à (FN Valide (P[1]))
2) C1
3) Pour i de 2 à 50 faire
Répéter
Ecrire ("Donner le nom du personnage trouvé dans le paquet n° ",i, ":")
Lire (Pers)
Jusqu’à (FN Valide (Pers))
Si (FN Chercher (Pers, P,C)=faux) Alors
C C+1
P[C]  Pers
FinSi
FinPour
4) Si (C = 20) Alors
Ecrire ("Vous avez gagné ")
Sinon
Ecrire (" Vous avez perdu")
FinSi
5) Fin Collection
Devoirs
et
examens
sur
:
www.kiteb.net
2 / 2
Travail à faire :
a. Traduire l’algorithme Collection en un programme Pascal et ajouter les déclarations nécessaires.
b. Développer la fonction Valide permettant de valider une chaîne qui doit être non vide, commencer
par une majuscule et être formée uniquement de lettres non accentuées.
c. Développer la fonction Chercher qui permet de vérifier l’existence d’un personnage Pers dans le
tableau P.
d. Mettre les séquences 2), 3) et 4) sous forme de commentaire et réécrire ces trois séquences en
apportant les modifications nécessaires de façon à ce que le programme :
 prenne en considération la possibilité de trouver 20 personnages distincts avant même de
terminer l’ouverture des 50 paquets,
 dans le cas, où le client n’a pas réussi à collectionner 20 personnages, affiche le nombre de
personnages manquants pour gagner le concours.
Grille d’évaluation :
Questions Nombre de points
a. Traduction de l’algorithme Collection en Pascal + Ajout des
déclarations nécessaires.
b. Développement de la fonction Valide.
c. Développement de la fonction Chercher.
d. Transformation des séquences 2), 3) et 4) :
- Prise en considération de la possibilité de trouver les 20
personnages demandés même avant de terminer
l’ouverture des 50 paquets.
- Affichage du nombre de personnages manquants.
6 + 2
3
3
4
2
Devoirs
et
examens
sur
:
www.kiteb.net
1 / 2
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION

EXAMEN DU BACCALAURÉAT
SESSION 2018
Épreuve pratique d’informatique
Durée : 1h Coefficient : 0.5
Sections : Maths, S. expérimentales et S. techniques
Important :
Enregistrez au fur et à mesure votre programme dans le dossier Bac2018 situé à la racine C: en lui
donnant comme nom, votre numéro d’inscription (6 chiffres).
La marque ‘ECOLO’, décide de faire des statistiques à propos de la consommation de ses produits par
les clients d’un espace commercial.
On se propose de créer une application informatique qui, pour un client donné ayant acheté N produits
(N ϵ [5,100]), permet de déterminer le nombre de produits achetés de cette marque.
On suppose que le nom d’un produit relatif à une marque donnée contient obligatoirement le nom de cette
marque.
Pour cela, on donne l’algorithme du programme principal suivant intitulé Achat où :
 Nbp représente le nombre de produits achetés de la marque ‘ECOLO’,
 Nomp le nom d’un produit qui doit être une chaine alphanumérique pouvant contenir des espaces
et de longueur maximale 20 caractères.
0) Début Achat
1) Ecrire ("Donner le nombre de produits achetés:")
2) Lire (N)
3) Nbp0
4) Pour i de 1 à N faire
Ecrire ("Donner le nom du produit :")
Lire (Nomp)
Si (Pos (‘ECOLO’, Nomp) ≠0) Alors
NbpNbp+1
FinSi
FinPour
5) Ecrire ("Merci pour l’achat de ", Nbp , " produit(s) de la marque ECOLO")
6) Fin Achat
Devoirs
et
examens
sur
:
www.kiteb.net
2 / 2
Travail à faire :
a. Traduire l’algorithme Achat en un programme Pascal et ajouter les déclarations nécessaires.
b. Ajouter les contrôles nécessaires au programme, pour que :
 N soit un entier de l’intervalle [5..100].
 Nomp soit une chaine alphanumérique pouvant contenir des espaces et de longueur
maximale 20 caractères. (Le test de l’existence du nom de la marque dans le nom du
produit n’est pas demandé).
c. Transformer les séquences 3) et 4) en un module et ajouter les modifications nécessaires pour
déterminer le nombre de produits distincts de la marque ‘ECOLO’ parmi les N produits achetés
par un même client.
d. Transformer la séquence 5) pour afficher :
 un message d’invitation à la consommation des produits de la marque ‘ECOLO’ au client
n’ayant acheté aucun produit de cette marque.
 un message de remerciement au client ayant acheté au moins un produit de la marque avec,
en plus, un message d’invitation à devenir ambassadeur de la marque, si le client achète plus
de 5 produits distincts de cette marque.
Grille d’évaluation :
Questions Nombre de points
a. Traduction de l’algorithme Achat en Pascal + Ajout des
déclarations nécessaires.
b. Ajout de contrôles pour :
 N : nombre de produits achetés
 Nomp : nom d’un produit
c. Transformation des séquences 3) et 4) + ajout des
modifications.
d. Transformation de la séquence 5).
3.75 + 2.5
1
3.75
5
4
Devoirs
et
examens
sur
:
www.kiteb.net
1 / 2
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION

EXAMEN DU BACCALAURÉAT
SESSION 2018
Épreuve pratique d’informatique
Durée : 1h Coefficient : 0.5
Sections : Maths, S.expérimentales et S. techniques
Important :
Enregistrez au fur et à mesure votre programme dans le dossier Bac2018 situé à la racine C:
en lui donnant comme nom, votre numéro d’inscription (6 chiffres).
1)
A l’occasion de son vingtième anniversaire et pour encourager ses clients, une société de
télécommunication, dont les indicatifs sont 65 et 66, accorde un bonus de recharge pour les clients
gagnants. Un client est dit gagnant si le montant de ses communications est supérieur ou égal à la
consommation moyenne de N clients de la société.
Pour automatiser cette tâche, on se propose d’écrire un programme intitulé Bonus qui permet de :
1. remplir 2 tableaux T et C respectivement, par les numéros et les consommations téléphoniques
des N clients, avec 10≤N≤100, sachant que :
a. chaque numéro est unique et est formé de huit chiffres commençant obligatoirement par 65
ou 66,
b. pour chaque numéro de téléphone T[i], on fait correspondre un montant de consommation
C[i] exprimé en dinars tunisiens,
2. afficher les numéros de téléphone gagnants et les bonus de recharge, obtenus en multipliant par
20, la somme des six derniers chiffres de chaque numéro gagnant.
Pour cela, on propose l’algorithme du programme principal suivant :
0) Début Bonus
1) Répéter
Ecrire ("Donner le nombre de clients :")
Lire (N)
Jusqu’à (N dans [10..100])
2) Répéter
Ecrire ("Donner le numéro de téléphone du premier client : ")
Lire (T[1])
Jusqu’à (FN Valide (T[1]) )
3) Répéter
Ecrire ("Donner le montant consommé par le premier client : ")
Lire (C[1])
Jusqu’à (C[1]>=0)
4) Pour i de 2 à N faire
Répéter
Ecrire ("Donner le numéro de téléphone du client n° ",i, ":")
Lire (T[i])
Jusqu’à (FN Verif (T[i], i - 1, T) ET FN Valide ( T[i]))
Répéter
Ecrire ("Donner le montant consommé par le client n° ",i, ":")
Lire (C[i])
Jusqu’à (C[i]>=0)
FinPour
5) PROC Affiche (T,C,N)
6) Fin Bonus
Devoirs
et
examens
sur
:
www.kiteb.net
2 / 2
Exemple :
Pour N=7 et les tableaux T et C suivants :
T 66456789 66127721 65980765 66123321 66285585 66285582 65347743
1 2 3 4 5 6 7
C 200 20 300 250 45 99 180
1 2 3 4 5 6 7
Le programme affiche :
Le montant moyen des consommations est : 156.285
Le numéro 66456789 a gagné 780 DT
Le numéro 65980765 a gagné 700 DT
Le numéro 66123321 a gagné 240 DT
Le numéro 65347743 a gagné 560 DT
Travail à faire :
a. Traduire l’algorithme Bonus en un programme Pascal et ajouter les déclarations
nécessaires.
b. Développer le module Valide qui permet de vérifier si le numéro est formé de 8 chiffres
et commence par 65 ou 66.
c. Développer le module Verif qui permet de vérifier si le numéro du client existe ou non.
d. Développer le module Affiche qui permet d’afficher les numéros gagnants et les bonus
de recharge obtenus exprimés en dinars. Dans le cas où il n’y a pas de gagnant le
programme affiche le message "Il n’y a pas de gagnant".
Grille d’évaluation :
Questions Nombre de points
a. Traduction de l’algorithme Bonus en Pascal + Ajout des
déclarations nécessaires.
b. Développement du module Valide.
c. Développement du module Verif.
d. Développement du module Affiche.
6 + 2
3
3
6
Devoirs
et
examens
sur
:
www.kiteb.net
1 / 2
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION

EXAMEN DU BACCALAURÉAT
SESSION 2018
Épreuve pratique d’informatique
Durée : 1h Coefficient : 0.5
Sections : Maths, S. expérimentales et S. techniques
Important :
Enregistrez au fur et à mesure votre programme dans le dossier Bac2018 situé à la racine C: en lui
donnant comme nom, votre numéro d’inscription (6 chiffres).
1)
Dans le but d’informatiser le système de déroulement des examens, un institut de formation, décide de
réaliser une application permettant à ses candidats de passer un examen à distance.
L’examen est composé de N questions (avec 5≤N≤ 10) sous forme de propositions à valider soit par VRAI si
la proposition est correcte, soit par FAUX dans le cas contraire.
Pour cela, on se propose d’écrire un programme intitulé QCU (Questions à Choix Unique) qui permet de :
 remplir un tableau Q par les N questions ainsi que les N réponses correspondantes, sous le format
Question#Réponse sachant que :
- Question désigne la proposition à valider. Elle est formée d’au moins quatre caractères et
commence par une majuscule.
- Réponse est une chaine majuscule qui représente la réponse à la question. Elle doit être VRAI si
la proposition est correcte et FAUX dans le cas contraire.
 remplir un tableau R par les N réponses fournies par un candidat, sachant que R[i] est une chaine
majuscule qui représente la réponse du candidat à la question Q[i]. Elle doit être VRAI ou FAUX.
 afficher :
- le nombre total de points obtenus par ce candidat, sachant que, pour chaque réponse correcte, on
ajoute 2 au total, sinon on retranche 2.
- Le taux de réussite calculé comme suit : Taux réussite = (nombre de réponses correctes / N) *100
Exemple :
Pour N=5, et les deux tableaux Q et R suivants :
Q WAN est un réseau
local #FAUX
Pascal est un langage
compilé#VRAI
ROM est une
mémoire
morte#VRAI
Octet est la plus petite unité
de mesure de capacité des
supports de stockage#FAUX
http est un
protocole d’échange
de données#FAUX
1 2 3 4 5
R FAUX VRAI VRAI VRAI FAUX
1 2 3 4 5
Le programme affiche :
Le nombre total de points obtenus est : 6
Le taux de réussite est : 80%
Explications :
Nombre de réponses correctes : 4
Nombre de réponses incorrectes : 1
Donc :
Total de points obtenus = 4*2 + 1*(-2) = 6
Taux de réussite = (4 / 5) * 100 = 80 %
Devoirs
et
examens
sur
:
www.kiteb.net
2 / 2
Pour cela, on propose l’algorithme du programme principal suivant :
0) Début QCU
1) Répéter
Ecrire ("Donner le nombre de questions : ")
Lire (N)
Jusqu’à (N dans [5..10])
2) Pour i de 1 à N faire
Ecrire ("Donner la proposition relative à la question n° : ",i)
Lire (Question)
Répéter
Ecrire ("Donner la validation de la proposition n° : ", i)
Lire (Reponse)
PROC ConvMaj(Reponse)
Jusqu’à (Reponse = "VRAI") Ou (Reponse = "FAUX")
Q[i]Question+"#"+Reponse
FinPour
3) Pour i de 1 à N faire
Répéter
Ecrire ("Donner votre réponse à la question n° : ",i)
Lire (R[i])
PROC ConvMaj(R[i])
Jusqu’à (R[i] = "VRAI") Ou (R[i] = "FAUX")
FinPour
4) PROC Resultat (Q,R,N)
5) Fin QCU
Travail à faire :
a. Traduire l’algorithme QCU en un programme Pascal et ajouter les déclarations nécessaires.
b. Dans la séquence 2), ajouter les contrôles nécessaires à la variable QUESTION pour respecter les
contraintes décrites précédemment.
c. Développer la procédure ConvMaj qui convertit une chaine de caractères donnée en majuscules.
d. Développer la procédure Resultat qui permet de déterminer puis d’afficher le nombre de réponses
correctes ainsi que le taux de réussite du candidat comme indiqué précédemment.
Grille d’évaluation :
Questions Nombre de points
a. Traduction de l’algorithme QCU en Pascal + Ajout des
déclarations nécessaires.
b. Ajout dans la séquence 2), des contrôles nécessaires.
c. Développement de la procédure ConvMaj.
d. Développement de la procédure Resultat.
6.5 + 1.75
1.5
3
7.25
Devoirs
et
examens
sur
:
www.kiteb.net
1 / 2
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION

EXAMEN DU BACCALAURÉAT
SESSION 2018
Épreuve pratique d’informatique
Durée : 1h Coefficient : 0.5
Sections : Maths, S. expérimentales et S. techniques
Important :
Enregistrez au fur et à mesure votre programme dans le dossier Bac2018 situé à la racine C: en lui
donnant comme nom, votre numéro d’inscription (6 chiffres).
L’examen d’un patient par son médecin commence par la collecte des symptômes à travers un ensemble de
questions posées. Chaque symptôme sert à l’identification des maladies possibles et aide le médecin à
prendre sa décision.
Pour l’aider à déterminer et à afficher les maladies correspondant à un symptôme donné, on se propose
d’écrire un programme qui permet de :
1. remplir un tableau M, par les noms de N maladies (2<N≤100) où le nom d’une maladie est une
chaîne formée par des caractères alphabétiques majuscules et peut contenir des espaces.
2. remplir un tableau S par N chaînes, représentant chacune, les principaux symptômes de la maladie
M[i] séparés par des "#". Le dernier symptôme ne sera pas suivi du caractère "#". Un symptôme est
une chaîne formée par des caractères alphabétiques majuscules et peut contenir des espaces.
3. afficher les maladies probables, pour un symptôme donné.
Exemple :
M INSUFFISANCE
RENALE
SPONDYLITE TUBERCULOSE ANEMIE NEVRALGIE
1 2 3 4 5
S
FATIGUE
#PERTE
APPETIT
DOULEUR
VERTEBRALE#
DOULEUR
THORACIQUE#
PERTE APPETIT
#INFLAMMATION
OCCULAIRE
SUEUR#
TOUX#
DOULEUR
POITRINE
#DOULEUR
VERTEBRALE
#PERTE
APPETIT
PERTE APPETIT#
FATIGUE#MAUX
DE TETE
PARALYSIE#
DOULEUR
1 2 3 4 5
Pour le symptôme = "DOULEUR VERTEBRALE"
Les maladies probables sont : SPONDYLITE et TUBERCULOSE
Devoirs
et
examens
sur
:
www.kiteb.net
2 / 2
Pour cela, on vous propose la solution algorithmique suivante :
Algorithme du programme principal Algorithme de la procédure Saisie
0) Début Diagnostic
1) Répéter
Ecrire("Donner le nombre de maladies:")
Lire (N)
Jusqu’à (N dans [3..100])
2) Pour i de 1 à N faire
Répéter
Ecrire ( "Donner la maladie n°",i," :")
Lire (M[i])
Jusqu’à (FN Alpha(M[i])
PROC Saisie(S[i])
FinPour
3) Répéter
Ecrire ("Symptôme en question :")
Lire (Sym)
Jusqu’à (FN Alpha (Sym))
4) PROC Affiche_maladie (M, S, N, Sym)
5) Fin Diagnostic
0) DEF PROC Saisie (Var ch : Chaîne)
1) Ecrire ("Donner les symptômes
correspondants :")
2) Répéter
Ecrire ("Combien de symptômes ?")
Lire(Ns)
Jusqu’à (Ns >0)
3) Ch FN Former (Ns)
4) Fin Saisie
Travail à faire :
a. Traduire l’algorithme Diagnostic en un programme Pascal et ajouter les déclarations nécessaires.
b. Traduire la procédure Saisie qui permet de saisir les symptômes relatifs à une maladie donnée.
c. Développer la fonction Alpha qui permet de vérifier qu’une chaîne donnée est formée par des lettres
majuscules et peut contenir des espaces.
d. Développer la fonction Former qui saisit des symptômes et les sépare par le caractère "#" pour
répondre aux conditions décrites au point 2) de l’énoncé.
e. Développer la procédure Affiche_maladie qui permet d’afficher les maladies probables, pour un
symptôme donné.
Grille d’évaluation :
Questions
Nombre de
points
a. Traduction de l’algorithme Diagnostic en Pascal + Ajout des
déclarations nécessaires.
6 + 2
b. Traduction de la procédure Saisie. 2
c. Développement de la fonction Alpha. 3
d. Développement de la fonction Former. 3,5
e. Développement de la procédure Affiche_maladie. 3,5
Devoirs
et
examens
sur
:
www.kiteb.net
Page 1/2
Important : Dans le répertoire Bac2019, créez un dossier de travail ayant comme nom votre numéro d’inscription
(6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solutions de ce sujet.
Le responsable de marketing d’une société veut créer un nom pour un nouvel article à partir de N noms
de produits existants, sachant que ces derniers ont le même nombre de caractères. Le procédé
ci-après a été sélectionné pour générer des propositions à utiliser dans le choix du nouveau nom.
- Choisir un entier P inférieur à la longueur des noms des produits.
- Former une chaîne en concaténant le Pième
caractère de chaque nom des N produits existants.
- Procéder à des permutations spirales des N lettres obtenues pour avoir N propositions
à exploiter.
Le principe de la permutation spirale consiste à concaténer les différents caractères d’une chaîne de
manière spirale en commençant par le dernier caractère (dernier caractère, premier caractère, avant
dernier caractère, deuxième caractère, etc…).
Ce principe est illustré par l’exemple ci-dessous, qui pour une chaîne de départ "ABCDE" formée
de 5 lettres et après 4 permutations spirales, on obtient la chaîne "BDECA". La 5ème
permutation spirale
permet de retrouver la chaîne de départ.
On se propose d’écrire un programme Pascal permettant :
 de remplir un tableau Nom par les N noms des produits déjà commercialisés (avec 3 ≤ N ≤ 20),
sachant que le nom d’un produit est une chaîne formée de 10 lettres majuscules,
 de former une chaîne CH en concaténant le Pième
caractère de chaque nom des N produits déjà
commercialisés,
 de procéder à des permutations spirales des N lettres de la chaîne CH,
 d’afficher les N propositions obtenues.
ÉPREUVE PRATIQUE D’INFORMATIQUE
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION

EXAMEN DU BACCALAURÉAT
SESSION 2019
Sections :
Mathématiques, Sciences expérimentales et
Sciences techniques
Durée : 1h
Coefficient de l’épreuve : 0.5
Devoirs
et
examens
sur:
www.kiteb.net
Page 2/2
Ci-après, un algorithme du programme principal dans lequel des modifications seront apportées pour
répondre aux besoins cités ci-dessus :
0) Début Nomination
1) Ecrire ("Donner le nombre de produits : "), Lire (N)
2) Pour i de 1 à N faire
Ecrire ("Donner le nom du produit n° ", i, " : ")
Lire (Nom[i])
Fin pour
3) PROC Spirale (Nom, N)
4) Fin Nomination
Travail demandé :
1) Traduire l’algorithme Nomination en un programme Pascal et ajouter les déclarations
nécessaires puis enregistrer le programme, dans votre dossier de travail, sous le nom "Nom0".
NB : Il est recommandé de limiter la taille des éléments du tableau Nom à 10 caractères.
2) Dans votre dossier de travail, créer une deuxième copie de ce programme et l’enregistrer sous le
nom "Nom1".
Dans ce fichier :
a- Transformer les séquences 1 et 2 en un module puis apporter les modifications adéquates
dans le programme principal.
Dans ce module, ajouter les contrôles nécessaires pour que :
 N soit un entier de l’intervalle [3,20],
 le nom d’un produit soit une chaîne formée de 10 lettres majuscules.
b- Développer la procédure Spirale permettant de :
 saisir un entier P (avec 1 ≤ P ≤ 10),
 former la chaîne CH en concaténant le Pième
caractère de chaque nom,
 générer, dans un tableau TP, les N propositions de noms obtenues suite à la permutation
spirale expliquée précédemment.
c- Dans la procédure Spirale, développer un module Affichage (TP, N) permettant d’afficher
les N propositions de noms générés puis apporter les modifications nécessaires.
Exemple :
Pour N = 5, P = 3 et le tableau Nom suivant :
Nom CHOCOFRAIS MYBISCOTTO CONFITPLUS CAFFERITTA CHOCOCHIPS
1 2 3 4 5
La chaîne CH est "OBNFO"
Les N propositions à utiliser sont :
OBNFO – OOFBN – NOBOF – FNOOB – BFONO
Grille d’évaluation
Tâches Nombre de points
1) Traduction de l’algorithme Nomination en Pascal et
ajout des déclarations nécessaires.
4
2)
a- Transformation des séquences 1 et 2 en un module et
ajout des contrôles nécessaires.
b- Développement de la procédure Spirale.
c- Développement du module Affichage.
5.75
7.5
2.75
Devoirs
et
examens
sur:
www.kiteb.net
Page 1/2
ÉPREUVE PRATIQUE D’INFORMATIQUE
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION

EXAMEN DU BACCALAURÉAT
SESSION 2019
Sections :
Mathématiques, Sciences expérimentales et
Sciences techniques
Durée : 1h
Coefficient de l’épreuve : 0.5
Important : Dans le répertoire Bac2019, créez un dossier de travail ayant comme nom votre numéro d’inscription
(6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solutions de ce sujet.
Le jeu de tir à l’arc consiste à tirer des flèches en utilisant un arc vers un endroit cible.
Un club de tir à l’arc organise une compétition entre ses joueurs. Cette compétition consiste à donner à
chaque joueur trois essais de tir.
A chaque tir, le joueur gagne de 0 à 10 points selon l’endroit
touché par la flèche sur une cible composée de 10 cercles
concentriques comme l’illustre la figure ci-contre.
Après le 3ème
essai, un score est calculé pour chaque joueur
représentant la somme des résultats de ses trois essais, et ce pour
classer les joueurs.
On se propose d’écrire un programme Pascal permettant :
• de remplir un tableau A par N noms de joueurs participant à cette compétition
(avec 2 ≤ N ≤ 20),
• de calculer le score de chaque joueur sachant que le résultat d’un essai est un entier positif
inférieur ou égal à 10,
• d’afficher la liste des joueurs ainsi que les scores correspondants en commençant par
le meilleur.
Exemple :
Pour N = 4 et le tableau A suivant :
A Mohamed ABIDI Fatma AYADI Anis OMRI Imen LOUIZ
1 2 3 4
En considérant que les résultats des trois essais ainsi que les scores calculés des quatre joueurs sont les
suivants :
Joueur Essai n°1 Essai n°2 Essai n°3 Score
Mohamed ABIDI 8 10 9 27
Fatma AYADI 10 7 10 27
Anis OMRI 7 9 7 23
Imen LOUIZ 9 9 10 28
La liste des joueurs affichée sera la suivante :
Imen LOUIZ avec un score de 28
Mohamed ABIDI avec un score de 27
Fatma AYADI avec un score de 27
Anis OMRI avec un score de 23
Devoirs
et
examens
sur:
www.kiteb.net
Page 2/2
Ci-après, un algorithme du programme principal dans lequel des modifications seront apportées pour
répondre aux besoins cités ci-dessus :
0) Début TirArc
1) Répéter
Ecrire ("Donner le nombre de joueurs : "), Lire (N)
Jusqu’à (N dans [2..20])
2) Pour i de 1 à N faire
Répéter
Ecrire ("Donner le nom du joueur n°", i," : "), Lire (A[i])
Jusqu’à (FN Alpha (A[i]))
Fin pour
3) PROC Score (A, N)
4) Fin TirArc
Travail demandé :
1) Traduire l’algorithme TirArc en Pascal et ajouter les déclarations nécessaires puis enregistrer le
programme, dans votre dossier de travail, sous le nom "TirArc0".
NB : Il est recommandé de limiter la taille des éléments du tableau A à 30 caractères.
2) Dans votre dossier de travail, créer une deuxième copie de ce programme et l’enregistrer sous le
nom "TirArc1".
Dans ce fichier :
a- Transformer la séquence 2 en un module et apporter les modifications nécessaires dans le
programme principal.
b- Développer la fonction Alpha qui permet de vérifier si le nom d’un joueur est une suite de
30 lettres au maximum et pouvant contenir des espaces.
c- Développer le module Score permettant :
 de saisir les résultats des trois essais de chaque joueur et de calculer son score,
 d’afficher la liste des joueurs ainsi que leurs scores selon un ordre décroissant des
scores.
Grille d’évaluation
Tâches Nombre de points
1) Traduction de l’algorithme TirArc en Pascal et ajout
des déclarations nécessaires.
5.5
2)
a- Transformation de la séquence 2 en un module
b- Développement de la fonction Alpha.
c- Développement du module Score.
2
4.5
8
Devoirs
et
examens
sur:
www.kiteb.net
Page 1/2
Important : Dans le répertoire Bac2019, créez un dossier de travail ayant comme nom votre numéro d’inscription
(6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solutions de ce sujet.
Le plagiat est une mauvaise pratique qui consiste à copier ou s'inspirer fortement d'une œuvre sans
citer son auteur et en faisant passer cette œuvre pour la sienne.
On suppose qu’un texte est plagié lorsque le nombre de mots communs dépasse la moitié du nombre de
mots du texte d’origine.
Exemple :
Texte à tester :
ENTRE DEUX VERSIONS DU MEME DOCUMENT CE LOGICIEL PERMET DE CHERCHER LE NOMBRE DE
MOTS IDENTIQUES.
Texte d’origine :
CE PROGRAMME PERMET DE TROUVER LE NOMBRE DE MOTS IDENTIQUES DANS DEUX VERSIONS DU
MEME TEXTE.
Les mots communs aux deux textes sont :
DEUX – VERSIONS – DU – MEME – CE – PERMET – DE – LE – NOMBRE – DE – MOTS – IDENTIQUES
Le texte testé est plagié. En effet, le nombre de mots communs aux deux textes est égal à 12, dépassant
ainsi la moitié du nombre de mots du texte d’origine qui est 16.
On se propose d’écrire un programme Pascal qui permet de saisir deux textes T1 et T2 ayant un même
nombre de mots, de vérifier si T2 est plagiat de T1 selon le principe décrit précédemment et d’afficher
un message correspondant.
Ci-après, un algorithme du programme principal dans lequel des modifications seront apportées pour
répondre aux besoins cités ci-dessus, avec Nbc désigne le nombre de mots communs à T1 et T2 :
0) Début Plagiat
1) Répéter
Lire (T1)
Lire (T2)
Jusqu’à (FN Nbmots (T1) = FN Nbmots (T2))
2) Nbc  FN Commun (T1,T2)
3) Fin Plagiat
ÉPREUVE PRATIQUE D’INFORMATIQUE
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION

EXAMEN DU BACCALAURÉAT
SESSION 2019
Sections :
Mathématiques, Sciences expérimentales et
Sciences techniques
Durée : 1h
Coefficient de l’épreuve : 0.5
Devoirs
et
examens
sur:
www.kiteb.net
Page 2/2
4
Travail demandé :
1) Traduire l’algorithme Plagiat en un programme Pascal et ajouter les déclarations nécessaires
puis enregistrer le programme, dans votre dossier de travail, sous le nom "Plagiat0".
2) Dans votre dossier de travail, créer une deuxième copie de ce programme et l’enregistrer sous le
nom "Plagiat1".
Dans ce fichier :
a- Développer un module intitulé Saisir qui permet de saisir une chaîne commençant
obligatoirement par une lettre, composée au maximum de 200 caractères, se terminant par
un point et ne pouvant contenir que des lettres majuscules et des espaces. Puis, apporter les
modifications nécessaires dans le programme principal.
Ce module permet aussi d’enlever les espaces superflus (garder un seul espace entre deux
mots consécutifs et ne garder aucun espace avant le point de fin de texte).
b- Développer le module Nbmots qui permet de déterminer le nombre de mots dans un texte.
c- Développer le module Commun, qui permet de déterminer le nombre de mots communs
dans deux textes donnés.
d- Apporter les modifications nécessaires au programme afin de vérifier si le texte testé est
plagié et d’afficher le message correspondant.
Grille d’évaluation
Tâches Nombre de points
1) Traduction de l’algorithme Plagiat en Pascal et ajout des
déclarations nécessaires. 4.5
2)
a- Développement du module Saisir.
b- Développement du module Nbmots.
c- Développement du module Commun.
d- Vérification et affichages nécessaires.
5.5
3.5
5
1.5
Devoirs
et
examens
sur:
www.kiteb.net
Page 1/2
ÉPREUVE PRATIQUE D’INFORMATIQUE
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION

EXAMEN DU BACCALAURÉAT
SESSION 2019
Sections :
Mathématiques, Sciences expérimentales et
Sciences techniques
Durée : 1h
Coefficient de l’épreuve : 0.5
Important : Dans le répertoire Bac2019, créez un dossier de travail ayant comme nom votre numéro d’inscription
(6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solutions de ce sujet.
Un gérant d’une salle de sport veut récompenser les adhérents fidèles en leur offrant un bonus sous
forme d’heures d’entraînement gratuites, calculé à partir de leurs numéros d’abonnement.
Le bonus est calculé en fonction de l’ancienneté de l’adhérent, exprimée en nombre de mois par rapport
à la date du jour. En effet, une heure supplémentaire est offerte pour chaque mois d’ancienneté, sachant
que le bonus ne sera pris en considération que si l’ancienneté dépasse 5 ans.
Un numéro d’abonnement est formé de 10 caractères dont le premier est une lettre majuscule indiquant
la catégorie de l’adhérent (A : Adulte, J : Junior, E : Enfant) suivi de 9 chiffres répartis comme suit :
• Les 4 premiers chiffres représentent l’année d’adhésion qui doit être comprise entre 2000 et 2019.
• Les 2 suivants représentent le mois d’adhésion dont la valeur doit être comprise entre 1 et 12.
• Les 3 derniers chiffres représentent le numéro d’adhésion qu’on suppose distinct pour tous les
adhérents.
Exemple :
Pour le numéro d’abonnement E201403080, l’adhérent est un enfant dont l’année d’adhésion est 2014,
le mois d’adhésion est 03 (mars) et son numéro d’adhésion est 080. Le bonus accordé à cet adhérent est
de 62 heures. En effet, son ancienneté est égale à cinq ans et deux mois par rapport à la date
d’aujourd’hui (28/05/2019), en nombre de mois elle est égale à 62 (12*5 + 2).
On se propose d’écrire un programme Pascal qui permet :
• de saisir un entier N représentant le nombre d’adhérents de cette salle (avec 5 ≤ N ≤ 30),
• de remplir un tableau TA par les N numéros d’abonnements de ces adhérents en respectant le
format décrit précédemment,
• d’afficher les numéros d’abonnements des adhérents ayant une ancienneté supérieure à 5 ans et
appartenant à une catégorie donnée ainsi que leurs bonus correspondants sachant que la date du
jour à considérer est 28/05/2019.
Ci-après, un algorithme du programme principal dans lequel des modifications seront apportées pour
répondre aux besoins cités ci-dessus :
0) Début Fidelite
1) Répéter
Ecrire ("Donner le nombre des adhérents :"), Lire (N)
Jusqu’à (N dans [5..30])
2) PROC Remplir (TA, N)
3) PROC Bonus (TA, N)
4) Fin Fidelite
Devoirs
et
examens
sur:
www.kiteb.net
Page 2/2
Travail demandé :
1) Traduire l’algorithme Fidelite en un programme Pascal et ajouter les déclarations nécessaires
puis enregistrer le programme, dans votre dossier de travail, sous le nom "Fidele0".
NB : Il est recommandé de limiter la taille des éléments du tableau TA à 10 caractères.
2) Dans votre dossier de travail, créer une deuxième copie de ce programme et l’enregistrer sous le
nom "Fidele1".
Dans ce fichier :
a- Transformer la séquence 1 en un module et apporter les modifications nécessaires dans le
programme principal.
b- Développer le module Remplir qui permet de remplir un tableau TA par les N numéros
d’abonnements en respectant la forme décrite précédemment.
c- Développer le module Bonus permettant :
• de saisir une catégorie d’adhérents, qui doit être une lettre majuscule parmi les
suivantes : A, J ou E,
• d’afficher les numéros ainsi que les bonus correspondants aux abonnements appartenant
à la catégorie donnée et ayant une ancienneté supérieure à 5 ans.
Grille d’évaluation
Tâches Nombre de points
1) Traduction de l’algorithme Fidelite en Pascal et ajout des
déclarations nécessaires.
4
2)
a- Transformation de la séquence 1 en un module.
b- Développement du module Remplir.
c- Développement du module Bonus.
1.5
6.5
8
Devoirs
et
examens
sur:
www.kiteb.net
Page 1/2
Important : Dans le répertoire Bac2019, créez un dossier de travail ayant comme nom votre numéro d’inscription
(6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solutions de ce sujet.
Un spécialiste en psychologie analytique veut faire une étude sur les heures qui se disent heures miroirs
et ce, à partir des heures de naissances des nouveau-nés. Les heures miroirs sont classées selon trois
types à savoir les heures miroirs doublées, les heures miroirs triplées et les heures miroirs inversées.
Pour commencer cette étude, il a demandé auprès de l’administration d’un hôpital de lui fournir, pour
une journée donnée, la liste des noms et prénoms des nouveau-nés ainsi que les heures de leurs
naissances.
Selon la représentation horaire HH:MM, l’heure miroir est dite :
- doublée si le nombre qui représente l’heure est le même que celui qui représente les minutes
(exemples 13:13, 22:22, 15:15, …)
- triplée s’il existe une séquence de trois chiffres identiques et consécutifs
(exemples 22:22, 22:29, 10:00, …)
- inversée si les chiffres qui représentent les minutes sont l’inverse de ceux qui représentent l’heure
(exemples 13:31, 14:41, 22:22, …)
NB : Une heure miroir peut être à la fois doublée, triplée et inversée.
Pour faire cette étude, on se propose d’écrire un programme Pascal qui permet de remplir deux tableaux
NP et HN respectivement par :
- les noms et les prénoms des N nouveau-nés de la journée,
- l’heure de naissance de chacun,
puis d’afficher :
- la liste des nouveau-nés ayant une heure de naissance miroir, en précisant pour chacun le type de
l’heure miroir correspondant (doublée, triplée ou inversée),
- le nombre des nouveau-nés ayant l’heure de naissance miroir doublée,
- le nombre des nouveau-nés ayant l’heure de naissance miroir triplée,
- le nombre des nouveau-nés ayant l’heure de naissance miroir inversée.
Exemple :
Pour N = 10 et les tableaux NP et HN suivants :
NP
Rania
Kefi
Karim
Salhi
Hatem
Krid
Sahar
Feki
Maha
Sessi
Fedi
Krayem
Amin
Douaji
Dina
Selmi
Samir
Siala
Abir
Zekri
HN 06:05 11:14 12:23 13:13 14:44 15:51 20:33 21:11 22:22 23:07
ÉPREUVE PRATIQUE D’INFORMATIQUE
RÉPUBLIQUE TUNISIENNE
MINISTÈRE DE L’ÉDUCATION

EXAMEN DU BACCALAURÉAT
SESSION 2019
Sections :
Mathématiques, Sciences expérimentales et
Sciences techniques
Durée : 1h
Coefficient de l’épreuve : 0.5
Devoirs
et
examens
sur
:
www.Kiteb.net
Page 2/2
Le programme affiche :
Les nouveau-nés ayant l’heure de naissance miroir sont :
Karim Salhi : heure miroir triplée
Sahar Feki : heure miroir doublée
Maha Sessi : heure miroir triplée
Fedi Krayem : heure miroir inversée
Dina Selmi : heure miroir triplée
Samir Siala : heure miroir doublée
Samir Siala : heure miroir triplée
Samir Siala : heure miroir inversée
Le nombre des nouveau-nés ayant l’heure de naissance miroir doublée est 2.
Le nombre des nouveau-nés ayant l’heure de naissance miroir triplée est 4.
Le nombre des nouveau-nés ayant l’heure de naissance miroir inversée est 2.
Ci-après, un algorithme du programme principal dans lequel des modifications seront apportées pour
répondre aux besoins cités ci-dessus :
0) Début HeureMiroir
1) Ecrire ("Donner le nombre de nouveau-nés : "), Lire (N)
2) PROC Remplissage (NP, HN, N)
3) PROC Affichage (NP, HN, N)
4) Fin HeureMiroir
Travail demandé :
1) Traduire l’algorithme HeureMiroir en Pascal et ajouter les déclarations nécessaires puis
enregistrer le programme, dans votre dossier de travail, sous le nom "HMiroir0".
NB : Il est recommandé de limiter la taille des éléments des tableaux à 30 caractères.
2) Dans votre dossier de travail, créer une deuxième copie de ce programme et l’enregistrer sous le
nom "HMiroir1".
Dans ce fichier :
a- Transformer la séquence 1 en un module en ajoutant les contrôles de saisie nécessaires pour
que N soit un entier de l’intervalle [3,20] et apporter les modifications adéquates dans le
programme principal.
b- Développer le module Remplissage permettant de remplir :
- le tableau NP par les noms et les prénoms des N nouveau-nés de la journée, sachant que
le nom et le prénom est une seule chaîne commençant par une lettre majuscule et formée
au maximum de 30 caractères,
- le tableau HN par l’heure de naissance de chaque nouveau-né, et ce en respectant le
format horaire HH:MM, sachant que la valeur de HH est comprise entre 0 et 23 et celle
de MM est comprise entre 0 et 59 représentée chacune sur deux chiffres.
c- Développer le module Affichage permettant de faire les affichages nécessaires comme
indiqué précédemment.
NB : Le candidat n’est pas appelé à respecter l’ordre d’affichage de l’exemple.
Grille d’évaluation
Tâches Nombre de points
1) Traduction de l’algorithme HeureMiroir en Pascal
et ajout des déclarations nécessaires.
3.75
2)
a- Transformation de la séquence 1 en un module.
b- Développement du module Remplissage.
c- Développement du module Affichage.
2.5
6.75
7
Devoirs
et
examens
sur
:
www.Kiteb.net
Page 1 sur 2
NOUVEAU RÉGIME
EXAMEN DU BACCALAURÉAT
SESSION 2022
RÉPUBLIQUE TUNISIENNE

MINISTÈRE DE L’ÉDUCATION
ÉPREUVE PRATIQUE D’INFORMATIQUE
Sections : Mathématiques, Sciences expérimentales et
Sciences techniques
Durée : 1h
Coefficient de l’épreuve : 0.5
Important :
1. Une solution modulaire au problème posé est exigée.
2. Dans le répertoire Bac2022, créez un dossier de travail ayant comme nom votre numéro d’inscription
(6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solution à ce sujet.
Le nombre ondulant
Un nombre N est dit ondulant s’il est formé de trois chiffres au minimum et qui est de la forme
ababab…avec a  b.
Exemples :
▪ 101, 2525, 56565 et 1717171 sont des nombres ondulants.
▪ 12345 et 808008 ne sont pas des nombres ondulants
Pour vérifier si un entier naturel N (N  100) est un nombre ondulant ou non, on se propose de concevoir
une interface graphique contenant les éléments suivants :
▪ Un label contenant le texte : "Nombre ondulant "
▪ Un label demandant la saisie d’un nombre "Introduire un entier  100 : "
▪ Une zone de saisie permettant la saisie du nombre
▪ Un bouton intitulé "Vérifier"
▪ Un label pour afficher le message adéquat
Travail demandé :
1) Concevoir une interface graphique comme illustrée ci-dessus et l’enregistrer, dans votre dossier de
travail, sous le nom "InterfaceOndulant".
2) Créer un programme Python et l’enregistrer, dans votre dossier de travail, sous le nom
"NbrOndulant".
3) Développer, dans le programme "NbrOndulant", une fonction Ondulant(N) qui permet de vérifier si
un entier N est ondulant ou non.
4) Dans le programme "NbrOndulant" :
• ajouter les instructions permettant d’appeler l’interface graphique intitulée
"InterfaceOndulant" en exploitant l’annexe ci-après.
• développer un module "Play", qui s’exécute suite à un clic sur le bouton "Vérifier",
permettant de récupérer l’entier N saisi, puis d’exploiter la fonction "Ondulant" afin
d’afficher le message adéquat via le label dédié à l’affichage de l’interface
"InterfaceOndulant".
N.B. : l’affichage du message doit être conforme aux exemples d’exécution suivants :
Kiteb.net
:
Le
site
web
éducatif.
Page 2 sur 2
Exemples d’exécution :
Grille d’évaluation
Tâches Nombre de points
Conception de l’interface "InterfaceOndulant" 4 pts
Création et enregistrement du programme "NbrOndulant" 1 pt
Développement de la fonction "Ondulant" 6 pts
Ajout des instructions :
▪ de l’interface "InterfaceOndulant"
▪ du module "Play"
2 pts
4 pts
Importation des bibliothèques nécessaires, modularité et cohérence 3 pts
Annexe
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import QApplication
……
……
app = QApplication([])
windows = loadUi ("Nom_Interface.ui")
windows.show()
windows.Nom_Bouton.clicked.connect (Nom_Module)
app.exec_()
Kiteb.net
:
Le
site
web
éducatif.
Page 1 sur 2
NOUVEAU RÉGIME
EXAMEN DU BACCALAURÉAT
SESSION 2022
RÉPUBLIQUE TUNISIENNE

MINISTÈRE DE L’ÉDUCATION
ÉPREUVE PRATIQUE D’INFORMATIQUE
Sections : Mathématiques, Sciences expérimentales et
Sciences techniques
Durée : 1h
Coefficient de l’épreuve : 0.5
Important :
1. Une solution modulaire au problème posé est exigée.
2. Dans le répertoire Bac2022, créez un dossier de travail ayant comme nom votre numéro d’inscription
(6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solution à ce sujet.
Le nombre super-pairplus
Un nombre N est dit super-pairplus s’il vérifie les trois conditions suivantes :
▪ Condition 1 : N est pair
▪ Condition 2 : N est formé uniquement par des chiffres pairs
▪ Condition 3 : tous les diviseurs de N autre que 1 sont des entiers pairs.
Exemples :
- N = 64 est un entier super-pairplus car 64 vérifie les trois conditions :
• Condition 1 : 64 est pair
• Condition 2 : 64 est formé uniquement par des chiffres pairs (6 et 4)
• Condition 3 : les diviseurs de 64 autre que 1 (2, 4, 8, 16, 32 et 64) sont des entiers pairs.
- N = 28 n’est pas un entier super-pairplus car une des trois conditions (condition 3) n’est pas
vérifiée :
• Condition 1 : 28 est pair
• Condition 2 : 28 est formé uniquement par des chiffres pairs (2 et 8)
• Condition 3 : les diviseurs de 28 autre que 1 (2, 4, 7, 14 et 28) ne sont pas tous des entiers
pairs. En effet, 7 est impair
Pour vérifier si un entier naturel N (N > 0) est un nombre super-pairplus ou non, on se propose de
concevoir une interface graphique contenant les éléments suivants :
▪ Un label contenant le texte : "Nombre super-pairplus "
▪ Un label demandant la saisie d’un nombre "Introduire un entier > 0 : "
▪ Une zone de saisie permettant la saisie du nombre
▪ Un bouton intitulé "Vérifier"
▪ Un label pour afficher le message adéquat
Travail demandé :
1) Concevoir une interface graphique comme illustrée ci-dessus et l’enregistrer, dans votre dossier de
travail, sous le nom "InterfaceSuperPairplus".
2) Créer un programme Python et l’enregistrer, dans votre dossier de travail, sous le nom
"NbrSuperPairplus".
3) Développer, dans le programme " NbrSuperPairplus", une fonction SuperPairplus (N) qui permet
de vérifier si un entier N est super-pairplus ou non.
Kiteb.net
:
Le
site
web
éducatif.
Page 2 sur 2
4) Dans le programme " NbrSuperPairplus" :
• ajouter les instructions permettant d’appeler l’interface graphique intitulée
"InterfaceSuperPairplus" en exploitant l’annexe ci-après.
• développer un module "Play", qui s’exécute suite à un clic sur le bouton "Vérifier",
permettant de récupérer l’entier N saisi, puis d’exploiter la fonction "SuperPairplus" afin
d’afficher le message adéquat via le label dédié à l’affichage de l’interface
"InterfaceSuperPairplus".
N.B. : l’affichage du message doit être conforme aux exemples d’exécution suivants :
Exemples d’exécution :
Grille d’évaluation
Tâches Nombre de points
Conception de l’interface "InterfaceSuperPairplus" 4 pts
Création et enregistrement du programme "NbrSuperPairplus" 1 pt
Développement de la fonction "SuperPairplus" 6 pts
Ajout des instructions :
▪ de l’interface "InterfaceSuperPairplus"
▪ du module "Play"
2 pts
4 pts
Importation des bibliothèques nécessaires, modularité et cohérence 3 pts
Annexe
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import QApplication
……
……
app = QApplication([])
windows = loadUi ("Nom_Interface.ui")
windows.show()
windows.Nom_Bouton.clicked.connect (Nom_Module)
app.exec_()
Kiteb.net
:
Le
site
web
éducatif.
Page 1 sur 2
NOUVEAU RÉGIME
EXAMEN DU BACCALAURÉAT
SESSION 2022
RÉPUBLIQUE TUNISIENNE

MINISTÈRE DE L’ÉDUCATION
ÉPREUVE PRATIQUE D’INFORMATIQUE
Sections : Mathématiques, Sciences expérimentales et
Sciences techniques
Durée : 1h
Coefficient de l’épreuve : 0.5
Important :
1. Une solution modulaire au problème posé est exigée.
2. Dans le répertoire Bac2022, créez un dossier de travail ayant comme nom votre numéro d’inscription
(6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solution à ce sujet.
Le nombre semi-premier
Un nombre N est dit semi-premier lorsqu’il est égal au produit de deux nombres premiers non
nécessairement distincts. C’est-à-dire N = k*k avec k est un nombre premier ou N = k*j avec k et j sont
deux nombres premiers.
Exemples :
- 6 est un nombre semi-premier car 6 = 2 × 3 avec 2 et 3 sont deux nombres premiers.
- 25 est un nombre semi-premier car 25 = 5 × 5 avec 5 est un nombre premier.
- 831 est un nombre semi-premier car 831= 3 × 277 avec 3 et 277 sont deux nombres premiers
- 8 n’est pas un nombre semi-premier, car 8 = 2 × 4 avec 4 n’est pas un nombre premier.
Pour vérifier si un entier naturel N (N > 2) est un nombre semi-premier ou non, on se propose de concevoir
une interface graphique contenant les éléments suivants :
 Un label contenant le texte : "Nombre semi-premier"
 Un label demandant la saisie d’un nombre : "Introduire un entier > 2 : "
 Une zone de saisie permettant la saisie du nombre
 Un bouton intitulé "Vérifier"
 Un label pour afficher le message adéquat
Travail demandé :
1) Concevoir une interface graphique comme illustrée ci-dessus et l’enregistrer, dans votre dossier de
travail, sous le nom "InterfaceSemiPremier".
2) Créer un programme Python et l’enregistrer, dans votre dossier de travail, sous le nom
"NbrSemiPremier".
3) Développer, dans le programme "NbrSemiPremier", une fonction SemiPremier(N) qui permet de
vérifier si un entier N est semi-premier ou non.
Kiteb.net
:
Le
site
web
éducatif.
Page 2 sur 2
4) Dans le programme "NbrSemiPremier" :
 ajouter les instructions permettant d’appeler l’interface graphique intitulée
"InterfaceSemiPremier" en exploitant l’annexe ci-après.
 développer un module "Play", qui s’exécute suite à un clic sur le bouton "Vérifier",
permettant de récupérer l’entier N saisi, puis d’exploiter la fonction "SemiPremier" afin
d’afficher le message adéquat via le label dédié à l’affichage de l’interface
"InterfaceSemiPremier".
N.B. :
 Le candidat est appelé à développer un module qui permet de vérifier la primalité d’un entier
sans faire recours à des fonctions prédéfinies telles que isprime().
 l’affichage du message doit être conforme aux exemples d’exécution suivants :
Exemples d’exécution :
Grille d’évaluation
Tâches Nombre de points
Conception de l’interface "InterfaceSemiPremier" 4 pts
Création et enregistrement du programme "NbrSemiPremier" 1 pt
Développement de la fonction "SemiPremier" 6 pts
Ajout des instructions :
 de l’interface "InterfaceSemiPremier"
 du module "Play"
2 pts
4 pts
Importation des bibliothèques nécessaires, modularité et cohérence 3 pts
Annexe
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import QApplication
……
……
app = QApplication([])
windows = loadUi ("Nom_Interface.ui")
windows.show()
windows.Nom_Bouton.clicked.connect (Nom_Module)
app.exec_()
Kiteb.net
:
Le
site
web
éducatif.
Page 1 sur 2
NOUVEAU RÉGIME
EXAMEN DU BACCALAURÉAT
SESSION 2022
RÉPUBLIQUE TUNISIENNE

MINISTÈRE DE L’ÉDUCATION
ÉPREUVE PRATIQUE D’INFORMATIQUE
Sections : Mathématiques, Sciences expérimentales et
Sciences techniques
Durée : 1h
Coefficient de l’épreuve : 0.5
Important :
1. Une solution modulaire au problème posé est exigée.
2. Dans le répertoire Bac2022, créez un dossier de travail ayant comme nom votre numéro d’inscription
(6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solution à ce sujet.
Le nombre lisse
Un nombre N est dit lisse lorsque son plus grand diviseur premier est inférieur ou égal à la racine carrée
du nombre N.
Exemples :
- N = 60, les diviseurs de 60 sont : 1, 2, 3, 4, 5, 6, 10, 12, 15, 30 et 60. Son plus grand diviseur premier
est 5 et puisque 5  √60 = 7.746 …, donc 60 est un nombre lisse.
- N = 49, les diviseurs de 49 sont : 1, 7 et 49. Son plus grand diviseur premier est 7 et puisque
7  √49 = 7 donc 49 est un nombre lisse.
- N = 22, les diviseurs de 22 sont : 1, 2, 11 et 22. Son plus grand diviseur premier est 11 et puisque
11 > √22 = 4.690 …, donc 22 n’est pas un nombre lisse.
Pour vérifier si un entier naturel N (N > 1) est un nombre lisse ou non, on se propose de concevoir une
interface graphique contenant les éléments suivants :
▪ Un label contenant le texte : "Nombre lisse"
▪ Un label demandant la saisie d’un nombre : "Introduire un entier > 1 : "
▪ Une zone de saisie permettant la saisie du nombre
▪ Un bouton nommé "Vérifier"
▪ Un label pour afficher le message adéquat
Travail demandé :
1) Concevoir une interface graphique comme illustrée ci-dessus et l’enregistrer, dans votre dossier de
travail, sous le nom "InterfaceLisse".
2) Créer un programme Python et l’enregistrer, dans votre dossier de travail, sous le nom "NbrLisse".
3) Développer, dans le programme "NbrLisse", une fonction Lisse(N) qui permet de vérifier si un
entier N est lisse ou non.
Kiteb.net
:
Le
site
web
éducatif.
Page 2 sur 2
4) Dans le programme "NbrLisse" :
• ajouter les instructions permettant d’appeler l’interface graphique intitulée "InterfaceLisse"
en exploitant l’annexe ci-après.
• développer un module "Play", qui s’exécute suite à un clic sur le bouton "Vérifier",
permettant de récupérer l’entier N saisi, puis d’exploiter la fonction "Lisse" afin d’afficher le
message adéquat via le label dédié à l’affichage de l’interface "InterfaceLisse".
N.B. :
▪ Le candidat est appelé à développer un module qui permet de vérifier la primalité d’un entier
sans faire recours à des fonctions prédéfinies telles que isprime().
▪ l’affichage du message doit être conforme aux exemples d’exécution suivants :
Exemples d’exécution :
Grille d’évaluation
Tâches Nombre de points
Conception de l’interface "InterfaceLisse" 4 pts
Création et enregistrement du programme "NbrLisse" 1 pt
Développement de la fonction "Lisse" 6 pts
Ajout des instructions :
▪ de l’interface "InterfaceLisse"
▪ du module "Play"
2 pts
4 pts
Importation des bibliothèques nécessaires, modularité et cohérence 3 pts
Annexe
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import QApplication
……
……
app = QApplication([])
windows = loadUi ("Nom_Interface.ui")
windows.show()
windows.Nom_Bouton.clicked.connect (Nom_Module)
app.exec_() Kiteb.net
:
Le
site
web
éducatif.
SESSION 0202
EXAMEN DU BACCALAURÉAT
RÉPUBLIQUE TUNISIENNE

Ministère de l'Éducation
PRATIQUE D’INFORMATIQUE
ÉPREUVE
Sections :
Mathématiques, Sciences expérimentales et Sciences techniques
Durée : 1h
Coefficient de l’épreuve : 0.5
Important :
1. Une solution modulaire au problème posé est exigée.
2. Dans le répertoire Bac2023, créez un dossier de travail ayant comme nom votre numéro d’inscription
(6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solution à ce sujet.
Page 1 sur 2
Succession parfaite
On se propose de concevoir une interface graphique permettant de saisir deux nombres positifs M et N
puis de vérifier s’ils forment une succession parfaite ou non.
Une succession parfaite de deux nombres positifs M et N est une chaîne de caractères ch formée par une
succession de chiffres consécutifs distincts où le pas de la succession est égal à 1. Cette chaîne est obtenue en
concaténant les chiffres de M et N puis en les triant dans l’ordre croissant.
Exemples :
 Pour M=2748 et N=365, ch = "2345678". Les chiffres de ch forment une succession parfaite.
En effet, le pas de la succession est égal à 1 entre tous les chiffres de ch.
 Pour M=8473 et N=546, ch = "3445678". Les chiffres de ch ne forment pas une succession parfaite.
En effet, le pas de la succession est différent de 1 entre le deuxième et le troisième chiffre.
 Pour M=2748 et N=956, ch = "2456789". Les chiffres de ch ne forment pas une succession parfaite.
En effet, le pas de la succession est différent de 1 entre le premier et le deuxième chiffre.
L’interface graphique à concevoir contient les éléments suivants, comme l’illustre la capture d’écran
ci-dessous :
 Un label contenant le texte " Succession parfaite"
 Un label contenant le texte "M = "
 Une zone de saisie pour la saisie du nombre M
 Un label contenant le texte " N= "
 Une zone de saisie pour la saisie du nombre N
 Un label pour afficher le message adéquat
 Un bouton intitulé "Vérifier"
Travail demandé :
1) Concevoir l’interface graphique présentée précédemment et l’enregistrer sous le nom
InterfaceSuccession.
2) Créer un programme Python et l’enregistrer sous le nom Succession, dans lequel, il est demandé :
a) de développer une fonction nommée Verifier (M,N) qui permet de vérifier si M et N forment une
succession parfaite ou non.
Sujet 01
Page 2 sur 2
b) de développer un module Play qui s’exécute suite à un clic sur le bouton "Vérifier", permettant :
 de récupérer les deux entiers M et N saisis qui doivent être positifs.
 d’exploiter la fonction Verifier (M,N) afin d’afficher le message adéquat via le label dédié à
l’affichage dans l’interface graphique InterfaceSuccession.
c) d’ajouter les instructions permettant d’exploiter l’interface graphique intitulée
InterfaceSuccession en se référant à l’annexe ci-après.
N.B. : l’affichage doit être conforme aux exemples d’exécutions suivants :
Exemples d’exécutions :
Grille d’évaluation
Tâches Nombre de points
Conception de l’interface InterfaceSuccession 4 pts
Création et enregistrement du programme Succession 1 pt
Développement de la fonction Verifier 6 pts
Développement du module Play 4 pts
Ajout des instructions de l’exploitation de l’interface 3 pts
Modularité et cohérence 2 pts
Annexe
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import QApplication
……
……
app = QApplication([])
windows = loadUi ("Nom_Interface.ui")
windows.show()
windows.Nom_Bouton.clicked.connect (Nom_Module)
app.exec_()
SESSION 0202
EXAMEN DU BACCALAURÉAT
RÉPUBLIQUE TUNISIENNE

Ministère de l'Éducation
PRATIQUE D’INFORMATIQUE
ÉPREUVE
Sections :
Mathématiques, Sciences expérimentales et Sciences techniques
Durée : 1h
Coefficient de l’épreuve : 0.5
Important :
1. Une solution modulaire au problème posé est exigée.
2. Dans le répertoire Bac2023, créez un dossier de travail ayant comme nom votre numéro d’inscription
(6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solution à ce sujet.
Page 1 sur 3
Rotation - Miroir
On se propose de concevoir une interface graphique permettant de saisir une chaîne de caractères ch et de
la crypter en utilisant le principe suivant :
 Etape 1 : Rotation13
Effectuer, pour chaque caractère de ch, une rotation de 13 caractères dans l’ordre alphabétique en
appliquant la formule Chr(97 + (Ord(ch[i]) – 97 + 13) Mod 26) pour obtenir le caractère
correspondant.
 Etape 2 : Miroir
Transformer la chaîne de caractères obtenue à l’issue de l’Etape 1 en son miroir. C’est-à-dire
permuter le premier caractère avec le dernier, le deuxième caractère avec l’avant dernier et ainsi
de suite.
Exemple :
Pour ch = "algo"
 Etape 1 : Rotation13
- le caractère "a" sera crypté en "n". En effet, Chr(97+(Ord("a")-97+13) Mod 26) = Chr(110)
qui correspond au caractère "n"
- le caractère "l" sera crypté en "y". En effet, Chr(97+(Ord("l")-97+13) Mod 26) = Chr(121)
qui correspond au caractère "y".
- le caractère "g" sera crypté en "t". En effet, Chr(97+(Ord("g")-97+13) Mod 26) = Chr(116)
qui correspond au caractère "t".
- le caractère "o" sera crypté en "b". En effet, Chr(97+(Ord("o")-97+13) Mod 26) = Chr(98)
qui correspond au caractère "b".
D’où le résultat de l’étape 1 est "nytb"
 Etape 2 : Miroir
Le miroir de la chaîne "nytb" est "btyn"
Donc, le cryptage de la chaîne "algo" en appliquant le principe ci-dessus est "btyn"
L’interface graphique à concevoir contient les éléments suivants, comme l’illustre la capture d’écran
ci-dessous :
 Un label contenant le texte "Rotation - Miroir"
 Un label contenant le texte "Introduire une chaîne : "
 Une zone de saisie pour la saisie d’une chaîne
 Un label pour afficher le résultat
 Un bouton intitulé "Crypter"
Sujet 02
Page 2 sur 3
Travail demandé :
1) Concevoir l’interface graphique présentée précédemment et l’enregistrer sous le nom
InterfaceRotationMiroir.
2) Créer un programme Python et l’enregistrer sous le nom RotationMiroir, dans lequel, il est demandé :
a) d’implémenter l’algorithme suivant de la fonction Rotation qui permet de retourner le résultat de
l’étape 1.
b) de développer une fonction nommée Miroir (ch) qui permet de retourner le miroir d’une chaîne de
caractères ch.
c) de développer un module Play, qui s’exécute suite à un clic sur le bouton "Crypter", permettant :
 de récupérer la chaîne ch saisie. La chaîne ch doit être non vide, de longueur inférieure à 10
et contient seulement des lettres alphabétiques en minuscule.
 de déterminer la chaîne cryptée en utilisant les deux fonctions Rotation (ch) et Miroir (ch)
et d’afficher le résultat via le label dédié à l’affichage dans l’interface graphique
InterfaceRotationMiroir.
d) d’ajouter les instructions permettant d’exploiter l’interface graphique intitulée
InterfaceRotationMiroir en se référant à l’annexe ci-après.
N.B. : l’affichage doit être conforme aux exemples d’exécutions suivants :
Exemples d’exécutions :
Déclaration des objets
Objet Type/Nature
i Entier
res
Chaîne de
caractères
Fonction Rotation (ch : Chaîne de caractères) : Chaîne de caractères
DEBUT
res""
Pour i de 0 à Long(ch)-1 Faire
resres + Chr(97 + (Ord(ch[i]) – 97 + 13) Mod 26)
Fin Pour
Retourner (res)
FIN
Annexe
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import QApplication
……
……
app = QApplication([])
windows = loadUi ("Nom_Interface.ui")
windows.show()
windows.Nom_Bouton.clicked.connect (Nom_Module)
app.exec_()
Page 3 sur 3
Grille d’évaluation
Tâches Nombre de points
Conception de l’interface "InterfaceRotationMiroir" 4 pts
Création et enregistrement du programme "RotationMiroir" 1 pt
Implémentation de la fonction "Rotation" 3 pts
Développement de la fonction "Miroir" 3 pts
Développement du module "Play" 4 pts
Ajout des instructions de l’exploitation de l’interface 3 pts
Modularité et cohérence 2 pts
SESSION 0202
EXAMEN DU BACCALAURÉAT
RÉPUBLIQUE TUNISIENNE

Ministère de l'Éducation
PRATIQUE D’INFORMATIQUE
ÉPREUVE
Sections :
Mathématiques, Sciences expérimentales et Sciences techniques
Durée : 1h
Coefficient de l’épreuve : 0.5
Important :
1. Une solution modulaire au problème posé est exigée.
2. Dans le répertoire Bac2023, créez un dossier de travail ayant comme nom votre numéro d’inscription
(6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solution à ce sujet.
Page 1 sur 2
Miroirs de mots
On se propose de concevoir une interface graphique permettant de saisir une chaîne de caractères ch et de
la crypter en formant une nouvelle chaîne par les miroirs des mots de ch dans leur ordre d’apparition. On
rappelle que le miroir d’un mot consiste à permuter le premier caractère avec le dernier, le deuxième
caractère avec l’avant dernier et ainsi de suite.
Exemple :
Pour ch = "La vie est une aventure merveilleuse"
On obtient la chaîne cryptée : "aL eiv tse enu erutneva esuellievrem"
L’interface graphique à concevoir contient les éléments suivants, comme l’illustre la capture d’écran
ci-dessous :
 Un label contenant le texte "Miroirs de mots"
 Un label contenant le texte "Introduire une chaîne : "
 Une zone de saisie pour la saisie d’une chaîne
 Un label pour afficher le résultat
 Un bouton intitulé "Miroir"
Travail demandé :
1) Concevoir l’interface graphique présentée précédemment et l’enregistrer sous le nom
InterfaceMiroirsMots.
2) Créer un programme Python et l’enregistrer sous le nom MiroirsMots, dans lequel, il est demandé :
a) de développer une fonction nommée Miroir (M) qui permet de retourner le miroir d’un mot M.
b) de développer un module Play, qui s’exécute suite à un clic sur le bouton "Miroir", permettant :
 de récupérer la chaîne ch saisie. La chaîne ch doit être non vide et de longueur inférieure à
50, contient seulement des lettres alphabétiques en minuscule et chaque deux mots
consécutifs sont séparés par un seul espace.
 de déterminer la chaîne cryptée en utilisant la fonction Miroir (M) et d’afficher le résultat via
le label dédié à l’affichage dans l’interface graphique InterfaceMiroirsMots.
c) d’ajouter les instructions permettant d’exploiter l’interface graphique intitulée
InterfaceMiroirsMots en se référant à l’annexe ci-après.
Sujet 03
Page 2 sur 2
N.B. : l’affichage doit être conforme aux exemples d’exécutions suivants :
Exemples d’exécutions :
Grille d’évaluation
Tâches Nombre de points
Conception de l’interface "InterfaceMiroirsMots" 4 pts
Création et enregistrement du programme " MiroirsMots " 1 pt
Développement de la fonction "Miroir" 4 pts
Développement du module "Play" 6 pts
Ajout des instructions de l’exploitation de l’interface 3 pts
Modularité et cohérence 2 pts
Annexe
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import QApplication
……
……
app = QApplication([])
windows = loadUi ("Nom_Interface.ui")
windows.show()
windows.Nom_Bouton.clicked.connect (Nom_Module)
app.exec_()
SESSION 0202
EXAMEN DU BACCALAURÉAT
RÉPUBLIQUE TUNISIENNE

Ministère de l'Éducation
PRATIQUE D’INFORMATIQUE
ÉPREUVE
Sections :
Mathématiques, Sciences expérimentales et Sciences techniques
Durée : 1h
Coefficient de l’épreuve : 0.5
Important :
1. Une solution modulaire au problème posé est exigée.
2. Dans le répertoire Bac2023, créez un dossier de travail ayant comme nom votre numéro d’inscription
(6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solution à ce sujet.
Page 1 sur 2
Triage de mots
On se propose de concevoir une interface graphique permettant de saisir une chaîne de caractères ch
contenant aux maximum 15 mots puis de trier les mots qui la constituent dans l’ordre croissant de leurs
longueurs.
Exemple :
Pour ch = "une hirondelle ne fait pas le printemps."
Après le triage des mots de ch, on obtient le résultat suivant : "ne le une pas fait printemps hirondelle"
N.B. Le point "." indiquant la fin de la chaîne, ne fait pas partie du dernier mot. Par conséquent ne
figure pas dans la chaîne cryptée.
L’interface graphique à concevoir contient les éléments suivants, comme l’illustre la capture d’écran
ci-dessous :
 Un label contenant le texte "Triage de mots"
 Un label contenant le texte "Introduire une phrase : "
 Une zone de saisie pour la saisie d’une phrase
 Un label pour afficher le résultat
 Un bouton intitulé "Trier"
Travail demandé :
1) Concevoir l’interface graphique présentée précédemment et l’enregistrer sous le nom
InterfaceTriage.
2) Créer un programme Python et l’enregistrer sous le nom Triage, dans lequel, il est demandé :
a) de développer une fonction nommée Trier (ch) qui permet de retourner une chaîne de
caractères formée par les mots de la chaîne de caractères ch triés dans l’ordre croissant de
leurs longueurs.
b) de développer un module Play, qui s’exécute suite à un clic sur le bouton "Trier",
permettant :
 de récupérer la chaîne ch saisie. La chaîne ch doit être non vide et de taille inférieure à 50.
Elle commence obligatoirement par une lettre, se termine par un point et chaque deux
mots consécutifs sont séparés par un seul espace.
 de trier les mots de la chaîne ch en utilisant la fonction Trier (ch) puis d’afficher le
résultat via le label dédié à l’affichage dans l’interface graphique InterfaceTriage.
c) d’ajouter les instructions permettant d’exploiter l’interface graphique intitulée
InterfaceTriage en se référant à l’annexe ci-après.
Sujet 04
Page 2 sur 2
N.B. : l’affichage doit être conforme aux exemples d’exécutions suivants :
Exemples d’exécutions :
Grille d’évaluation
Tâches Nombre de points
Conception de l’interface "InterfaceTriage" 4 pts
Création et enregistrement du programme "Triage" 1 pt
Développement de la fonction "Trier" 6 pts
Développement du module "Play" 4 pts
Ajout des instructions de l’exploitation de l’interface 3 pts
Modularité et cohérence 2 pts
Annexe
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import QApplication
……
……
app = QApplication([])
windows = loadUi ("Nom_Interface.ui")
windows.show()
windows.Nom_Bouton.clicked.connect (Nom_Module)
app.exec_()
SESSION 0202
EXAMEN DU BACCALAURÉAT
RÉPUBLIQUE TUNISIENNE

Ministère de l'Éducation
PRATIQUE D’INFORMATIQUE
ÉPREUVE
Sections :
Mathématiques, Sciences expérimentales et Sciences techniques
Durée : 1h
Coefficient de l’épreuve : 0.5
Important :
1. Une solution modulaire au problème posé est exigée.
2. Dans le répertoire Bac2023, créez un dossier de travail ayant comme nom votre numéro d’inscription
(6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solution à ce sujet.
Page 1 sur 2
Intersection de deux chaînes
On se propose de concevoir une interface graphique permettant de saisir deux chaînes de caractères ch1 et
ch2 puis de former la chaîne res par les caractères qui apparaissent dans les deux chaînes à la fois.
N.B. Si un caractère apparait plusieurs fois dans les deux chaînes, on le mettra une seule fois dans la
chaîne res.
Exemple :
Pour ch1 = "informatique" et ch2 = "multimedia", on obtient res = "imatue"
L’interface graphique à concevoir contient les éléments suivants, comme l’illustre la capture d’écran
ci-dessous :
 Un label contenant le texte "Intersection de deux chaînes"
 Un label contenant le texte "ch1 : "
 Une zone de saisie pour la saisie de ch1
 Un label contenant le texte "ch2 : "
 Une zone de saisie pour la saisie de ch2
 Un label pour afficher le résultat
 Un bouton intitulé "Former"
Travail demandé :
1) Concevoir l’interface graphique présentée précédemment et l’enregistrer sous le nom
InterfaceIntersection
2) Créer un programme Python et l’enregistrer sous le nom Intersection, dans lequel, il est demandé :
a) de développer une fonction nommée Recherche (ch1, ch2) qui permet de former la chaîne res.
b) de développer un module Play qui s’exécute suite à un clic sur le bouton "Former" permettant :
 de récupérer les deux chaînes ch1 et ch2 saisies. Les chaînes ch1 et ch2 doivent être non vides,
de longueurs inferieures à 30 chacune et contiennent seulement des lettres alphabétiques en
minuscule.
 d’exploiter la fonction Recherche (ch1, ch2) afin d’afficher le résultat formé via le label dédié
à l’affichage dans l’interface graphique InterfaceIntersection.
c) d’ajouter les instructions permettant d’exploiter l’interface graphique intitulée
InterfaceIntersection en se référant à l’annexe ci-après.
Sujet 05
Page 2 sur 2
N.B. : l’affichage doit être conforme aux exemples d’exécutions suivants :
Exemples d’exécutions :
Grille d’évaluation
Tâches Nombre de points
Conception de l’interface InterfaceIntersection 4 pts
Création et enregistrement du programme Intersection 1 pt
Développement de la fonction Recherche 6 pts
Développement du module Play 4 pts
Ajout des instructions de l’exploitation de l’interface 3 pts
Modularité et cohérence 2 pts
Annexe
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import QApplication
……
……
app = QApplication([])
windows = loadUi ("Nom_Interface.ui")
windows.show()
windows.Nom_Bouton.clicked.connect (Nom_Module)
app.exec_()
SESSION 2024
EXAMEN DU BACCALAURÉAT
RÉPUBLIQUE TUNISIENNE

Ministère de l'Éducation
PRATIQUE D’INFORMATIQUE
ÉPREUVE
Sections :
Mathématiques, Sciences expérimentales et Sciences techniques
Durée: 1h
Coefficient de l’épreuve : 0.5
Important :
Le candidat est appelé à créer, dans le répertoire Bac2024, un dossier de travail ayant comme nom son
numéro d’inscription (6 chiffres) et dans lequel il doit enregistrer, au fur et à mesure, tous les fichiers
solution à ce sujet.
Page 1 sur 2
Divisibilité par 7 (Méthode de Horner)
On se propose de concevoir une interface graphique permettant de saisir un nombre X formé de 5 à 20
chiffres, puis de vérifier s’il est divisible par 7 en utilisant le principe suivant :
Etape1 : Former, à partir du nombre X, un nouveau nombre Y en faisant correspondre à chaque chiffre de X
le reste de sa division euclidienne par 7.
Exemple
X = 5 5 2 7 5 7 9 8 2
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
Y = 5 5 2 0 5 0 2 1 2
Etape2 : Former, à partir du nombre Y, un nouveau nombre Z en faisant correspondre à chaque tranche de
deux chiffres de Y (en commençant à partir de la droite), le reste de sa division euclidienne par 7.
Exemple
- En effet, pour la tranche 12 de Y, lui correspond dans Z
la valeur 5 (reste de la division euclidienne de 12 par 7).
- De même pour les autres tranches.
Y = 5 5 2 0 5 0 2 1 2
↓ ↓ ↓ ↓ ↓
Z = 5 3 5 2 5
- La dernière tranche se compose d’un seul chiffre car le
nombre de chiffres de Y est impair.
Etape3 : Appliquer au nombre Z, la méthode de Horner définie par l’algorithme suivant de la fonction
Horner(Z).
Fonction Horner(Z : Chaîne de caractères) : Entier
DEBUT
M  0
Tant que Z <> "" Faire
CH  Z[0]
M  (M * 2 + Valeur(CH)) Mod 7
Z  Sous_chaine(Z, 1, Long(Z))
Fin Tant que
Retourner M
FIN
T.D.O.L
Objet Type/Nature
M Entier
CH Chaîne de caractères
Le nombre X est divisible par 7 lorsque la fonction Horner, appliquée au nombre Z, retourne la valeur zéro.
Travail demandé
1. Créer l’interface graphique illustrée dans la figure Fig1 et l’enregistrer sous le nom InterfaceHorner.
Cette interface contient les éléments suivants :
- Un label contenant le texte "Divisibilité par 7 (Méthode de Horner)",
- Un label contenant le texte "X=",
- Une zone de saisie pour la saisie du nombre X,
- Un label pour afficher un message,
- Un bouton intitulé "Vérifier".
Fig1
Page 2 sur 2
2. Créer un programme en Python et l’enregistrer sous le nom DivHorner dans lequel on demande :
a. d’implémenter l’algorithme de la fonction Horner.
b. de développer une fonction Etape1(X) qui simule l’Etape1 pour retourner le nombre Y.
c. de développer une fonction Etape2(Y) qui simule l’Etape2 pour retourner le nombre Z.
d. de développer un module Play qui s’exécute suite à un clic sur le bouton "Vérifier" permettant :
- de récupérer la valeur du nombre X saisi et de s’assurer de sa validité afin d’afficher le message
adéquat via le label dédié à l’affichage, comme illustré dans la figure Fig2.
- d’exploiter les fonctions Etape1, Etape2 et Horner afin d’afficher le message adéquat via le
label dédié à l’affichage, comme illustré dans les figures Fig3 et Fig4.
e. d’exploiter l’annexe présentée ci-après tout en apportant les modifications nécessaires à l’intégration
de l’interface graphique InterfaceHorner.
Grille d’évaluation
Tâches Nombre de points
1. Création de l’interface InterfaceHorner. 3
2. Création du programme DivHorner. 17 =
a. Implémentation de la fonction Horner. 3
b. Développement de la fonction Etape1. 3.5
c. Développement de la fonction Etape2. 4.5
d. Développement du module Play. 4.5
e. Exploitation de l’annexe. 1.5
Annexe
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import QApplication
……
……
app = QApplication([])
windows = loadUi ("Nom_Interface.ui")
windows.show()
windows.Nom_Bouton.clicked.connect (Nom_Module)
app.exec_()
Fig3 Fig4
Fig2
SESSION 2024
EXAMEN DU BACCALAURÉAT
RÉPUBLIQUE TUNISIENNE

Ministère de l'Éducation
PRATIQUE D’INFORMATIQUE
ÉPREUVE
Sections :
Mathématiques, Sciences expérimentales et Sciences techniques
Durée: 1h
Coefficient de l’épreuve : 0.5
Important :
Le candidat est appelé à créer, dans le répertoire Bac2024, un dossier de travail ayant comme nom son
numéro d’inscription (6 chiffres) et dans lequel il doit enregistrer, au fur et à mesure, tous les fichiers
solution à ce sujet.
Page 1 sur 2
Autonombres
On se propose de concevoir une interface graphique permettant de saisir deux entiers N (20≤N≤50)
et M (N<M≤100), puis d’afficher tous les nombres compris entre N et M qui sont autonombres.
Un autonombre X est un entier positif qui ne peut pas s’écrire sous la forme d’un entier Y ajouté à la somme
des chiffres de Y.
Exemples :
- 24 n’est pas un autonombre puisqu’il est égal à l’entier 21 ajouté à la somme de ses chiffres
(24 = 21 + (2 + 1)).
- 53 est un autonombre puisqu’il ne peut pas s’écrire à partir d’un autre nombre ajouté à la somme de
ses chiffres.
Travail demandé
1. Créer l’interface graphique illustrée dans la figure Fig1 et l’enregistrer sous le nom
InterfaceAutonombre. Cette interface contient les éléments suivants :
- Un label contenant le texte "Autonombres",
- Un label contenant le texte "N=",
- Une zone de saisie pour la saisie d’un entier N,
- Un label contenant le texte "M=",
- Une zone de saisie pour la saisie d’un entier M,
- Un label pour afficher un message,
- Un bouton intitulé "Afficher".
2. Créer un programme en Python et l’enregistrer sous le nom Autonombre dans lequel on demande :
a. d’implémenter l’algorithme suivant de la fonction SommeChiffres(X) qui retourne la somme des
chiffres d’un entier positif X.
Fonction SommeChiffres(X : Entier) : Entier
DEBUT
S  0
Tant que (X ≠ 0 ) Faire
S  S + X Mod 10
X  X Div 10
Fin Tant que
Retourner S
FIN
T.D.O.L
Objet Type/Nature
S Entier
Fig1
Page 2 sur 2
b. de développer une fonction booléenne nommée Vérifier(X), qui exploite la fonction
SommeChiffres, pour vérifier si l’entier X est un autonombre.
c. de développer une fonction nommée Chercher(N, M), qui exploite la fonction Vérifier, pour
former une chaîne de caractères contenant tous les nombres autonombres compris entre N et M
séparés par le caractère "-" (voir Fig4).
d. de développer un module Play qui s’exécute suite à un clic sur le bouton "Afficher" permettant :
- de récupérer les valeurs des entiers N et M saisis et de s’assurer de leurs validités afin d’afficher
le message adéquat via le label dédié à l’affichage, comme illustré dans la figure Fig2.
- d’exploiter la fonction Chercher pour afficher le message adéquat via le label dédié à
l’affichage, comme illustré dans les figures Fig3 et Fig4.
e. d’exploiter l’annexe présentée ci-après tout en apportant les modifications nécessaires à l’intégration
de l’interface graphique InterfaceAutonombre.
Grille d’évaluation
Tâches Nombre de points
1. Crétion de l’interface InterfaceAutonombre. 3
2. Création du programme Autonombre. 17 =
a. Implémentation de la fonction SommeChiffres. 3
b. Développement de la fonction Vérifier. 4.5
c. Développement de la fonction Chercher. 4
d. Développement du module Play. 4
e. Exploitation de l’annexe. 1.5
Annexe
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import QApplication
……
……
app = QApplication([])
windows = loadUi ("Nom_Interface.ui")
windows.show()
windows.Nom_Bouton.clicked.connect (Nom_Module)
app.exec_()
Fig2
Fig4
Fig3
SESSION 2024
EXAMEN DU BACCALAURÉAT
RÉPUBLIQUE TUNISIENNE

Ministère de l'Éducation
PRATIQUE D’INFORMATIQUE
ÉPREUVE
Sections :
Mathématiques, Sciences expérimentales et Sciences techniques
Durée: 1h
Coefficient de l’épreuve : 0.5
Important :
Le candidat est appelé à créer, dans le répertoire Bac2024, un dossier de travail ayant comme nom son
numéro d’inscription (6 chiffres) et dans lequel il doit enregistrer, au fur et à mesure, tous les fichiers
solution à ce sujet.
Page 1 sur 2
Transformation Powertrain
On se propose de concevoir une interface graphique permettant de saisir deux entiers N (200≤N≤999999) et
M (3≤M≤10), puis d’afficher la transformation Powertrain de l’entier N ainsi que celles des M entiers
consécutifs qui le suivent.
La transformation Powertrain d’un entier X consiste à générer un entier Y à partir des chiffres de X, en
multipliant dans l’ordre chaque chiffre de rang impair élevé à la puissance du chiffre de rang pair.
Il est à noter que :
- Si le nombre de chiffres de X est impair alors le dernier chiffre est élevé à la puissance 1.
- Si un chiffre de rang impair est égal à zéro et il est suivi d’un zéro alors la puissance 00
sera
remplacée par 1.
Exemples :
- Pour X = 523, le nombre généré est Y = 52
x 31
= 25 x 3 = 75
- Pour X = 160071, le nombre généré est Y = 16
x 00
x 71
= 1 x 1x 7 = 7
Travail demandé
1. Créer l’interface graphique illustrée dans la figure Fig1 et l’enregistrer sous le nom
InterfacePowertrain. Cette interface contient les éléments suivants :
- Un label contenant le texte "Transformation Powertrain",
- Un label contenant le texte "N=",
- Une zone de saisie pour la saisie d’un entier N,
- Un label contenant le texte "M=",
- Une zone de saisie pour la saisie d’un entier M,
- Un label pour afficher un premier message,
- Un label pour afficher un deuxième message,
- Un bouton intitulé "Transformer".
2. Créer un programme en Python et l’enregistrer sous le nom Powertrain dans lequel on demande :
a. d’implémenter l’algorithme suivant de la fonction Puissance(A, B) qui retourne la valeur d’un entier
A élevé à la puissance B (notée AB
avec A et B deux entiers positifs).
Fonction Puissance(A, B : Entier) : Entier
DEBUT
P 1
Pour K de 1 à B Faire
P  P * A
Fin Pour
Retourner P
FIN
T.D.O.L
Objet Type/Nature
P, K Entier
Fig 1
Page 2 sur 2
b. de développer une fonction nommée Transformer(X) qui exploite la fonction Puisance pour
déterminer la transformation Powertrain de l’entier X.
c. de développer une fonction nommée Chercher(N, M), qui exploite la fonction Transformer pour
former une chaîne de caractères contenant la transformation Powertrain de l’entier N ainsi que
celles des M entiers consécutifs qui le suivent séparés par le caractère "-" (voir Fig3).
d. de développer un module Play, qui s’exécute suite à un clic sur le bouton "Transformer"
permettant :
- de récupérer les valeurs des deux entiers saisis N et M et de s’assurer de leurs validités afin
d’afficher le message adéquat via le label dédié à l’affichage, comme illustré dans la figure Fig2,
- d’exploiter la fonction Chercher afin d’afficher les messages adéquats via les labels dédiés à
l’affichage, comme illustré dans la figure Fig3.
e. d’exploiter l’annexe présentée ci-dessous tout en apportant les modifications nécessaires à
l’intégration de l’interface graphique InterfacePowertrain.
Grille d’évaluation
Tâches Nombre de points
1. Création de l’interface InterfacePowertrain. 3
2. Création du programme Powertrain. 17 =
a. Implémentation de la fonction Puissance. 3
b. Développement de la fonction Transformer. 5.5
c. Développement de la fonction Chercher. 3.5
d. Développement du module Play. 3.5
e. Exploitation de l’annexe. 1.5
Annexe
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import QApplication
……
……
app = QApplication([])
windows = loadUi ("Nom_Interface.ui")
windows.show()
windows.Nom_Bouton.clicked.connect (Nom_Module)
app.exec_()
Fig 3
Fig 2
SESSION 2024
BACCALAURÉAT
EXAMEN DU
RÉPUBLIQUE TUNISIENNE

Ministère de l'Éducation
PRATIQUE D’INFORMATIQUE
ÉPREUVE
Sections :
Mathématiques, Sciences expérimentales et Sciences techniques
Durée: 1h
Coefficient de l’épreuve : 0.5
Important :
Le candidat est appelé à créer, dans le répertoire Bac2024, un dossier de travail ayant comme nom son
numéro d’inscription (6 chiffres) et dans lequel il doit enregistrer, au fur et à mesure, tous les fichiers
solution à ce sujet.
Page 1 sur 2
Nombres Primaires
On se propose de concevoir une interface graphique permettant de saisir deux entiers N (10≤N≤50)
et M (N<M≤200), puis d’afficher tous les nombres primaires compris entre N et M.
Un nombre P est dit primaire s’il existe un nombre premier X tel que P = Xk
avec k un entier strictement
positif.
Un nombre premier est un entier strictement positif qui admet exactement deux diviseurs positifs distincts 1
et lui-même.
Exemples :
- 144 n’est pas un nombre primaire. En effet, 144 = 122
et 12 n’est pas un nombre premier.
- 169 est un nombre primaire. En effet, 169 = 132
et 13 est un nombre premier.
Travail demandé
1. Créer l’interface graphique illustrée dans la figure Fig1 et l’enregistrer sous le nom InterfacePrimaire.
Cette interface contient les éléments suivants :
 Un label contenant le texte "Nombres Primaires",
 Un label contenant le texte "N=",
 Une zone de saisie pour la saisie d’un entier N,
 Un label contenant le texte "M=",
 Une zone de saisie pour la saisie d’un entier M,
 Un label pour afficher un message,
 Un bouton intitulé "Afficher".
2. Créer un programme en Python et l’enregistrer sous le nom Primaire dans lequel on demande :
a. d’implémenter l’algorithme suivant de la fonction Premier(X) qui vérifie si un entier strictement
positif X est premier.
Fonction Premier (X : Entier) : Booléen
DEBUT
TEST  Vrai
Si X = 1 Alors TEST  Faux
Sinon Si (X > 3) Alors
K  2
Tant que TEST Et (K ≤ X Div 2) Faire
Si X Mod K = 0 alors TEST  Faux
Sinon K = K+1
Fin Tant que
Retourner TEST
FIN
T.D.O.L
Objet Type/Nature
K Entier
TEST Booléen
Fig1
Page 2 sur 2
b. de développer une fonction booléenne nommée Vérifier(P), qui exploite la fonction Premier, afin
de vérifier si l’entier P est un nombre primaire.
c. de développer une fonction nommée Chercher(N, M), qui exploite la fonction Vérifier, pour
former une chaîne de caractères contenant tous les nombres primaires compris entre N et M séparés
par le caractère "-" (voir Fig4).
d. de développer un module Play qui s’exécute suite à un clic sur le bouton "Afficher" permettant :
- de récupérer les valeurs des entiers N et M saisis et de s’assurer de leurs validités afin d’afficher
le message adéquat via le label dédié à l’affichage, comme illustré dans la figure Fig2.
- d’exploiter la fonction Chercher pour afficher le message adéquat via le label dédié à
l’affichage, comme illustré dans les figures Fig3 et Fig4.
e. d’exploiter l’annexe présentée ci-après tout en apportant les modifications nécessaires à l’intégration
de l’interface graphique InterfacePrimaire.
Grille d’évaluation
Tâches Nombre de points
1. Création de l’interface InterfacePrimaire. 3
2. Création du programme Primaire. 17 =
a. Implémentation de la fonction Premier. 3
b. Développement de la fonction Vérifier. 4.5
c. Développement de la fonction Chercher. 4
d. Développement du module Play. 4
e. Exploitation de l’annexe. 1.5
Annexe
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import QApplication
……
……
app = QApplication([])
windows = loadUi ("Nom_Interface.ui")
windows.show()
windows.Nom_Bouton.clicked.connect (Nom_Module)
app.exec_()
Fig2
Fig3 Fig4
SESSION 2024
EXAMEN DU BACCALAURÉAT
RÉPUBLIQUE TUNISIENNE

Ministère de l'Éducation
PRATIQUE D’INFORMATIQUE
ÉPREUVE
Sections :
Mathématiques, Sciences expérimentales et Sciences techniques
Durée: 1h
Coefficient de l’épreuve : 0.5
Important :
Le candidat est appelé à créer, dans le répertoire Bac2024, un dossier de travail ayant comme nom son
numéro d’inscription (6 chiffres) et dans lequel il doit enregistrer, au fur et à mesure, tous les fichiers
solution à ce sujet.
Page 1 sur 2
Suite arithmétique
On se propose de concevoir une interface graphique permettant de saisir un nombre X, de longueur paire et
composé de 6 à 20 chiffres, puis de vérifier si toutes les tranches successives de deux chiffres de X, une fois
triées dans l’ordre croissant, constituent des termes d’une suite arithmétique croissante.
Une suite arithmétique croissante est une suite dans laquelle chaque terme permet de déduire le suivant en
lui ajoutant une constante r appelée raison (pour tout n > 0 ; Un = Un-1 + r avec r > 0).
Exemples :
Les tranches successives de X, une fois triées dans l’ordre croissant, forment des termes d’une suite
arithmétique croissante de raison r = 5. En effet, (10 – 5) = (15 – 10) = (20 – 15) = (25 – 20) = (30 – 25) = 5
Les tranches successives de X, une fois triées dans l’ordre croissant, ne forment pas des termes d’une suite
arithmétique croissante.
Travail demandé
1. Créer l’interface graphique illustrée dans la figure Fig1 et l’enregistrer sous le nom
InterfaceArithmétique. Cette interface contient les éléments suivants :
 Un label contenant le texte "Suite arithmétique"
 Un label contenant le texte "X=",
 Une zone de saisie pour la saisie du nombre X,
 Un label pour afficher un premier message,
 Un label pour afficher un deuxième message,
 Un bouton intitulé "Vérifier".
2. Créer un programme en Python et l’enregistrer sous le nom SuiteArithmétique dans lequel on
demande :
a. d’implémenter l’algorithme suivant de la fonction Trier(CH) qui permet de trier dans l’ordre
croissant les tranches de deux chiffres de la chaîne CH.
Fonction Trier(CH : Chaîne de caractères) : Chaîne de caractères
DEBUT
PERMUT  Vrai
Tant que PERMUT Faire
PERMUT  Faux
Pour K de 0 à Long(CH)-3) [Pas=2] Faire
BLOC1 Sous_chaîne(CH, K, K+2)
BLOC2 Sous_chaîne(CH, K+2, K+4)
Si BLOC1>BLOC2 Alors
CH Sous_chaîne(CH, 0, K)+BLOC2+BLOC1+Sous_chaîne(CH, K+4, Long(CH))
PERMUT  Vrai
FinSi
Fin Pour
Fin Tant que
Retourner CH
FIN
- Pour X = 301015250520 ; Les tranches de X : 3 0 1 0 1 5 2 5 0 5 2 0
Les tranches de X triées : 0 5 1 0 1 5 2 0 2 5 3 0
- Pour X = 41331020 ; Les tranches de X : 4 1 3 3 1 0 2 0
Les tranches de X triées : 1 0 2 0 3 3 4 1
T.D.O.L
Objet Type/Nature
K Entier
PERMUT Booléen
BLOC1, BLOC2 Chaîne de caractères
Fig1
Page 2 sur 2
b. de développer une fonction nommée Calculer(X) permettant de retourner, pour un nombre X dont
les tranches de deux chiffres sont triées dans l’ordre croissant, un entier égal à :
- la différence entre deux tranches successives de X dans le cas où cette différence est constante
pour toutes les tranches successives,
- zéro dans le cas contraire.
c. de développer un module Play qui s’exécute suite à un clic sur le bouton "Vérifier" permettant :
- de récupérer la valeur du nombre X saisi et de s’assurer de sa validité afin d’afficher le message
adéquat via le label dédié à l’affichage, comme illustré dans la figure Fig2,
- d’exploiter les fonctions Trier et Calculer afin d’afficher le message adéquat via les labels
dédiés à l’affichage, comme illustré dans les figures Fig3 et Fig4.
d. d’exploiter l’annexe présentée ci-après tout en apportant les modifications nécessaires à l’intégration
de l’interface graphique InterfaceArithmétique.
Grille d’évaluation
Tâches Nombre de points
1. Création de l’interface InterfaceArithmétique. 3
2. Création du programme SuiteArithmétique. 17 =
a. Implémentation de la fonction Trier. 4.5
b. Développement de la fonction Calculer. 6
c. Développement du module Play 5
d. Exploitation de l’annexe. 1.5
Annexe
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import QApplication
……
……
app = QApplication([])
windows = loadUi ("Nom_Interface.ui")
windows.show()
windows.Nom_Bouton.clicked.connect (Nom_Module)
app.exec_()
Fig2
Fig3 Fig4

bac informatique pratique tunisie 2000_2024

  • 2.
    Bac Informatique Pratique2000 FENNI Salah Sujet Soit la somme : Écrire un programme qui saisit un entier naturel n tel que n = 100, calcule et affiche la somme Sn. Sujet Écrire un programme de résolution d’une équation du premier degré à une inconnue x, de la forme ax + b = 0. On suppose que a, b et x sont des réels. NB : Le programme doit traiter tous les cas possibles. Sujet Écrire un programme de résolution d’une inéquation du premier degré à une inconnue de la forme ax + b < 0. On suppose que a, b et x sont des réels. (Le programme doit traiter tous les cas possibles) Sujet 24 est un entier divisible par son chiffre des dizaines (2). Écrire un programme qui permet de trouver et d’afficher tous les entiers à deux chiffres de 10 jusqu’à 99 vérifiant cette propriété. Sujet Écrire un programme qui affiche tous les entiers positifs de deux chiffres de la forme ab tel que la somme des chiffres (a+b) divise le produit a*b. Sujet Soit le polynôme P(x) = 2x² - 3x - 5. Écrire un programme qui calcule et affiche P(x) pour des valeurs de x variant de -4 à 4 par pas de 0.5. Sujet Un entier naturel de trois chiffres est dit cubique s’il est égal à la somme des cubes de ses trois chiffres. Exemple: 153 est cubique car : 153 = 13 + 53 + 33 Ecrire un programme qui cherche et affiche tous les entiers cubiques de trois chiffres. Sujet Écrire un programme qui remplit un tableau de n réels, place les réels positifs dans un tableau TP et les réels négatifs dans un tableau TN. Sujet Écrire un programme qui lit 15 nombres réels et les affiches en ordre inverse et à raison de trois nombres par ligne.
  • 3.
    Bac Informatique Pratique2000 FENNI Salah Sujet Écrire un programme qui remplit un tableau de n réels, cherche le maximum, le minimum et la moyenne des éléments de ce tableau et les affiche. On suppose que n est un entier naturel compris entre 5 et 100. Sujet Ecrire un programme qui saisit un entier non nul n et 2n réels à mettre dans un tableau A, puis remplit un tableau B par les éléments de A de la manière suivante : B [1] = A [1] B [2] = A [n+1] B [3] = A [2] B [4] = A[n+2] Etc. Sujet Ecrire un programme qui saisit une chaîne de caractères formée uniquement par des chiffres de ‘0’ à ‘9’, cherche et affiche la fréquence de chaque chiffre figurant dans cette chaîne.
  • 4.
    Bac Informatique Pratique2001 FENNI Salah Sujet n°1 : Ecrire un programme Pascal intitulé OCCURENCE qui permet de saisir une chaîne de caractères CH puis d’afficher les occurences des voyelles qui figurent dans CH. Exemple : Si CH =‘LYCEE 25 juillet’ Le programme OCCURENCE affichera les résultats suivants : L’occurence de ‘E’ est 3 L’occurence de ‘Y’ est 1 L’occurence de ‘U’ est 1 L’occurence de ‘I’ est 1 Remarque : la recherche de l’occurrence ne fait pas de distinction entre les voyelles majuscules et minuscules. N.B : La solution doit comporter au moins deux sous programmes. Sujet n°2 : pour x très proche de zéro. Ecrire un programme Pascal qui permet d’afficher sin(x) en utilisant la formule ci-dessus. Le calcul s’arrête quand la différence entre deux termes consécutifs devient inférieure ou égale à 10-4 . La dernière somme calculée est une valeur approchée de sin (x). Le candidat pourra utiliser la fonction FACT (a) suivante qui permet de calculer la factorielle de a (a !). 1. DEFFN FACT (a : entier) : entier 2. F  1 3. Si (a>0) alors Pour i de 1 à a répéter F  F x i Fin pour FinSi 4. FACT  F 5. Fin FACT N.B : La solution doit comporter au moins une fonction et une procédure. Sujet n°3 : On dispose de deux tableaux T1 et T2 contenant respectivement n et m entiers positifs et non nuls. On désire chercher dans T2 tous les diviseurs d’un élément donné de T1. Exemple : T1 23 15 10 277 300 34 1 2 3 4 5 6 T2 3 6 5 1 Si indice = 2 alors 3 , 5 et 1 seront affichés à l'écran. Écrire un programme Pascal qui permet de saisir les deux tableaux T1 et T2 et l’indice d’un élément p de T1 puis d’afficher à l'écran tous les diviseurs de p figurant dans T2. N.B : La solution doit comporter au moins deux procédures et une fonction. ... ! 9 ! 7 ! 5 ! 3 ! 1 sin(x) que Sachant 9 7 5 3       x x x x x
  • 5.
    Bac Informatique Pratique2001 FENNI Salah Sujet n°4 : Ecrire un programme Pascal intitulé PROD_SCALAIRE qui permet de calculer et d’afficher le produit scalaire de deux tableaux A et B de n entiers positifs ( n étant un entier compris entre 5 et 50). Le produit scalaire de deux tableaux A et B est donné par la formule suivante : N.B : La solution doit comporter au moins une fonction et une procédure. Sujet n°5: Soit un tableau T1 contenant n lettres majuscules (de A à Z), n étant un entier compris entre 5 et 20. On désire trier en ordre croissant les éléments de T1 et les ranger dans un tableau T2 en utilisant le principe suivant : 1. chercher la lettre qui a le plus petit code ASCII dans T1 2. a) ranger cette lettre dans T2 b) remplacer cette lettre par ‘*’ dans T1 3. répéter n fois les étapes 1 et 2. Ecrire un programme Pascal qui permet de :  saisir les éléments de T1,  trier les éléments de T1 et les ranger dans T2,  afficher les éléments de T2. N.B : La solution doit comporter au moins une fonction et deux procédures. Sujet n°6 : Soit un tableau T1 de n éléments (1  n  100) . Les éléments de T1 sont des entiers naturels de trois chiffres. On se propose de remplir un tableau T2 de la façon suivante : T2[i] est égal à la somme des carrés des chiffres de T1[i]. Exemple : Si T1[i] = 254 alors T2[i] = 22 + 52 + 42 = 45 Ecrire un programme Pascal qui permet de saisir les éléments de T1, de remplir puis d’afficher le tableau T2. N.B : La solution doit comporter au moins une fonction et deux procédures. Sujet n°7 : Ecrire un programme Pascal qui permet de saisir un entier naturel n (5 <n<20) et n réels à mettre dans un tableau A puis calcule et affiche la moyenne arithmétique m des éléments de A et leur écart type S. Sachant que :    n i m 1 n / A[i]) (   2 1 ] [     n i m i A S N.B : La solution doit comporter au moins une fonction et une procédure. Sujet n°8 : Ecrire un programme Pascal qui permet de trier par ordre décroissant les éléments d’un tableau A de n entiers positifs dans un nouveau tableau B de même dimension. n étant un entier vérifiant 5 < n < 25. On utilisera la démarche suivante : 1. chercher le maximum de A 2. placer ce maximum dans B 3. remplacer le maximum par –1 dans A 4. refaire les étapes 1, 2 et 3 jusqu’à ce que le tableau A soit entièrement composé de –1. N.B : 1) Prévoir l’affichage des éléments du tableau B. 2) La solution doit comporter au moins une fonction et une procédure.    n i PS 1 B[i] * A[i]
  • 6.
    Bac Informatique Pratique2001 FENNI Salah Sujet n°9 : Soit la suite (Pi)i impair définie par : Ecrire un programme Pascal qui permet de calculer et d’afficher les termes de la suite P jusqu’à ce que la différence entre deux termes consécutifs devient inférieure ou égale à 10-4 . N.B : La solution doit comporter au moins une fonction et une procédure. Sujet n°10 : Deux entiers naturels strictement positifs m et n sont dits nombres amis si et seulement si :  la somme des diviseurs de m sauf lui même est égale à n  et la somme des diviseurs de n sauf lui même est égale à m.. Exemple : 220 et 284 sont deux nombres amis, en effet : D284 = {1 , 2 , 4 , 71 , 142 , 284 } D220= {1 , 2 , 4 , 5 , 10 , 11 , 20 , 22, 44 , 55 , 110 , 220 } D284 et D 220 sont respectivement les ensembles de tous les diviseurs de 284 et de 220.. 284 = 1 + 2 + 4 + 5 + 10 + 11 + 20 + 22+ 44 + 55 + 110 220 = 1 + 2 + 4 + 71 + 142 Ecrire un programme Pascal qui permet de déterminer puis d’afficher si deux entiers naturels donnés m et n sont amis ou non. N.B : La solution doit comporter au moins une fonction et une procédure. Sujet n°11 : On désire coder une chaîne de caractères en utilisant la fonction f(x) = 2x – 1, x étant le code ASCII d’un caractère dans la chaîne. Les caractères susceptibles d’être codés sont les lettres de l’alphabet (majuscule ou minuscule), les chiffres (de 0 à 9) et le point. Les autres caractères restent inchangés. Ecrire un programme Pascal qui permet de saisir une chaîne de caractères puis d’afficher son code. N.B : 1) En Pascal la fonction bibliothèque ORD(c) renvoie le code ASCII du caractère c et la fonction CHR(i) renvoie le caractère dont le code ASCII est i . 2) La solution doit comporter au moins une fonction et deux procédures. Sujet n°12: Ecrire un programme Pascal qui saisit un tableau A de n chaînes de caractères, cherche et affiche la longueur de la chaîne la plus longue puis toutes les chaînes ayant cette longueur. N.B : La solution doit comporter au moins une fonction et deux procédures. Sujet n°13: On considère les couples d’entiers (k , E (k.a)) où E (k.a) est la partie entière du produit de k par a. Écrire un programme Pascal qui permet de calculer et d’afficher les deuxièmes termes des n premiers couples (n étant un entier naturel vérifiant la condition 5  n  100). N.B : La solution doit comporter au moins deux sous programmes.          ) 1 ( 2 impair i et i i 1 i x i 1 - i x P P P 2 - i i 1 2 1 5 a Soit  
  • 7.
    Bac Informatique Pratique2001 FENNI Salah Sujet n°14: Écrire un programme Pascal qui détermine puis affiche le nombre de combinaisons de p objets parmi n. n et p sont deux entiers naturels strictement positifs (avec n  p). La solution doit comporter une fonction intitulée FACTORIEL (x) qui détermine la factorielle de x (x ! = x * (x-1) * (x-2) * …. * 3 * 2 * 1). Sujet n°15: Ecrire un programme Pascal qui permet de calculer puis d’afficher la racine carrée d’un réel positif x donné en utilisant la suite suivante : Il s’agit de calculer les premiers termes de cette suite jusqu’à ce que la différence entre deux termes successifs devient inférieure ou égale à 10-4 . Le dernier terme calculé est une valeur approchée de √x à 10-4 près. N.B : La solution doit comporter obligatoirement une fonction et une procédure. Sujet n°16: Écrire un programme Pascal intitulé DIVISION qui permet de : 1. saisir deux entiers naturels a et b strictement positifs 2. calculer puis afficher le quotient q et le reste r de la division euclidienne de a par b en utilisant la démarche suivante : Etape1 : Initialiser un compteur c à 0 Etape2 : Si a < b alors aller à l’étape6 Etape3 : Remplacer a par a-b Etape4 : Incrémenter le compteur c Etape5 : Aller à l’étape2 Etape6 : Afficher le résultat de la division Euclidienne sous la forme suivante : Le reste de la division est a Le quotient de la division est c N.B : La solution doit comporter au moins deux procédures. Sujet n°17: Ecrire un programme Pascal intitulé PREMIERS qui permet d’afficher tous les nombres premiers inférieurs ou égaux à un entier n donné ( 5  n  100). N.B : 1. Un entier p est dit premier s’il n’est divisible que par 1 et par lui même (1 n’est pas considéré premier). 2. La solution doit comporter au moins une fonction et une procédure. Sujet n°18: Soit l'expression mathématique suivante : /4 = 1 – 1/3 + 1/5 – 1/7 + 1/9 - … Écrire un programme Pascal qui utilise l’expression ci-dessus pour déterminer et afficher une valeur approchée de  à 10-4 prés . N.B : 1. Le calcul s’arrête quand la différence entre deux valeurs consécutives de cette expression devient strictement inférieure à 10-4 . 2. La solution doit comporter au moins une fonction et une procédure. )! ( ! ! C : N.B n p p n p n           )/2 x/U (U U x)/2 (1 U n n 1 n 0
  • 8.
    Bac Informatique Pratique2001 FENNI Salah Sujet n°19: Ecrire un programme Pascal qui permet de saisir les coordonnées des trois sommets A, B et C d’un triangle puis détermine et affiche la nature du triangle (isocèle, équilatéral, quelconque). N.B :La solution doit comporter au moins une fonction et une procédure. Sujet n°20: La suite de Fibonacci est définie par : Ecrire un programme Pascal qui permet de saisir un entier naturel n strictement supérieur à 1 puis calcule et affiche, pour toutes les valeurs de i inférieures ou égales à n, les valeurs du rapport : 1 - i i F F N.B : La solution doit comporter au moins une fonction et une procédure. Sujet n°21: Ecrire un programme Pascal qui permet de saisir une chaîne de caractères CH1 puis d’en extraire les deux nombres formés par les chiffres figurant dans la chaîne CH1 (extraction à partir de la droite puis extraction à partir de la gauche). Exemple : Si CH1 = ‘A45B3C2’ Le programme Pascal affichera 4532 et 2354 N.B : La solution doit comporter au moins une fonction et une procédure. Sujet n°22: Ecrire un programme Pascal qui utilise l’algorithme d’Euclide pour déterminer et afficher le PGCD (Plus Grand Commun Diviseur) de deux entiers naturels non nuls a et b. Principe de l’algorithme d’Euclide : 1. Faire la division euclidienne de a par b. On obtient un quotient q et un reste r. 2. Si r est non nul, on remplace a par b et b par r et on revient à l’étape 1 sinon le traitement est terminé et le PGCD = b. La solution doit comporter au moins une fonction et une procédure. Sujet n°23: Ecrire un programme Pascal qui cherche et affiche les n premiers entiers naturels positifs impairs et palindromes (n étant un entier naturel tel que 5  n  20). Un entier est dit palindrome s’il est lu de la même façon de gauche à droite et de droite à gauche. Exemple : 121 est un entier impair et palindrome. N.B : La solution doit comporter au moins une fonction et une procédure. Sujet n°24: On considère deux tableaux Tp et Tn contenant respectivement n entiers positifs et n entiers négatifs (n étant un entier naturel compris entre 2 et 20). On désire afficher les éléments positifs et pairs du tableau TSOMME résultant de la somme de Tn et Tp tel que TSOMME[i] = Tp[i] + Tn[i]. Ecrire un programme Pascal intitulé SOMME_PAIR qui permet de :  saisir l’entier n  saisir les tableaux Tn et Tp          2 - n 1 - n n 1 0 F F F 1 F 1 F
  • 9.
    Bac Informatique Pratique2001 FENNI Salah  remplir le tableau TSOMME  afficher les éléments pairs et positifs du tableau TSOMME. N.B :La solution doit comporter au moins deux procédures ou fonctions.
  • 10.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Jeudi 23 mai 2002 ( Heure : 9h ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal On veut écrire un programme en Pascal permettant d’afficher tous les entiers naturels formés de quatre chiffres dont la somme donnera un entier d’un seul chiffre. Exemple : La somme des chiffres de l’entier 2004 est égale à 6 (2+0+0+4=6) et par conséquent l’entier 2004 sera affiché. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 11.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Jeudi 23 mai 2002 ( Heure :10 h 30’) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal On se propose d’afficher un histogramme à l’aide des lettres A, B et C comme celui de l’exemple ci-dessous. Ecrire un programme Pascal qui saisit le nombre de A, le nombre de B et le nombre de C puis affiche l’histogramme correspondant. Les nombres sont des entiers naturels inférieurs ou égaux à 15. Exemple d'exécution: Entrer trois nombres entiers compris entre 0 et 15: 6, 9, 3 B B B A B A B A B A B C A B C A B C N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 12.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Jeudi 23 mai 2002 ( Heure : 14 h ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal qui permet de saisir les résultats de (N-1) matchs de football d’une équipe et d’afficher le nombre de matchs gagnés, nuls et perdus ainsi que le nombre de points correspondants. N est un entier tel que 10 ≤ N ≤ 14. Le nombre de points attribués est de trois pour un match gagné, un pour un match nul et zéro pour un match perdu. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 13.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Jeudi 23 mai 2002 ( Heure : 15 h 30’) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal qui permet de chercher puis d’afficher tous les entiers naturels de l’intervalle [1000, 2000] qui vérifient la propriété suivante : La somme des chiffres des unités et des dizaines est égale au produit du chiffre des centaines par celui des milliers. Exemple : L’entier 1954 sera affiché car 4 + 5 = 9*1 N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 14.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Lundi 20 mai 2002 ( Heure : 9 h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal qui réalise le traitement suivant : - choisir un entier n de l’intervalle [2,9] et un entier Max de l’intervalle [10,99] - afficher tous les entiers de l’intervalle [1,Max] en remplaçant par le caractère ‘*’ tous les multiples de n ainsi que tous les entiers dont l’écriture contient le chiffre n. Exemple d'exécution Si n = 4 et Max = 18 alors la liste suivante sera affichée : 1 2 3 * 5 6 7 * 9 10 11 * 13 * 15 * 17 18 N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 15.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Lundi 20 mai 2002 ( Heure :10 h 30’) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal qui réalise le traitement suivant : - choisir un entier n de l’intervalle [100,500] et un entier m de l’intervalle [10,99] - afficher tous les entiers de l’intervalle [1,m] en remplaçant par le caractère ‘*’ tous les diviseurs de n ainsi que tous les entiers comportant dans leurs écritures le chiffre des unités de n. Exemples d'exécution: Si n=100 et m=20 alors la liste suivante sera affichée: * * 3 * * 6 7 8 9 * 11 12 13 14 15 16 17 18 19 * N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 16.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Lundi 20 mai 2002 ( Heure : 14 h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Soit un tableau T de 20 entiers positifs. Ecrire un programme Pascal qui permet d’afficher les éléments de T compris entre deux positions P1 et P2, leur moyenne arithmétique, la valeur maximale et la valeur minimale contenues dans cet intervalle. On donne 1  P1 < P2  20. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 17.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Lundi 20 mai 2002 ( Heure : 15 h 30’) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Soit le tableau T suivant : 10 7 9 7 10 6 7 4 8 8 Pour chaque élément de T on ne garde que sa première occurrence et on remplace les autres par 0. 10 7 9 0 0 6 0 4 8 0 On regroupe les éléments restant au début du tableau T. 10 7 9 6 4 8 0 0 0 0 Ecrire un programme Pascal qui fait le traitement ci-dessus pour un tableau T de n (2  n  20) entiers positifs non nuls et détermine et affiche le nombre d’éléments différents de T. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nombre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 18.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Mardi 21 mai 2002 ( Heure : 9 h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal qui saisit une phrase et l’affiche renversée. La phrase commence, obligatoirement, par une lettre et ses mots sont séparés par un seul espace. Exemple: Votre phrase: RESOLUTION DE PROBLEMES Résultat: PROBLEMES DE RESOLUTION N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 19.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Mardi 21 mai 2002 ( Heure : 10 h 30’) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal On se propose de chercher les entiers de l’intervalle [m, n] admettant le plus de diviseurs. Les entiers m et n vérifient la condition 5 ≤ m < n ≤ 100. Pour cela écrire un programme Pascal permettant de chercher puis d’afficher ces entiers ainsi que le nombre de leurs diviseurs. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 20.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Mardi 21 mai 2002 ( Heure : 14 h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal permettant de décomposer un entier N donné (2  N 100) en produit de facteurs premiers et d’afficher N et le produit de ses facteurs trouvés . Exemple : Si N = 60 alors on affiche 60 = 2*2*3*5 N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 21.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Mardi 21 mai 2002 ( Heure : 15 h 30’) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal On veut écrire un programme Pascal permettant de supprimer les espaces superflus dans une chaîne de caractère. Exemple : Si la chaîne est ‘Travauxpratiques’ alors l’exécution du programme donnera la chaîne=’Travaux pratiques’ N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 22.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Mercredi 22 mai 2002 ( Heure : 9 h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal qui permet de remplir un tableau T par n entiers ( 2  n  20 ) puis d’afficher les éléments d’un deuxième tableau M rempli de la manière suivante : Si k=1 ou k=n alors M[k]=T[k] sinon M[k]= (T[k-1] + T[k+1])/2 N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 23.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Mercredi 22 mai 2002 ( Heure :10 h 30’) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal L’entier 36 a la propriété d’être divisible par la somme de ses chiffres, en effet 3+6 = 9 divise 36. On se propose d’écrire un programme Pascal qui cherche et affiche tous les entiers naturels d’un intervalle [a, b] donné, (5 ≤ a < b ≤ 200) ; ayant cette propriété. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 24.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Mercredi 22 mai 2002 ( Heure : 14 h ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal On se propose de chercher parmi les entiers de l’intervalle [2 , 9] celui qui admet le plus grand multiple inférieur ou égal à un entier donné N ( 20 < N < 50). Ecrire un programme Pascal permettant de chercher puis d’afficher cet entier ainsi que son multiple. Exemple : Pour N=49 le plus grand multiple des entiers de l’intervalle [2 , 9] est l’entier 49 qui est un multiple de 7. Dans ce cas les valeurs 7 et 49 seront affichées. N.B : 1- La solution doit comporter au moins deux modules. 2- Le candidat doit traiter les cas des ex æquo (le cas où il y’a plusieurs entiers admettant le plus grand multiple). Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 25.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Mercredi 22 mai 2002 ( Heure : 15 h 30’) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal permettant d’afficher tous les couples d’entiers naturels (m , n) vérifiant la propriété suivante : m  [1 , 100] et n  [2 , 15] et m figure dans l’écriture du produit m.n Exemples : 1) Si m = 20 et n = 6 alors le produite m.n = 120 contient le nombre 20 dans ce cas le couple (20,6) sera affiché. 2) Si m = 20 et n = 12 alors le produite m.n = 20*12 = 240 ne contient pas le nombre 20 N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 26.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Samedi 18 mai 2002 ( Heure : 9 h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Une anagramme est un mot obtenu par transposition des lettres d’un autre mot (par exemple chien, chine sont des anagrammes du mot niche). Ecrire un programme Pascal qui permet de saisir deux mots non vides MOT1 et MOT2 puis de déterminer si MOT2 est une anagramme de MOT1. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 27.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Samedi 18 mai 2002 ( Heure : 10 h 30’) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal permettant de déterminer et d’afficher la moyenne d’une classe MC de n élèves (10 ≤ n ≤ 30) ainsi que le nombre d’élèves qui ont une moyenne supérieure ou égale à MC. Les moyennes des élèves sont des réels de l’intervalle [0, 20]. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 28.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Samedi 18 mai 2002 ( Heure : 14 h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal qui simule le jeu suivant : - à tour de rôle, l’ordinateur et l’utilisateur choisissent un nombre parmi : 0, 1 ou 2 - si la différence entre les deux nombres choisis vaut :  2, le joueur qui a proposé le plus grand nombre gagne un point.  1, le joueur qui a proposé le plus petit nombre gagne un point.  0, aucun point n’est marqué. - le jeu se termine quand l’un des deux joueurs totalise 10 points. Ce joueur sera considéré comme gagnant. Remarque : Pour un choix aléatoire fait par l’ordinateur, on pourra utiliser la fonction RANDOM. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 29.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Samedi 18 mai 2002 ( Heure : 15 h 30’) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal On se propose de remplir un tableau TRESULTAT par les éléments d’un tableau T contenant n entiers positifs (3 ≤ n ≤ 10) en utilisant leurs positions rangées dans un tableau TPOS. Les positions de deux éléments consécutifs de T sont séparées dans le tableau TPOS par un élément de valeur 0. NB : Les éléments de T sont supposés saisis différents deux à deux. On ne fera pas de test sur cette contrainte. Ecrire un programme Pascal qui permet de reconstituer le tableau TRESULTAT à partir des tableau T et TPOS. Exemple : T 4 10 2 5 TPOS 5 7 0 1 0 2 3 4 0 6 8 TRESULTAT contiendra TRESULTAT 10 2 2 2 4 5 4 5 N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 30.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Vendredi 17 mai 2002 ( Heure : 9 h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal On se propose d’écrire un programme Pascal qui permet de calculer et d’afficher la somme des factorielles des chiffres d’un entier n donné (2 ≤ n ≤ 50). On donne 0! = 1. Exemple : Si n = 13 alors 7 sera affiché (1! + 3! = 7) N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 31.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Vendredi 17 mai 2002 ( Heure : 10 h 30’) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal qui permet de former puis d’afficher un entier r de quatre chiffres à partir de deux entiers m et n strictement positifs et formés chacun de deux chiffres et ceci en intercalant le nombre n entre les deux chiffres de m. Exemple : Si m=56 et n=21 alors l’entier r sera égal à 5216. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 32.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Vendredi 17 mai 2002 ( Heure : 14 h ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal On se propose de répéter le traitement ci-dessous pour un entier n. 1- Si le nombre est impair alors on le multiplie par 3 et on lui ajoute 1 2- Si le nombre est pair alors on le divise par 2. Il est éventuel que le nombre 1 apparaisse lors des n premières répétitions. Ecrire un programme Pascal qui permet d’appliquer ce traitement à tous les entiers compris entre A et B (2  A < B  50) et d’afficher chaque entier qui arrivent à 1 dans un nombre de répétitions strictement inférieur à sa valeur. Exemple : L’entier 10 sera affiché car il arrive à 1 après 6 répétitions (6 < 10) N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 33.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Vendredi 17 mai 2002 (Heure : 15 h 30’ ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal On se propose de répéter le traitement ci-dessous pour un entier n. 3- Si le nombre est impair alors on le multiplie par 3 et on lui ajoute 1 4- Si le nombre est pair alors on le divise par 2. Il est éventuel que le nombre 1 apparaisse lors des 10 premières répétitions. Ecrire un programme Pascal qui permet d’appliquer ce traitement à tous les entiers compris entre A et B (2  A < B  50) et d’afficher ceux qui arrivent à 1 lors des 10 premières répétitions. Exemple : L’entier 10 sera affiché car il arrive à 1 après 6 répétitions. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 34.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Vendredi 24 mai 2002 ( Heure : 9 h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal On dispose de deux tableaux T1 et T2 contenant respectivement n éléments (5 ≤ n ≤ 20). Les éléments de T1 sont des entiers naturels différents deux à deux et ceux de T2 sont des entiers naturels représentant des fréquences de façon que T2[i] est la fréquence de T1[i]. On se propose d’écrire un programme Pascal qui permet de saisir les éléments de T1 et de T2 puis d’afficher les éléments de T1 qui ont une fréquence supérieure ou égale à 10. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Si exécution correcte sans modules et sans test sur T1 Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 9 2 2 3 2
  • 35.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Vendredi 24 mai 2002 (Heure : 10 h 30’) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal qui permet de saisir un entier n (100 n  10000) et de déterminer et d’afficher tous ses chiffres qui le divisent. Exemple : Si N = 2376 alors les chiffres 2, 3 et 6 seront affichés. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 36.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Vendredi 24 mai 2002 ( Heure : 14 h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal qui permet d’afficher tous les entiers de l’intervalle [10000, 20000] tel que le chiffre du milieu est égal à la somme des autres chiffres. Exemple : 12942 sera affiché car : 1+2+4+2=9 N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 37.
    Bac Informatique Pratique2002 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2002 DATE : Vendredi 24 mai 2002 ( Heure : 15 h 30’) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal On appelle poids d’un mot la somme des produits de la position de chaque voyelle contenue dans le mot par son rang dans l’alphabet français. Une lettre a le même rang qu’elle soit écrite en majuscule ou en minuscule. Ecrire un programme Pascal qui calcule et affiche le poids d’un mot donné. Exemple : Le mot « Epreuve » a pour poids 165 car : (1*5) + (4*5) + (5*21) + (7*5) = 165 N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2002 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2002 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 38.
    Bac Informatique Pratique2003 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Samedi 17 mai 2003 ( Heure : 9h ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal qui saisit une chaîne de caractères et l'affiche sous la forme d'un triangle comme indiqué ci-dessous. Exemple : Si la chaîne saisie est "INTERNET", on aura : I IN INT INTE INTER INTERN INTERNE INTERNET N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2003 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 39.
    Bac Informatique Pratique2003 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Samedi 17 mai 2003 ( Heure : 10h30’ ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Soit l'algorithme suivant : 0) Début quoi 1) [Lire (n)] Pour i de 1 à n Répéter Lire(T[i]) FinPour 2) Lire (v) 3) [Tr  faux, i  0] Répéter i  i + 1 tr  (T[i] = v) Jusqu'à (i = n) OU (tr) 4) Si (tr) Alors rt  " Oui " Sinon rt  " Non " FinSi 5 ) Ecrire (v, rt) 6 ) Fin quoi Questions : 1. Traduire cet algorithme en Pascal. 2. Que fait cet algorithme ? (Ecrire la réponse comme commentaire à la fin du programme). 3. Au programme obtenu, ajouter un module dont le rôle est d’afficher tous les indices i lorsque que T[i] = v Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2003 3 1) Traduction en Pascal 6 2) Rôle 3 3) Module d’affichage des indices 6
  • 40.
    Bac Informatique Pratique2003 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Samedi 17 mai 2003 ( Heure : 14h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Soit l'algorithme suivant : 0) Début quoi 1) [Lire (n)] Pour i de 1 à n Répéter Lire(T[i]) FinPour 2) Lire (v) 3) [Tr  faux, i  0] Répéter i  i + 1 tr  (T[i] = v) Jusqu'à (i = n) OU (tr) 4) Si (tr) Alors rt  " Oui " Sinon rt  " Non " FinSi 5 ) Ecrire (v, rt) 6 ) Fin quoi Questions : 1. Traduire cet algorithme en Pascal. 2. Que fait cet algorithme ? (écrire la réponse comme commentaire à la fin du programme). 3. Dans l’action 1, ajouter les contrôles sur la saisie pour assurer les conditions suivantes : 5 ≤ n ≤ 40 et 0 ≤ T[i] ≤ 20 4. Transformer l’action 3 en une fonction et en tenir compte dans le programme. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE
  • 41.
    Bac Informatique Pratique2003 FENNI Salah EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Samedi 17 mai 2003 ( Heure : 15h30’ ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Sachant que 6+6/22 + 6/32 +6/42 +…..+6/n2 tend vers π2 , écrire un programme Pascal permettant de calculer puis d’afficher une valeur approchée de π2 avec une erreur maximale ε . La valeur de ε est une donnée. N.B : La solution doit comporter au moins une fonction et une procédure. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2003 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3 REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE
  • 42.
    Bac Informatique Pratique2003 FENNI Salah EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Lundi 19 mai 2003 ( Heure : 9h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal L’algorithme suivant permet de calculer et d’afficher les moyennes des trois notes de n élèves. 0) Début Calcul_moyennes 1) Lire (n) 2) Pour i de 1 à n répéter Lire (Note1, Note2, Note3) Moy  (Note1 + 2 x Note2 + 2 x Note3)/5 Ecrire (Moy) FinPour 3) Fin Calcul_moyennes Questions : 1. Traduire cet algorithme en Pascal. 2. Dans l’action 1, ajouter le contrôle sur la saisie pour assurer la condition suivante 5 ≤ n ≤ 40 3. Ajouter une fonction intitulée RANG qui permet de chercher le rang de l’élève n° i. 4. Apporter les changements adéquats afin d’afficher pour chaque élève et sur une même ligne : N° Moyenne Rang Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2003 3 1) Traduction en Pascal 5 2) ) Contrôles de saisie 2 3) Fonction RANG 6 4) Affichage 2 REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE
  • 43.
    Bac Informatique Pratique2003 FENNI Salah EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Lundi 19 mai 2003 ( Heure : 10h30’ ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Soit T un tableau de n entiers (2 ≤ n ≤ 20). On veut écrire un programme Pascal qui saisit n et T puis affiche la valeur maximale V_max et la valeur minimale V_min d’une séquence de T allant de i à j. (i et j sont deux entiers donnés vérifiant la condition i ≤ j ≤ n). N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2003 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3 REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DA LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE
  • 44.
    Bac Informatique Pratique2003 FENNI Salah EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Lundi 19 mai 2003 ( Heure : 14h ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Soit T un tableau de n caractère (2 ≤ n ≤ 20). On se propose d’écrire un programme Pascal qui saisit n et T puis affiche le nombre d’occurrences d’un caractère c donné, dans le tableau T. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2003 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3 REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE
  • 45.
    Bac Informatique Pratique2003 FENNI Salah EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Lundi 19 mai 2003 ( Heure : 15h30’ ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Soit l'algorithme suivant : 0) Début Exercice 1) Ecrire (“ Taper une touche “) , Lire (ch) 2) Selon ch Faire "a" .. "z" : Si ch Dans ["a","e","i","u","o","y"] Alors nature  "Voyelle" Sinon nature  "Consonne " FinSi "0".."9" : nature  " Chiffre " SINON nature  " Symbole " Fin Selon 3) Ecrire (nature) 4) Fin Exercice Questions : 1. Traduire cet algorithme en Pascal. 2. Que fait cet algorithme ? (Ecrire la réponse comme commentaire à la fin du programme). a) Que fait le programme si ch = "A" ? (Ecrire la réponse sous forme d’un commentaire à la fin du programme). 3. Modifier le programme pour afficher correctement la nature d'une lettre majuscule. 4. Transformer l’action 2 en une fonction et en tenir compte dans le programme. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2003 3 1) Traduction en Pascal 5 2) Rôle 2 3) a) b) 1 2 4) Fonction 5
  • 46.
    Bac Informatique Pratique2003 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Mardi 20 mai 2003 ( Heure : 9h ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal L’algorithme suivant permet de calculer et d’afficher la moyenne arithmétique d’une classe de n élèves. 0) Début moyenne_classe 1) [Lire (n)] Pour i de 1 à n répéter Lire (T[i]) FinPour 2) [total  0] Pour i de 1 à n répéter total  total + T[i] FinPour 3) moyenne  total / n 4) Ecrire (moyenne) 5) Fin moyenne_classe Questions : 1. Traduire cet algorithme en Pascal. 2. Dans l’action 1, ajouter les contrôles de saisie permettant d’assurer les conditions : 5 ≤ n ≤ 40 et 0 ≤ T[i] ≤ 20 3. Ajouter un module dont le rôle est de déterminer et d’afficher le nombre d’élèves qui ont une moyenne supérieure ou égale à la moyenne de la classe. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2003 3 1) Traduction en Pascal 5 2) ) Contrôles de saisie 4 3) Module d’affichage du nombre d’élèves qui ont une moyenne supérieure ou égale à la moyenne de la classe 6
  • 47.
    Bac Informatique Pratique2003 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Mardi 20 mai 2003 ( Heure : 10h30’ ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal L’algorithme suivant permet de calculer et d’afficher la moyenne arithmétique d’une classe de n élèves. 0) Début moyenne_classe 1) [Lire (n)] Pour i de 1 à n répéter Lire (T[i]) FinPour 2) [total  0] Pour i de 1 à n répéter total  total + T[i] FinPour 3) moyenne  total / n 4) Ecrire (moyenne) 5) Fin moyenne_classe Questions : 1. Traduire cet algorithme en Pascal. 2. Dans l’action 1, ajouter les contrôles de saisie assurant les conditions suivantes : 5 ≤ n ≤ 40 et 0 ≤ T[i] ≤ 20 3. Ajouter un module dont le rôle est de déterminer puis d’afficher le nombre d’élèves qui ont une moyenne dans l’intervalle [moyenne-2,moyenne+2]. La variable moyenne correspond à la moyenne de la classe. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2003 3 1) Traduction en Pascal 5 2) ) Contrôles de saisie 4 3) Module d’affichage du nombre d’élèves qui ont une moyenne dans l’intervalle [moyenne-2,moyenne+2] 6
  • 48.
    Bac Informatique Pratique2003 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Mardi 20 mai 2003 ( Heure : 14h ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Soit la somme Sn suivante : Sn=1+3/22 + 5/33 +7/44 +….. +(2n-1)/nn Ecrire un programme Pascal intitulé SOMME permettant de calculer et d'afficher la somme Sn pour un entier n positif donné en utilisant la formule ci-dessus. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2003 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 49.
    Bac Informatique Pratique2003 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Mardi 20 mai 2003 ( Heure : 15h30’ ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal On veut écrire un programme Pascal permettant de:  saisir une chaîne de caractères Ch  parcourir la chaîne Ch et afficher l'occurrence de chacun de ses caractères. N.B : La solution doit comporter au moins une fonction et une procédure. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2003 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 50.
    Bac Informatique Pratique2003 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Mercredi 21 mai 2003 ( Heure : 9h ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Deux joueurs lancent en même temps un dé dont les faces sont numérotées de 1 à 6. Le joueur qui obtiendra la plus grande valeur aura un point. Le jeu s'arrête quand l'un des joueurs arrive le premier à un score de 10 points. Ecrire un programme Pascal simulant ce jeu et afficher le numéro du joueur gagnant. On pourra utiliser la fonction prédéfinie RANDOM(n) qui retourne un entier de l’intervalle [0,n-1]. N.B : La solution doit comporter au moins une fonction et une procédure. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2003 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 51.
    Bac Informatique Pratique2003 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Mercredi 21 mai 2003 ( Heure : 10h30’ ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Soit l'algorithme suivant : 0) Début Exercice 1) Ecrire (“ Saisir deux entiers “) , Lire (a,b) 2) Ecrire (“ Saisir un opérateur “) , Lire (op) 3) SI op = "+" Alors Ecrire ( a + b) sinon si op = "-" Alors Ecrire ( a - b) sinon si op = "*" Alors Ecrire ( a * b) sinon si op = "/" Alors Ecrire ( a / b) sinon Ecrire ("Opérateur invalide") 4) Fin Exercice Questions : 1. Traduire cet algorithme en Pascal. 2. Dans l’action 3, remplacer la structure conditionnelle généralisée par la structure conditionnelle à choix (CASE … OF … ) 3. a) Que fait le programme quand on choisit b=0 et op="/" ? (Ecrire la réponse sous forme de commentaire après la fin du programme). a. Modifier le programme pour corriger cette erreur. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2003 3 1) Traduction en Pascal 5 2) Utilisation du case … of … 5 3) a) b) 1 4
  • 52.
    Bac Informatique Pratique2003 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Mercredi 21 mai 2003 ( Heure : 14h ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Soit l'algorithme suivant : 0) Début Exercice 1) Ecrire (" Donner la première note : ") , Lire (N1) 2) Ecrire (" Donner la deuxième note : ") , Lire (N2) 3) Ecrire (" Donner la troisième note : ") , Lire (N3) 4) moy  (N1*CF1) + (N2*CF2) + (N3*CF3) / (CF1 + CF2 + CF3) 5) Si moy ≥ 16 Alors déci  " Très bien " Sinon Si moy ≥ 14 Alors déci  " Bien " Sinon Si moy ≥ 12 Alors déci  " A. Bien " Sinon Si moy ≥ 10 Alors déci  " Passable " Sinon déci  " Faible " FinSi 6) Ecrire (moy, deci ) 7) Fin Exercice N.B : CF1, CF2 et CF3 sont des constantes de valeurs respectives 1, 2 et 3. Questions : 1. Traduire cet algorithme en Pascal. 2. Que fait cet algorithme ? (Ecrire la réponse comme commentaire à la fin du programme). 3. Transformer l’action 5 en une fonction et en tenir compte dans le programme. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité.
  • 53.
    Bac Informatique Pratique2003 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Mercredi 21 mai 2003 ( Heure : 15h30’ ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Soit un tableau P de n chaîne de caractères (1<n<100). Tous les éléments de T doivent être constitués uniquement de chiffres (0 ..9) et non vides. On se propose de remplir un tableau Q de la façon suivante: Q[i] contiendra la chaîne de caractère P[i] écrite à l’envers. Exemple: Si P[2]="925" Alors Q[2] contiendra la chaîne "529" Ecrire un programme Pascal permettant de saisir les éléments de P, de remplir puis d'afficher les éléments du tableau Q. N.B : La solution doit comporter au moins une fonction et une procédure. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2003 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 54.
    Bac Informatique Pratique2003 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Jeudi 22 mai 2003 ( Heure : 9h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal On veut écrire un programme Pascal permettant de lire un mot intitulé CHM et d'afficher les chaînes de caractères suivantes:  La chaîne formée par le premier et le dernier caractère de CHM  La chaîne formée par les deux premiers et les deux derniers caractères de CHM  etc. Exemple : Si la chaîne CHM contient "TURBO" alors le programme affichera : TO TUBO TURRBO TURBURBO TURBOTURBO N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2003 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 55.
    Bac Informatique Pratique2003 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Jeudi 22 mai 2003 ( Heure : 10h30’) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Soit l'algorithme suivant : 0) Début Exercice 1) Écrire ("a = ") , Lire(a) 2) Écrire ("b = ") , Lire(b) 3) Écrire ("erreur = ") , Lire (eps) 4) [trv  faux] Répéter [c  a + b 2 ] Si (f(a).f(c) = 0) Alors Trv  vrai Sinon Si f(a).f(c) < 0 Alors b  c Sinon a  c FinSi FinSi Jusqu'à (trv) OU (a-b< 2.eps) 5) Écrire ("Le zéro de f est : ", c, " à ",eps ," près") 6) Fin Exercice Questions : 1. Traduire cet algorithme en Pascal en lui ajoutant la définition de la fonction f suivante f(x)=5x2 -1 et en le testant pour a=0, b=1 et eps=0.001 2. Que fait cet algorithme ? (Ecrire la réponse comme commentaire à la fin du programme). 3. Transformer l’action 4 en une fonction. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité.
  • 56.
    Bac Informatique Pratique2003 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Jeudi 22 mai 2003 ( Heure : 14h ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal On se propose d’écrire un programme Pascal permettant de déterminer et d'afficher la lettre alphabétique la plus utilisée dans un texte donné. Le texte étant saisi comme une chaîne de caractères contenant n de caractères (5 ≤ n ≤ 20). Dans le cas d’ex æquo afficher toutes les lettres ayant la plus grande fréquence. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2003 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 57.
    Bac Informatique Pratique2003 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Jeudi 22 mai 2003 ( Heure : 15h30’ ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Soit l'algorithme suivant : 0) Début Exercice 1) [Lire (n)] Pour k de 1 à n Répéter Lire(T[k]) Fin Pour 2) Lire (v) 3) [Trv  faux, i  0] Répéter i  i + 1 trv  (T[i] = v) Jusqu'à (i = n) OU (trv) 4) Si (trv) Alors rt  " est dans T " Sinon rt  " n'est pas dans T " Fin Si 5 ) Ecrire (v, rt) 6 ) Fin Exercice Questions : 1. Traduire cet algorithme en Pascal. 2. Que fait cet algorithme ? (Ecrire la réponse comme commentaire à la fin du programme). 3. Ajouter une fonction intitulée OCCURRENCES qui permet de chercher et d'afficher le nombre d'occurrences de la valeur de v dans T. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2003 3 1) Traduction en Pascal 6 2) Rôle 2 3) Fonction OCCURENCE 7
  • 58.
    Bac Informatique Pratique2003 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Vendredi 23 mai 2003 ( Heure : 10h30’ ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal On veut écrire un programme Pascal permettant de coder un message selon le procédé suivant : Permuter chaque caractère d'indice pair avec le caractère qui le précède. Exemple: Le codage de la chaîne de caractères : "Baccalauréat" donne "aBcclauaérta" N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2003 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 59.
    Bac Informatique Pratique2003 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Vendredi 23 mai 2003 ( Heure : 9h ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Soit l'algorithme suivant qui calcule et affiche les moyennes de n candidats : 0) Début Calcul_moy 1) Écrire ("Donner le 1er coefficient : "), Lire (Coef1) 2) Écrire ("Donner le 2ème coefficient : "), Lire (Coef2) 3) [Lire (n)] Pour i de 1 à n Répéter Lire (Note1) Lire (Note2) Moy  (Note1*Coef1 + Note2*Coef2)/( Coef1+Coef2) Écrire ("Moyenne = ", Moy) FinPour 4) Fin Calcul_moy Questions : 1. Traduire cet algorithme en Pascal. 2. Dans le programme obtenu, ajouter un module intitulé RANG qui permet de chercher et d'afficher le rang de chaque candidat. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2003 3 1) Traduction en Pascal 5 2) Module RANG a) syntaxe et vocabulaire b) structures de données adéquates c) structures de contrôles adéquates d) utilisation du module dans le programme principal 2 3 3 2
  • 60.
    Bac Informatique Pratique2003 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2003 DATE : vendredi 23 mai 2003 ( Heure : 14h ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Soit l'algorithme suivant : 0) Début Exercice 1) [lire(n)] Pour i de 1 à n répéter lire(T[i]) FinPour 2) Pour i de 1 à n-1 Répéter Pour j de i+1 à n répéter Si T[j] > T[i] Alors Aux  T[j] T[j]  T[i] T[i]  Aux FinSi FinPour FinPour 3) Pour i de 1 à n répéter Ecrire (T[i]) FinPour 4) Fin Exercice Questions : 1. Traduire cet algorithme en Pascal. 2. Que fait ce programme ? (Ecrire la réponse comme commentaire à la fin du programme). 3. Dans l’action 2, apporter les modifications nécessaires au programme afin de ne réaliser qu’au maximum une permutation pour chaque valeur de i. 4. Transformer l’action 2 en un module et en tenir compte dans le programme. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité.
  • 61.
    Bac Informatique Pratique2003 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Vendredi 23 mai 2003 ( Heure : 15h30’ ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal L'authentification est une technique permettant à un utilisateur d'accéder à un système informatique en introduisant un mot de passe. On veut écrire un programme Pascal permettant d'authentifier un utilisateur selon le procédé suivant : L'utilisateur dispose d'au maximum trois essais pour saisir le mot de passe. Le programme affichera l'un des messages suivants: "Utilisateur autorisé" si le bon mot de passe a été saisi ou bien "Utilisateur non autorisé" dans le cas contraire. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2003 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 62.
    Bac Informatique Pratique2003 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Samedi 24 mai 2003 ( Heure : 9h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Soit l'algorithme suivant : 0) Début Exercice 1) [lire(n)] Pour i de 1 à n répéter lire(T[i]) FinPour 2) Pour i de 1 à n-1 Répéter Pour j de i+1 à n répéter Si T[j] > T[i] Alors Aux  T[j] T[j]  T[i] T[i]  Aux FinSi FinPour FinPour 3) Pour i de 1 à n répéter Ecrire (T[i]) FinPour 4) Fin Exercice Questions : 1. Traduire cet algorithme en Pascal. 2. Que fait ce programme ? (Ecrire la réponse comme commentaire à la fin du programme). 3. Dans l’action 1, ajouter le contrôle sur la saisie pour assurer la condition suivante : 3 ≤ n ≤ 10 4. Transformer l’action 2 en un module et en tenir compte dans le programme. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité.
  • 63.
    Bac Informatique Pratique2003 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Samedi 24 mai 2003 ( Heure : 10h30’ ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal On veut écrire un programme Pascal permettant de chercher puis d'afficher l'indice de la plus grande valeur d'un tableau T contenant n entiers (5 ≤ n ≤ 20). Dans le cas d’ex æquo, on affiche l’indice de la première occurrence. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2003 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 64.
    Bac Informatique Pratique2003 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Samedi 24 mai 2003 ( Heure : 14h ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal On appelle moyenne olympique d'un ensemble de nombres la moyenne arithmétique de tous les nombres de cet ensemble sauf le plus petit et le plus grand. Ecrire un programme Pascal permettant de saisir un tableau de N réels (5 ≤ N ≤ 20) distincts et d'afficher leur moyenne olympique. N.B : La solution doit comporter au moins trois modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2003 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 65.
    Bac Informatique Pratique2003 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2003 DATE : Samedi 24 mai 2003 ( Heure : 15h30’ ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal On veut écrire un programme permettant de remplir deux tableaux P et Q de tailles maximales n (n < 50) par des réels. Puis de ranger respectivement les éléments positifs de P puis ceux de Q dans un Tableau TPOS. Ensuite calculer puis afficher la moyenne arithmétique des éléments de TPOS. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2003 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 66.
    Bac Informatique Pratique2003 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2003 DATE : mai 2003 ( Heure : ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Un entier strictement positif est dit premier s'il n'a que deux diviseurs distincts : 1 et lui même. Ecrire un programme Pascal qui saisit un entier strictement positif n et affiche un message indiquant si ce nombre est premier ou non. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2003 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Lancement du logiciel 2 Enregistrement dans bac2003 3 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 15 12 4 4 4 3
  • 67.
    Bac Informatique Pratique2004 FENNI Salah Sujet n°1(14 mai 2004 9h) Soit T un tableau de N éléments (2<N<200) de type caractère. On désire écrire un programme Pascal permettant de vérifier l'existence dans le tableau T d'un certain nombre de mots saisis dans un tableau Tm de P éléments (2<P<20). Exemple: Soit Remarques : 1- Les caractères de là chaîne recherchée doivent être adjacents dans le tableau T et non dispersés. 2- On remarque que les mots BAC, Canne et Sujet figurent dans le tableau T N.B: La solution doit comporter au moins deux modules. Sujet n°2(14 mai 2004 10h30) Ecrire un programme Pascal permettant de saisir deux entiers X et Y (0 < X 9 et 0 < Y 9) et d’afficher la tableau de multiplication selon le modèle suivant : Exemples : X=4 et Y=5, le programme affiche : 1 2 3 4 5 1 1 2 3 4 5 2 2 4 6 8 10 3 3 6 9 12 15 4 4 8 12 16 20 N.B: La solution doit comporter au moins deux modules. Sujet n°3(14 mai 2004 14h) On considère deux suites (U) et (V) définies à partir de : U1 = 1 U2 = 2 Ui = Ui-1 + Ui-2 (i  3) Vi = Ui / Ui-1 La suite (Vn ) tend vers une limite, appelé nombre d’or. On suppose que le nième terme de la suite V, soit Vn, donne une valeur approchée du nombre d’or avec décision E, dès que Vn – Vn-1 < E Ecrire un programme Pascal permettant de déterminer le terme Vn à 10-4 près et son rang N.B: La solution doit comporter au moins deux modules. Tm BAC Canne Sujet T L B S u j e t a B A C a n n e d
  • 68.
    Bac Informatique Pratique2004 FENNI Salah Sujet n°4(14 mai 2004 15h30) Ecrire un programme Pascal permettant de saisir les éléments d'un tableau T de N entiers positifs ou nuls (5N20), d'afficher l’occurrence du plus petit élément dans T et l'indice de sa première apparition. Exemple: Soit le tableau T suivant : 5 2 4 2 1 7 9 4 1 1 Le plus petit élément est 1, son occurrence est 3 et l'indice de sa première apparition est 5. N.B: La solution doit comporter au moins deux modules. Sujet n°5(15 mai 2004 9h) On veut écrire un programme Pascal permettant de saisir les éléments de deux tableaux Ta et Tb contenant respectivement p et q entiers (5p20 et 5q20) puis de déterminer si Ta est un "sous tableau" de Tb. C'est-à-dire que tous les éléments de Ta figurent dans l’ordre dans Tb. Exemple: Résultat :Ta est un sous tableau de Tb N.B: La solution doit comporter au moins une procédure et une fonction Sujet n°6(15 mai 2004 10h30) L’algorithme suivant permet d’insérer un élément dans un tableau trié 0- DEBUT Insertion 1- Répéter Ecrire("N= ") Lire(n) Jusqu’à (1>n) et (n<Nmax) 2- T[1]1 Pour i de 2 à n Répéter T[i]T[i-1]+2*i Finpour 3- Ecrire("Introduire l’entier à insérer " Lire(v) 4- Proc Insertion(T,v) 5- Fin Insertion Questions : 1. Traduire l’algorithme ci-dessus en Turbo Pascal (Nmax, nombre d’éléments du tableau T, est une constante égale à 15) 2. Développer le module Insertion permettant d’insérer l’élément v dans le tableau T de telle sorte que le tableau reste trié 3. Donner sous forme de commentaire à la fin du programme, le rôle de la séquence 2. 4. Ecrire un module d’affichage du tableau et en tenir compte dans le programme. Ta 3 5 7 Tb 0 1 3 6 1 9 5 7 8
  • 69.
    Bac Informatique Pratique2004 FENNI Salah Sujet n°7(15 mai 2004 14h) L’algorithme suivant permet de remplir un tableau T puis d’inverser chacune de ses deux parties. (1ère partie : du 1er au pème élément, 2ème partie : du (p+1)ème au nième élément), p est un entier à saisir 0- Début Inversion 1- Porc Saisie (n, p) 2- Pour i de 1 à n répéter Lire(T[i]) FinPour 3- Proc Inverse (T, 1, p) 4- Proc Inverse (T,p+l,n) 5- Pour ide 1 à n répéter Ecrire (T[i] : 2) FinPour 6- Fin Inversion Questions : 1) Traduire l’algorithme ci-dessus en Turbo Pascal et l'enregistrer dans le dossier bac2004 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité suivi de la chaîne de caractères "V1" 2) Développer le module Saisie permettant de saisir deux entiers n et p vérifiant les conditions suivantes : (3<n<20) et (1<p<n-1) et en tenir compte dans le programme. 3) Développer le module Inverse qui permet d’inverse une portion du tableau T du Jème au Kème élément (j<k) et en tenir compte dans le programme. 4) Enregistrer la nouvelle version du programme dans le dossier bac2004 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité suivi de la chaîne de caractères "V2" Exemple: pour n = 9 et p = 5 Sujet n°8(15 mai 2004 15h30) Soit T un tableau de N éléments (2<N<20) de type caractère. On se propose d'écrire un programme Pascal permettant d'afficher la longueur de la plus longue séquence contenant uniquement des voyelles. N.B. Une séquence doit contenir au moins deux éléments. La solution doit comporter au moins deux modules. Sujet n°9(17 mai 2004 9h) Ecrire un programme en Pascal permettant de saisir les éléments d'un tableau T de N entiers (4  N  10), déterminer puis d'afficher tous les éléments distincts de ce tableau. N.B : La solution doit comporter au moins deux modules. -2 0 8 -5 4 3 10 6 -1 Etat final du tableau T -2 0 8 -5 4 3 10 6 -1 Etat final du tableau T p 4 -5 8 0 -2 -1 6 10 3 Etat initial du tableau T -2 0 8 -5 4 3 10 6 -1 Etat final du tableau T
  • 70.
    Bac Informatique Pratique2004 FENNI Salah Sujet n°10(17 mai 2004 10h30) On se propose d'écrire un programme Pascal permettant de chercher puis d'afficher tous les entiers naturels d'un intervalle [a, b] (10 < a < b < 200) qui sont divisibles par chacun de leurs chiffres non nuls. Exemple Dans l’intervalle [15, 50] l'entier 36 sera affiché car il est divisible par 3 et par 6. N.B : La solution doit comporter au moins deux modules. Sujet n°11(17 mai 2004 14h) Soit T un tableau de N caractères alphabétiques (2<N<20). Ecrire un programme Pascal permettant de crypter les données figurant dans le tableau T comme suit : 1. Convertir chaque caractère en sa représentation en code ascii. 2. permuter les chiffres des unités avec ceux des dizaines et déterminer le caractère correspondant à ce nouveau code ascii. 3. remplir un tableau R par les codes ascii calculées dans l'étape N°2 des caractères du tableau T. 4. Afficher le tableau R obtenu. N.B: La solution doit comporter au moins deux modules. Sujet n°12(17 mai 2004 15h30) On veut écrire un programme Pascal permettant de saisir N entiers (10<N<20) dans un tableau T et de les arranger en plaçant les valeurs paires, s'il y en a, au début du tableau, sans modifier l'ordre de saisie des valeurs paires et impaires. N.B: La solution doit comporter au moins deux modules. Sujet n°13(18 mai 2004 9h) On veut écrire un programme Pascal permettant de lire deux mots chl et ch2 et d'afficher tous les caractères qui apparaissent dans les deux chaînes sans redondance. Exemple : Soit ch1= "Bonjour" et ch2= "Bonbon" résultat : B ; o ; n NB: La solution doit comporter au moins deux modules. Sujet n°14(18 mai 2004 10h30) Soit la suite (U) définie par : U0 = 2 U1= 3 Un = Un-1 + 2 * Un-2 ; pour tout n  2 En supposant que cette suite est croissante, écrire un programme Pascal permettant de lire un entier x (x >2), de vérifier et d'afficher s'il est un terme de la suite U ou non. Dans l'affirmative afficher son rang. N.B : La solution doit comporter au moins deux modules. 4 -5 8 10 -2 -1 6 9 3 Etat initial du tableau T -2 0 8 -5 4 3 10 6 -1 Etat final du tableau T 4 8 10 -2 6 -5 -1 9 3 Etat final du tableau T
  • 71.
    Bac Informatique Pratique2004 FENNI Salah Sujet n°15(18 mai 2004 14h) Soit l'algorithme suivant : 0) Début Inconnu 1) Lire(N) 2) Pour i de 1 à N répéter Lire (D[i]) Fin Pour 3) {Ensemble d'actions permettant d'initialiser à 1 les éléments d'un tableau S de N entiers} 4) Pour i de 1 à N-l répéter Pour j de i+1 à N répéter Si D[i] > D[j] Alors S[i]  S[i] + 1 Sinon S[j]S[j]+1 Fin Si Fin Pour Fin Pour Pour i de 1 à N répéter A[S[i]]  D[i] Fin Pour 5) Fin Inconnu Questions : 1. Développer la séquence 3 et traduire cet algorithme en Pascal. 2. Enregistrer le programme dans le dossier bac2004 situé à la racine C : en lui donnant comme nom le numéro de votre carte d'identité suivi de la chaîne de caractères "V1". 3. Donner, sous forme de commentaire en fin du programme, le rôle de celui-ci. 4. Transformer l'étape 4 en une procédure et en tenir compte dans le programme. 5. Ecrire un module d'affichage du tableau A et en tenir compte dans le programme. 6. Enregistrer la nouvelle version du programme dans le dossier bac2004 situé à la racine C : en lui donnant comme nom le numéro de votre carte d'identité suivi de la chaîne de caractères "V2". Sujet n°16(18 mai 2004 15h30) On propose par la suite, l'une des méthodes de la conversion d'un entier décimai (X) en son équivalent binaire (base 2) 1. On divise (division entière) le nombre X par 2 2. On sauvegarde le reste de la division 3. On refait les deux étapes précédentes avec le quotient de la division, jusqu'à avoir un quotient nul. 4. Le regroupement des restes en sens inverse de leurs apparitions donne la valeur du nombre X en binaire. Exemple : Si X = 13 alors - La division entière de 13 par 2 donne un quotient = 6 et un reste = 1 - La division entière de 6 par 2 donne un quotient = 3 et un reste = 0 - La division entière de 3 par 2 donne un quotient = 1 et un reste = 1 - La division entière de 1 par 2 donne un quotient = 0 et un reste = 1 Donc le nombre décimal 13 vaut 1101 en Binaire Question : Ecrire un programme Pascal permettant de saisir un entier naturel X  100, de déterminer et d'afficher sa valeur en Binaire, selon le format suivant : Sens de lecture des restes
  • 72.
    Bac Informatique Pratique2004 FENNI Salah le nombre décimal X vaut ..... en binaire. N.B: La solution doit comporter au moins une procédure et une fonction. Sujet n°17(19 mai 2004 9h) L'algorithme suivant permet de rendre un tableau T symétrique. 0- DEBUT Tab_Sym 1-Répéter Lire (n) Jusqu'à (n>l) et (n mod 2=0) 2- Pour i de 1 à n div 2 répéter Lirc(T[2i-l]) T[2i]T[2i-l] FinPour 3- Proc Symétrie (T) 4- Pour i de 1 à n Répéter Ecrire (T[i] : 3) FinPour 5-FINTab_Sym Questions : 1) Traduire l'algorithme ci-dessus en Turbo Pascal et l'enregistrer dans le dossier bac2004 situe à la racine C : en lui donnant comme nom le numéro de votre carte d'identité suivi des deux caractères "V1". 2) Développer le Module Symétrie permettant de transformer T en un tableau symétrique 3) Donner, sous forme de commentaire dans le programme, le rôle de la séquence 2. 4) Transformer la séquence 2 en une procédure et en tenir compte dans le programme. 5) Enregistrer la nouvelle version du programme dans le dossier bac2004 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité suivi de deux caractères "V2" Exemple : pour N = 10 Sujet n°18(19 mai 2004 10h30) Soit T un tableau de N caractères (2<N<20). On veut écrire un programme Pascal permettant de crypter les données figurant dans le tableau T comme suit : 1. Saisir un entier X (0< X <8) 2. Convertir chaque élément de T en une chaîne correspondante à sa représentation binaire sur 8 bits 3. Effectuer une rotation des chiffres binaires à droite, obtenus dans l'étape N°2, de X position(s). 4. Stocker chaque valeur obtenue suite au cryptage dans l'étape N°3 dans un tableau Tcr. 5. Afficher le contenu du tableau Tcr. On propose d'utiliser la fonction Convert permettant de convertir une valeur décimale en une valeur binaire représentée sous forme de chaîne de 8 caractères. Function convert( d:integer);String, Var I:integer; ch,chc: string, begin ch:=" For i:=l to 8 do begin 4 0 -5 -8 3 3 8 -5 0 4 Etat final du tableau T 4 4 0 0 -5 -5 8 8 3 3 Etat initial du tableau T -2 0 8 -5 4 3 10 6 -1 Etat final du tableau T
  • 73.
    Bac Informatique Pratique2004 FENNI Salah Str(d MOD 2, chc) d:=d DIV 2, ch:= chc + ch; end, convert:=ch; end; Exemple : Le caractère "A" a une représentation binaire égale à "0100000l". Si X==2, Alors la représentation binaire de "A" après une rotation de deux positions à droite sera : "01010000", cette valeur sera stockée dans le tableau Ter. N.B : La solution doit comporter au moins deux modules. Sujet n°19(19 mai 2004 14h) On veut écrire un programme Pascal permettant de saisir les éléments d'un tableau T de N entiers positifs ou nuls ( 5N20 ) et de déplacer tous les éléments nuls à la fin du tableau. Exemple : N.B : La solution doit comporter au moins deux modules. Sujet n°20(19 mai 2004 15h30) On se propose de fusionner les éléments de deux tableaux triés T et V contenant respectivement p et q éléments de type entier. Ecrire un programme Pascal permettant de saisir les éléments des deux tableaux T et V, de les trier dans le sens croissant et de les fusionner dans un tableau F tout en respectant l'ordre de tri croissant. On peut utiliser la procédure de tri suivante : 0- DEF PROC TRI (Var T: Tab; n : entier); 1- Jn Répéter Permut Faux , Pour i de 1 à J-l Répéter Si T[i]>T[i+1] Alors Aux  T[i] T[i]T[i+l] T[i+l] Aux Permut  Vrai Fin Si Fin Pour J J-1 Jusqu'à Permut = Faux 2- Fin TRI NB : La solution doit comporter au moins deux modules 4 8 2 6 10 3 0 0 0 Etat final du tableau T 4 0 8 0 2 0 6 10 3 Etat initial du tableau T
  • 74.
    Bac Informatique Pratique2004 FENNI Salah Sujet n°21(20 mai 2004 9h) La fonction Random(x) en Turbo Pascal, permet de retourner un entier appartenant à l'intervalle [0,x[. Soit T un tableau de N entiers (1 < N ≤ 100). Ecrire un programme Pascal permettant de remplir, d'une façon aléatoire (en utilisant la fonction Random), le tableau T par N entiers de l'intervalle [5, 20] puis d'afficher les éléments de T qui sont divisibles par leurs rangs. N.B : La solution doit comporter au moins deux modules. Sujet n°22(20 mai 2004 10h30) Soit l'algorithme suivant : 0) DEBUT Exercice 1) Lire (n) 2) Pour i de 1 à n répéter Lirc(T[i]) FinPour 3) i1 4) Répéter Si T[i]<T[i+1] Alors CT[i] T[i]T[i+1] T[i+1]C i1 Sinon ii+1 Finsi Jusqu’à i=N 5) FIN Exercice Questions : 1. Traduire cet algorithme en Pascal. 2. Donner, sous forme de commentaire à la fin du programme, le rôle de celui-ci. 3. Transformer la séquence 4 en une procédure et en tenir compte dans le programme. 4. Ajouter une procédure permettant d'afficher tous les éléments du tableau T sans redondance et en tenir compte dans le programme. Sujet n°23(20 mai 2004 14h) Soit un tableau T de N réels (1 < N < 20). Ecrire un programme Pascal permettant de : - remplir un tableau T par N réels. - afficher la moyenne Moy de T. - afficher tous les éléments du tableau T dont les valeurs sont les plus proches de Moy et leurs indices N.B: La solution doit comporter au moins deux modules. Sujet n°24(20 mai 2004 15h30) On veut écrire un programme Pascal permettant de saisir N entiers (10<N<20), comportant obligatoirement des valeurs positives et négatives, dans un tableau T.
  • 75.
    Bac Informatique Pratique2004 FENNI Salah Déterminer et afficher le nombre d'éléments positifs et la somme des valeurs négatives. N.B:La solution doit comporter au moins deux modules. Sujet n°25(21 mai 2004 9h) L’algorithme suivant permet de saisir N éléments distincts dans un tableau T. 0)DEBUT SaisieJTab 1) Répéter Ecrire ("N = ") Lire (n) Jusqu'à (2 < n) et ( n < 20) 2) Ecrire ("T[l] : ") Lire(T[l]) Pour i de 2 à n répéter Répéter Ecrire ("T[",i,"] : ") Lire(T[i]) Jusqu'à Fn Existe (T, i) == faux Fin Pour 3) Pour i de 1 à n répéter Ecrire (T[i]) Fin Pour 4- FIN SaisieJTab Questions : 1) Traduire l'algorithme Saisie_Tab en Turbo Pascal et l'enregistrer dans le dossier bac2004 situé à la racine C : en lui donnant comme nom le numéro de votre carte d'identité suivi de la chaîne de caractères "V1". 2) Développer le module Existe, qui vérifie l'existence de l'élément en cours de saisie dans le tableau. 3) Transformer la séquence 2 en une procédure appelée Lecture et en tenir compte dans le programme. 4) Enregistrer la nouvelle version du programme dans le dossier bac2004 situé à la racine C : en lui donnant comme nom le numéro de votre carte d'identité suivi de la chaîne de caractères "V2" Sujet n°26(21 mai 2004 10h30) Soit un tableau T de N entiers distincts. Si i<j et T[i] > T[j] alors le couple (i, j) est appelé inversion de T. Ecrire un programme en Turbo Pascal permettant de saisir le tableau T de N entiers distincts. Puis de déterminer et d'afficher tous les couples inversion de T. N.B: La solution doit comporter au moins deux modules. Pour vérifier l'unicité d'un élément saisi d'indice i (i >1), on peut utiliser la fonction Verif dont l'algorithme est le suivant : 0- DEF FN Verif(T : Tab; i : entier ) : booléen 1- Test  Vrai , j 1 Répéter Test  T[j]<>T[i] jj+1 Jusqu'à (Test == faux) ou (j=i) 2- Vérif  test
  • 76.
    Bac Informatique Pratique2004 FENNI Salah 3- Fin Vérif Sujet n°27(21 mai 2004 14h) On se propose de déterminer une valeur approchée de  par la méthode de Wallis, définie par la formule suivante:  2 2 4 4 6 6 8 8 — = — x — x — x — x — x — x — x — ... 2 1 3 3 5 5 7 7 9 Ecrire un programme Pascal qui utilise la formule ci-dessus pour déterminer et afficher une valeur approchée de  à l0-6 prés. N.B: 1. Le calcul s'arrête lorsque la différence entre deux valeurs consécutives de cette formule devient strictement inférieure à l0-6 2. La solution doit comporter au moins deux modules. Sujet n°28(21 mai 2004 15h30) On se propose de simuler un jeu qui consiste à faire des lancés de deux dés, le score est calculé en additionnant les points de chaque dé lors d'une lancé, Le jeu se termine au bout de dix lancés au maximum. Si le score du joueur atteint ou dépasse 50 points ou s'il obtient deux doublés successifs il est déclare gagnant. Ecrire un programme Pascal permettant de simuler le jeu ci-dessus. N.B : 1. Un dé est un cube dont les faces sont numérotées de 1 à 6. 2. Une lancé se traduit par le fait de lancer deux dés en même temps 3. Un doublé est le fait d'obtenir deux faces portant le même numéro dans une lancé 4. La solution doit comporter au moins deux modules.
  • 77.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Vendredi 13 mai 2005 (Heure : 9h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal intitulé Voyelles permettant de déterminer et d'afficher la position de la deuxième voyelle dans un tableau T, de N caractères alphabétiques, donné. S'il y a moins que deux voyelles dans T, le programme affichera -1. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 18 14 5 4 5 4
  • 78.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Vendredi 13 mai 2005 ( Heure : 10h30) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal L'algorithme suivant est celui d'une fonction permettant de retourner la position du plus petit élément dans un tableau A de k éléments à partir d'une position p. 0) Def Fn pos_min (A : tab ; p,k: entier): entier 1) [pm  p] Pour i de p+1 à k Répéter Si A[i] < A[pm] Alors pm  i Finsi Fin pour 2) pos_min  pm 3) Fin Pos_min Utiliser la fonction Pos_min ci-dessus pour écrire un programme Pascal permettant de saisir un tableau T de n réels, de le trier dans l'ordre croissant par la méthode de "tri par sélection" puis de l'afficher. N. B. : le programme doit comporter au moins une procédure et une fonction. Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 18 14 5 4 5 4
  • 79.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Vendredi 13 mai 2005 (Heure : 14h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal intitulé Predsucc permettant de remplir un tableau T par N chiffres compris entre 0 et 9 et d'afficher les éléments de T qui sont encadrés par leurs prédécesseurs et leurs successeurs. N. B :  Le premier élément sera affiché s'il est seulement succédé par son successeur.  Le dernier élément sera affiché s'il est précédé par son prédécesseur. Exemple : Pour le tableau T suivant : T 2 3 3 5 6 7 2 8 9 8 7 0 1 2 3 4 5 6 7 8 9 10 12 13 Le programme affiche les valeurs 2, 6 N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 18 14 5 4 5 4
  • 80.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Vendredi 13 mai 2005 ( Heure : 15h30) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Écrire un programme Pascal intitulé Ecart qui permet de déterminer, pour un tableau T contenant N éléments de type entier (5<N<20), le(s) couple(s) de valeurs, ayant des indices distincts et présentant le plus petit écart. Exemple : Pour le tableau T suivant: Le couple (8,10) présente le plus petit écart. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 18 14 5 4 5 4 12 -2 8 5 0 10 1 2 3 4 5 6
  • 81.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Samedi 14 mai 2005 ( Heure : 9h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal permettant de saisir deux entiers naturels et d'afficher s'ils sont premiers entre eux ou non. a et b sont dits premiers entre eux, si PGCD (a,b) = 1. Exemple : Pour a = 7 et b = 4, PGCD (7,4) = 1 donc 7 et 4 sont premiers entre eux. Indication : Sachant que PGCD (a, b) = PGCD(b, r), avec r = a mod b. Tant que le reste r est non nul, on remplace a par b et b par r. Le dernier reste r non nul est alors le PGCD des deux nombres Exemple a b Reste (a mod b) 323 247 76 247 76 19 76 19 0 Donc PGCD(323,247) = 19 Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 18 14 5 4 5 4
  • 82.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Samedi 14 mai 2005 (Heure : 10h30) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal On propose ci-dessous l'algorithme d'une procédure de tri à bulles : 0) Def Proc TRI_Bulles( Var T:tab; n:entier) 1) Pour i de 1 à n-1 Répéter Pour j de 1 à n-i Répéter Si T[j]<T[j+1] Alors Proc Permut (T[j],T[j+1]) Fin si Fin Pour Fin Pour 2) Fin TRI_Bulles Remarque : Le module Permut (a,b) permute le contenu de deux entiers a et b. Questions 1) Dans le dossier bac2005 situé à la racine C : créer un sous-dossier en lui donnant comme nom le numéro de votre carte d’identité. 2) Ecrire un programme Pascal intitulé Tri permettant de saisir p éléments entiers dans un tableau V et de faire appel au module TRI_Bulles ci-dessus pour le trier. 3) Sous forme de commentaire, déterminer l'ordre du tri (croissant ou décroissant) accompli par le programme. Enregistrer le programme sous le nom Tri_V1 dans le sous-dossier créé précédemment. 4) Dans le cas où le tableau V est déjà trié à la fin de la saisie, les parcours effectués par le module TRI_Bulles s'avèrent inutiles. En effet, aucune permutation n'aura lieu au sein de ce module dans ce cas. Modifier la procédure TRI_Bulles pour tenir compte de cette contrainte et enregistrer votre travail sous le nom Tri_V2. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Création du sous-dossier et les Sauvegardes 3 2) Ecriture du programme Tri 10 3) Ordre du tri 3 4) Modification de la procédure Tri_Bulles 4
  • 83.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Samedi 14 mai 2005 (Heure : 14h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Écrire un programme Pascal intitulé Minimum qui permet d'effectuer sur un tableau T de N éléments de type entier (5<N<20) les opérations suivantes :  Saisir deux entiers positifs Ind_i et Ind_j avec (0 < Ind_i < Ind_j ≤ N)  Déterminer et afficher la valeur minimale (Min) de la partie du tableau T comprise entre les indices Ind_i et Ind_j.  Déterminer et afficher tous les multiples de la valeur Min sauf lui-même dans le tableau T. Exemple : T 23 11 72 80 15 24 2 48 16 1 2 3 4 5 6 7 8 9 ▲ ▲ Ind_i Ind_j Pour Ind_i = 2, Ind_j = 7 Le programme affichera : - La valeur Min est : 2 - Les multiples de Min sont : 72 80 24 N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 18 14 5 4 5 4
  • 84.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Samedi 14 mai 2005 ( Heure : 15h30) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal . Ecrire un programme Pascal intitulé Tri permettant de trier un tableau T de N entiers distincts (5<N<20) selon le principe suivant : Pour chaque élément du tableau T :  Déterminer le nombre d’éléments qui lui sont inférieurs.  En déduire sa position au sein d'un autre tableau résultat appelé R. Exemple : Pour un tableau T de 10 éléments : Quatre valeurs sont inférieures au premier élément du tableau T. Cet élément sera donc placé à la position 5 du tableau R. N.B : - Le candidat n'est pas appelé à vérifier que les éléments du tableau T sont distincts. - La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 18 14 5 4 5 4 6 2 0 5 12 25 13 8 14 3 1 2 3 4 5 6 7 8 9 10
  • 85.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Lundi 16 mai 2005 (Heure : 9h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal . Ecrire un programme Pascal intitulé Insertion permettant d'effectuer, sur un tableau T de N éléments (5<N<20), les opérations suivantes : - Saisir N valeurs entières dans le tableau T - Insérer l'élément d'indice i à la position p. (p et i sont deux entiers distincts à saisir) Remarque : p peut être supérieur à i ou inversement. Exemple : Pour le tableau T suivant : Après l'insertion de l'élément d'indice (i = 4) à la position (p = 7), le tableau T devient : N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 18 14 5 4 5 4 6 2 0 5 12 25 13 8 14 3 1 2 3 4 5 6 7 8 9 10 6 2 0 12 25 13 5 8 14 3 1 2 3 4 5 6 7 8 9 10
  • 86.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Lundi 16 mai 2005 ( Heure : 10h30) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal L'algorithme suivant est celui d'un programme permettant d'afficher une chaîne de caractères issue du traitement d'un tableau T de n caractères et un tableau V de n chiffres binaires donnés. 0) Début Chaines 1) Ecrire ("n : ") ; Lire (n); 2) Pour i de 1 à n Répéter Lire (T[i]) Fin Pour 3) Proc Lecture (V,n) 4) Ecrire (Fn Mot(T,V,n)) 5) Fin Chaines Questions : 1. Traduire cet algorithme en Pascal. 2. Transformer les séquences 1 et 2 en une procédure nommée Saisie et ajouter les contrôles nécessaires pour que n vérifie la condition 2 ≤ n ≤ 20. 3. Ecrire la procédure Lecture qui permet de saisir n chiffres binaires (0 ou 1) dans un tableau V. 4. Ecrire la fonction Mot qui permet de retourner une chaîne de caractères formée par la concaténation des voyelles du tableau T aux quelles correspondent des 1 dans le tableau V. Exemple : pour les tableaux T et V suivants : T s K E ; a e i R . u V 1 0 1 1 1 0 0 1 0 1 Le programme affichera la chaîne "Eau" Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 1) Traduction en Pascal 2 2) Transformation des séquences 1 et 2 en une procédure Saisie avec ajout des contrôles 3 3) Ecriture de la procédure Lecture 4 4) Ecriture de la fonction Mot 4 Syntaxe, structures de données et de contrôle 5
  • 87.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Lundi 16 mai 2005 (Heure : 14h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal L'algorithme suivant est celui d'une fonction permettant de retourner la somme d'une partie d'un tableau T de N réels, délimitée par les indices p1 et p2. 0) Def FN Somme(T : tab ; p1,p2 : entier): entier 1) [S  0] Pour i de p1 à p2 répéter S  S + T[i] 2) Somme  S 3) Fin Somme Questions : Utiliser la fonction ci-dessus, pour écrire un programme Pascal, permettant de :  Saisir un tableau V de N entiers (5 ≤ N ≤ 20).  Afficher l'indice (Ind) de l'élément du tableau dont l'écart entre la somme (S1) des éléments qui le précédent et celle des éléments qui le succèdent (S2) est minimal.  Afficher les sommes S1 et S2 correspondantes. Exemple : Pour le tableau T suivant : T 11 3 9 24 30 7 4 14 16 21 13 16 1 2 3 4 5 6 7 8 9 10 11 12 Le programme affiche : S1 = 84 , S2 = 80 et ind = 7 N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 18 14 5 4 5 4
  • 88.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Lundi 16 mai 2005 (Heure : 15h30) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Sur les touches (2, 3, 4, 5, 6, 7, 8 et 9) du clavier d'un téléphone portable, sont inscrites des lettres pour écrire des messages en plus des chiffres. Par exemple, sur la touche 5 sont inscrites les lettres J, K et L. - Pour taper la lettre J on appuie une seule fois. - Pour taper la lettre K on appuie deux fois. - Pour taper la lettre L on appuie trois fois. Ecrire un programme Pascal permettant de déterminer et d'afficher le nombre total d'appuies sur les touches du clavier d'un téléphone portable pour saisir un mot donné de N lettres, supposées non accentuées, (4 ≤ N ≤ 9). Indication : La figure suivante donne la répartition des lettres sur les touches du clavier d'un téléphone portable. 1 2 3 ABC DEF 4 5 6 GHI JKL MNO 7 8 9 PQRS TUV WXYZ 0 * +  # N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 18 14 5 4 5 4
  • 89.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Mardi 17 mai 2005 (Heure : 9h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Soit la procédure suivante : Procedure Module (k :integer ; Var T :Tab) ; Var j, Temp : integer; Begin j :=k-1 ; Temp := T[k] ; While (j>=1) AND (T[j]> Temp) DO Begin T[j+1]:=T[j]; j:=j-1; End ; T[j+1] :=temp ; End ; Questions : 1. Ecrire un programme Pascal intitulé Traitement, permettant de saisir N entiers dans le tableau A et d'appeler la procédure Module ci-dessus avec les paramètres effectifs 2 et A. 2. Ecrire sous forme de commentaire le rôle de la procédure Module. 3. Apporter les modifications nécessaires à la procédure Module dans le but d’effectuer un tri sur un tableau T et en tenir compte au niveau de l'appel de la procédure. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 1) Ecriture du programme traitement 3 2) Rôle de la procédure Module 3 3) Transformation de la procédure Module et son appel 7 Syntaxe, structures de données et de contrôle 5
  • 90.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Mardi 17 mai 2005 (Heure : 10h30) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal On se propose d'écrire un programme Pascal permettant de saisir une chaîne de caractères Ch et de supprimer les parenthèses, si elles existent, ainsi que leurs contenus. N. B. : On suppose que la chaîne contient au maximum deux parenthèses correctement utilisées (une ouvrante et une fermante). Exemple : Pour une chaîne Ch = "Lire un entier strictement positif (N>0) et l'afficher", le programme retourne la chaîne "Lire un entier strictement positif et l'afficher " N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 18 14 5 4 5 4
  • 91.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Mardi 17 mai 2005 (Heure : 14h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal On se propose de simuler le "jeu du nombre mystérieux", qui consiste à trouver un entier naturel non nul k, générer au hasard par le programme, (k ≤ 100) en un nombre d'essais nb (nb ≤ 5). A chaque essai, le joueur propose un entier positif p et le programme lui affiche l'un des messages suivants :  "proche" ; si l'écart entre p et k est inférieur à 5.  "Loin" ; si l'écart entre p et k est supérieur ou égal à 5.  "Bravo vous avez gagné !!" si p = k Si le nombre d'essais nb est atteint sans trouver le nombre mystérieux k, le programme affichera alors " Perdu, le nombre cherché est", suivie du nombre k. Question : Ecrire un programme Pascal permettant de simuler le jeu dont le principe est ci-dessus mentionné. Prévoir les contrôles nécessaires pour que le joueur continu à jouer jusqu'à ce qu'il réponde par "N" ou "n" à la question, "Voulez-vous rejouer (O/N) ?" posée à chaque fin du jeu. Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 18 14 5 4 5 4
  • 92.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Mardi 17 mai 2005 (Heure : 15h30) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal intitulé Div_Mult permettant d'accomplir les tâches suivantes :  Remplir un tableau T par N entiers positifs (5<N<20).  Pour un élément d'indice p donné, de T, placer dans un autre tableau V :  tous les diviseurs de l'élément d'indice p sauf lui même, s'ils existent dans le tableau T, au début d'un tableau V.  l'élément d'indice p.  tous les multiples de l'élément d'indice p sauf lui même, s'ils existent dans le tableau T, à sa droite.  Remplacer le reste des éléments de V par -1 et l'afficher. Exemple: Pour p = 1 et le tableau T suivant : Le programme affichera le tableau V suivant : N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 18 14 5 4 5 4 12 2 0 6 9 48 3 24 10 1 2 3 4 5 6 7 8 9 2 6 3 12 0 48 24 -1 -1 1 2 3 4 5 6 7 8 9
  • 93.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Mercredi 18 mai 2005 (Heure : 9h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal L'algorithme suivant est celui d'un programme permettant de lire un entier m (1 ≤m≤100), de vérifier et d'afficher s'il est parfait ou non. Rappelons qu'un entier naturel non nul est dit parfait s'il est égal à la somme de ses diviseurs sauf lui même. 0) Début Parfait 1) Lire (m) 2) S  0 Pour i de 1 à m div 2 Répéter Si m mod i = 0 Alors S  S + i Fin Si Fin Pour 3) Mess  " n'est pas parfait" Si m = S Alors Mess  " est parfait" Fin Si 4) Ecrire (m, Mess) 5) Fin Parfait Questions : 5. Créer un dossier portant le numéro de votre carte d'identité dans le dossier Bac2005 situé à la racine C: 6. Traduire cet algorithme en Pascal. 7. Transformer la séquence 2 en une fonction intitulée Som_div. 8. Transformer le programme Parfait pour qu'il permette de déterminer et d'afficher tous les nombres parfaits compris entre 1 et 1000. Sauvegarder le programme sous le nom Parfait2. Enregistrer au fur et à mesure votre travail dans le sous-dossier portant comme nom le numéro de votre carte d’identité que vous l'avez crée dans le dossier Bac2005 situé à la racine C: Grille d’évaluation : Questions Nbre de points 1) Création du dossier et Enregistrement 3 2) Traduction en Pascal 5 3) Transformation de la séquence 2 en une fonction 3 4) Transformation du programme 4 Syntaxe, structures de données et de contrôle 5
  • 94.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Mercredi 18 mai 2005 (Heure : 10h30) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal intitulé Nb_Seq, qui à partir d’un tableau T de N entiers, affiche toutes les séquences strictement croissantes, de ce tableau, ainsi que leur nombre. Pour un tableau T de 15 éléments : Les séquences strictement croissantes sont : (1,2,5),(3,12,25),(13),(8),(4,7,24,28,32),(11,14). Le nombre de séquences est 6. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 18 14 5 4 5 4 1 2 5 3 12 25 13 8 4 7 24 28 32 11 14 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 95.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Mercredi 18 mai 2005 (Heure : 14h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Le matricule d'un employé dans une entreprise est composée de trois parties définies comme suit:  Un entier donné de 4 chiffres, représentant le numéro d'ordre de l'employé.  Un séparateur "-"  Une clé calculée selon le principe suivant : si le numéro d'ordre de l'employé n'est pas divisible par 97, la clé sera égale au reste de la division entière de ce numéro d'ordre par 97, sinon la clé sera égale à 97. Exemple : Nom M. Hamdi S. Fourati R. Snoussi M. Seddik Numéro d'ordre 1574 2570 2619 1854 Le programme affichera les noms et les matricules sous la forme suivante : M. Hamdi a pour matricule 1574-22 S. Fourati a pour matricule 2570-48 R. Snoussi a pour matricule 2619-97 M. Seddik a pour matricule 1854-11 Question : Ecrire un programme en Turbo Pascal, permettant de saisir les noms et les numéros d'ordre de N employés dans deux tableaux Tnoms et Tnum, de remplir un tableau Tmat par les numéros de matricules des employés et d'afficher les deux tableaux Tnoms et Tmat. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 18 14 5 4 5 4
  • 96.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Mercredi 18 mai 2005 (Heure : 15h30) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal intitulé Combinaison_Max, permettant : - de saisir les éléments d'un tableau T de N entiers formés chacun de trois chiffres (5 ≤ N ≤ 20) - de déterminer et d’afficher le plus grand élément du tableau T. - d'afficher tous les éléments du tableau T dont la permutation des chiffres donne la valeur maximale déterminée précédemment. Exemple : Pour le tableau T suivant : Max = 432 Les éléments de T dont les chiffres donnent par permutation la valeur maximale sont : 234 et 324. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 18 14 5 4 5 4 234 125 120 324 152 120 214 312 432 -110 1 2 3 4 5 6 7 8 9 10
  • 97.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Jeudi 19 mai 2005 (Heure : 9h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Écrire un programme Pascal intitulé El_Frequent permettant de saisir les éléments d'un tableau T de N entiers (5≤N≤20) et d’afficher l’élément qui apparaît le plus dans le tableau T, ainsi que son nombre d’occurrences. Si plusieurs éléments différents répondent à la condition, le programme doit en fournir le premier. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 18 14 5 4 5 4
  • 98.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Jeudi 19 mai 2005 (Heure : 10h30) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal intitulé Fac_Prem permettant de déterminer et d'afficher tous les facteurs premiers d'un entier positif p donné, qui figurent dans un tableau T de N entiers (N est une constante égale à 10). Un entier naturel est dit premier s'il n'est divisible que par 1 et par lui-même. Ex : 2, 3, 5, 7, 11, 13, …. Exemple : Soit le tableau T suivant : Pour p = 45 la décomposition en facteurs premiers donne 45 =5 3 3 =5 32 Le programme affichera la valeur suivante : 5 (puisque c'est la seule valeur, issue de la décomposition en facteurs premiers du nombre 45, qui figure dans le tableau T) N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 18 14 5 4 5 4 12 2 7 2 1 4 9 4 5 1 1 2 3 4 5 6 7 8 9 10
  • 99.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Jeudi 19 mai 2005 (Heure : 14h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal permettant de déterminer et d'afficher la fréquence de chaque élément d'un tableau V de N entiers compris entre 0 et 9. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 18 14 5 4 5 4
  • 100.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Jeudi 19 mai 2005 (Heure : 15h30) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal intitulé chez_la_fourmi permettant de simuler un jeu entre un utilisateur et l'ordinateur régi par le principe suivant : À dix reprises :  L'utilisateur choisi entre Pair et Impair.  À tour de rôle, l’ordinateur et l'utilisateur proposent chacun un chiffre compris entre 1 à 5.  Si la somme des deux chiffres proposés a la même parité que celle choisie par l'utilisateur, ce dernier marque un point sinon c'est l’ordinateur qui marque un point. A la fin des dix reprises, si le score de l'utilisateur est supérieur à celui de l'ordinateur, alors l'utilisateur sera déclaré gagnant, sinon il est perdant. N.B : - La solution doit comporter au moins deux modules. - Le candidat peut utiliser la fonction prédéfinie Random pour que l’ordinateur génère un entier proposé. Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 18 14 5 4 5 4
  • 101.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Vendredi 20 mai 2005 (Heure : 9h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal intitulé K_ppe permettant de déterminer et d'afficher le Kième plus petit élément (1 ≤ k ≤ N), s'il existe, et l’indice de sa première apparition dans un tableau T de N entiers (N>=2). Remarque : Si le Kième plus petit élément ne figure pas dans le tableau T, le programme doit afficher le message suivant : "pas de kième petit élément" Exemple : Soit le tableau T suivant : Pour k = 3 Le 3ième plus petit élément est 4 et l'indice de sa première apparition est 6. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 18 14 5 4 5 4 5 2 7 2 1 4 9 4 1 1 1 2 3 4 5 6 7 8 9 10
  • 102.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Vendredi 20 mai 2005 (Heure : 10h30) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal intitulé Mult_Div, permettant de déterminer et d'afficher tous les diviseurs ainsi de tous les multiples d'un entier p donné, dans une partie d'un tableau T de N entiers donnés. Cette partie est délimitée par deux indices Ind_inf et Ind_sup. avec (0 < Ind_inf < Ind_sup ≤ N). Exemple : T 25 32 43 4 32 72 80 15 24 2 48 56 10 14 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ▲ ▲ Ind_inf Ind_sup Pour Ind_inf = 3, Ind_sup = 11 et p = 8 Le programme affichera : - Les diviseurs de 8 sont : 4 2 - Les multiples de 8 sont : 32 72 80 24 48 N. B. : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 18 14 5 4 5 4
  • 103.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Vendredi 20 mai 2005 (Heure : 14h) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal L'une des méthodes de calcul du Plus Petit Commun Multiple (PPCM) de deux entiers positifs a et b, tel que a>b est de trouver le plus petit multiple de a qui est aussi multiple de b. Ecrire un programme Pascal qui saisie deux entiers positifs non nuls a et b avec a>b, détermine et affiche leur PPCM. N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 18 14 5 4 5 4
  • 104.
    Bac Informatique Pratique2005 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE EXAMEN DU BACCALAUREAT SESSION 2005 DATE : Vendredi 20 mai 2005 (Heure : 15h30) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal, permettant de saisir un entier N de trois chiffres non nuls, de déterminer et d'afficher tous les nombres qui peuvent être formés par les chiffres de N, ainsi que le plus petit et le plus grand de ces nombres. Exemple : Pour N= 427 :  Les nombres formés par les chiffres de N sont : 427, 472, 724, 742, 247, 274  Le plus petit nombre est 247  Le plus grand nombre est 742 N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2005 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2005 2 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données relatives au problème Structures de contrôles relatives au problème Modularité 18 14 5 4 5 4
  • 105.
    Bac Informatique Pratique2006 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** EXAMEN DU BACCALAUREAT SESSION 2006 Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE DATE : Lundi 22 mai 2006 ( 9 h ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Soit l'algorithme suivant : 0) Début Nombres 1) Lire (n) 2) Si FN Verif(n) Alors Ecrire (n, " est valable") Finsi 3) Fin Nombres L'algorithme ci-dessus permet de saisir un entier positif n formé de quatre chiffres et de l’afficher avec la mention " est valable", s’il vérifie la condition suivante : le chiffre des milliers, qui ne doit pas être nul, est suivi par ses multiples. Exemple : n = 2888 8 est un multiple de 2 n = 3696 6 et 9 sont des multiples de 3 n = 1541 5,4 et 1 sont des multiples de 1 Questions : 1. Traduire l'algorithme Nombres en Pascal. 2. Transformer la séquence 1) en une procédure Saisie en ajoutant les contrôles nécessaires et en tenir compte dans le programme principal. 3. Ecrire la fonction Verif permettant de vérifier si le premier chiffre du nombre n est suivi effectivement par ses multiples ou non. Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C: en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2006 2 1. Traduction en Pascal 2. Transformation de la séquence 1) en une procédure Saisie 3. Ajout des contrôles de la procédure Saisie 4. Appel de la procédure Saisie 5. Ecriture de la fonction Verif 5 4 2 2 5
  • 106.
    Bac Informatique Pratique2006 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** EXAMEN DU BACCALAUREAT SESSION 2006 Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE DATE : Lundi 22 mai 2006 (10h 30mn) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Deux entiers N1 et N2 sont dits frères si chaque chiffre de N1 apparaît au moins une fois dans N2 et inversement. Ecrire un programme Pascal qui saisit deux entiers N1 et N2, vérifie et affiche s’ils sont frères ou non. Exemples : - Si N1 = 1164 et N2 = 614 alors le programme affichera : N1 et N2 sont frères - Si N1 = 905 et N2 = 9059 alors le programme affichera : N1 et N2 sont frères - Si N1 = 405 et N2 = 554 alors le programme affichera : N1 et N2 ne sont pas frères N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C: en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2006 2 Si programme fonctionnel avec modules Alors Sinon Si programme fonctionnel sans modules Alors Sinon Vocabulaire et syntaxe Structures de données adéquates Structures de contrôle adéquates Modularité 18 14 5 4 5 4
  • 107.
    Bac Informatique Pratique2006 FENNI Salah Bit Modem Ecran Souris Processeur Mémoire REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** EXAMEN DU BACCALAUREAT SESSION 2006 Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE DATE : Lundi 22 mai 2006 ( 14 h ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal intitulé TRIANGLE qui permet : - de remplir un tableau T de n chaînes de caractères (2<n<20). Chaque chaîne doit avoir un nombre de caractères supérieur ou égal à son indice dans le tableau. - d’afficher pour chaque élément T[i] du tableau, les i premiers caractères de la chaîne. Exemple : Soit T un tableau de 6 chaînes de caractères. T 1 2 3 4 5 6 Le programme affichera : B Mo Ecr Sour Proce Mémoir N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C: en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2006 2 Si programme fonctionnel avec modules Alors Sinon Si programme fonctionnel sans modules Alors Sinon Vocabulaire et syntaxe Structures de données adéquates Structures de contrôle adéquates Modularité 18 14 5 4 5 4
  • 108.
    Bac Informatique Pratique2006 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** EXAMEN DU BACCALAUREAT SESSION 2006 Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE DATE : Lundi 22 mai 2006 (15h 30mn) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal qui permet de saisir n entiers à mettre dans un tableau T (10<n<40) et deux entiers non nuls p et s. Puis d'afficher les éléments du tableau T. p et s doivent être deux éléments de T. On demande d’afficher tous les blocs d’éléments de T placés entre p et s dans l’ordre. p et s peuvent figurer dans cet ordre plusieurs fois dans T. Exemple : Si p = 5 et s = 3 et si on donne le tableau T suivant : 7 5 0 3 9 1 5 6 3 Alors le résultat de l'affichage sera : 0 6 N.B : La solution doit comporter aux moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C: en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Question Nbre de points Enregistrement dans bac2006 2 Si exécution correcte avec les modules demandés Sinon Si exécution correcte sans modules Sinon Syntaxe et vocabulaire Structures de données adéquates Structures de contrôles adéquates Modularité 18 14 5 4 5 4
  • 109.
    Bac Informatique Pratique2006 FENNI Salah B A B C B A C B A 1 2 3 4 5 6 7 8 9 REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** EXAMEN DU BACCALAUREAT SESSION 2006 Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE DATE : Mardi 23 mai 2006 ( 9 h ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Soit un tableau T de n caractères (5≤n<Nmax) qui ne peuvent être que "A", "B" ou "C" et tels que deux éléments successifs du tableau ne sont pas égaux. (Nmax est une constante de valeur 15). On se propose d’insérer un caractère donné Car dans la première position possible dans le tableau T en respectant la règle ci-dessus mentionnée puis d’afficher le tableau T dans son nouvel état (après insertion). N. B : - Car ne peut être que "A", "B" ou "C" et ne peut être inséré ni à la première ni à la dernière position du tableau. - On suppose que l’insertion d’un nouveau élément est possible en effet n < Nmax. Exemple : T à l'état initial T après l'insertion d'un caractère Car = "B" B A B C A C B A 1 2 3 4 5 6 7 8 Par la suite on donne l'algorithme suivant : 0) Début Insertion 1) Ecrire ("Donner un entier n avec 5≤n<Nmax") ; Lire (n) Pour i de 1 à n Répéter Ecrire ("Donner une lettre A ou B ou C ") ; Lire (T[i]) Fin pour 2) Proc Insert_Car(Car,T,n) 3) Proc Affiche(n,T) 4) Fin Insertion Questions : 1. Traduire en Pascal l'algorithme Insertion ci-dessus. 2. Transformer la séquence 1) en une procédure Saisie, ajouter les conditions nécessaires pour la lecture de n ainsi que des éléments de T et en tenir compte dans le programme principal. 3. Ecrire la procédure Insert_Car permettant d'insérer un caractère Car dans le tableau T, tout en respectant les conditions mentionnées ci-dessus. 4. Ecrire la procédure Affiche permettant d'afficher les éléments de T après insertion de Car. Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C: en lui donnant comme nom le numéro de votre carte d’identité.
  • 110.
    Bac Informatique Pratique2006 FENNI Salah Ali Ali Salem Amal Eya Mohamed Amal Salem Salem Aziz Ali Salem Amal Eya Mohamed Aziz REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** EXAMEN DU BACCALAUREAT SESSION 2006 Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE DATE : Mardi 23 mai 2006 (10h 30mn) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal On se propose d'écrire un programme Pascal permettant : a) de saisir un tableau T de N chaînes de caractères non vides composées chacune d’un maximum de cinq caractères (N est une constante de valeur 10). b) de garder la première occurrence pour les éléments redondants (qui apparaissent plus qu'une fois) et de remplacer toutes les autres occurrences par des chaînes vides. c) d'afficher les chaînes non vides restantes du tableau T. Exemple : T initial T final 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 Par la suite on propose l'algorithme suivant : 0) Début Non_Redondance 1) Pour i de 1 à N Répéter Lire (T[i]) Fin pour 2) Proc Remplace(N,T) 3) Proc Affiche(N,T) 4) Fin Non_Redondance Questions : 1. Traduire en Pascal l'algorithme Non_Redondance ci-dessus. 2. Transformer la séquence 1) en une procédure Saisie et y ajouter les contrôles nécessaires pour la saisie des éléments du tableau T. 3. Ecrire la procédure Remplace permettant de réaliser le traitement b) ci-dessus mentionné. 4. Ecrire la procédure Affiche permettant d'afficher les éléments non redondants du tableau T. Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C: en lui donnant comme nom le numéro de votre carte d’identité.
  • 111.
    Bac Informatique Pratique2006 FENNI Salah 424 715 133 121 454 616 566 REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** EXAMEN DU BACCALAUREAT SESSION 2006 Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE DATE : Mardi 23 mai 2006 ( 14 h ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal On se propose d'écrire un programme Pascal permettant de saisir les éléments d'un tableau T de N entiers de trois chiffres chacun (N est une constante) puis de chercher et d'afficher les nombres symétriques de ce tableau T. Exemple : Pour N = 7 et T 1 2 3 4 5 6 7 Le programme affichera : Les nombres symétriques de T sont : 424, 121, 454 et 616 On propose l'algorithme suivant : 0)Début Symetrique 1)Proc Saisie (T) 2)Ecrire ("Les nombres symétriques de T sont : ") 3)Pour i de 1 à N Répéter Si FN Verif (T[i]) alors Ecrire (T[i] : 4) FinSi Fin Pour 4)Fin Symetrique Questions : 1. Traduire cet algorithme en Pascal. 2. Ecrire la procédure Saisie permettant de remplir un tableau V par p entiers à trois chiffres. 3. Transformer la séquence 3) en une procédure Affiche et en tenir compte dans le programme principal. 4. Ecrire la fonction Verif permettant de vérifier si un entier m de trois chiffres est symétrique ou non. Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C: en lui donnant comme nom le numéro de votre carte d’identité.
  • 112.
    Bac Informatique Pratique2006 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** EXAMEN DU BACCALAUREAT SESSION 2006 Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE DATE : Mardi 23 mai 2006 (15h 30mn) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal On se propose d'écrire un programme Pascal permettant de remplir deux tableaux T1 et T2 de N entiers à deux chiffres chacun (2 ≤N≤15) puis de former un tableau T tel que un élément T[i] est le résultat de la fusion des deux éléments T1[i] et T2[i] selon le principe suivant : - Insérer le chiffre des dizaines du plus petit nombre parmi T1[i] et T2[i], entre les deux chiffres du plus grand nombre parmi T1[i] et T2[i]. - Mettre le chiffre des unités du plus petit nombre parmi T1[i] et T2[i], à droite du nombre obtenu. Exemples : - Pour T1[i] = 52 et T2[i] = 36 , T[i] sera égal à 5326 - Pour T1[i] = 13 et T2[i] = 47 , T[i] sera égal à 4173 On propose l'algorithme suivant : 0)Début Trait_Tab 1)Répéter Ecrire("donner un entier N ");Lire (N) Jusqu'à N dans [2..15] 2)Proc Saisie (N,T1,) 3)Proc Saisie (N,T2) 4)Proc Fusion (N,T1, T2, T); 5)Pour i de 1 à N Répéter Ecrire (T[i]) Fin Pour 6)Fin Trait_Tab Questions : 1. Traduire cet algorithme en Pascal. 2. Ecrire la procédure Saisie permettant de remplir, d'une façon aléatoire et automatique, un tableau T par P entiers à deux chiffres. 3. Ecrire la procédure Fusion permettant de remplir un tableau F, à partir de deux tableaux V1 et V2 de P éléments chacun, selon le principe ci-dessus. Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C: en lui donnant comme nom le numéro de votre carte d’identité.
  • 113.
    Bac Informatique Pratique2006 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** EXAMEN DU BACCALAUREAT SESSION 2006 Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE DATE : Mercredi 24 mai 2006 ( 9 h ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal L'algorithme suivant est celui d'un programme permettant de déterminer et d'afficher si les éléments d'un tableau T de n entiers constituent ou non une suite géométrique. 0)Début Suite 1)Répéter Ecrire("donner un entier N ");Lire (n) Jusqu'à n dans [2..15] 2)Pour i de 1 à n Répéter Répéter Ecrire ("T[",i,"] :") Lire (T[i]) Jusqu'à (T[i] > 0) et (T[i] < 100) Fin Pour 3)Si FN Geometrique (n,T) Alors Ecrire("C'est une progression Géométrique") Sinon Ecrire("Ce n'est pas une suite Géométrique") Fin Si 4)Fin Suite Questions: 1. Traduire cet algorithme en Pascal. 2. Transformer la séquence 2) en une procédure Lecture en remplaçant sa boucle Répéter … Jusqu'à par la fonction prédéfinie Random avec des bons paramètres, et en tenir compte dans le programme principal. 3. Ecrire la fonction Geometrique, de type booléen, permettant de vérifier si les éléments du tableau T forment ou non une suite géométrique. N. B : Une suite U est dite géométrique si et seulement si il existe un réel q tel que pour tout entier n on a : Un = q * Un-1 Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C: en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2006 2 1. Traduction en Pascal 2. Transformation la séquence 2) en procédure Lecture 3. Remplacement de Répéter … Jusqu'à par Randon 4. Appel de la procédure Lecture 5. Ecriture de la fonction Geometrique 6 2 3 1 6
  • 114.
    Bac Informatique Pratique2006 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** EXAMEN DU BACCALAUREAT SESSION 2006 Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE DATE : Mercredi 24 mai 2006 (10h 30mn) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal L'algorithme suivant est celui d’un programme permettant de déterminer et d'afficher si les éléments d'un tableau T de n entiers constituent ou non une suite arithmétique. 0)Début Suite 1)Répéter Ecrire("donner un entier n ");Lire (n) Jusqu'à n dans [2..15] 2)Pour i de 1 à n Répéter Ecrire ("T[",i,"] : ");Lire (T[i]) Fin Pour 3)test FN Verif (n,T) 4)Proc Affiche(test) 5)Fin Suite Questions: 1. Traduire cet algorithme en Pascal. 2. Transformer la séquence 2) en une procédure Lecture et en tenir compte dans le programme principal. 3. Ecrire la fonction Verif, de type booléen, permettant de vérifier si les éléments du tableau T forment ou non une suite arithmétique. 4. Ecrire une procédure Affiche permettant d'afficher un message indiquant si les éléments du tableau T forment ou non une suite arithmétique. N. B : Une suite U est dite arithmétique si et seulement si il existe un réel r tel que pour tout entier n on a : Un = Un-1 + r Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C: en lui donnant comme nom le numéro de votre carte d’identité.
  • 115.
    Bac Informatique Pratique2006 FENNI Salah Bus Clavier Ecran Mémoire Bus Clavier Ecran Mémoire Bus Clavier Ecran Mémoire REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** EXAMEN DU BACCALAUREAT SESSION 2006 Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE DATE : Mercredi 24 mai 2006 ( 14 h ) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Soit l'algorithme de la procédure Trait suivante : 0)Def Proc Trait (i,N : entier ; var T : Tab) 1)j  i+1 2)Tant que (j ≤ N) et (T[j] ="") répéter j  j+1 Fin Tant que 3)T[i]  T[j] 4)T[j]  "" 5)Fin Trait Questions : 1. Ecrire un programme permettant de saisir les éléments d'un tableau T de N chaînes de caractères qui peuvent être vides (2≤N≤20) puis d’utiliser la procédure Trait pour tasser les éléments de ce tableau selon le principe suivant : a) Rechercher la première case vide Cv du tableau T. b) Chercher à partir de cette case Cv, la première case non vide Nv du tableau T. c) Déplacer le contenu de Nv dans la case Cv puis écraser le contenu de Nv par une chaîne vide. d) Refaire les étapes a), b) et c) jusqu'à décaler toutes les chaînes non vides au début du tableau T. 2. Ecrire, sous forme de commentaire juste avant son appel dans le programme principal, le rôle de la procédure Trait. Exemple : Pour T :T T devient d'abord : T 1 2 3 4 5 6 1 2 3 4 5 6 et à la fin on obtient : T 1 2 3 4 5 6 N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C: en lui donnant comme nom le numéro de votre carte d’identité.
  • 116.
    Bac Informatique Pratique2006 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** EXAMEN DU BACCALAUREAT SESSION 2006 Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE DATE : Mercredi 24 mai 2006 (15h 30mn) DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal L'algorithme ci-dessous est celui d'un programme permettant de saisir un entier n (1≤n≤100) et de déterminer combien de fois il est divisible par 2. 0)Début Divisibles 1)Ecrire ("Donner un entier dans [1,100]") Lire (n) 2)Ecrire (n, " est divisible ", Fn Nb_Divis2(n), " par 2") 3)Fin Divisibles Exemples : 11 est divisible 0 fois par 2 4 est divisible 2 fois par 2 8 est divisible 3 fois par 2 Questions: 1. Traduire cet algorithme en Pascal 2. Transformer la séquence 1) en une procédure Saisie, ajouter les contrôles nécessaires sur la saisie de n et en tenir compte dans le programme principal. 3. Ecrire la fonction Nb_Divis2, permettant de retourner le nombre de fois où n est divisible par 2. Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C: en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2006 3 1. Traduction en Pascal 2. Transformation de la séquence 1 en procédure Saisie 3. Ajout des contrôles sur la saisie 4. Appel de la procédure Saisie 5. Ecriture de la fonction Nb_Divis2 5 4 2 2 4
  • 117.
    Bac Informatique Pratique2006 FENNI Salah REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION ET DE LA FORMATION *** EXAMEN DU BACCALAUREAT SESSION 2006 Sections : Math. + Tech. + Sc.Exp. EPREUVE PRATIQUE D’INFORMATIQUE DATE : mai 2006 DUREE : 1 h – COEFFICIENT : 0.5 Sujet : Programmation en Pascal Ecrire un programme Pascal qui permet : - de saisir une chaîne de caractères CH. - de saisir un entier positif n inférieur ou égal à la longueur de la chaîne CH. - d’afficher toutes les séquences de taille n dans la chaîne CH. Exemple : Si la chaîne CH est "pascal" et si n=3 alors le programme affichera les séquences suivantes : "pas" "asc" "sca" "cal" N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C: en lui donnant comme nom le numéro de votre carte d’identité. Grille d’évaluation : Questions Nbre de points Enregistrement dans bac2006 2 Si programme fonctionnel avec modules Alors Sinon Si programme fonctionnel sans modules Alors Sinon Vocabulaire et syntaxe Structures de données adéquates Structures de contrôle adéquates Modularité 18 14 5 4 5 4
  • 118.
    Bac Informatique Pratique2007 FENNI Salah Sujet: Programmation en Pascal Soit l'algorithme du programme principal suivant: 0) Début Traitement-Tab 1) Répéter Ecrire(" Donner le nombre d'éléments: ") ; Lire(N) Jusqu'à N dans [2..20] 2) Proc Remplir (N,T) 3) Pour i de 1 à (N div 2) Répéter Aux ←T [i] T [i] ←T [N-i+1] T [N-i+l] ←Aux Fin Pour 4) Fin Traitement-Tab Questions: 1. Traduire l'algorithme ci-dessus en Pascal. 2. Ecrire la procédure Remplir permettant de remplir, dune manière automatique et aléatoire, un tableau V par p chiffres décimaux (de 0 à 9), avec (2≤p≤20). 3. Transformer la séquence 3) en une procédure Traitement et en tenir compte dans le programme principal. 4. Afficher les éléments du tableau T avant et après le traitement. 5. Ecrire, sous forme de commentaire, le rôle de la procédure Traitement, juste avant son appel dans le programme principal. Enregistrer au fur et à mesure votre programme dans le dossier bac2007 situé à la racine C: en lui donnant comme nom le numéro de votre carte d'identité. REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION Sections: Math. + Tech. + Sc.Exp. ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE *** EXAMEN DU BACCALAUREAT SESSION 2007 DATE : 21 mai 2007 (9h) DUREE: 1 h COEFFICIENT: 0.5
  • 119.
    Bac Informatique Pratique2007 FENNI Salah Sujet: Programmation en Pascal Pour chercher le chiffre de chance d'une personne, on procède comme suit: on additionne les chiffres composants la date de naissance de la personne concernée. Au nombre obtenu, on refait le même procédé jusqu'à ce qu'on obtienne un nombre composé d'un seul chiffre. Ce nombre est le chiffre de chance. Exemple Soit la date de naissance suivante "29/09/1999"  On additionne les chiffres de la date de naissance: 2+9+0+9+1+9+9+9= 48  48 est composé de deux chiffres, on refait le même traitement: 4 + 8 = 12  12 est composé de deux chiffres, on refait le même traitement: 1 + 2= 3  3 est composé d'un seul chiffre et c'est le chiffre de chance recherché. Question: Ecrire un programme Pascal permettant de saisir la date de naissance d'une personne sous la forme d'une "jj/mm/aaaa" (aucun contrôle ne sera effectué) puis d'appliquer la méthode citée ci-dessus et d'afficher le chiffre de chance trouvé. N.B: La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2007 situé à la racine C: en lui donnant comme nom le numéro de votre carte d'identité. REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION Sections: Math. + Tech. + Sc.Exp. ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE *** EXAMEN DU BACCALAUREAT SESSION 2007 DATE : 21 mai 2007 (10h30) DUREE: 1 h COEFFICIENT: 0.5
  • 120.
    Bac Informatique Pratique2007 FENNI Salah Sujet: Programmation en Pascal Un "tautogramme" est une chaîne dont chacun de ses mots commence par la même lettre (sans distinction entre majuscule et minuscule). Exemple : la chaîne "Le lion lape le lait lentement" est un "tautogramme" Question Ecrire un programme Pascal, permettant de saisir une chaîne de caractères composée uniquement de lettres et d'espaces (on suppose que deux mots consécutifs sont séparés par un seul espace) ; puis d’afficher un message indiquant si cette chaîne est « tautogramme » ou non. Remarque : Lors de la saisie de la chaîne, on pourra utiliser la fonction lettre_esp dont l’algorithme est le suivant : function lettre_esp (ch:string) :boolean; Var i : integer; test: boolean; begin i:=l; test:=true; while (i<=length(ch) and test do if upcase (ch[i]) in [‘A’..’Z’, ‘ ‘] then i:=i+l else test :=false ; lettre_esp:=test end; Enregistrer au fur et à mesure votre programme dans le dossier bac2007 situé à la racine C: en lui donnant comme nom le numéro de votre carte d'identité. REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION Sections: Math. + Tech. + Sc.Exp. ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE *** EXAMEN DU BACCALAUREAT SESSION 2007 DATE : 21 mai 2007 (14h) DUREE: 1 h COEFFICIENT: 0.5 Représente le caractère espace
  • 121.
    Bac Informatique Pratique2007 FENNI Salah Sujet: Programmation en Pascal Un "totalogramme" est une chaîne dont chacun de ses mots commence et se termine par la même lettre. Exemple : La chaîne "ALLALA EMPRUNTE TEMPORAIREMENT A DAOUD SES SOULIERS" est un "totalogramme" : Question Ecrire un programme Pascal qui permet de saisir une chaîne de caractères composée uniquement de lettres majuscules et d'espaces (on suppose que deux mots consécutifs sont séparés par un seul espace); puis d’afficher un message indiquant si cette chaîne est "totalogramme" ou non. Remarque: On pourra utiliser la fonction suivante lors de la saisie de la chaîne. function lettre_maj_esp (ch:string) :boolean; Var i : integer; test: boolean; begin i:=l; test:=true; while (i<=length(ch) and test do if ch[i] in [‘A’..’Z’, ‘ ‘] then i:=i+l else test :=false ; lettre_maj_esp:=test end; Enregistrer au fur et à mesure votre programme dans le dossier bac2007 situé à la racine C: en lui donnant comme nom le numéro de votre carte d'identité. REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION Sections: Math. + Tech. + Sc.Exp. ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE *** EXAMEN DU BACCALAUREAT SESSION 2007 DATE : 21 mai 2007 (15h30) DUREE: 1 h COEFFICIENT: 0.5 Représente le caractère espace
  • 122.
    Bac Informatique Pratique2007 FENNI Salah Sujet: Programmation en Pascal Soit l'algorithme du programme principal suivant: 0) Début entiers_manquants 1) Répéter Ecrire ("Donner le nombre d'éléments N, 2≤N≤20 ") ;Lire(N) Jusqu'à N Dans [2..20] 2) Ecrire("T[l] :"); Lire(T[l]) Pour i de 2 à N faire Répéter Ecrire("T[", i,"] :"); Lire(T[i]) Jusqu'à T[i] ≥T[i-l] Fin Pour 3) Proc Manque(N,T) 4) Fin entiers_manquants L'algorithme ci-dessus est celui d'un programme permettant de saisir, dans un tableau T, N entiers positifs triés dans l'afficher les entiers manquants entre le premier et le dernier élément de ce tableau T ainsi que leur nombre. Exemple : Si N = 7 et si T est le tableau suivant T 5 6 8 9 10 12 15 i 1 2 3 4 5 6 7 Le programme affichera : Les entiers manquants sont : 7 11 13 14 ; leur nombre est : 4 Questions: 1. Traduire cet algorithme en Pascal 2. Ecrire, sous forme de commentaire, le rôle de la séquence 2) 3. Transformer les deux séquences 1) et 2) en une procédure Saisie, ajouter les contrôles nécessaires pour que tous les éléments du tableau T soient positifs et en tenir compte dans le programme principal 4. Ecrire la procédure Manque, permettant de déterminer et d’afficher les entiers manquants entre les entiers manquants entre le premier et le dernier élément du tableau T ainsi que leur nombre. Enregistrer au fur et à mesure votre programme dans le dossier bac2007 situé à la racine C: en lui donnant comme nom le numéro de votre carte d'identité. REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION Sections: Math. + Tech. + Sc.Exp. ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE *** EXAMEN DU BACCALAUREAT SESSION 2007 DATE : 22 mai 2007 (9h) DUREE: 1 h COEFFICIENT: 0.5
  • 123.
    Bac Informatique Pratique2007 FENNI Salah Sujet: Programmation en Pascal Soit l'algorithme du programme principal suivant: 0) Début Liste9 1) Ecrire ("Donner un entier de deux chiffres distincts ");Lire(N) 2) Répéter N ← Absolue(N - Fn Echanger(N)) Ecrire(N) Jusqu'à N = 9 3) Fin Liste9 N.B : chiffres distincts. L'algorithme ci-dessus est celui d'un programme permettant de déterminer et d'afficher la liste des nombres générés, à partir d'un entier N donné formé de deux chiffres distincts, selon le principe de l'exemple suivant: Exemple : Si N = 19 1. Permuter les chiffres de N, on obtient 91. 2. Calculer la valeur absolue de la différence entre 91 et 19 pour générer le nombre 72; (72 = 91-19) 3. Répéter les deux étapes précédentes avec le nombre 72 pour générer le nombre 45 ; (45 = 72 -27) 4. Refaire le même travail avec chacun des nombres générés jusqu'à obtenir un dernier nombre égal à 9. Questions: 1. Traduire cet algorithme en Pascal. 2. Transformer la séquence 1) en une procédure Lecture et y ajouter les contrôles nécessaires pour que N soit composé de deux chiffres distincts et en tenir compte dans le programme principal. 3. Ecrire la fonction Echanger permettant de permuter les deux chiffres de N. 4. Ajouter, dans le programme principal, une instruction permettant d'afficher à chaque fois le nombre généré. Enregistrer au fur et à mesure votre programme dans le dossier bac2007 situé à la racine C: en lui donnant comme nom le numéro de votre carte d'identité. REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION Sections: Math. + Tech. + Sc.Exp. ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE *** EXAMEN DU BACCALAUREAT SESSION 2007 DATE : 22 mai 2007 (10h30) DUREE: 1 h COEFFICIENT: 0.5
  • 124.
    Bac Informatique Pratique2007 FENNI Salah Sujet: Programmation en Pascal Soit l'algorithme du programme principal suivant: 0) Début Apparition 1) Répéter Ecrire ("Saisir un mot: ") ;Lire (M) Test ← vrai i ← 0 L ← Longueur (M) Tant que (Test et i< L) faire i ←i+1 test ← Majuscule(M[i]) dans ["A". ."Z"] Fin Tant que Jusqu'à Test 2) Ecrire("Saisir une phrase: ") ; lire (ph) 3) M← FN Majus (M) 4) ph←FN Majus (ph) 5) Ecrire("Le nombre d'apparitions est ",FN Freq(M,ph)); 6) Fin Apparition L'algorithme ci-dessus est celui d'un programme permettant de saisir un mot (M), formé uniquement de lettres, et une phrase quelconque (ph), puis de déterminer le nombre d'apparitions du mot saisi (majuscule ou minuscule) dans la phrase. Exemple: Si le mot saisi est " bon" et si la phrase saisie est "Bonjour! Ce bonbon est très bon, on va acheter une bonne quantité" alors le programme affichera: Le nombre d'apparitions est 5 Questions: 1. Traduire cet algorithme en Pascal et l'enregistrer. 2. Transformer les deux séquences 1) et 2) en une procédure Saisie et en tenir compte dans le 3. Ecrire la fonction Majus permettant de convertir une chaîne donnée en majuscule. 4. Ecrire la fonction Freq permettant de déterminer le nombre d'apparitions du mot (M) dans la phrase (ph). Enregistrer au fur et à mesure votre programme dans le dossier bac2007 situé à la racine C: en lui donnant comme nom le numéro de votre carte d'identité. REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION Sections: Math. + Tech. + Sc.Exp. ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE *** EXAMEN DU BACCALAUREAT SESSION 2007 DATE : 22 mai 2007 (14h) DUREE: 1 h COEFFICIENT: 0.5
  • 125.
    Bac Informatique Pratique2007 FENNI Salah Sujet: Programmation en Pascal Soit l'algorithme du programme principal suivant: 0) Début Apparition 1) Ecrire("Saisir une chaîne: ") ; lire (Ch) 2) Ecrire("Donner deux entiers d et f : "); lire(d,f) 3) Ecrire("Le nombre d'occurrences est: ",FN Occurence(Ch,d,f)) 4) Fin Apparition L'algorithme ci-dessus est celui d’un programme permettant de saisir une chaîne de caractères Ch et de saisir deux entiers positifs d et f avec (d < f < Longueur (Ch)) et (f-d < longueur(Ch)) puis de déterminer et d'afficher le nombre d'occurrences de la sous-chaîne SCh, formée par la suite des caractères de l'indice d à l'indice f dans CH. Exemple : Si Ch est: "Certains produits de lessives sont utiles pour laver les vêtements très sales" et si les deux bornes sont: d=22 et f=24 alors on aura SCh = "les" et le programme affichera: Le nombre d'occurrences est 4 Questions: 1. Traduire l’algorithme Apparition en Pascal et l'enregistrer. 2. Transformer les deux séquences 1) et 2) en une procédure Saisie et en tenir compte dans le programme principal, tout ajoutant les conditions nécessaires pour que d et f respectent les conditions mentionnées. 3. Ecrire la fonction Occurrence permettant de déterminer le nombre d'occurrences, dans la chaîne Ch, de la sous-chaîne SCh formée par la suite des caractères de l'indice d à l'indice f. Enregistrer au fur et à mesure votre programme dans le dossier bac2007 situé à la racine C: en lui donnant comme nom le numéro de votre carte d'identité. REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION Sections: Math. + Tech. + Sc.Exp. ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE *** EXAMEN DU BACCALAUREAT SESSION 2007 DATE : 22 mai 2007 (15h30) DUREE: 1 h COEFFICIENT: 0.5
  • 126.
    Bac Informatique Pratique2007 FENNI Salah Sujet: Programmation en Pascal Soit l'algorithme du programme principal suivant: 0) Début Traitement 1) Ecrire(" Donner le nombre d'éléments du tableau ") ; Lire(N) 2) Pour i de 1 à N Répéter Ecrire("T[" , i , " ] : ") Lire (T [i]) Fin pour 3) Proc Decale (N, T) 4) Proc Affiche (N, T) 5) Fin Traitement L'algorithme ci-dessus est celui d'un programme permettant: - de saisir un tableau T de N chaînes avec (2 ≤ N ≤ 15) - de décaler toutes les chaînes non vides au début du tableau en gardant leur ordre - d'afficher les chaînes non vides du tableau T. Exemple: Soit N = 7 et soit le tableau T suivant: T Souris Clavier Ecran Disquette Scanner 1 2 3 4 5 6 7 Après traitement, le tableau T devient: T Souris Clavier Ecran Disquette Scanner 1 2 3 4 5 6 7 Questions: 1. Traduire en Pascal l'algorithme Traitement ci-dessus. 2. Transformer les séquences 1) et 2) en une procédure Lecture et y ajouter les contrôles nécessaires pour la saisie de N. 3. Ecrire la procédure Decale permettant de décaler toutes les chaînes non vides au début du tableau T en gardant leur ordre. 4. Ecrire la procédure Affiche permettant d'afficher les chaînes non vides du tableau T. Enregistrer au fur et à mesure votre programme dans le dossier bac2007 situé à la racine C: en lui donnant comme nom le numéro de votre carte d'identité. REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION Sections: Math. + Tech. + Sc.Exp. ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE *** EXAMEN DU BACCALAUREAT SESSION 2007 DATE : 23 mai 2007 (9h) DUREE: 1 h COEFFICIENT: 0.5
  • 127.
    Bac Informatique Pratique2007 FENNI Salah Sujet: Programmation en Pascal Ecrire un programme Pascal permettant de saisir deux entiers naturels strictement positifs m et n avec (m ≤ l00 et n ≤ 100), de calculer puis d'afficher leur produit p selon le principe suivant: 1. Initialiser la variable produit p à 0. 2. Si (m < n) alors permuter les contenus des deux variables m et n 3. Ajouter n² à p 4. Affecter à m la valeur de (m-n) 5. Répéter les actions 2, 3 et 4 jusqu'à ce que m ou n soit nul 6. Afficher la valeur de p qui est le produit de m par n. m n p - - 0 23 14 0 + 196 = 196 14 9 196 + 81 = 277 9 5 277 + 25 = 302 5 4 302 + 16 = 318 4 1 318 + 1 = 319 3 1 319 + 1 = 320 2 1 320 + 1 = 321 1 1 321 +1 = 322 1 0 322 N.B : La solution doit contenir au moins une procédure et une fonction. Enregistrer au fur et à mesure votre programme dans le dossier bac2007 situé à la racine C: en lui donnant comme nom le numéro de votre carte d'identité. REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION Sections: Math. + Tech. + Sc.Exp. ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE *** EXAMEN DU BACCALAUREAT SESSION 2007 DATE : 23 mai 2007 (10h30) DUREE: 1 h COEFFICIENT: 0.5
  • 128.
    Bac Informatique Pratique2007 FENNI Salah Sujet: Programmation en Pascal Ecrire un programme pascal qui permet de saisir une chaîne non vide CH de longueur impaire et de l’afficher sous la forme d’un sablier. Exemples : Si Ch=″SABLIER″ Le programme affichera SABLIER ABLIE BLI L BLI ABLIE SABLIER Si Ch=″ECRAN″ Le programme affichera ECRAN CRA R CRA ECRAN N.B : La solution doit comporter au moins deux modules. Enregistrer au fur et à mesure votre programme dans le dossier bac2007 situé à la racine C: en lui donnant comme nom le numéro de votre carte d'identité. REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION Sections: Math. + Tech. + Sc.Exp. ET DE LA FORMATION EPREUVE PRATIQUE D’INFORMATIQUE *** EXAMEN DU BACCALAUREAT SESSION 2007 DATE : 23 mai 2007 (14h) DUREE: 1 h COEFFICIENT: 0.5
  • 142.
  • 147.
  • 148.
  • 149.
  • 205.
  • 206.
  • 207.
  • 208.
  • 209.
  • 210.
  • 211.
  • 212.
  • 213.
  • 214.
  • 215.
  • 216.
  • 217.
  • 218.
  • 219.
  • 220.
  • 221.
  • 222.
  • 223.
  • 224.
  • 225.
  • 226.
    Page 1 sur2 RÉPUBLIQUE TUNISIENNE MINISTÈRE DE L’ÉDUCATION  EXAMEN DU BACCALAURÉAT SESSION 2017 Épreuve pratique d’informatique Durée : 1h Coefficient : 0.5 Sections : Maths, Sciences expérimentales et S.Techniques Date : 25 mai 2017 S12 Important : 1) Une solution modulaire au problème est exigée. 2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui donnant comme nom votre numéro d’inscription (6 chiffres). Dans un tableau d’entiers, l’existence d’au minimum de deux éléments pairs d’une façon consécutive forme ce qu’on appelle une séquence paire. On se propose d’écrire un programme intitulé Occ_Pair qui permet de remplir un tableau T par N entiers (avec 3≤N≤20) et d’afficher le nombre de séquences paires de ce tableau ainsi que les entiers de chacune de ces séquences. Exemple : Pour N=15 et le tableau T suivant : T 3 18 6 5 3 4 32 8 9 12 5 10 2 1 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Séquence 1 Séquence 2 Séquence 3 Le programme affiche : Le nombre de séquences paires est 3. Les séquences d’entiers pairs sont : 18 , 6 4, 32, 8 10 , 2 Pour cela, on donne l’algorithme du programme principal suivant : 0) Début Occ_Pair 1) Ecrire ("Donner la taille du tableau :") , Lire(N) 2) PROC Remplir(T,N) 3) PROC Afficher(T,N) 4) Fin Occ_Pair
  • 227.
    Page 2 sur2 Travail demandé : a. Traduire l’algorithme Occ_Pair en un programme Pascal et ajouter les déclarations nécessaires. b. Transformer la séquence n°1 en un module en ajoutant les contraintes nécessaires et apporter les modifications nécessaires dans le programme principal. c. Développer le module Remplir qui permet de remplir le tableau T par N entiers strictement positifs. d. Développer le module Afficher qui permet d’afficher le nombre de séquences d’entiers pairs du tableau T ainsi que les entiers de chacune de ces séquences. Grille d’évaluation : Questions Nombre de points a. Traduction de l’algorithme Occ_Pair en Pascal + Ajout des déclarations nécessaires. b. Transformation de la séquence n°1 en un module + Modifications nécessaires dans le programme principal. c. Développement du module Remplir. d. Développement du module Afficher. 4 + 1 3.5 + 1 4.5 6
  • 228.
    Page 1 sur2 RÉPUBLIQUE TUNISIENNE MINISTÈRE DE L’ÉDUCATION  EXAMEN DU BACCALAURÉAT SESSION 2017 Épreuve pratique d’informatique Durée : 1h Coefficient : 0.5 Sections : Maths, Sciences expérimentales et S.Techniques Date : 25 mai 2017 S23 Important : 1) Une solution modulaire au problème est exigée. 2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui donnant comme nom votre numéro d’inscription (6 chiffres). Le jeu Numbermind est un jeu à deux qui consiste à deviner un numéro de téléphone. Le principe du jeu est le suivant : - Le premier joueur propose une combinaison de 8 chiffres représentant le numéro à deviner. - Le deuxième joueur annonce une proposition de 8 chiffres, si cette proposition correspond au numéro à deviner, ce joueur est gagnant sinon on lui affiche sa proposition à laquelle on garde tous les chiffres bien placés et on remplace le reste par des tirets tout en mentionnant les chiffres corrects mais mal placés dans la proposition. - On répète l’étape précédente jusqu’à trouver le numéro cherché ou atteindre un nombre d’essais égal à 8. Pour simuler ce jeu, on donne l’algorithme du programme principal suivant : 0) Début Numbermind 1) Répéter Ecrire (" Saisir le numéro de téléphone à deviner :") Lire (num) Jusqu’à ( FN Verif (num)) 2) Efface_ecran ( ) 3) Deviner (num) 4) Fin Numbermind NB : Efface_ecran est une procédure prédéfinie qui permet d’effacer l’écran. Son équivalent en Pascal est: CLRSCR ; Travail demandé : a. Traduire l’algorithme Numbermind en un programme Pascal et ajouter les déclarations nécessaires. b. Développer le module Verif qui permet de vérifier si le numéro de téléphone proposé est composé uniquement par 8 chiffres.
  • 229.
    Page 2 sur2 c. Développer le module Deviner qui consiste à : - vérifier chaque numéro proposé par le deuxième joueur, en gardant les chiffres bien placés et en remplaçant le reste par des tirets tout en mentionnant ceux qui sont correctes mais mal placés dans la proposition et le nombre d’essai qui lui reste. - arrêter le jeu une fois que le deuxième joueur propose un numéro identique au numéro à deviner ou bien on atteint un nombre d’essai égal à 8. - afficher le message " Bravo, vous avez gagné" si le joueur 2 réussit à deviner le numéro et le message "Désolé, vous avez perdu " s’il ne devine pas le numéro après 8 essais. Exemple : Pour le numéro de téléphone à deviner 68456231, le programme affiche : . Grille d’évaluation : Questions Nombre de points a. Traduction de l’algorithme Numbermind en Pascal + Ajout des déclarations nécessaires. b. Développement du module Verif. c. Développement du module Deviner. 5+1 3 11
  • 230.
    Page 1 sur2 RÉPUBLIQUE TUNISIENNE MINISTÈRE DE L’ÉDUCATION  EXAMEN DU BACCALAURÉAT SESSION 2017 Épreuve pratique d’informatique Durée : 1h Coefficient : 0.5 Sections : Maths, Sciences expérimentales et S.Techniques Date : 25 mai 2017 S31 Important : 1) Une solution modulaire au problème est exigée. 2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui donnant comme nom votre numéro d’inscription (6 chiffres). Dans le but de sécuriser les messages à envoyer, on peut faire appel à une méthode de cryptage. Une des méthodes utilisées consiste à remplacer chaque lettre du message à crypter par celle qui la suit de p positions dans l'alphabet français, où p désigne le nombre de mots du message. NB :  On suppose que le caractère qui suit la lettre "Z" est le caractère "A" et celui qui suit la lettre "z" est le caractère "a".  Le caractère espace ne subit aucune modification.  Le code ASCII de la lettre "a" est égal à 97 et celui de la lettre "A" est égal à 65. Exemple : Pour le message "Examen Pratique En Informatique" Etant donné que le message à crypter est formé de 4 mots, pour la lettre alphabétique "E" par exemple, elle sera remplacée par "I" car en ajoutant au code Ascii de "E" qui est 69 la valeur 4, on obtient 73 qui est le code Ascii de "I". En continuant à appliquer ce principe de codage, le message crypté sera : "Ibeqir Tvexmuyi Ir Mrjsvqexmuyi" On se propose d’écrire un programme intitulé Cryptage qui permet de saisir un message M formé uniquement de lettres et d’espaces puis de l’afficher crypté, en utilisant le principe cité ci-dessus. NB : Le message peut contenir des espaces superflus (inutiles). Pour cela, on propose l’algorithme du programme principal suivant : 0) Début Cryptage 1) Répéter Ecrire ("Donner le message à crypter:") Lire(M) Jusqu’à (FN Valide (M)) 2) pFN Nbmot (M) 3) Ecrire (FN Crypter (M,p)) 4) Fin Cryptage
  • 231.
    Page 2 sur2 Travail demandé : a. Traduire l’algorithme Cryptage en un programme Pascal et ajouter les déclarations nécessaires. b. Transformer la séquence n°1 en un module et apporter les modifications nécessaires dans le programme principal. c. Développer le module Valide qui permet de vérifier si le message M est non vide et formé uniquement par des lettres et des espaces. d. Développer le module Nbmot qui permet de déterminer le nombre de mots dans le message M à crypter en prenant en considération la possibilité d’existence des espaces superflus (inutiles). e. Développer le module Crypter qui permet de crypter un message M en utilisant le principe décrit précédemment. Grille d’évaluation : Questions Nombre de points a. Traduction de l’algorithme Cryptage en Pascal + Ajout des déclarations nécessaires. b. Transformation de la séquence n°1 en un module + Modifications nécessaires dans le programme principal. c. Développement du module Valide. d. Développement du module Nbmot. e. Développement du module Crypter. 4 + 1 3 + 1 3 4 4
  • 232.
    Page 1 sur2 RÉPUBLIQUE TUNISIENNE MINISTÈRE DE L’ÉDUCATION  EXAMEN DU BACCALAURÉAT SESSION 2017 Épreuve pratique d’informatique Durée : 1h Coefficient : 0.5 Sections : Maths, Sciences expérimentales et S.Techniques Date : 25 mai 2017 S42 Important : 1) Une solution modulaire au problème est exigée. 2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui donnant comme nom votre numéro d’inscription (6 chiffres). Un IBAN ou numéro international de compte bancaire est une variété de caractères alphanumériques qui identifie de façon distincte, le compte d'un client tenu dans une institution bancaire partout dans le monde. Exemple: TU3830004015870002601171 est un numéro IBAN où : TU désigne les initiales du pays du client qui est la Tunisie, 38 est la clé IBAN Le reste des chiffres représente le code RIB du client qui est de longueur constante relativement à un pays donné (20 pour la Tunisie). Sachant que RIB désigne le Relevé d’Identité Bancaire qui permet au titulaire d'un compte bancaire de transmettre ses coordonnées bancaires pour des virements ou des prélèvements. La clé IBAN est obtenue en utilisant le procédé suivant : - Former une chaine ch composée par les deux premières lettres en majuscules du nom du pays du client auxquelles on ajoute "00" à droite. - Former un nombre à partir de la chaîne ch en remplaçant chaque lettre par le nombre qui lui correspond selon le tableau suivant : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 - Calculer le reste de la division du nombre obtenu par 97 - Soustraire de 98 le reste obtenu. Si le résultat comporte un seul chiffre, insérer un zéro à gauche. Le nombre ainsi obtenu est la clé IBAN. Exemple : Pour un client de la Tunisie, on obtient la chaîne suivante : TU00 En remplaçant T par 29 et U par 30, on obtient le nombre suivant 293000. La clé IBAN correspondante à ce client est 38 obtenu comme suit : le reste de la division de 293000 par 97 donne 60 en la retranchant de 98 on obtient 98-60= 38 qui est la clé IBAN de la Tunisie.
  • 233.
    Page 2 sur2 On se propose d’écrire un programme Pascal qui permet de générer un code IBAN à partir des deux premières lettres du nom du pays d’un client et de son code RIB. Pour cela on donne l’algorithme du programme principal suivant : 0) Début Generation 1) PROC Saisir (Init, RIB) 2) Cle FN Cle_IBAN (Init) 3) Ecrire("L’IBAN correspondant est : ", Init+Cle+RIB) 4) Fin Generation Travail demandé : a. Traduire l’algorithme Generation en un programme Pascal et ajouter les déclarations nécessaires. b. Développer le module Saisir qui permet de saisir :  Deux lettres majuscules qui représentent les initiales du pays.  Le RIB qui doit être une suite de chiffres, correspondant au pays du client, de longueur L avec 10≤ L≤ 30. c. Développer le module Cle_IBAN qui permet de générer la clé IBAN d’un client en utilisant le procédé décrit précédemment. d. Ajouter ce qui est nécessaire au programme de façon à ce qu’il puisse générer plusieurs codes IBAN relativement à un groupe de clients dont le nombre est inconnu à l’avance. Grille d’évaluation : Questions Nombre de points a. Traduction de l’algorithme Generation en Pascal + Ajout des déclarations nécessaires. b. Développement du module Saisir. c. Développement du module Cle_IBAN. d. Modification du programme 4+ 1 5 8 2
  • 234.
    Page 1 sur2 RÉPUBLIQUE TUNISIENNE MINISTÈRE DE L’ÉDUCATION  EXAMEN DU BACCALAURÉAT SESSION 2017 Épreuve pratique d’informatique Durée : 1h Coefficient : 0.5 Sections : Maths, Sciences expérimentales et S.Techniques Date: 25 mai 2017 S52 Important : 1) Une solution modulaire au problème est exigée. 2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui donnant comme nom votre numéro d’inscription (6 chiffres). Afin de répondre aux besoins des écoles primaires d’une région de la Tunisie, le ministère de l’Éducation charge une commission de visiter ces écoles, de chercher leurs besoins en matériels (Tableaux à craie et tables) et de déterminer le(s) école(s) ayant le besoin le plus élevé. Pour automatiser les tâches de cette commission, on se propose d’écrire un programme permettant:  de remplir un premier tableau TE par les N codes des écoles primaires avec 2≤N≤250. Le code d’une école est une chaîne de 6 chiffres.  de remplir un deuxième tableau TB par les besoins matériels des écoles en tableaux à craie et en tables sous le format suivant : Nombre_de_tableaux#Nombre_de_tables sachant que chaque besoin ne doit pas dépasser 999. Exemples : "852#999", "0#105", "52#0"  de calculer dans un troisième tableau TBU, le budget nécessaire pour chaque école calculé comme suit : P1* Nombre_de_tableaux + P2* Nombre_de_tables sachant que P1 et P2 sont respectivement les prix d’un tableau à craie et d’une table et qui sont deux constantes dont les valeurs en dinars sont 80 et 160.  d’afficher toutes les écoles ayant le besoin budgétaire le plus élevé en matériels. Pour cela on propose l’algorithme du programme principal suivant : 0) Début Besoin 1) Répéter Ecrire ("Donner le nombre d’écoles à visiter : ") Lire(N) Jusqu’a (N dans [2..250]) 2) PROC Remplir(TE,TB,N) 3) PROC Generer(TB,TBU,N) 4) PROCAfficher (TE,TBU,N) 5) Fin Besoin Exemple : Pour N=8 et les deux tableaux TE et TB suivants : TE 310600 035100 199600 001800 421200 600700 059700 776600 1 2 3 4 5 6 7 8 TB 10#8 100#16 17#0 32#50 8#0 0#0 5#5 2#10 1 2 3 4 5 6 7 8 Le tableau TBU sera : TBU 2080 10560 1360 10560 640 0 1200 1760 1 2 3 4 5 6 7 8
  • 235.
    Page 2 sur2 En effet, l’école dont le code est "310600" a besoin de 10 tableaux à craie et de 8 tables ("10#8"). Le budget est calculé comme suit : 10*80+8*160=2080. Le programme affiche : Le besoin budgétaire le plus élevé est 10560 D et les écoles concernées sont : 035100 - 001800 Travail demandé : a. Traduire l’algorithme Besoin en un programme Pascal et ajouter les déclarations nécessaires. b. Développer le module Remplir qui permet de remplir les deux tableaux TE et TB en respectant les contraintes décrites précédemment. c. Développer le module Generer qui permet de générer dans un troisième tableau TBU le budget nécessaire pour chaque école. d. Développer le module Afficher qui permet d’afficher le budget le plus élevé et le(s) école(s) concernée(s) par ce budget. Grille d’évaluation : Questions Nombre de points a. Traduction de l’algorithme Besoin en Pascal + Ajout des déclarations nécessaires. b. Développement du module Remplir c. Développement du module Generer. d. Développement du module Afficher. 4 + 1.5 5 5 4.5
  • 236.
    Page 1 sur2 RÉPUBLIQUE TUNISIENNE MINISTÈRE DE L’ÉDUCATION  EXAMEN DU BACCALAURÉAT SESSION 2017 Épreuve pratique d’informatique Durée : 1h Coefficient : 0.5 Sections : Maths, Sciences expérimentales et S.Techniques Date : 25 mai 2017 S41 Important : 1) Une solution modulaire au problème est exigée. 2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui donnant comme nom votre numéro d’inscription (6 chiffres). Sur les billets d’avion d’une Campanie aérienne, figure un code de 11 chiffres précédés d’une lettre majuscule. Exemple U19586900462. Pour vérifier l’authenticité d’un billet, on remplace la lettre du code par son rang alphabétique pour obtenir un nombre de 12 ou de 13 chiffres. Si le reste de la division par 9 de la somme des chiffres de ce nombre est égale à 8, ce billet est authentique, sinon c’est un faux billet. Exemple : Le billet ayant pour code "U19586900462" est authentique. En effet, - La lettre "U" a pour rang alphabétique 21. - Le nombre formé sera : "2119586900462". - La somme des chiffres de ce nombre est 2+1+1+9+5+8+6+9+0+0+4+6+2 =53. - Le reste de la division de 53 par 9 est égale à 8. On se propose d’écrire un programme qui permet de vérifier l’authenticité d’un billet à partir de son code. Pour cela, on donne l’algorithme du programme principal suivant : 0) Début Billet 1) Répéter Ecrire (" Saisir le code à valider :") Lire (code) Jusqu’à (FN Verif (code)) 2) Si (FN Authentique (code)) Alors Ecrire ("C’est un billet authentique") Sinon Ecrire ("Attention ! Ce billet n’est pas authentique") Fin Si 3) Fin Billet
  • 237.
    Page 2 sur2 Travail demandé : a. Traduire l’algorithme Billet en un programme Pascal et ajouter les déclarations nécessaires. b. Développer le module Verif qui permet de vérifier si le code proposé commence par une lettre majuscule suivie de 11 chiffres. c. Développer le module Authentique qui permet de vérifier l’authenticité du code en utilisant le procédé décrit précédemment d. Ajouter ce qui est nécessaire au programme de façon à ce qu’il puisse vérifier plusieurs billets dont le nombre est inconnu à l’avance. Grille d’évaluation : Questions Nombre de points a. Traduction de l’algorithme Billet en Pascal + Ajout des déclarations nécessaires. b. Développement du module Verif. c. Développement du module Authentique. d. Modification du programme 4 + 1 3 10 2
  • 238.
    Page 1 sur2 RÉPUBLIQUE TUNISIENNE MINISTÈRE DE L’ÉDUCATION  EXAMEN DU BACCALAURÉAT SESSION 2017 Épreuve pratique d’informatique Durée : 1h Coefficient : 0.5 Sections : Maths, Sciences expérimentales et S.Techniques Date : 25 mai 2017 S22 Important : 1) Une solution modulaire au problème est exigée. 2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui donnant comme nom votre numéro d’inscription (6 chiffres). Le jeu du pendu est un jeu à deux qui consiste à trouver un mot en devinant les lettres qui le composent. Pour ce faire, un premier joueur propose un mot à deviner ensuite, on affiche au deuxième joueur le mot à deviner d’une manière masquée en faisant apparaitre la première et la dernière lettre du mot et en remplaçant chacune des lettres restantes par un tiret ("-"). Pour deviner le mot, le deuxième joueur annonce une lettre. Si cette lettre fait partie du mot à deviner, on la dévoile en l’affichant à la place du tiret correspondant dans le mot masqué et ceci autant de fois que cette lettre apparait dans le mot. Le jeu continue jusqu’à dévoiler toutes les lettres masquées ou atteindre un nombre d’essai égal à la longueur du mot à deviner. Pour cela, on donne l’algorithme du programme principal suivant : 0) Début Jeu 1) Répéter Ecrire ("Saisir le mot à deviner :") Lire (mot) Jusqu’à (FN Verif (mot)) 2) Efface_ecran ( ) 3) masqueFN Masquer (mot) 4) PROC Deviner (mot, masque) 5) Fin Jeu NB : Efface_ecran est une procédure prédéfinie qui permet d’effacer l’écran. Son équivalent en pascal est : CLRSCR; Travail demandé : a. Traduire l’algorithme Jeu en un programme Pascal et ajouter les déclarations nécessaires. b. Développer le module Verif qui permet de vérifier si le mot proposé est composé uniquement par des lettres et ayant une longueur comprise entre 5 et 20. c. Développer le module Masquer qui permet de générer le mot à deviner d’une manière masquée et ceci en dévoilant la lettre de début et celle de la fin et en remplaçant le reste des lettres par des tirets "-". d. Développer le module Deviner qui affiche au deuxième joueur le mot masqué et lui demande de proposer une lettre puis dévoile ses occurrences dans le mot masqué sans faire de distinction entre lettre majuscule et lettre minuscule.
  • 239.
    Page 2 sur2 e. Apporter les modifications nécessaires au programme afin qu’il puisse donner au deuxième joueur la possibilité de : - répéter l’action de deviner jusqu’à trouver le mot à deviner ou atteindre un nombre d’essai égal à la longueur de ce mot et afficher à chaque fois le nombre d’essais restants. - afficher le message " Bravo, vous avez gagné" si le joueur 2 réussit à deviner le mot et le message "Désolé, vous avez perdu " s’il ne le devine pas après un nombre d’essais égal à la longueur de ce mot. Exemple : On suppose que le mot à deviner est Pascal: Exécution 1 Exécution 2 Grille d’évaluation : Questions Nombre de points a. Traduction de l’algorithme Jeu en Pascal + Ajout des déclarations nécessaires. b. Développement du module Verif. c. Développement du module Masquer. d. Développement du module Deviner. e. Modification du programme 5 + 1 3 3 4 4
  • 240.
    Page 1 sur2 RÉPUBLIQUE TUNISIENNE MINISTÈRE DE L’ÉDUCATION  EXAMEN DU BACCALAURÉAT SESSION 2017 Épreuve pratique d’informatique Durée : 1h Coefficient : 0.5 Sections : Maths, Sciences expérimentales et S.Techniques Date : 25 mai 2017 S33 Important : 1) Une solution modulaire au problème est exigée. 2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui donnant comme nom votre numéro d’inscription (6 chiffres). Dans le but de sécuriser les messages à envoyer, on peut faire appel à une méthode de cryptage. Une des méthodes utilisées, pour crypter un message M de longueur paire et formé uniquement de lettres majuscules et d’espaces, consiste à : Etape 1 : Découper le message à envoyer en blocs de deux lettres. Etape 2 : Déterminer pour chaque lettre d’un bloc l’entier correspondant selon le tableau suivant : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Espace 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 On obtient ainsi pour chaque bloc un couple d’entiers (x1, x2), où x1 est l’entier qui correspond au premier caractère du bloc et x2 est l’entier qui correspond au deuxième caractère du bloc. Etape 3 : Transformer le couple (x1, x2) de chaque bloc en un couple (y1, y2), tels que :  y1 est égal au reste de la division entière de 11*x1 + 3 * x2 par 27.  y2 est égal au reste de la division entière de 7*x1 + 4 * x2 par 27. Etape 4 : Transformer chaque entier des couples (y1, y2) en un caractère, en utilisant le tableau de correspondance de l’étape n° 2 et la chaîne obtenue sera le message crypté correspondant à M. Exemple : Pour le message M = "A MODIFIER", le message crypté correspondant en appliquant la méthode décrite précédemment sera "IXMFD ZNOP" obtenu comme suit : Le message M à crypter : A M O D I F I E R Etape 1 : Découpage en bloc de deux caractères A M O D I F I E R Etape 2 : Détermination du couple (x1, x2) (x1, x2) (0,26) (12,14) (3,8) (5,8) (4,17) Etape 3 : Calcul du couple (y1, y2) (y1, y2) (8,23) (12,5) (3,26) (25,13) (14,15) Etape 4 : Détermination du message crypté I X M F D Z N O P On se propose d’écrire un programme Pascal intitulé « Cryptage » qui permet de saisir un message M de longueur paire et constitué seulement par des lettres majuscules et d’espaces, puis d’afficher le message crypté correspondant en appliquant la méthode décrite ci-dessus.
  • 241.
    Page 2 sur2 Pour cela on propose l’algorithme du programme principal suivant : 0) Début Cryptage 1) Répéter Ecrire ("Donner une chaîne à coder :") Lire(M) Jusqu’a (FN Valide (M)) 2) Ecrire (FN Crypter (M)) 3) Fin Cryptage Travail demandé : a. Traduire l’algorithme Cryptage en un programme Pascal et ajouter les déclarations nécessaires. b. Transformer la séquence n°1 en un module et apporter les modifications nécessaires dans le programme principal. c. Développer le module Valide qui permet de vérifier si le message M est de longueur paire et constitué seulement par des lettres majuscules et d’espaces. d. Développer le module Crypter qui permet de crypter un message M en appliquant la méthode décrite précédemment. Grille d’évaluation : Questions Nombre de points a. Traduction de l’algorithme Cryptage en Pascal + Ajout des déclarations nécessaires. b. Transformation de la séquence n°1 en un module + Modifications nécessaires dans le programme principal. c. Développement du module Valide. d. Développement du module Crypter. 3,5 + 1 3 + 1 4,5 7
  • 242.
    Page 1 sur2 RÉPUBLIQUE TUNISIENNE MINISTÈRE DE L’ÉDUCATION  EXAMEN DU BACCALAURÉAT SESSION 2017 Épreuve pratique d’informatique Durée : 1h Coefficient : 0.5 Sections : Maths, Sciences expérimentales et S.Techniques Date : 25 mai 2017 S53 Important : 1) Une solution modulaire au problème est exigée. 2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui donnant comme nom votre numéro d’inscription (6 chiffres). Le ministère de l’éducation organise une compétition nationale en informatique pour évaluer le niveau algorithmique des élèves. Chaque participant à cette compétition a un code composé de trois lettres majuscules représentant les trois premières lettres du nom de son gouvernorat suivi de trois chiffres. Suite au passage de l’épreuve, une note comprise entre 0 et 20 est accordée à chaque participant. On se propose d’écrire un programme « Competition » qui permet : - de remplir un tableau TC par les codes des N participants en respectant les contraintes mentionnées ci-dessus avec N un entier de l’intervalle [5..100]. - de remplir un tableau TN par les notes des N participants. - d’afficher le taux de réussite nationale (TRN) calculé comme suit : TRN = Npr / N avec Npr représente le nombre de participants qui ont réussi sachant qu’un participant est déclaré réussi si et seulement si il a une note ≥10. - d’afficher le taux de réussite relatif à un gouvernorat donné (TRG) connaissant son nom qui est une chaine d’au maximum 15 lettres alphabétiques : TRG = Nprg/ Ntpg avec Nprg et Ntpg représentent respectivement le nombre de participants d’un gouvernorat qui ont réussi et le nombre total de participant de ce gouvernorat. Pour cela, on propose l’algorithme du programme principal suivant : 0) Début Competition 1) Répéter Ecrire ("Donner le nombre de participants :") Lire(N) Jusqu’à (N dans [5..100]) 2) PROC Remplir(TC,TN,N) 3) PROC Afficher(TC,TN,N) 4) Fin Competition
  • 243.
    Page 2 sur2 Exemple : Pour N=7 et les deux tableaux TC et TN suivants : TC JEN120 TUN121 JEN125 TUN135 BIZ234 SFA234 JEN236 1 2 3 4 5 6 7 TN 15,25 16,50 9,75 7,50 13,25 15,00 16,75 1 2 3 4 5 6 7 Si le gouvernorat donné est Jendouba le programme affiche : Le taux de réussite national est de 71.43% en effet puisque Nbr= 5 et N= 7 alors TRN= 5/7*100 = 71.43% Le taux de réussite de Jendouba est 66.67% en effet Nprg=2 et Ntpg = 3 alors TRG = 2/3 *100 = 66.67% Travail demandé : a. Traduire l’algorithme Competition en un programme Pascal et ajouter les déclarations nécessaires. b. Transformer la séquence n°1 en un module et apporter les modifications nécessaires dans le programme principal. c. Développer le module Remplir qui permet de remplir deux tableaux TC et TN respectivement par les codes et les notes des N participants (avec N est un entier de l’intervalle [5..100]) en respectant les contraintes décrites précédemment. d. Développer le module Afficher qui permet d’afficher le taux de réussite national et le taux de réussite d’un gouvernorat donné qui est une chaîne d’au maximum 15 lettres alphabétiques en respectant le format d’affichage en pourcentage avec deux chiffres après la virgule. Grille d’évaluation : Questions Nombre de points a. Traduction de l’algorithme Competition en Pascal + Ajout des déclarations nécessaires. b. Transformation de la séquence n°1 en un module + Modifications nécessaires dans le programme principal. c. Développement du module Remplir. d. Développement du module Afficher. 4 + 1,5 3 + 1 5,5 5
  • 244.
    Page 1 sur2 RÉPUBLIQUE TUNISIENNE MINISTÈRE DE L’ÉDUCATION  EXAMEN DU BACCALAURÉAT SESSION 2017 Épreuve pratique d’informatique Durée : 1h Coefficient : 0.5 Sections : Maths, Sciences expérimentales et S.Techniques Date : 25 mai 2017 S11 Important : 1) Une solution modulaire au problème est exigée. 2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui donnant comme nom votre numéro d’inscription (6 chiffres). Le terme Bigramme désigne la combinaison de deux lettres consécutives et distinctes dans un mot. On se propose d’écrire un programme qui permet d’afficher le nombre d’occurrences de chaque Bigramme d’une chaîne de caractères Ch non vide et formée uniquement de lettres minuscules. Pour cela, on donne l’algorithme du programme principal suivant : 0) Début Bigramme 1) Répéter Ecrire ("Donner une chaîne:") Lire (Ch) Jusqu’à (FN Valide(Ch)) 2) PROC Afficher(Ch) 3) Fin Bigramme Travail demandé : a. Traduire l’algorithme Bigramme en un programme Pascal et ajouter les déclarations nécessaires. b. Transformer la séquence n°1 en un module et apporter les modifications nécessaires. c. Développer le module Valide qui permet de vérifier si la chaîne Ch est non vide et formée uniquement de lettres minuscules. d. Développer le module Afficher qui permet de déterminer et d’afficher le nombre d’occurrences de chaque Bigramme de la chaîne Ch.
  • 245.
    Page 2 sur2 Exemple : Pour Ch = "mamapappacma" Le programme affiche : Le nombre d’occurrences de ma est 3 Le nombre d’occurrences de am est 1 Le nombre d’occurrences de ap est 2 Le nombre d’occurrences de pa est 2 Le nombre d’occurrences de ac est 1 Le nombre d’occurrences de cm est 1 Grille d’évaluation : Questions Nombre de points a. Traduction de l’algorithme Bigramme en Pascal + Ajout des déclarations nécessaires. b. Transformation de la séquence n°1 en un module + Modifications nécessaires dans le programme principal c. Développement du module Valide. d. Développement du module Afficher. 4.5 + 1 3.5 + 1 4 6
  • 246.
    Page 1 sur2 RÉPUBLIQUE TUNISIENNE MINISTÈRE DE L’ÉDUCATION  EXAMEN DU BACCALAURÉAT SESSION 2017 Épreuve pratique d’informatique Durée : 1h Coefficient : 0.5 Sections : Maths, Sciences expérimentales et S.Techniques Date : 25 mai 2017 S13 Important : 1) Une solution modulaire au problème est exigée. 2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui donnant comme nom votre numéro d’inscription (6 chiffres). Une séquence nulle d’un tableau d’entiers T est un ensemble d’éléments consécutifs dont la somme de valeurs est égale à zéro. On se propose d’écrire un programme intitulé « Sequence » qui permet de remplir un tableau T par N entiers non nuls (avec 3 ≤ N ≤ 15) et d’afficher le nombre de séquences nulles de ce tableau ainsi que les éléments de chacune. Exemple : Pour N=12 et le tableau T suivant : Séquence nulle Séquence nulle car 15 - 11- 4 = 0 car 4-4 =0 T -4 5 12 -6 -11 -23 -2 15 -11 -4 4 -4 1 2 3 4 5 6 7 8 9 10 11 12 Séquence nulle Séquence nulle car 5+12-6-11=0 car -4+4 =0 Séquence nulle car 15 -11-4+ 4 -4=0 Le nombre de séquences nulles de ce tableau est 5 qui sont :  5, 12, -6 , -11  15, -11 , -4  -4, 4  4, -4  15, -11 , -4, 4, -4
  • 247.
    Page 2 sur2 Pour cela, on donne l’algorithme du programme principal suivant : 0) Début Sequence 1) Répéter Ecrire ("Donner la taille du tableau :") Lire(N) Jusqu’à (N dans [3..15]) 2) Proc Remplir(T, N) 3) Proc Afficher(T, N) 4) Fin Sequence Travail demandé : a. Traduire l’algorithme Sequence en un programme Pascal et ajouter les déclarations nécessaires. b. Transformer la séquence n°1 en un module et apporter les modifications nécessaires dans le programme principal. c. Développer le module Remplir qui permet de remplir le tableau T par N entiers non nuls. d. Développer le module Afficher qui permet d’afficher le nombre de séquences nulles du tableau T ainsi que les éléments de chacune. Grille d’évaluation : Questions Nombre de points a. Traduction de l’algorithme Sequence en Pascal + Ajout des déclarations nécessaires. b. Transformation de la séquence n°1 en un module + Modifications nécessaires dans le programme principal. c. Développement du module Remplir. d. Développement du module Afficher. 5 + 1 3 + 1 4 6
  • 248.
    Page 1 sur2 RÉPUBLIQUE TUNISIENNE MINISTÈRE DE L’ÉDUCATION  EXAMEN DU BACCALAURÉAT SESSION 2017 Épreuve pratique d’informatique Durée : 1h Coefficient : 0.5 Sections : Maths, Sciences expérimentales et S.Techniques Date : 25 mai 2017 S21 Important : 1) Une solution modulaire au problème est exigée. 2) Dans le répertoire Bac2017, créez un dossier de travail portant comme nom votre numéro d’inscription (6 chiffres) dans lequel vous devez enregistrer au fur et à mesure tous les fichiers solutions de ce sujet. Le club culturel d’un lycée organise un jeu de lettres entre les élèves de l’établissement. Le jeu se joue à deux sous forme de tours en appliquant le principe suivant : - On propose 10 lettres alphabétiques majuscules. - Chacun des deux joueurs est appelé à former un mot significatif dans la langue française composé par des lettres parmi les 10 proposées. - Le score du tour de chacun des joueurs sera égal au nombre de lettres du mot proposé une fois validé par l’enseignant. Pour simuler un tour de ce jeu, on donne l’algorithme du programme principal suivant : 0) Début Jeu 1) PROC Generer (ch) 2) Ecrire (" Les 10 lettres sont:", ch) 3) Ecrire ("Donner la proposition du joueur1 : "), Lire (mot1) 4) Ecrire ("Donner la proposition du joueur2 : "), Lire (mot2) 5) Si (FN Verif (mot1, ch)) Alors Score1long(mot1) Fin Si 6) Si (FN Verif (mot2, ch)) Alors Score2 long (mot2) Fin Si 7) Si (Score1= Score2) Alors Ecrire ("Egalité entre les deux joueurs ") Sinon Si (Score 1> Score 2) Alors Ecrire ("C’est le premier joueur qui a gagné") Sinon Ecrire ("C’est le deuxième joueur qui a gagné ") Fin Si 8) Fin Jeu Travail demandé : a. Dans un fichier intitulé Version1, traduire l’algorithme Jeu en un programme Pascal et ajouter les déclarations nécessaires. b. Dans un fichier intitulé Version2, copier le contenu du fichier Version1 et effectuer les modifications suivantes :
  • 249.
    Page 2 sur2 b.1 Développer le module Generer qui permet de générer aléatoirement une chaîne ch de 10 lettres majuscules. b.2 Développer le module Verif qui permet de vérifier si le mot proposé est composé uniquement par des lettres de la chaîne ch et qu’il est un mot significatif dans la langue française selon l’avis d’un professeur au quel on se réfère. NB : Le professeur au quel on se réfère valide le mot proposé en introduisant la lettre "O" dans le cas où le mot est significatif et introduit la lettre "N" dans le cas contraire. b.3 Modifier le programme de façon à ce que le jeu dure plusieurs tours jusqu’à ce que le score total de l’un des joueurs dépasse 15 comme le montre l’exemple ci-dessous : Grille d’évaluation : Questions Nombre de points a. Traduction de l’algorithme Jeu en Pascal + Ajout des déclarations nécessaires. b. b.1 Développement du module Generer. b.2 Développement du module Verif. b.3 Modification du programme 6.25 + 1.25 3 4.5 5
  • 250.
    Page 1 sur2 RÉPUBLIQUE TUNISIENNE MINISTÈRE DE L’ÉDUCATION  EXAMEN DU BACCALAURÉAT SESSION 2017 Épreuve pratique d’informatique Durée : 1h Coefficient :0.5 Sections : Maths, Sciences expérimentales et S.Techniques Date : 25 mai 2017 S32 Important : 1) Une solution modulaire au problème est exigée. 2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui donnant comme nom votre numéro d’inscription (6 chiffres). Dans le but de sécuriser les messages à envoyer, on peut faire appel à une méthode de cryptage. Soit la méthode de cryptage suivante qui consiste à crypter par transposition de caractères, un message M de longueur L décrite comme suit: - Déterminer tous les diviseurs de L autres que 1 et lui même. - Pour chaque diviseur d de L et en commençant par le plus petit, on inverse symétriquement les caractères de chaque bloc de longueur d. Exemple : Pour le message "INFORMATIQUE" dont la longueur L = 12. - Les diviseurs de 12 autres que 1 et 12 sont : 2, 3, 4 et 6. - Les inversions des blocs de caractères seront effectuées comme suit :  Après inversion de chaque bloc de 2 caractères de la chaîne "INFORMATIQUE", on aura la chaîne "NIOFMRTAQIEU".  Après inversion de chaque bloc de 3 caractères de la chaîne " NIOFMRTAQIEU ", on aura la chaîne "OINRMFQATUEI".  Après inversion de chaque bloc de 4 caractères de la chaîne " OINRMFQATUEI ", on aura la chaîne "RNIOAQFMIEUT".  Après inversion de chaque bloc de 6 caractères de la chaîne " RNIOAQFMIEUT ", on aura la chaîne "QAOINRTUEIMF". On se propose d’écrire un programme Pascal intitulé « Cryptage » qui permet de saisir un message M dont la longueur est un nombre non premier et supérieur à 4 et d’afficher le message crypté en utilisant la méthode décrite précédemment. Pour cela on donne l’algorithme du programme principal suivant : 0) Début Cryptage 1) Répéter Ecrire ("Donner le message à crypter :") Lire(M) Jusqu’a (FN Valide (M)) 2) Ecrire (FN Crypter (M)) 3) Fin Cryptage
  • 251.
    Page 2 sur2 Travail demandé : a. Traduire l’algorithme Cryptage en un programme Pascal et ajouter les déclarations nécessaires. b. Transformer la séquence n°1 en un module et apporter les modifications nécessaires dans le programme principal. c. Développer le module Valide qui permet de vérifier si la longueur du message M est un nombre non premier et supérieur à 4. d. Développer le module Crypter qui permet de crypter un message M en utilisant le principe décrit précédemment. Grille d’évaluation : Questions Nombre de points a. Traduction de l’algorithme Cryptage en Pascal + Ajout des déclarations nécessaires. b. Transformation de la séquence n°1 en un module + Modifications nécessaires dans le programme principal. c. Développement du module Valide. d. Développement du module Crypter. 3,5 + 1,5 3 + 1 3,5 7,5
  • 252.
    Page 1 sur2 RÉPUBLIQUE TUNISIENNE MINISTÈRE DE L’ÉDUCATION  EXAMEN DU BACCALAURÉAT SESSION 2017 Épreuve pratique d’informatique Durée : 1h Coefficient :0.5 Sections : Maths, Sciences expérimentales et S.Techniques Date : 25 mai 2017 S43 Important : 1) Une solution modulaire au problème est exigée. 2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui donnant comme nom votre numéro d’inscription (6 chiffres). L’ISSN (International Standard Serial Number) est un code international normalisé qui permet d’identifier de manière univoque toute publication en série indépendamment du pays d’édition, de la langue de publication et du support (imprimé, ressource en ligne, CD, DVD...). L’ISSN prend la forme suivante : ISSN Bloc1-Bloc2 où chaque bloc est formé de quatre chiffres. Le dernier chiffre du deuxième bloc est un chiffre de contrôle d’authenticité qui doit être égal au reste de la division par 11 du nombre formé par les 7 autres chiffres ( les 4 chiffres du Bloc1 suivis des 3 premiers chiffres du Bloc2) ; il sera remplacé par "X" si ce reste est égal à 10. Exemple: ISSN 0317-8472 est un ISSN authentique. En effet, 2 représente le reste de la division entière de 317847 par 11. ISSN 1050-125X est un ISSN authentique. En effet, X remplace 10 qui est égal au reste de la division entière de 1050125 par 11. ISSN 0317-8473 n’est pas un ISSN authentique. En effet, 3 ne représente pas le reste de la division entière de 317847 par 11. On se propose d’écrire un programme Pascal qui permet de remplir un premier tableau Pub par N noms de publications avec 5≤ N≤10 et dans un deuxième tableau Code les N codes ISSN correspondants puis d’afficher uniquement les publications authentiques sachant qu’une publication est dite authentique si et seulement si son code ISSN est authentique. Pour cela, on propose l’algorithme du programme principal suivant : 0) Début Verification 1) Répéter Ecrire (" Saisir le nombre de publications à vérifier :") Lire (N) Jusqu’à ( N dans [5..10]) 2) PROC Remplir (Pub, code, N) 3) Pour i de 1 à N faire Si (FN authentique (Code[i])) Alors Ecrire (Pub[i]) Fin Si Fin Pour 4) Fin Verification
  • 253.
    Page 2 sur2 Travail demandé : a. Traduire l’algorithme Verification en un programme Pascal et ajouter les déclarations nécessaires. b. Développer le module Remplir qui permet de saisir les noms des N publications dans un tableau nommé Pub ainsi que les N codes ISSN correspondants dans un tableau nommé Code sachant qu’un code ISSN doit être une chaine représentée comme suit : ISSN Bloc1-Bloc2 où Bloc1 et Bloc2 sont deux groupes de quatre chiffres chacun. c. Développer le module Authentique qui permet de vérifier l’authenticité d’un code ISSN en utilisant le procédé décrit précédemment. Grille d’évaluation : Questions Nombre de points a. Traduction de l’algorithme Verification en Pascal + Ajout des déclarations nécessaires. b. Développement du module Remplir. c. Développement du module Authentique. 6+ 1 6 7
  • 254.
    Page 1 sur2 RÉPUBLIQUE TUNISIENNE MINISTÈRE DE L’ÉDUCATION  EXAMEN DU BACCALAURÉAT SESSION 2017 Épreuve pratique d’informatique Durée : 1h Coefficient : 0.5 Sections : Maths, Sciences expérimentales et S.Techniques Date : 25 mai 2017 S51 Important : 1) Une solution modulaire au problème est exigée. 2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2017 situé à la racine C: en lui donnant comme nom votre numéro d’inscription (6 chiffres). Le ministère de l’éducation organise une olympiade d’informatique à l’échelle nationale. Pour générer un code pour chaque participant à cette olympiade, on se propose d’écrire un programme intitulé Olympiade qui permet de:  remplir deux tableaux TN et TG respectivement par, les noms et les gouvernorats d’origine des N participants avec 5 ≤ N ≤ 26. Il est à noter que le nom d’un participant ne doit pas dépasser 15 lettres et celui du gouvernorat est d’au maximum 10 lettres.  générer dans un troisième tableau TC, un code pour chaque participant. Ce code est formé de 5 caractères dont : o les trois premiers caractères représentent les trois premières lettres du gouvernorat du participant o et les deux derniers caractères est un nombre de 2 chiffres représentant le rang du participant par rapport aux autres participants du même gouvernorat.  afficher pour chaque participant, son nom et son code. Exemple : Pour N = 9 et les deux tableaux TN et TG suivants : TN Rahma Ayoub Aya Ali Mohamed Bilel Meriem Sana Anis 1 2 3 4 5 6 6 8 9 TG Jendouba Monastir Bèja Jendouba Tataouine Jendouba Monastir Sfax Sfax 1 2 3 4 5 6 7 8 9 Après génération des codes, le tableau TC sera : TC Jen01 Mon01 Bèj01 Jen02 Tat01 Jen03 Mon02 Sfa01 Sfa02 En effet, la participante Rahma aura le code Jen01 puisque les trois premières lettres de son gouvernorat est Jen et elle est la première participante du gouvernorat de Jendouba. Le participant Anis aura le code Sfa02 puisque les trois premières lettres de son gouvernorat est Sfa et il est le deuxième participant du gouvernorat de Sfax. Le programme affiche : Rahma Jen01 Ayoub Mon01 Aya Bèj01 Ali Jen02 Mohamed Tat01
  • 255.
    Page 2 sur2 Bilel Jen03 Meriem Mon02 Sana Sfa01 Anis Sfa02 Pour cela on propose l’algorithme du programme principal suivant : 0) Début Olympiade 1) Répéter Ecrire ("Donner le nombre de participants :") Lire(N) Jusqu’à (N dans [5..26]) 2) Pour i de 1 à N faire Repeter Ecrire ("Donner le nom du participant :") Lire(TN[i]) Jusqu’à ( FN Verif ( TN[i], 15)) Repeter Ecrire ("Donner le nom du gouvernorat :") Lire (TG[i]) Jusqu’à ( FN Verif ( TG[i], 10)) Fin Pour 3) PROC Generer (TG,TC, N) 4) PROC Afficher (TN, TC, N) 5) Fin Olympiade Travail demandé : a. Traduire l’algorithme Olympiade en un programme Pascal et ajouter les déclarations nécessaires. b. Développer le module Verif qui permet de vérifier si une chaine est composée uniquement par des lettres et de longueur L donnée. c. Développer le module Generer qui permet de générer le tableau TC comme décrit précédemment. d. Développer le module Afficher qui permet d’afficher pour chaque participant, son nom et son code. Grille d’évaluation : Questions Nombre de points a. Traduction de l’algorithme Olympiade en Pascal + Ajout des déclarations nécessaires. b. Développement du module Verif. c. Développement du module Generer. d. Développement du module Afficher. 6 + 2 4 5 3
  • 256.
    1 / 2 RÉPUBLIQUETUNISIENNE MINISTÈRE DE L’ÉDUCATION  EXAMEN DU BACCALAURÉAT SESSION 2018 Épreuve pratique d’informatique Durée : 1h Coefficient : 0.5 Sections : Maths, S.expérimentales et S.techniques Important : Enregistrez au fur et à mesure votre programme dans le dossier Bac2018 situé à la racine C: en lui donnant comme nom, votre numéro d’inscription (6 chiffres). Un client collectionne les images qu'il trouve dans les paquets de ses biscuits préférés pour gagner des passes d’entrées gratuites, à un parc d’attraction. La collection doit comporter 20 images différentes relatives à des personnages distincts de bandes dessinées. On suppose que les images ont été disposées au hasard dans les paquets et que :  chaque paquet contient exactement une image de personnages de bandes dessinées,  un même personnage peut se retrouver dans plusieurs paquets. Pour gagner ce voyage, le client achète une boîte contenant 50 paquets. On donne l’algorithme du programme principal suivant où P représente un tableau contenant la collection des personnages distincts que le client a pu collectionner, suite à l’ouverture des 50 paquets achetés, et C, le nombre d’éléments de P. 0) Début Collection 1) Répéter Ecrire ("Donner le nom du personnage trouvé dans le paquet n° 1 :") Lire (P[1]) Jusqu’à (FN Valide (P[1])) 2) C1 3) Pour i de 2 à 50 faire Répéter Ecrire ("Donner le nom du personnage trouvé dans le paquet n° ",i, ":") Lire (Pers) Jusqu’à (FN Valide (Pers)) Si (FN Chercher (Pers, P,C)=faux) Alors C C+1 P[C]  Pers FinSi FinPour 4) Si (C = 20) Alors Ecrire ("Vous avez gagné ") Sinon Ecrire (" Vous avez perdu") FinSi 5) Fin Collection Devoirs et examens sur : www.kiteb.net
  • 257.
    2 / 2 Travailà faire : a. Traduire l’algorithme Collection en un programme Pascal et ajouter les déclarations nécessaires. b. Développer la fonction Valide permettant de valider une chaîne qui doit être non vide, commencer par une majuscule et être formée uniquement de lettres non accentuées. c. Développer la fonction Chercher qui permet de vérifier l’existence d’un personnage Pers dans le tableau P. d. Mettre les séquences 2), 3) et 4) sous forme de commentaire et réécrire ces trois séquences en apportant les modifications nécessaires de façon à ce que le programme :  prenne en considération la possibilité de trouver 20 personnages distincts avant même de terminer l’ouverture des 50 paquets,  dans le cas, où le client n’a pas réussi à collectionner 20 personnages, affiche le nombre de personnages manquants pour gagner le concours. Grille d’évaluation : Questions Nombre de points a. Traduction de l’algorithme Collection en Pascal + Ajout des déclarations nécessaires. b. Développement de la fonction Valide. c. Développement de la fonction Chercher. d. Transformation des séquences 2), 3) et 4) : - Prise en considération de la possibilité de trouver les 20 personnages demandés même avant de terminer l’ouverture des 50 paquets. - Affichage du nombre de personnages manquants. 6 + 2 3 3 4 2 Devoirs et examens sur : www.kiteb.net
  • 258.
    1 / 2 RÉPUBLIQUETUNISIENNE MINISTÈRE DE L’ÉDUCATION  EXAMEN DU BACCALAURÉAT SESSION 2018 Épreuve pratique d’informatique Durée : 1h Coefficient : 0.5 Sections : Maths, S. expérimentales et S. techniques Important : Enregistrez au fur et à mesure votre programme dans le dossier Bac2018 situé à la racine C: en lui donnant comme nom, votre numéro d’inscription (6 chiffres). La marque ‘ECOLO’, décide de faire des statistiques à propos de la consommation de ses produits par les clients d’un espace commercial. On se propose de créer une application informatique qui, pour un client donné ayant acheté N produits (N ϵ [5,100]), permet de déterminer le nombre de produits achetés de cette marque. On suppose que le nom d’un produit relatif à une marque donnée contient obligatoirement le nom de cette marque. Pour cela, on donne l’algorithme du programme principal suivant intitulé Achat où :  Nbp représente le nombre de produits achetés de la marque ‘ECOLO’,  Nomp le nom d’un produit qui doit être une chaine alphanumérique pouvant contenir des espaces et de longueur maximale 20 caractères. 0) Début Achat 1) Ecrire ("Donner le nombre de produits achetés:") 2) Lire (N) 3) Nbp0 4) Pour i de 1 à N faire Ecrire ("Donner le nom du produit :") Lire (Nomp) Si (Pos (‘ECOLO’, Nomp) ≠0) Alors NbpNbp+1 FinSi FinPour 5) Ecrire ("Merci pour l’achat de ", Nbp , " produit(s) de la marque ECOLO") 6) Fin Achat Devoirs et examens sur : www.kiteb.net
  • 259.
    2 / 2 Travailà faire : a. Traduire l’algorithme Achat en un programme Pascal et ajouter les déclarations nécessaires. b. Ajouter les contrôles nécessaires au programme, pour que :  N soit un entier de l’intervalle [5..100].  Nomp soit une chaine alphanumérique pouvant contenir des espaces et de longueur maximale 20 caractères. (Le test de l’existence du nom de la marque dans le nom du produit n’est pas demandé). c. Transformer les séquences 3) et 4) en un module et ajouter les modifications nécessaires pour déterminer le nombre de produits distincts de la marque ‘ECOLO’ parmi les N produits achetés par un même client. d. Transformer la séquence 5) pour afficher :  un message d’invitation à la consommation des produits de la marque ‘ECOLO’ au client n’ayant acheté aucun produit de cette marque.  un message de remerciement au client ayant acheté au moins un produit de la marque avec, en plus, un message d’invitation à devenir ambassadeur de la marque, si le client achète plus de 5 produits distincts de cette marque. Grille d’évaluation : Questions Nombre de points a. Traduction de l’algorithme Achat en Pascal + Ajout des déclarations nécessaires. b. Ajout de contrôles pour :  N : nombre de produits achetés  Nomp : nom d’un produit c. Transformation des séquences 3) et 4) + ajout des modifications. d. Transformation de la séquence 5). 3.75 + 2.5 1 3.75 5 4 Devoirs et examens sur : www.kiteb.net
  • 260.
    1 / 2 RÉPUBLIQUETUNISIENNE MINISTÈRE DE L’ÉDUCATION  EXAMEN DU BACCALAURÉAT SESSION 2018 Épreuve pratique d’informatique Durée : 1h Coefficient : 0.5 Sections : Maths, S.expérimentales et S. techniques Important : Enregistrez au fur et à mesure votre programme dans le dossier Bac2018 situé à la racine C: en lui donnant comme nom, votre numéro d’inscription (6 chiffres). 1) A l’occasion de son vingtième anniversaire et pour encourager ses clients, une société de télécommunication, dont les indicatifs sont 65 et 66, accorde un bonus de recharge pour les clients gagnants. Un client est dit gagnant si le montant de ses communications est supérieur ou égal à la consommation moyenne de N clients de la société. Pour automatiser cette tâche, on se propose d’écrire un programme intitulé Bonus qui permet de : 1. remplir 2 tableaux T et C respectivement, par les numéros et les consommations téléphoniques des N clients, avec 10≤N≤100, sachant que : a. chaque numéro est unique et est formé de huit chiffres commençant obligatoirement par 65 ou 66, b. pour chaque numéro de téléphone T[i], on fait correspondre un montant de consommation C[i] exprimé en dinars tunisiens, 2. afficher les numéros de téléphone gagnants et les bonus de recharge, obtenus en multipliant par 20, la somme des six derniers chiffres de chaque numéro gagnant. Pour cela, on propose l’algorithme du programme principal suivant : 0) Début Bonus 1) Répéter Ecrire ("Donner le nombre de clients :") Lire (N) Jusqu’à (N dans [10..100]) 2) Répéter Ecrire ("Donner le numéro de téléphone du premier client : ") Lire (T[1]) Jusqu’à (FN Valide (T[1]) ) 3) Répéter Ecrire ("Donner le montant consommé par le premier client : ") Lire (C[1]) Jusqu’à (C[1]>=0) 4) Pour i de 2 à N faire Répéter Ecrire ("Donner le numéro de téléphone du client n° ",i, ":") Lire (T[i]) Jusqu’à (FN Verif (T[i], i - 1, T) ET FN Valide ( T[i])) Répéter Ecrire ("Donner le montant consommé par le client n° ",i, ":") Lire (C[i]) Jusqu’à (C[i]>=0) FinPour 5) PROC Affiche (T,C,N) 6) Fin Bonus Devoirs et examens sur : www.kiteb.net
  • 261.
    2 / 2 Exemple: Pour N=7 et les tableaux T et C suivants : T 66456789 66127721 65980765 66123321 66285585 66285582 65347743 1 2 3 4 5 6 7 C 200 20 300 250 45 99 180 1 2 3 4 5 6 7 Le programme affiche : Le montant moyen des consommations est : 156.285 Le numéro 66456789 a gagné 780 DT Le numéro 65980765 a gagné 700 DT Le numéro 66123321 a gagné 240 DT Le numéro 65347743 a gagné 560 DT Travail à faire : a. Traduire l’algorithme Bonus en un programme Pascal et ajouter les déclarations nécessaires. b. Développer le module Valide qui permet de vérifier si le numéro est formé de 8 chiffres et commence par 65 ou 66. c. Développer le module Verif qui permet de vérifier si le numéro du client existe ou non. d. Développer le module Affiche qui permet d’afficher les numéros gagnants et les bonus de recharge obtenus exprimés en dinars. Dans le cas où il n’y a pas de gagnant le programme affiche le message "Il n’y a pas de gagnant". Grille d’évaluation : Questions Nombre de points a. Traduction de l’algorithme Bonus en Pascal + Ajout des déclarations nécessaires. b. Développement du module Valide. c. Développement du module Verif. d. Développement du module Affiche. 6 + 2 3 3 6 Devoirs et examens sur : www.kiteb.net
  • 262.
    1 / 2 RÉPUBLIQUETUNISIENNE MINISTÈRE DE L’ÉDUCATION  EXAMEN DU BACCALAURÉAT SESSION 2018 Épreuve pratique d’informatique Durée : 1h Coefficient : 0.5 Sections : Maths, S. expérimentales et S. techniques Important : Enregistrez au fur et à mesure votre programme dans le dossier Bac2018 situé à la racine C: en lui donnant comme nom, votre numéro d’inscription (6 chiffres). 1) Dans le but d’informatiser le système de déroulement des examens, un institut de formation, décide de réaliser une application permettant à ses candidats de passer un examen à distance. L’examen est composé de N questions (avec 5≤N≤ 10) sous forme de propositions à valider soit par VRAI si la proposition est correcte, soit par FAUX dans le cas contraire. Pour cela, on se propose d’écrire un programme intitulé QCU (Questions à Choix Unique) qui permet de :  remplir un tableau Q par les N questions ainsi que les N réponses correspondantes, sous le format Question#Réponse sachant que : - Question désigne la proposition à valider. Elle est formée d’au moins quatre caractères et commence par une majuscule. - Réponse est une chaine majuscule qui représente la réponse à la question. Elle doit être VRAI si la proposition est correcte et FAUX dans le cas contraire.  remplir un tableau R par les N réponses fournies par un candidat, sachant que R[i] est une chaine majuscule qui représente la réponse du candidat à la question Q[i]. Elle doit être VRAI ou FAUX.  afficher : - le nombre total de points obtenus par ce candidat, sachant que, pour chaque réponse correcte, on ajoute 2 au total, sinon on retranche 2. - Le taux de réussite calculé comme suit : Taux réussite = (nombre de réponses correctes / N) *100 Exemple : Pour N=5, et les deux tableaux Q et R suivants : Q WAN est un réseau local #FAUX Pascal est un langage compilé#VRAI ROM est une mémoire morte#VRAI Octet est la plus petite unité de mesure de capacité des supports de stockage#FAUX http est un protocole d’échange de données#FAUX 1 2 3 4 5 R FAUX VRAI VRAI VRAI FAUX 1 2 3 4 5 Le programme affiche : Le nombre total de points obtenus est : 6 Le taux de réussite est : 80% Explications : Nombre de réponses correctes : 4 Nombre de réponses incorrectes : 1 Donc : Total de points obtenus = 4*2 + 1*(-2) = 6 Taux de réussite = (4 / 5) * 100 = 80 % Devoirs et examens sur : www.kiteb.net
  • 263.
    2 / 2 Pourcela, on propose l’algorithme du programme principal suivant : 0) Début QCU 1) Répéter Ecrire ("Donner le nombre de questions : ") Lire (N) Jusqu’à (N dans [5..10]) 2) Pour i de 1 à N faire Ecrire ("Donner la proposition relative à la question n° : ",i) Lire (Question) Répéter Ecrire ("Donner la validation de la proposition n° : ", i) Lire (Reponse) PROC ConvMaj(Reponse) Jusqu’à (Reponse = "VRAI") Ou (Reponse = "FAUX") Q[i]Question+"#"+Reponse FinPour 3) Pour i de 1 à N faire Répéter Ecrire ("Donner votre réponse à la question n° : ",i) Lire (R[i]) PROC ConvMaj(R[i]) Jusqu’à (R[i] = "VRAI") Ou (R[i] = "FAUX") FinPour 4) PROC Resultat (Q,R,N) 5) Fin QCU Travail à faire : a. Traduire l’algorithme QCU en un programme Pascal et ajouter les déclarations nécessaires. b. Dans la séquence 2), ajouter les contrôles nécessaires à la variable QUESTION pour respecter les contraintes décrites précédemment. c. Développer la procédure ConvMaj qui convertit une chaine de caractères donnée en majuscules. d. Développer la procédure Resultat qui permet de déterminer puis d’afficher le nombre de réponses correctes ainsi que le taux de réussite du candidat comme indiqué précédemment. Grille d’évaluation : Questions Nombre de points a. Traduction de l’algorithme QCU en Pascal + Ajout des déclarations nécessaires. b. Ajout dans la séquence 2), des contrôles nécessaires. c. Développement de la procédure ConvMaj. d. Développement de la procédure Resultat. 6.5 + 1.75 1.5 3 7.25 Devoirs et examens sur : www.kiteb.net
  • 264.
    1 / 2 RÉPUBLIQUETUNISIENNE MINISTÈRE DE L’ÉDUCATION  EXAMEN DU BACCALAURÉAT SESSION 2018 Épreuve pratique d’informatique Durée : 1h Coefficient : 0.5 Sections : Maths, S. expérimentales et S. techniques Important : Enregistrez au fur et à mesure votre programme dans le dossier Bac2018 situé à la racine C: en lui donnant comme nom, votre numéro d’inscription (6 chiffres). L’examen d’un patient par son médecin commence par la collecte des symptômes à travers un ensemble de questions posées. Chaque symptôme sert à l’identification des maladies possibles et aide le médecin à prendre sa décision. Pour l’aider à déterminer et à afficher les maladies correspondant à un symptôme donné, on se propose d’écrire un programme qui permet de : 1. remplir un tableau M, par les noms de N maladies (2<N≤100) où le nom d’une maladie est une chaîne formée par des caractères alphabétiques majuscules et peut contenir des espaces. 2. remplir un tableau S par N chaînes, représentant chacune, les principaux symptômes de la maladie M[i] séparés par des "#". Le dernier symptôme ne sera pas suivi du caractère "#". Un symptôme est une chaîne formée par des caractères alphabétiques majuscules et peut contenir des espaces. 3. afficher les maladies probables, pour un symptôme donné. Exemple : M INSUFFISANCE RENALE SPONDYLITE TUBERCULOSE ANEMIE NEVRALGIE 1 2 3 4 5 S FATIGUE #PERTE APPETIT DOULEUR VERTEBRALE# DOULEUR THORACIQUE# PERTE APPETIT #INFLAMMATION OCCULAIRE SUEUR# TOUX# DOULEUR POITRINE #DOULEUR VERTEBRALE #PERTE APPETIT PERTE APPETIT# FATIGUE#MAUX DE TETE PARALYSIE# DOULEUR 1 2 3 4 5 Pour le symptôme = "DOULEUR VERTEBRALE" Les maladies probables sont : SPONDYLITE et TUBERCULOSE Devoirs et examens sur : www.kiteb.net
  • 265.
    2 / 2 Pourcela, on vous propose la solution algorithmique suivante : Algorithme du programme principal Algorithme de la procédure Saisie 0) Début Diagnostic 1) Répéter Ecrire("Donner le nombre de maladies:") Lire (N) Jusqu’à (N dans [3..100]) 2) Pour i de 1 à N faire Répéter Ecrire ( "Donner la maladie n°",i," :") Lire (M[i]) Jusqu’à (FN Alpha(M[i]) PROC Saisie(S[i]) FinPour 3) Répéter Ecrire ("Symptôme en question :") Lire (Sym) Jusqu’à (FN Alpha (Sym)) 4) PROC Affiche_maladie (M, S, N, Sym) 5) Fin Diagnostic 0) DEF PROC Saisie (Var ch : Chaîne) 1) Ecrire ("Donner les symptômes correspondants :") 2) Répéter Ecrire ("Combien de symptômes ?") Lire(Ns) Jusqu’à (Ns >0) 3) Ch FN Former (Ns) 4) Fin Saisie Travail à faire : a. Traduire l’algorithme Diagnostic en un programme Pascal et ajouter les déclarations nécessaires. b. Traduire la procédure Saisie qui permet de saisir les symptômes relatifs à une maladie donnée. c. Développer la fonction Alpha qui permet de vérifier qu’une chaîne donnée est formée par des lettres majuscules et peut contenir des espaces. d. Développer la fonction Former qui saisit des symptômes et les sépare par le caractère "#" pour répondre aux conditions décrites au point 2) de l’énoncé. e. Développer la procédure Affiche_maladie qui permet d’afficher les maladies probables, pour un symptôme donné. Grille d’évaluation : Questions Nombre de points a. Traduction de l’algorithme Diagnostic en Pascal + Ajout des déclarations nécessaires. 6 + 2 b. Traduction de la procédure Saisie. 2 c. Développement de la fonction Alpha. 3 d. Développement de la fonction Former. 3,5 e. Développement de la procédure Affiche_maladie. 3,5 Devoirs et examens sur : www.kiteb.net
  • 266.
    Page 1/2 Important :Dans le répertoire Bac2019, créez un dossier de travail ayant comme nom votre numéro d’inscription (6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solutions de ce sujet. Le responsable de marketing d’une société veut créer un nom pour un nouvel article à partir de N noms de produits existants, sachant que ces derniers ont le même nombre de caractères. Le procédé ci-après a été sélectionné pour générer des propositions à utiliser dans le choix du nouveau nom. - Choisir un entier P inférieur à la longueur des noms des produits. - Former une chaîne en concaténant le Pième caractère de chaque nom des N produits existants. - Procéder à des permutations spirales des N lettres obtenues pour avoir N propositions à exploiter. Le principe de la permutation spirale consiste à concaténer les différents caractères d’une chaîne de manière spirale en commençant par le dernier caractère (dernier caractère, premier caractère, avant dernier caractère, deuxième caractère, etc…). Ce principe est illustré par l’exemple ci-dessous, qui pour une chaîne de départ "ABCDE" formée de 5 lettres et après 4 permutations spirales, on obtient la chaîne "BDECA". La 5ème permutation spirale permet de retrouver la chaîne de départ. On se propose d’écrire un programme Pascal permettant :  de remplir un tableau Nom par les N noms des produits déjà commercialisés (avec 3 ≤ N ≤ 20), sachant que le nom d’un produit est une chaîne formée de 10 lettres majuscules,  de former une chaîne CH en concaténant le Pième caractère de chaque nom des N produits déjà commercialisés,  de procéder à des permutations spirales des N lettres de la chaîne CH,  d’afficher les N propositions obtenues. ÉPREUVE PRATIQUE D’INFORMATIQUE RÉPUBLIQUE TUNISIENNE MINISTÈRE DE L’ÉDUCATION  EXAMEN DU BACCALAURÉAT SESSION 2019 Sections : Mathématiques, Sciences expérimentales et Sciences techniques Durée : 1h Coefficient de l’épreuve : 0.5 Devoirs et examens sur: www.kiteb.net
  • 267.
    Page 2/2 Ci-après, unalgorithme du programme principal dans lequel des modifications seront apportées pour répondre aux besoins cités ci-dessus : 0) Début Nomination 1) Ecrire ("Donner le nombre de produits : "), Lire (N) 2) Pour i de 1 à N faire Ecrire ("Donner le nom du produit n° ", i, " : ") Lire (Nom[i]) Fin pour 3) PROC Spirale (Nom, N) 4) Fin Nomination Travail demandé : 1) Traduire l’algorithme Nomination en un programme Pascal et ajouter les déclarations nécessaires puis enregistrer le programme, dans votre dossier de travail, sous le nom "Nom0". NB : Il est recommandé de limiter la taille des éléments du tableau Nom à 10 caractères. 2) Dans votre dossier de travail, créer une deuxième copie de ce programme et l’enregistrer sous le nom "Nom1". Dans ce fichier : a- Transformer les séquences 1 et 2 en un module puis apporter les modifications adéquates dans le programme principal. Dans ce module, ajouter les contrôles nécessaires pour que :  N soit un entier de l’intervalle [3,20],  le nom d’un produit soit une chaîne formée de 10 lettres majuscules. b- Développer la procédure Spirale permettant de :  saisir un entier P (avec 1 ≤ P ≤ 10),  former la chaîne CH en concaténant le Pième caractère de chaque nom,  générer, dans un tableau TP, les N propositions de noms obtenues suite à la permutation spirale expliquée précédemment. c- Dans la procédure Spirale, développer un module Affichage (TP, N) permettant d’afficher les N propositions de noms générés puis apporter les modifications nécessaires. Exemple : Pour N = 5, P = 3 et le tableau Nom suivant : Nom CHOCOFRAIS MYBISCOTTO CONFITPLUS CAFFERITTA CHOCOCHIPS 1 2 3 4 5 La chaîne CH est "OBNFO" Les N propositions à utiliser sont : OBNFO – OOFBN – NOBOF – FNOOB – BFONO Grille d’évaluation Tâches Nombre de points 1) Traduction de l’algorithme Nomination en Pascal et ajout des déclarations nécessaires. 4 2) a- Transformation des séquences 1 et 2 en un module et ajout des contrôles nécessaires. b- Développement de la procédure Spirale. c- Développement du module Affichage. 5.75 7.5 2.75 Devoirs et examens sur: www.kiteb.net
  • 268.
    Page 1/2 ÉPREUVE PRATIQUED’INFORMATIQUE RÉPUBLIQUE TUNISIENNE MINISTÈRE DE L’ÉDUCATION  EXAMEN DU BACCALAURÉAT SESSION 2019 Sections : Mathématiques, Sciences expérimentales et Sciences techniques Durée : 1h Coefficient de l’épreuve : 0.5 Important : Dans le répertoire Bac2019, créez un dossier de travail ayant comme nom votre numéro d’inscription (6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solutions de ce sujet. Le jeu de tir à l’arc consiste à tirer des flèches en utilisant un arc vers un endroit cible. Un club de tir à l’arc organise une compétition entre ses joueurs. Cette compétition consiste à donner à chaque joueur trois essais de tir. A chaque tir, le joueur gagne de 0 à 10 points selon l’endroit touché par la flèche sur une cible composée de 10 cercles concentriques comme l’illustre la figure ci-contre. Après le 3ème essai, un score est calculé pour chaque joueur représentant la somme des résultats de ses trois essais, et ce pour classer les joueurs. On se propose d’écrire un programme Pascal permettant : • de remplir un tableau A par N noms de joueurs participant à cette compétition (avec 2 ≤ N ≤ 20), • de calculer le score de chaque joueur sachant que le résultat d’un essai est un entier positif inférieur ou égal à 10, • d’afficher la liste des joueurs ainsi que les scores correspondants en commençant par le meilleur. Exemple : Pour N = 4 et le tableau A suivant : A Mohamed ABIDI Fatma AYADI Anis OMRI Imen LOUIZ 1 2 3 4 En considérant que les résultats des trois essais ainsi que les scores calculés des quatre joueurs sont les suivants : Joueur Essai n°1 Essai n°2 Essai n°3 Score Mohamed ABIDI 8 10 9 27 Fatma AYADI 10 7 10 27 Anis OMRI 7 9 7 23 Imen LOUIZ 9 9 10 28 La liste des joueurs affichée sera la suivante : Imen LOUIZ avec un score de 28 Mohamed ABIDI avec un score de 27 Fatma AYADI avec un score de 27 Anis OMRI avec un score de 23 Devoirs et examens sur: www.kiteb.net
  • 269.
    Page 2/2 Ci-après, unalgorithme du programme principal dans lequel des modifications seront apportées pour répondre aux besoins cités ci-dessus : 0) Début TirArc 1) Répéter Ecrire ("Donner le nombre de joueurs : "), Lire (N) Jusqu’à (N dans [2..20]) 2) Pour i de 1 à N faire Répéter Ecrire ("Donner le nom du joueur n°", i," : "), Lire (A[i]) Jusqu’à (FN Alpha (A[i])) Fin pour 3) PROC Score (A, N) 4) Fin TirArc Travail demandé : 1) Traduire l’algorithme TirArc en Pascal et ajouter les déclarations nécessaires puis enregistrer le programme, dans votre dossier de travail, sous le nom "TirArc0". NB : Il est recommandé de limiter la taille des éléments du tableau A à 30 caractères. 2) Dans votre dossier de travail, créer une deuxième copie de ce programme et l’enregistrer sous le nom "TirArc1". Dans ce fichier : a- Transformer la séquence 2 en un module et apporter les modifications nécessaires dans le programme principal. b- Développer la fonction Alpha qui permet de vérifier si le nom d’un joueur est une suite de 30 lettres au maximum et pouvant contenir des espaces. c- Développer le module Score permettant :  de saisir les résultats des trois essais de chaque joueur et de calculer son score,  d’afficher la liste des joueurs ainsi que leurs scores selon un ordre décroissant des scores. Grille d’évaluation Tâches Nombre de points 1) Traduction de l’algorithme TirArc en Pascal et ajout des déclarations nécessaires. 5.5 2) a- Transformation de la séquence 2 en un module b- Développement de la fonction Alpha. c- Développement du module Score. 2 4.5 8 Devoirs et examens sur: www.kiteb.net
  • 270.
    Page 1/2 Important :Dans le répertoire Bac2019, créez un dossier de travail ayant comme nom votre numéro d’inscription (6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solutions de ce sujet. Le plagiat est une mauvaise pratique qui consiste à copier ou s'inspirer fortement d'une œuvre sans citer son auteur et en faisant passer cette œuvre pour la sienne. On suppose qu’un texte est plagié lorsque le nombre de mots communs dépasse la moitié du nombre de mots du texte d’origine. Exemple : Texte à tester : ENTRE DEUX VERSIONS DU MEME DOCUMENT CE LOGICIEL PERMET DE CHERCHER LE NOMBRE DE MOTS IDENTIQUES. Texte d’origine : CE PROGRAMME PERMET DE TROUVER LE NOMBRE DE MOTS IDENTIQUES DANS DEUX VERSIONS DU MEME TEXTE. Les mots communs aux deux textes sont : DEUX – VERSIONS – DU – MEME – CE – PERMET – DE – LE – NOMBRE – DE – MOTS – IDENTIQUES Le texte testé est plagié. En effet, le nombre de mots communs aux deux textes est égal à 12, dépassant ainsi la moitié du nombre de mots du texte d’origine qui est 16. On se propose d’écrire un programme Pascal qui permet de saisir deux textes T1 et T2 ayant un même nombre de mots, de vérifier si T2 est plagiat de T1 selon le principe décrit précédemment et d’afficher un message correspondant. Ci-après, un algorithme du programme principal dans lequel des modifications seront apportées pour répondre aux besoins cités ci-dessus, avec Nbc désigne le nombre de mots communs à T1 et T2 : 0) Début Plagiat 1) Répéter Lire (T1) Lire (T2) Jusqu’à (FN Nbmots (T1) = FN Nbmots (T2)) 2) Nbc  FN Commun (T1,T2) 3) Fin Plagiat ÉPREUVE PRATIQUE D’INFORMATIQUE RÉPUBLIQUE TUNISIENNE MINISTÈRE DE L’ÉDUCATION  EXAMEN DU BACCALAURÉAT SESSION 2019 Sections : Mathématiques, Sciences expérimentales et Sciences techniques Durée : 1h Coefficient de l’épreuve : 0.5 Devoirs et examens sur: www.kiteb.net
  • 271.
    Page 2/2 4 Travail demandé: 1) Traduire l’algorithme Plagiat en un programme Pascal et ajouter les déclarations nécessaires puis enregistrer le programme, dans votre dossier de travail, sous le nom "Plagiat0". 2) Dans votre dossier de travail, créer une deuxième copie de ce programme et l’enregistrer sous le nom "Plagiat1". Dans ce fichier : a- Développer un module intitulé Saisir qui permet de saisir une chaîne commençant obligatoirement par une lettre, composée au maximum de 200 caractères, se terminant par un point et ne pouvant contenir que des lettres majuscules et des espaces. Puis, apporter les modifications nécessaires dans le programme principal. Ce module permet aussi d’enlever les espaces superflus (garder un seul espace entre deux mots consécutifs et ne garder aucun espace avant le point de fin de texte). b- Développer le module Nbmots qui permet de déterminer le nombre de mots dans un texte. c- Développer le module Commun, qui permet de déterminer le nombre de mots communs dans deux textes donnés. d- Apporter les modifications nécessaires au programme afin de vérifier si le texte testé est plagié et d’afficher le message correspondant. Grille d’évaluation Tâches Nombre de points 1) Traduction de l’algorithme Plagiat en Pascal et ajout des déclarations nécessaires. 4.5 2) a- Développement du module Saisir. b- Développement du module Nbmots. c- Développement du module Commun. d- Vérification et affichages nécessaires. 5.5 3.5 5 1.5 Devoirs et examens sur: www.kiteb.net
  • 272.
    Page 1/2 ÉPREUVE PRATIQUED’INFORMATIQUE RÉPUBLIQUE TUNISIENNE MINISTÈRE DE L’ÉDUCATION  EXAMEN DU BACCALAURÉAT SESSION 2019 Sections : Mathématiques, Sciences expérimentales et Sciences techniques Durée : 1h Coefficient de l’épreuve : 0.5 Important : Dans le répertoire Bac2019, créez un dossier de travail ayant comme nom votre numéro d’inscription (6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solutions de ce sujet. Un gérant d’une salle de sport veut récompenser les adhérents fidèles en leur offrant un bonus sous forme d’heures d’entraînement gratuites, calculé à partir de leurs numéros d’abonnement. Le bonus est calculé en fonction de l’ancienneté de l’adhérent, exprimée en nombre de mois par rapport à la date du jour. En effet, une heure supplémentaire est offerte pour chaque mois d’ancienneté, sachant que le bonus ne sera pris en considération que si l’ancienneté dépasse 5 ans. Un numéro d’abonnement est formé de 10 caractères dont le premier est une lettre majuscule indiquant la catégorie de l’adhérent (A : Adulte, J : Junior, E : Enfant) suivi de 9 chiffres répartis comme suit : • Les 4 premiers chiffres représentent l’année d’adhésion qui doit être comprise entre 2000 et 2019. • Les 2 suivants représentent le mois d’adhésion dont la valeur doit être comprise entre 1 et 12. • Les 3 derniers chiffres représentent le numéro d’adhésion qu’on suppose distinct pour tous les adhérents. Exemple : Pour le numéro d’abonnement E201403080, l’adhérent est un enfant dont l’année d’adhésion est 2014, le mois d’adhésion est 03 (mars) et son numéro d’adhésion est 080. Le bonus accordé à cet adhérent est de 62 heures. En effet, son ancienneté est égale à cinq ans et deux mois par rapport à la date d’aujourd’hui (28/05/2019), en nombre de mois elle est égale à 62 (12*5 + 2). On se propose d’écrire un programme Pascal qui permet : • de saisir un entier N représentant le nombre d’adhérents de cette salle (avec 5 ≤ N ≤ 30), • de remplir un tableau TA par les N numéros d’abonnements de ces adhérents en respectant le format décrit précédemment, • d’afficher les numéros d’abonnements des adhérents ayant une ancienneté supérieure à 5 ans et appartenant à une catégorie donnée ainsi que leurs bonus correspondants sachant que la date du jour à considérer est 28/05/2019. Ci-après, un algorithme du programme principal dans lequel des modifications seront apportées pour répondre aux besoins cités ci-dessus : 0) Début Fidelite 1) Répéter Ecrire ("Donner le nombre des adhérents :"), Lire (N) Jusqu’à (N dans [5..30]) 2) PROC Remplir (TA, N) 3) PROC Bonus (TA, N) 4) Fin Fidelite Devoirs et examens sur: www.kiteb.net
  • 273.
    Page 2/2 Travail demandé: 1) Traduire l’algorithme Fidelite en un programme Pascal et ajouter les déclarations nécessaires puis enregistrer le programme, dans votre dossier de travail, sous le nom "Fidele0". NB : Il est recommandé de limiter la taille des éléments du tableau TA à 10 caractères. 2) Dans votre dossier de travail, créer une deuxième copie de ce programme et l’enregistrer sous le nom "Fidele1". Dans ce fichier : a- Transformer la séquence 1 en un module et apporter les modifications nécessaires dans le programme principal. b- Développer le module Remplir qui permet de remplir un tableau TA par les N numéros d’abonnements en respectant la forme décrite précédemment. c- Développer le module Bonus permettant : • de saisir une catégorie d’adhérents, qui doit être une lettre majuscule parmi les suivantes : A, J ou E, • d’afficher les numéros ainsi que les bonus correspondants aux abonnements appartenant à la catégorie donnée et ayant une ancienneté supérieure à 5 ans. Grille d’évaluation Tâches Nombre de points 1) Traduction de l’algorithme Fidelite en Pascal et ajout des déclarations nécessaires. 4 2) a- Transformation de la séquence 1 en un module. b- Développement du module Remplir. c- Développement du module Bonus. 1.5 6.5 8 Devoirs et examens sur: www.kiteb.net
  • 274.
    Page 1/2 Important :Dans le répertoire Bac2019, créez un dossier de travail ayant comme nom votre numéro d’inscription (6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solutions de ce sujet. Un spécialiste en psychologie analytique veut faire une étude sur les heures qui se disent heures miroirs et ce, à partir des heures de naissances des nouveau-nés. Les heures miroirs sont classées selon trois types à savoir les heures miroirs doublées, les heures miroirs triplées et les heures miroirs inversées. Pour commencer cette étude, il a demandé auprès de l’administration d’un hôpital de lui fournir, pour une journée donnée, la liste des noms et prénoms des nouveau-nés ainsi que les heures de leurs naissances. Selon la représentation horaire HH:MM, l’heure miroir est dite : - doublée si le nombre qui représente l’heure est le même que celui qui représente les minutes (exemples 13:13, 22:22, 15:15, …) - triplée s’il existe une séquence de trois chiffres identiques et consécutifs (exemples 22:22, 22:29, 10:00, …) - inversée si les chiffres qui représentent les minutes sont l’inverse de ceux qui représentent l’heure (exemples 13:31, 14:41, 22:22, …) NB : Une heure miroir peut être à la fois doublée, triplée et inversée. Pour faire cette étude, on se propose d’écrire un programme Pascal qui permet de remplir deux tableaux NP et HN respectivement par : - les noms et les prénoms des N nouveau-nés de la journée, - l’heure de naissance de chacun, puis d’afficher : - la liste des nouveau-nés ayant une heure de naissance miroir, en précisant pour chacun le type de l’heure miroir correspondant (doublée, triplée ou inversée), - le nombre des nouveau-nés ayant l’heure de naissance miroir doublée, - le nombre des nouveau-nés ayant l’heure de naissance miroir triplée, - le nombre des nouveau-nés ayant l’heure de naissance miroir inversée. Exemple : Pour N = 10 et les tableaux NP et HN suivants : NP Rania Kefi Karim Salhi Hatem Krid Sahar Feki Maha Sessi Fedi Krayem Amin Douaji Dina Selmi Samir Siala Abir Zekri HN 06:05 11:14 12:23 13:13 14:44 15:51 20:33 21:11 22:22 23:07 ÉPREUVE PRATIQUE D’INFORMATIQUE RÉPUBLIQUE TUNISIENNE MINISTÈRE DE L’ÉDUCATION  EXAMEN DU BACCALAURÉAT SESSION 2019 Sections : Mathématiques, Sciences expérimentales et Sciences techniques Durée : 1h Coefficient de l’épreuve : 0.5 Devoirs et examens sur : www.Kiteb.net
  • 275.
    Page 2/2 Le programmeaffiche : Les nouveau-nés ayant l’heure de naissance miroir sont : Karim Salhi : heure miroir triplée Sahar Feki : heure miroir doublée Maha Sessi : heure miroir triplée Fedi Krayem : heure miroir inversée Dina Selmi : heure miroir triplée Samir Siala : heure miroir doublée Samir Siala : heure miroir triplée Samir Siala : heure miroir inversée Le nombre des nouveau-nés ayant l’heure de naissance miroir doublée est 2. Le nombre des nouveau-nés ayant l’heure de naissance miroir triplée est 4. Le nombre des nouveau-nés ayant l’heure de naissance miroir inversée est 2. Ci-après, un algorithme du programme principal dans lequel des modifications seront apportées pour répondre aux besoins cités ci-dessus : 0) Début HeureMiroir 1) Ecrire ("Donner le nombre de nouveau-nés : "), Lire (N) 2) PROC Remplissage (NP, HN, N) 3) PROC Affichage (NP, HN, N) 4) Fin HeureMiroir Travail demandé : 1) Traduire l’algorithme HeureMiroir en Pascal et ajouter les déclarations nécessaires puis enregistrer le programme, dans votre dossier de travail, sous le nom "HMiroir0". NB : Il est recommandé de limiter la taille des éléments des tableaux à 30 caractères. 2) Dans votre dossier de travail, créer une deuxième copie de ce programme et l’enregistrer sous le nom "HMiroir1". Dans ce fichier : a- Transformer la séquence 1 en un module en ajoutant les contrôles de saisie nécessaires pour que N soit un entier de l’intervalle [3,20] et apporter les modifications adéquates dans le programme principal. b- Développer le module Remplissage permettant de remplir : - le tableau NP par les noms et les prénoms des N nouveau-nés de la journée, sachant que le nom et le prénom est une seule chaîne commençant par une lettre majuscule et formée au maximum de 30 caractères, - le tableau HN par l’heure de naissance de chaque nouveau-né, et ce en respectant le format horaire HH:MM, sachant que la valeur de HH est comprise entre 0 et 23 et celle de MM est comprise entre 0 et 59 représentée chacune sur deux chiffres. c- Développer le module Affichage permettant de faire les affichages nécessaires comme indiqué précédemment. NB : Le candidat n’est pas appelé à respecter l’ordre d’affichage de l’exemple. Grille d’évaluation Tâches Nombre de points 1) Traduction de l’algorithme HeureMiroir en Pascal et ajout des déclarations nécessaires. 3.75 2) a- Transformation de la séquence 1 en un module. b- Développement du module Remplissage. c- Développement du module Affichage. 2.5 6.75 7 Devoirs et examens sur : www.Kiteb.net
  • 276.
    Page 1 sur2 NOUVEAU RÉGIME EXAMEN DU BACCALAURÉAT SESSION 2022 RÉPUBLIQUE TUNISIENNE  MINISTÈRE DE L’ÉDUCATION ÉPREUVE PRATIQUE D’INFORMATIQUE Sections : Mathématiques, Sciences expérimentales et Sciences techniques Durée : 1h Coefficient de l’épreuve : 0.5 Important : 1. Une solution modulaire au problème posé est exigée. 2. Dans le répertoire Bac2022, créez un dossier de travail ayant comme nom votre numéro d’inscription (6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solution à ce sujet. Le nombre ondulant Un nombre N est dit ondulant s’il est formé de trois chiffres au minimum et qui est de la forme ababab…avec a  b. Exemples : ▪ 101, 2525, 56565 et 1717171 sont des nombres ondulants. ▪ 12345 et 808008 ne sont pas des nombres ondulants Pour vérifier si un entier naturel N (N  100) est un nombre ondulant ou non, on se propose de concevoir une interface graphique contenant les éléments suivants : ▪ Un label contenant le texte : "Nombre ondulant " ▪ Un label demandant la saisie d’un nombre "Introduire un entier  100 : " ▪ Une zone de saisie permettant la saisie du nombre ▪ Un bouton intitulé "Vérifier" ▪ Un label pour afficher le message adéquat Travail demandé : 1) Concevoir une interface graphique comme illustrée ci-dessus et l’enregistrer, dans votre dossier de travail, sous le nom "InterfaceOndulant". 2) Créer un programme Python et l’enregistrer, dans votre dossier de travail, sous le nom "NbrOndulant". 3) Développer, dans le programme "NbrOndulant", une fonction Ondulant(N) qui permet de vérifier si un entier N est ondulant ou non. 4) Dans le programme "NbrOndulant" : • ajouter les instructions permettant d’appeler l’interface graphique intitulée "InterfaceOndulant" en exploitant l’annexe ci-après. • développer un module "Play", qui s’exécute suite à un clic sur le bouton "Vérifier", permettant de récupérer l’entier N saisi, puis d’exploiter la fonction "Ondulant" afin d’afficher le message adéquat via le label dédié à l’affichage de l’interface "InterfaceOndulant". N.B. : l’affichage du message doit être conforme aux exemples d’exécution suivants : Kiteb.net : Le site web éducatif.
  • 277.
    Page 2 sur2 Exemples d’exécution : Grille d’évaluation Tâches Nombre de points Conception de l’interface "InterfaceOndulant" 4 pts Création et enregistrement du programme "NbrOndulant" 1 pt Développement de la fonction "Ondulant" 6 pts Ajout des instructions : ▪ de l’interface "InterfaceOndulant" ▪ du module "Play" 2 pts 4 pts Importation des bibliothèques nécessaires, modularité et cohérence 3 pts Annexe from PyQt5.uic import loadUi from PyQt5.QtWidgets import QApplication …… …… app = QApplication([]) windows = loadUi ("Nom_Interface.ui") windows.show() windows.Nom_Bouton.clicked.connect (Nom_Module) app.exec_() Kiteb.net : Le site web éducatif.
  • 278.
    Page 1 sur2 NOUVEAU RÉGIME EXAMEN DU BACCALAURÉAT SESSION 2022 RÉPUBLIQUE TUNISIENNE  MINISTÈRE DE L’ÉDUCATION ÉPREUVE PRATIQUE D’INFORMATIQUE Sections : Mathématiques, Sciences expérimentales et Sciences techniques Durée : 1h Coefficient de l’épreuve : 0.5 Important : 1. Une solution modulaire au problème posé est exigée. 2. Dans le répertoire Bac2022, créez un dossier de travail ayant comme nom votre numéro d’inscription (6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solution à ce sujet. Le nombre super-pairplus Un nombre N est dit super-pairplus s’il vérifie les trois conditions suivantes : ▪ Condition 1 : N est pair ▪ Condition 2 : N est formé uniquement par des chiffres pairs ▪ Condition 3 : tous les diviseurs de N autre que 1 sont des entiers pairs. Exemples : - N = 64 est un entier super-pairplus car 64 vérifie les trois conditions : • Condition 1 : 64 est pair • Condition 2 : 64 est formé uniquement par des chiffres pairs (6 et 4) • Condition 3 : les diviseurs de 64 autre que 1 (2, 4, 8, 16, 32 et 64) sont des entiers pairs. - N = 28 n’est pas un entier super-pairplus car une des trois conditions (condition 3) n’est pas vérifiée : • Condition 1 : 28 est pair • Condition 2 : 28 est formé uniquement par des chiffres pairs (2 et 8) • Condition 3 : les diviseurs de 28 autre que 1 (2, 4, 7, 14 et 28) ne sont pas tous des entiers pairs. En effet, 7 est impair Pour vérifier si un entier naturel N (N > 0) est un nombre super-pairplus ou non, on se propose de concevoir une interface graphique contenant les éléments suivants : ▪ Un label contenant le texte : "Nombre super-pairplus " ▪ Un label demandant la saisie d’un nombre "Introduire un entier > 0 : " ▪ Une zone de saisie permettant la saisie du nombre ▪ Un bouton intitulé "Vérifier" ▪ Un label pour afficher le message adéquat Travail demandé : 1) Concevoir une interface graphique comme illustrée ci-dessus et l’enregistrer, dans votre dossier de travail, sous le nom "InterfaceSuperPairplus". 2) Créer un programme Python et l’enregistrer, dans votre dossier de travail, sous le nom "NbrSuperPairplus". 3) Développer, dans le programme " NbrSuperPairplus", une fonction SuperPairplus (N) qui permet de vérifier si un entier N est super-pairplus ou non. Kiteb.net : Le site web éducatif.
  • 279.
    Page 2 sur2 4) Dans le programme " NbrSuperPairplus" : • ajouter les instructions permettant d’appeler l’interface graphique intitulée "InterfaceSuperPairplus" en exploitant l’annexe ci-après. • développer un module "Play", qui s’exécute suite à un clic sur le bouton "Vérifier", permettant de récupérer l’entier N saisi, puis d’exploiter la fonction "SuperPairplus" afin d’afficher le message adéquat via le label dédié à l’affichage de l’interface "InterfaceSuperPairplus". N.B. : l’affichage du message doit être conforme aux exemples d’exécution suivants : Exemples d’exécution : Grille d’évaluation Tâches Nombre de points Conception de l’interface "InterfaceSuperPairplus" 4 pts Création et enregistrement du programme "NbrSuperPairplus" 1 pt Développement de la fonction "SuperPairplus" 6 pts Ajout des instructions : ▪ de l’interface "InterfaceSuperPairplus" ▪ du module "Play" 2 pts 4 pts Importation des bibliothèques nécessaires, modularité et cohérence 3 pts Annexe from PyQt5.uic import loadUi from PyQt5.QtWidgets import QApplication …… …… app = QApplication([]) windows = loadUi ("Nom_Interface.ui") windows.show() windows.Nom_Bouton.clicked.connect (Nom_Module) app.exec_() Kiteb.net : Le site web éducatif.
  • 280.
    Page 1 sur2 NOUVEAU RÉGIME EXAMEN DU BACCALAURÉAT SESSION 2022 RÉPUBLIQUE TUNISIENNE  MINISTÈRE DE L’ÉDUCATION ÉPREUVE PRATIQUE D’INFORMATIQUE Sections : Mathématiques, Sciences expérimentales et Sciences techniques Durée : 1h Coefficient de l’épreuve : 0.5 Important : 1. Une solution modulaire au problème posé est exigée. 2. Dans le répertoire Bac2022, créez un dossier de travail ayant comme nom votre numéro d’inscription (6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solution à ce sujet. Le nombre semi-premier Un nombre N est dit semi-premier lorsqu’il est égal au produit de deux nombres premiers non nécessairement distincts. C’est-à-dire N = k*k avec k est un nombre premier ou N = k*j avec k et j sont deux nombres premiers. Exemples : - 6 est un nombre semi-premier car 6 = 2 × 3 avec 2 et 3 sont deux nombres premiers. - 25 est un nombre semi-premier car 25 = 5 × 5 avec 5 est un nombre premier. - 831 est un nombre semi-premier car 831= 3 × 277 avec 3 et 277 sont deux nombres premiers - 8 n’est pas un nombre semi-premier, car 8 = 2 × 4 avec 4 n’est pas un nombre premier. Pour vérifier si un entier naturel N (N > 2) est un nombre semi-premier ou non, on se propose de concevoir une interface graphique contenant les éléments suivants :  Un label contenant le texte : "Nombre semi-premier"  Un label demandant la saisie d’un nombre : "Introduire un entier > 2 : "  Une zone de saisie permettant la saisie du nombre  Un bouton intitulé "Vérifier"  Un label pour afficher le message adéquat Travail demandé : 1) Concevoir une interface graphique comme illustrée ci-dessus et l’enregistrer, dans votre dossier de travail, sous le nom "InterfaceSemiPremier". 2) Créer un programme Python et l’enregistrer, dans votre dossier de travail, sous le nom "NbrSemiPremier". 3) Développer, dans le programme "NbrSemiPremier", une fonction SemiPremier(N) qui permet de vérifier si un entier N est semi-premier ou non. Kiteb.net : Le site web éducatif.
  • 281.
    Page 2 sur2 4) Dans le programme "NbrSemiPremier" :  ajouter les instructions permettant d’appeler l’interface graphique intitulée "InterfaceSemiPremier" en exploitant l’annexe ci-après.  développer un module "Play", qui s’exécute suite à un clic sur le bouton "Vérifier", permettant de récupérer l’entier N saisi, puis d’exploiter la fonction "SemiPremier" afin d’afficher le message adéquat via le label dédié à l’affichage de l’interface "InterfaceSemiPremier". N.B. :  Le candidat est appelé à développer un module qui permet de vérifier la primalité d’un entier sans faire recours à des fonctions prédéfinies telles que isprime().  l’affichage du message doit être conforme aux exemples d’exécution suivants : Exemples d’exécution : Grille d’évaluation Tâches Nombre de points Conception de l’interface "InterfaceSemiPremier" 4 pts Création et enregistrement du programme "NbrSemiPremier" 1 pt Développement de la fonction "SemiPremier" 6 pts Ajout des instructions :  de l’interface "InterfaceSemiPremier"  du module "Play" 2 pts 4 pts Importation des bibliothèques nécessaires, modularité et cohérence 3 pts Annexe from PyQt5.uic import loadUi from PyQt5.QtWidgets import QApplication …… …… app = QApplication([]) windows = loadUi ("Nom_Interface.ui") windows.show() windows.Nom_Bouton.clicked.connect (Nom_Module) app.exec_() Kiteb.net : Le site web éducatif.
  • 282.
    Page 1 sur2 NOUVEAU RÉGIME EXAMEN DU BACCALAURÉAT SESSION 2022 RÉPUBLIQUE TUNISIENNE  MINISTÈRE DE L’ÉDUCATION ÉPREUVE PRATIQUE D’INFORMATIQUE Sections : Mathématiques, Sciences expérimentales et Sciences techniques Durée : 1h Coefficient de l’épreuve : 0.5 Important : 1. Une solution modulaire au problème posé est exigée. 2. Dans le répertoire Bac2022, créez un dossier de travail ayant comme nom votre numéro d’inscription (6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solution à ce sujet. Le nombre lisse Un nombre N est dit lisse lorsque son plus grand diviseur premier est inférieur ou égal à la racine carrée du nombre N. Exemples : - N = 60, les diviseurs de 60 sont : 1, 2, 3, 4, 5, 6, 10, 12, 15, 30 et 60. Son plus grand diviseur premier est 5 et puisque 5  √60 = 7.746 …, donc 60 est un nombre lisse. - N = 49, les diviseurs de 49 sont : 1, 7 et 49. Son plus grand diviseur premier est 7 et puisque 7  √49 = 7 donc 49 est un nombre lisse. - N = 22, les diviseurs de 22 sont : 1, 2, 11 et 22. Son plus grand diviseur premier est 11 et puisque 11 > √22 = 4.690 …, donc 22 n’est pas un nombre lisse. Pour vérifier si un entier naturel N (N > 1) est un nombre lisse ou non, on se propose de concevoir une interface graphique contenant les éléments suivants : ▪ Un label contenant le texte : "Nombre lisse" ▪ Un label demandant la saisie d’un nombre : "Introduire un entier > 1 : " ▪ Une zone de saisie permettant la saisie du nombre ▪ Un bouton nommé "Vérifier" ▪ Un label pour afficher le message adéquat Travail demandé : 1) Concevoir une interface graphique comme illustrée ci-dessus et l’enregistrer, dans votre dossier de travail, sous le nom "InterfaceLisse". 2) Créer un programme Python et l’enregistrer, dans votre dossier de travail, sous le nom "NbrLisse". 3) Développer, dans le programme "NbrLisse", une fonction Lisse(N) qui permet de vérifier si un entier N est lisse ou non. Kiteb.net : Le site web éducatif.
  • 283.
    Page 2 sur2 4) Dans le programme "NbrLisse" : • ajouter les instructions permettant d’appeler l’interface graphique intitulée "InterfaceLisse" en exploitant l’annexe ci-après. • développer un module "Play", qui s’exécute suite à un clic sur le bouton "Vérifier", permettant de récupérer l’entier N saisi, puis d’exploiter la fonction "Lisse" afin d’afficher le message adéquat via le label dédié à l’affichage de l’interface "InterfaceLisse". N.B. : ▪ Le candidat est appelé à développer un module qui permet de vérifier la primalité d’un entier sans faire recours à des fonctions prédéfinies telles que isprime(). ▪ l’affichage du message doit être conforme aux exemples d’exécution suivants : Exemples d’exécution : Grille d’évaluation Tâches Nombre de points Conception de l’interface "InterfaceLisse" 4 pts Création et enregistrement du programme "NbrLisse" 1 pt Développement de la fonction "Lisse" 6 pts Ajout des instructions : ▪ de l’interface "InterfaceLisse" ▪ du module "Play" 2 pts 4 pts Importation des bibliothèques nécessaires, modularité et cohérence 3 pts Annexe from PyQt5.uic import loadUi from PyQt5.QtWidgets import QApplication …… …… app = QApplication([]) windows = loadUi ("Nom_Interface.ui") windows.show() windows.Nom_Bouton.clicked.connect (Nom_Module) app.exec_() Kiteb.net : Le site web éducatif.
  • 284.
    SESSION 0202 EXAMEN DUBACCALAURÉAT RÉPUBLIQUE TUNISIENNE  Ministère de l'Éducation PRATIQUE D’INFORMATIQUE ÉPREUVE Sections : Mathématiques, Sciences expérimentales et Sciences techniques Durée : 1h Coefficient de l’épreuve : 0.5 Important : 1. Une solution modulaire au problème posé est exigée. 2. Dans le répertoire Bac2023, créez un dossier de travail ayant comme nom votre numéro d’inscription (6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solution à ce sujet. Page 1 sur 2 Succession parfaite On se propose de concevoir une interface graphique permettant de saisir deux nombres positifs M et N puis de vérifier s’ils forment une succession parfaite ou non. Une succession parfaite de deux nombres positifs M et N est une chaîne de caractères ch formée par une succession de chiffres consécutifs distincts où le pas de la succession est égal à 1. Cette chaîne est obtenue en concaténant les chiffres de M et N puis en les triant dans l’ordre croissant. Exemples :  Pour M=2748 et N=365, ch = "2345678". Les chiffres de ch forment une succession parfaite. En effet, le pas de la succession est égal à 1 entre tous les chiffres de ch.  Pour M=8473 et N=546, ch = "3445678". Les chiffres de ch ne forment pas une succession parfaite. En effet, le pas de la succession est différent de 1 entre le deuxième et le troisième chiffre.  Pour M=2748 et N=956, ch = "2456789". Les chiffres de ch ne forment pas une succession parfaite. En effet, le pas de la succession est différent de 1 entre le premier et le deuxième chiffre. L’interface graphique à concevoir contient les éléments suivants, comme l’illustre la capture d’écran ci-dessous :  Un label contenant le texte " Succession parfaite"  Un label contenant le texte "M = "  Une zone de saisie pour la saisie du nombre M  Un label contenant le texte " N= "  Une zone de saisie pour la saisie du nombre N  Un label pour afficher le message adéquat  Un bouton intitulé "Vérifier" Travail demandé : 1) Concevoir l’interface graphique présentée précédemment et l’enregistrer sous le nom InterfaceSuccession. 2) Créer un programme Python et l’enregistrer sous le nom Succession, dans lequel, il est demandé : a) de développer une fonction nommée Verifier (M,N) qui permet de vérifier si M et N forment une succession parfaite ou non. Sujet 01
  • 285.
    Page 2 sur2 b) de développer un module Play qui s’exécute suite à un clic sur le bouton "Vérifier", permettant :  de récupérer les deux entiers M et N saisis qui doivent être positifs.  d’exploiter la fonction Verifier (M,N) afin d’afficher le message adéquat via le label dédié à l’affichage dans l’interface graphique InterfaceSuccession. c) d’ajouter les instructions permettant d’exploiter l’interface graphique intitulée InterfaceSuccession en se référant à l’annexe ci-après. N.B. : l’affichage doit être conforme aux exemples d’exécutions suivants : Exemples d’exécutions : Grille d’évaluation Tâches Nombre de points Conception de l’interface InterfaceSuccession 4 pts Création et enregistrement du programme Succession 1 pt Développement de la fonction Verifier 6 pts Développement du module Play 4 pts Ajout des instructions de l’exploitation de l’interface 3 pts Modularité et cohérence 2 pts Annexe from PyQt5.uic import loadUi from PyQt5.QtWidgets import QApplication …… …… app = QApplication([]) windows = loadUi ("Nom_Interface.ui") windows.show() windows.Nom_Bouton.clicked.connect (Nom_Module) app.exec_()
  • 286.
    SESSION 0202 EXAMEN DUBACCALAURÉAT RÉPUBLIQUE TUNISIENNE  Ministère de l'Éducation PRATIQUE D’INFORMATIQUE ÉPREUVE Sections : Mathématiques, Sciences expérimentales et Sciences techniques Durée : 1h Coefficient de l’épreuve : 0.5 Important : 1. Une solution modulaire au problème posé est exigée. 2. Dans le répertoire Bac2023, créez un dossier de travail ayant comme nom votre numéro d’inscription (6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solution à ce sujet. Page 1 sur 3 Rotation - Miroir On se propose de concevoir une interface graphique permettant de saisir une chaîne de caractères ch et de la crypter en utilisant le principe suivant :  Etape 1 : Rotation13 Effectuer, pour chaque caractère de ch, une rotation de 13 caractères dans l’ordre alphabétique en appliquant la formule Chr(97 + (Ord(ch[i]) – 97 + 13) Mod 26) pour obtenir le caractère correspondant.  Etape 2 : Miroir Transformer la chaîne de caractères obtenue à l’issue de l’Etape 1 en son miroir. C’est-à-dire permuter le premier caractère avec le dernier, le deuxième caractère avec l’avant dernier et ainsi de suite. Exemple : Pour ch = "algo"  Etape 1 : Rotation13 - le caractère "a" sera crypté en "n". En effet, Chr(97+(Ord("a")-97+13) Mod 26) = Chr(110) qui correspond au caractère "n" - le caractère "l" sera crypté en "y". En effet, Chr(97+(Ord("l")-97+13) Mod 26) = Chr(121) qui correspond au caractère "y". - le caractère "g" sera crypté en "t". En effet, Chr(97+(Ord("g")-97+13) Mod 26) = Chr(116) qui correspond au caractère "t". - le caractère "o" sera crypté en "b". En effet, Chr(97+(Ord("o")-97+13) Mod 26) = Chr(98) qui correspond au caractère "b". D’où le résultat de l’étape 1 est "nytb"  Etape 2 : Miroir Le miroir de la chaîne "nytb" est "btyn" Donc, le cryptage de la chaîne "algo" en appliquant le principe ci-dessus est "btyn" L’interface graphique à concevoir contient les éléments suivants, comme l’illustre la capture d’écran ci-dessous :  Un label contenant le texte "Rotation - Miroir"  Un label contenant le texte "Introduire une chaîne : "  Une zone de saisie pour la saisie d’une chaîne  Un label pour afficher le résultat  Un bouton intitulé "Crypter" Sujet 02
  • 287.
    Page 2 sur3 Travail demandé : 1) Concevoir l’interface graphique présentée précédemment et l’enregistrer sous le nom InterfaceRotationMiroir. 2) Créer un programme Python et l’enregistrer sous le nom RotationMiroir, dans lequel, il est demandé : a) d’implémenter l’algorithme suivant de la fonction Rotation qui permet de retourner le résultat de l’étape 1. b) de développer une fonction nommée Miroir (ch) qui permet de retourner le miroir d’une chaîne de caractères ch. c) de développer un module Play, qui s’exécute suite à un clic sur le bouton "Crypter", permettant :  de récupérer la chaîne ch saisie. La chaîne ch doit être non vide, de longueur inférieure à 10 et contient seulement des lettres alphabétiques en minuscule.  de déterminer la chaîne cryptée en utilisant les deux fonctions Rotation (ch) et Miroir (ch) et d’afficher le résultat via le label dédié à l’affichage dans l’interface graphique InterfaceRotationMiroir. d) d’ajouter les instructions permettant d’exploiter l’interface graphique intitulée InterfaceRotationMiroir en se référant à l’annexe ci-après. N.B. : l’affichage doit être conforme aux exemples d’exécutions suivants : Exemples d’exécutions : Déclaration des objets Objet Type/Nature i Entier res Chaîne de caractères Fonction Rotation (ch : Chaîne de caractères) : Chaîne de caractères DEBUT res"" Pour i de 0 à Long(ch)-1 Faire resres + Chr(97 + (Ord(ch[i]) – 97 + 13) Mod 26) Fin Pour Retourner (res) FIN Annexe from PyQt5.uic import loadUi from PyQt5.QtWidgets import QApplication …… …… app = QApplication([]) windows = loadUi ("Nom_Interface.ui") windows.show() windows.Nom_Bouton.clicked.connect (Nom_Module) app.exec_()
  • 288.
    Page 3 sur3 Grille d’évaluation Tâches Nombre de points Conception de l’interface "InterfaceRotationMiroir" 4 pts Création et enregistrement du programme "RotationMiroir" 1 pt Implémentation de la fonction "Rotation" 3 pts Développement de la fonction "Miroir" 3 pts Développement du module "Play" 4 pts Ajout des instructions de l’exploitation de l’interface 3 pts Modularité et cohérence 2 pts
  • 289.
    SESSION 0202 EXAMEN DUBACCALAURÉAT RÉPUBLIQUE TUNISIENNE  Ministère de l'Éducation PRATIQUE D’INFORMATIQUE ÉPREUVE Sections : Mathématiques, Sciences expérimentales et Sciences techniques Durée : 1h Coefficient de l’épreuve : 0.5 Important : 1. Une solution modulaire au problème posé est exigée. 2. Dans le répertoire Bac2023, créez un dossier de travail ayant comme nom votre numéro d’inscription (6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solution à ce sujet. Page 1 sur 2 Miroirs de mots On se propose de concevoir une interface graphique permettant de saisir une chaîne de caractères ch et de la crypter en formant une nouvelle chaîne par les miroirs des mots de ch dans leur ordre d’apparition. On rappelle que le miroir d’un mot consiste à permuter le premier caractère avec le dernier, le deuxième caractère avec l’avant dernier et ainsi de suite. Exemple : Pour ch = "La vie est une aventure merveilleuse" On obtient la chaîne cryptée : "aL eiv tse enu erutneva esuellievrem" L’interface graphique à concevoir contient les éléments suivants, comme l’illustre la capture d’écran ci-dessous :  Un label contenant le texte "Miroirs de mots"  Un label contenant le texte "Introduire une chaîne : "  Une zone de saisie pour la saisie d’une chaîne  Un label pour afficher le résultat  Un bouton intitulé "Miroir" Travail demandé : 1) Concevoir l’interface graphique présentée précédemment et l’enregistrer sous le nom InterfaceMiroirsMots. 2) Créer un programme Python et l’enregistrer sous le nom MiroirsMots, dans lequel, il est demandé : a) de développer une fonction nommée Miroir (M) qui permet de retourner le miroir d’un mot M. b) de développer un module Play, qui s’exécute suite à un clic sur le bouton "Miroir", permettant :  de récupérer la chaîne ch saisie. La chaîne ch doit être non vide et de longueur inférieure à 50, contient seulement des lettres alphabétiques en minuscule et chaque deux mots consécutifs sont séparés par un seul espace.  de déterminer la chaîne cryptée en utilisant la fonction Miroir (M) et d’afficher le résultat via le label dédié à l’affichage dans l’interface graphique InterfaceMiroirsMots. c) d’ajouter les instructions permettant d’exploiter l’interface graphique intitulée InterfaceMiroirsMots en se référant à l’annexe ci-après. Sujet 03
  • 290.
    Page 2 sur2 N.B. : l’affichage doit être conforme aux exemples d’exécutions suivants : Exemples d’exécutions : Grille d’évaluation Tâches Nombre de points Conception de l’interface "InterfaceMiroirsMots" 4 pts Création et enregistrement du programme " MiroirsMots " 1 pt Développement de la fonction "Miroir" 4 pts Développement du module "Play" 6 pts Ajout des instructions de l’exploitation de l’interface 3 pts Modularité et cohérence 2 pts Annexe from PyQt5.uic import loadUi from PyQt5.QtWidgets import QApplication …… …… app = QApplication([]) windows = loadUi ("Nom_Interface.ui") windows.show() windows.Nom_Bouton.clicked.connect (Nom_Module) app.exec_()
  • 291.
    SESSION 0202 EXAMEN DUBACCALAURÉAT RÉPUBLIQUE TUNISIENNE  Ministère de l'Éducation PRATIQUE D’INFORMATIQUE ÉPREUVE Sections : Mathématiques, Sciences expérimentales et Sciences techniques Durée : 1h Coefficient de l’épreuve : 0.5 Important : 1. Une solution modulaire au problème posé est exigée. 2. Dans le répertoire Bac2023, créez un dossier de travail ayant comme nom votre numéro d’inscription (6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solution à ce sujet. Page 1 sur 2 Triage de mots On se propose de concevoir une interface graphique permettant de saisir une chaîne de caractères ch contenant aux maximum 15 mots puis de trier les mots qui la constituent dans l’ordre croissant de leurs longueurs. Exemple : Pour ch = "une hirondelle ne fait pas le printemps." Après le triage des mots de ch, on obtient le résultat suivant : "ne le une pas fait printemps hirondelle" N.B. Le point "." indiquant la fin de la chaîne, ne fait pas partie du dernier mot. Par conséquent ne figure pas dans la chaîne cryptée. L’interface graphique à concevoir contient les éléments suivants, comme l’illustre la capture d’écran ci-dessous :  Un label contenant le texte "Triage de mots"  Un label contenant le texte "Introduire une phrase : "  Une zone de saisie pour la saisie d’une phrase  Un label pour afficher le résultat  Un bouton intitulé "Trier" Travail demandé : 1) Concevoir l’interface graphique présentée précédemment et l’enregistrer sous le nom InterfaceTriage. 2) Créer un programme Python et l’enregistrer sous le nom Triage, dans lequel, il est demandé : a) de développer une fonction nommée Trier (ch) qui permet de retourner une chaîne de caractères formée par les mots de la chaîne de caractères ch triés dans l’ordre croissant de leurs longueurs. b) de développer un module Play, qui s’exécute suite à un clic sur le bouton "Trier", permettant :  de récupérer la chaîne ch saisie. La chaîne ch doit être non vide et de taille inférieure à 50. Elle commence obligatoirement par une lettre, se termine par un point et chaque deux mots consécutifs sont séparés par un seul espace.  de trier les mots de la chaîne ch en utilisant la fonction Trier (ch) puis d’afficher le résultat via le label dédié à l’affichage dans l’interface graphique InterfaceTriage. c) d’ajouter les instructions permettant d’exploiter l’interface graphique intitulée InterfaceTriage en se référant à l’annexe ci-après. Sujet 04
  • 292.
    Page 2 sur2 N.B. : l’affichage doit être conforme aux exemples d’exécutions suivants : Exemples d’exécutions : Grille d’évaluation Tâches Nombre de points Conception de l’interface "InterfaceTriage" 4 pts Création et enregistrement du programme "Triage" 1 pt Développement de la fonction "Trier" 6 pts Développement du module "Play" 4 pts Ajout des instructions de l’exploitation de l’interface 3 pts Modularité et cohérence 2 pts Annexe from PyQt5.uic import loadUi from PyQt5.QtWidgets import QApplication …… …… app = QApplication([]) windows = loadUi ("Nom_Interface.ui") windows.show() windows.Nom_Bouton.clicked.connect (Nom_Module) app.exec_()
  • 293.
    SESSION 0202 EXAMEN DUBACCALAURÉAT RÉPUBLIQUE TUNISIENNE  Ministère de l'Éducation PRATIQUE D’INFORMATIQUE ÉPREUVE Sections : Mathématiques, Sciences expérimentales et Sciences techniques Durée : 1h Coefficient de l’épreuve : 0.5 Important : 1. Une solution modulaire au problème posé est exigée. 2. Dans le répertoire Bac2023, créez un dossier de travail ayant comme nom votre numéro d’inscription (6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solution à ce sujet. Page 1 sur 2 Intersection de deux chaînes On se propose de concevoir une interface graphique permettant de saisir deux chaînes de caractères ch1 et ch2 puis de former la chaîne res par les caractères qui apparaissent dans les deux chaînes à la fois. N.B. Si un caractère apparait plusieurs fois dans les deux chaînes, on le mettra une seule fois dans la chaîne res. Exemple : Pour ch1 = "informatique" et ch2 = "multimedia", on obtient res = "imatue" L’interface graphique à concevoir contient les éléments suivants, comme l’illustre la capture d’écran ci-dessous :  Un label contenant le texte "Intersection de deux chaînes"  Un label contenant le texte "ch1 : "  Une zone de saisie pour la saisie de ch1  Un label contenant le texte "ch2 : "  Une zone de saisie pour la saisie de ch2  Un label pour afficher le résultat  Un bouton intitulé "Former" Travail demandé : 1) Concevoir l’interface graphique présentée précédemment et l’enregistrer sous le nom InterfaceIntersection 2) Créer un programme Python et l’enregistrer sous le nom Intersection, dans lequel, il est demandé : a) de développer une fonction nommée Recherche (ch1, ch2) qui permet de former la chaîne res. b) de développer un module Play qui s’exécute suite à un clic sur le bouton "Former" permettant :  de récupérer les deux chaînes ch1 et ch2 saisies. Les chaînes ch1 et ch2 doivent être non vides, de longueurs inferieures à 30 chacune et contiennent seulement des lettres alphabétiques en minuscule.  d’exploiter la fonction Recherche (ch1, ch2) afin d’afficher le résultat formé via le label dédié à l’affichage dans l’interface graphique InterfaceIntersection. c) d’ajouter les instructions permettant d’exploiter l’interface graphique intitulée InterfaceIntersection en se référant à l’annexe ci-après. Sujet 05
  • 294.
    Page 2 sur2 N.B. : l’affichage doit être conforme aux exemples d’exécutions suivants : Exemples d’exécutions : Grille d’évaluation Tâches Nombre de points Conception de l’interface InterfaceIntersection 4 pts Création et enregistrement du programme Intersection 1 pt Développement de la fonction Recherche 6 pts Développement du module Play 4 pts Ajout des instructions de l’exploitation de l’interface 3 pts Modularité et cohérence 2 pts Annexe from PyQt5.uic import loadUi from PyQt5.QtWidgets import QApplication …… …… app = QApplication([]) windows = loadUi ("Nom_Interface.ui") windows.show() windows.Nom_Bouton.clicked.connect (Nom_Module) app.exec_()
  • 295.
    SESSION 2024 EXAMEN DUBACCALAURÉAT RÉPUBLIQUE TUNISIENNE  Ministère de l'Éducation PRATIQUE D’INFORMATIQUE ÉPREUVE Sections : Mathématiques, Sciences expérimentales et Sciences techniques Durée: 1h Coefficient de l’épreuve : 0.5 Important : Le candidat est appelé à créer, dans le répertoire Bac2024, un dossier de travail ayant comme nom son numéro d’inscription (6 chiffres) et dans lequel il doit enregistrer, au fur et à mesure, tous les fichiers solution à ce sujet. Page 1 sur 2 Divisibilité par 7 (Méthode de Horner) On se propose de concevoir une interface graphique permettant de saisir un nombre X formé de 5 à 20 chiffres, puis de vérifier s’il est divisible par 7 en utilisant le principe suivant : Etape1 : Former, à partir du nombre X, un nouveau nombre Y en faisant correspondre à chaque chiffre de X le reste de sa division euclidienne par 7. Exemple X = 5 5 2 7 5 7 9 8 2 ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ Y = 5 5 2 0 5 0 2 1 2 Etape2 : Former, à partir du nombre Y, un nouveau nombre Z en faisant correspondre à chaque tranche de deux chiffres de Y (en commençant à partir de la droite), le reste de sa division euclidienne par 7. Exemple - En effet, pour la tranche 12 de Y, lui correspond dans Z la valeur 5 (reste de la division euclidienne de 12 par 7). - De même pour les autres tranches. Y = 5 5 2 0 5 0 2 1 2 ↓ ↓ ↓ ↓ ↓ Z = 5 3 5 2 5 - La dernière tranche se compose d’un seul chiffre car le nombre de chiffres de Y est impair. Etape3 : Appliquer au nombre Z, la méthode de Horner définie par l’algorithme suivant de la fonction Horner(Z). Fonction Horner(Z : Chaîne de caractères) : Entier DEBUT M  0 Tant que Z <> "" Faire CH  Z[0] M  (M * 2 + Valeur(CH)) Mod 7 Z  Sous_chaine(Z, 1, Long(Z)) Fin Tant que Retourner M FIN T.D.O.L Objet Type/Nature M Entier CH Chaîne de caractères Le nombre X est divisible par 7 lorsque la fonction Horner, appliquée au nombre Z, retourne la valeur zéro. Travail demandé 1. Créer l’interface graphique illustrée dans la figure Fig1 et l’enregistrer sous le nom InterfaceHorner. Cette interface contient les éléments suivants : - Un label contenant le texte "Divisibilité par 7 (Méthode de Horner)", - Un label contenant le texte "X=", - Une zone de saisie pour la saisie du nombre X, - Un label pour afficher un message, - Un bouton intitulé "Vérifier". Fig1
  • 296.
    Page 2 sur2 2. Créer un programme en Python et l’enregistrer sous le nom DivHorner dans lequel on demande : a. d’implémenter l’algorithme de la fonction Horner. b. de développer une fonction Etape1(X) qui simule l’Etape1 pour retourner le nombre Y. c. de développer une fonction Etape2(Y) qui simule l’Etape2 pour retourner le nombre Z. d. de développer un module Play qui s’exécute suite à un clic sur le bouton "Vérifier" permettant : - de récupérer la valeur du nombre X saisi et de s’assurer de sa validité afin d’afficher le message adéquat via le label dédié à l’affichage, comme illustré dans la figure Fig2. - d’exploiter les fonctions Etape1, Etape2 et Horner afin d’afficher le message adéquat via le label dédié à l’affichage, comme illustré dans les figures Fig3 et Fig4. e. d’exploiter l’annexe présentée ci-après tout en apportant les modifications nécessaires à l’intégration de l’interface graphique InterfaceHorner. Grille d’évaluation Tâches Nombre de points 1. Création de l’interface InterfaceHorner. 3 2. Création du programme DivHorner. 17 = a. Implémentation de la fonction Horner. 3 b. Développement de la fonction Etape1. 3.5 c. Développement de la fonction Etape2. 4.5 d. Développement du module Play. 4.5 e. Exploitation de l’annexe. 1.5 Annexe from PyQt5.uic import loadUi from PyQt5.QtWidgets import QApplication …… …… app = QApplication([]) windows = loadUi ("Nom_Interface.ui") windows.show() windows.Nom_Bouton.clicked.connect (Nom_Module) app.exec_() Fig3 Fig4 Fig2
  • 297.
    SESSION 2024 EXAMEN DUBACCALAURÉAT RÉPUBLIQUE TUNISIENNE  Ministère de l'Éducation PRATIQUE D’INFORMATIQUE ÉPREUVE Sections : Mathématiques, Sciences expérimentales et Sciences techniques Durée: 1h Coefficient de l’épreuve : 0.5 Important : Le candidat est appelé à créer, dans le répertoire Bac2024, un dossier de travail ayant comme nom son numéro d’inscription (6 chiffres) et dans lequel il doit enregistrer, au fur et à mesure, tous les fichiers solution à ce sujet. Page 1 sur 2 Autonombres On se propose de concevoir une interface graphique permettant de saisir deux entiers N (20≤N≤50) et M (N<M≤100), puis d’afficher tous les nombres compris entre N et M qui sont autonombres. Un autonombre X est un entier positif qui ne peut pas s’écrire sous la forme d’un entier Y ajouté à la somme des chiffres de Y. Exemples : - 24 n’est pas un autonombre puisqu’il est égal à l’entier 21 ajouté à la somme de ses chiffres (24 = 21 + (2 + 1)). - 53 est un autonombre puisqu’il ne peut pas s’écrire à partir d’un autre nombre ajouté à la somme de ses chiffres. Travail demandé 1. Créer l’interface graphique illustrée dans la figure Fig1 et l’enregistrer sous le nom InterfaceAutonombre. Cette interface contient les éléments suivants : - Un label contenant le texte "Autonombres", - Un label contenant le texte "N=", - Une zone de saisie pour la saisie d’un entier N, - Un label contenant le texte "M=", - Une zone de saisie pour la saisie d’un entier M, - Un label pour afficher un message, - Un bouton intitulé "Afficher". 2. Créer un programme en Python et l’enregistrer sous le nom Autonombre dans lequel on demande : a. d’implémenter l’algorithme suivant de la fonction SommeChiffres(X) qui retourne la somme des chiffres d’un entier positif X. Fonction SommeChiffres(X : Entier) : Entier DEBUT S  0 Tant que (X ≠ 0 ) Faire S  S + X Mod 10 X  X Div 10 Fin Tant que Retourner S FIN T.D.O.L Objet Type/Nature S Entier Fig1
  • 298.
    Page 2 sur2 b. de développer une fonction booléenne nommée Vérifier(X), qui exploite la fonction SommeChiffres, pour vérifier si l’entier X est un autonombre. c. de développer une fonction nommée Chercher(N, M), qui exploite la fonction Vérifier, pour former une chaîne de caractères contenant tous les nombres autonombres compris entre N et M séparés par le caractère "-" (voir Fig4). d. de développer un module Play qui s’exécute suite à un clic sur le bouton "Afficher" permettant : - de récupérer les valeurs des entiers N et M saisis et de s’assurer de leurs validités afin d’afficher le message adéquat via le label dédié à l’affichage, comme illustré dans la figure Fig2. - d’exploiter la fonction Chercher pour afficher le message adéquat via le label dédié à l’affichage, comme illustré dans les figures Fig3 et Fig4. e. d’exploiter l’annexe présentée ci-après tout en apportant les modifications nécessaires à l’intégration de l’interface graphique InterfaceAutonombre. Grille d’évaluation Tâches Nombre de points 1. Crétion de l’interface InterfaceAutonombre. 3 2. Création du programme Autonombre. 17 = a. Implémentation de la fonction SommeChiffres. 3 b. Développement de la fonction Vérifier. 4.5 c. Développement de la fonction Chercher. 4 d. Développement du module Play. 4 e. Exploitation de l’annexe. 1.5 Annexe from PyQt5.uic import loadUi from PyQt5.QtWidgets import QApplication …… …… app = QApplication([]) windows = loadUi ("Nom_Interface.ui") windows.show() windows.Nom_Bouton.clicked.connect (Nom_Module) app.exec_() Fig2 Fig4 Fig3
  • 299.
    SESSION 2024 EXAMEN DUBACCALAURÉAT RÉPUBLIQUE TUNISIENNE  Ministère de l'Éducation PRATIQUE D’INFORMATIQUE ÉPREUVE Sections : Mathématiques, Sciences expérimentales et Sciences techniques Durée: 1h Coefficient de l’épreuve : 0.5 Important : Le candidat est appelé à créer, dans le répertoire Bac2024, un dossier de travail ayant comme nom son numéro d’inscription (6 chiffres) et dans lequel il doit enregistrer, au fur et à mesure, tous les fichiers solution à ce sujet. Page 1 sur 2 Transformation Powertrain On se propose de concevoir une interface graphique permettant de saisir deux entiers N (200≤N≤999999) et M (3≤M≤10), puis d’afficher la transformation Powertrain de l’entier N ainsi que celles des M entiers consécutifs qui le suivent. La transformation Powertrain d’un entier X consiste à générer un entier Y à partir des chiffres de X, en multipliant dans l’ordre chaque chiffre de rang impair élevé à la puissance du chiffre de rang pair. Il est à noter que : - Si le nombre de chiffres de X est impair alors le dernier chiffre est élevé à la puissance 1. - Si un chiffre de rang impair est égal à zéro et il est suivi d’un zéro alors la puissance 00 sera remplacée par 1. Exemples : - Pour X = 523, le nombre généré est Y = 52 x 31 = 25 x 3 = 75 - Pour X = 160071, le nombre généré est Y = 16 x 00 x 71 = 1 x 1x 7 = 7 Travail demandé 1. Créer l’interface graphique illustrée dans la figure Fig1 et l’enregistrer sous le nom InterfacePowertrain. Cette interface contient les éléments suivants : - Un label contenant le texte "Transformation Powertrain", - Un label contenant le texte "N=", - Une zone de saisie pour la saisie d’un entier N, - Un label contenant le texte "M=", - Une zone de saisie pour la saisie d’un entier M, - Un label pour afficher un premier message, - Un label pour afficher un deuxième message, - Un bouton intitulé "Transformer". 2. Créer un programme en Python et l’enregistrer sous le nom Powertrain dans lequel on demande : a. d’implémenter l’algorithme suivant de la fonction Puissance(A, B) qui retourne la valeur d’un entier A élevé à la puissance B (notée AB avec A et B deux entiers positifs). Fonction Puissance(A, B : Entier) : Entier DEBUT P 1 Pour K de 1 à B Faire P  P * A Fin Pour Retourner P FIN T.D.O.L Objet Type/Nature P, K Entier Fig 1
  • 300.
    Page 2 sur2 b. de développer une fonction nommée Transformer(X) qui exploite la fonction Puisance pour déterminer la transformation Powertrain de l’entier X. c. de développer une fonction nommée Chercher(N, M), qui exploite la fonction Transformer pour former une chaîne de caractères contenant la transformation Powertrain de l’entier N ainsi que celles des M entiers consécutifs qui le suivent séparés par le caractère "-" (voir Fig3). d. de développer un module Play, qui s’exécute suite à un clic sur le bouton "Transformer" permettant : - de récupérer les valeurs des deux entiers saisis N et M et de s’assurer de leurs validités afin d’afficher le message adéquat via le label dédié à l’affichage, comme illustré dans la figure Fig2, - d’exploiter la fonction Chercher afin d’afficher les messages adéquats via les labels dédiés à l’affichage, comme illustré dans la figure Fig3. e. d’exploiter l’annexe présentée ci-dessous tout en apportant les modifications nécessaires à l’intégration de l’interface graphique InterfacePowertrain. Grille d’évaluation Tâches Nombre de points 1. Création de l’interface InterfacePowertrain. 3 2. Création du programme Powertrain. 17 = a. Implémentation de la fonction Puissance. 3 b. Développement de la fonction Transformer. 5.5 c. Développement de la fonction Chercher. 3.5 d. Développement du module Play. 3.5 e. Exploitation de l’annexe. 1.5 Annexe from PyQt5.uic import loadUi from PyQt5.QtWidgets import QApplication …… …… app = QApplication([]) windows = loadUi ("Nom_Interface.ui") windows.show() windows.Nom_Bouton.clicked.connect (Nom_Module) app.exec_() Fig 3 Fig 2
  • 301.
    SESSION 2024 BACCALAURÉAT EXAMEN DU RÉPUBLIQUETUNISIENNE  Ministère de l'Éducation PRATIQUE D’INFORMATIQUE ÉPREUVE Sections : Mathématiques, Sciences expérimentales et Sciences techniques Durée: 1h Coefficient de l’épreuve : 0.5 Important : Le candidat est appelé à créer, dans le répertoire Bac2024, un dossier de travail ayant comme nom son numéro d’inscription (6 chiffres) et dans lequel il doit enregistrer, au fur et à mesure, tous les fichiers solution à ce sujet. Page 1 sur 2 Nombres Primaires On se propose de concevoir une interface graphique permettant de saisir deux entiers N (10≤N≤50) et M (N<M≤200), puis d’afficher tous les nombres primaires compris entre N et M. Un nombre P est dit primaire s’il existe un nombre premier X tel que P = Xk avec k un entier strictement positif. Un nombre premier est un entier strictement positif qui admet exactement deux diviseurs positifs distincts 1 et lui-même. Exemples : - 144 n’est pas un nombre primaire. En effet, 144 = 122 et 12 n’est pas un nombre premier. - 169 est un nombre primaire. En effet, 169 = 132 et 13 est un nombre premier. Travail demandé 1. Créer l’interface graphique illustrée dans la figure Fig1 et l’enregistrer sous le nom InterfacePrimaire. Cette interface contient les éléments suivants :  Un label contenant le texte "Nombres Primaires",  Un label contenant le texte "N=",  Une zone de saisie pour la saisie d’un entier N,  Un label contenant le texte "M=",  Une zone de saisie pour la saisie d’un entier M,  Un label pour afficher un message,  Un bouton intitulé "Afficher". 2. Créer un programme en Python et l’enregistrer sous le nom Primaire dans lequel on demande : a. d’implémenter l’algorithme suivant de la fonction Premier(X) qui vérifie si un entier strictement positif X est premier. Fonction Premier (X : Entier) : Booléen DEBUT TEST  Vrai Si X = 1 Alors TEST  Faux Sinon Si (X > 3) Alors K  2 Tant que TEST Et (K ≤ X Div 2) Faire Si X Mod K = 0 alors TEST  Faux Sinon K = K+1 Fin Tant que Retourner TEST FIN T.D.O.L Objet Type/Nature K Entier TEST Booléen Fig1
  • 302.
    Page 2 sur2 b. de développer une fonction booléenne nommée Vérifier(P), qui exploite la fonction Premier, afin de vérifier si l’entier P est un nombre primaire. c. de développer une fonction nommée Chercher(N, M), qui exploite la fonction Vérifier, pour former une chaîne de caractères contenant tous les nombres primaires compris entre N et M séparés par le caractère "-" (voir Fig4). d. de développer un module Play qui s’exécute suite à un clic sur le bouton "Afficher" permettant : - de récupérer les valeurs des entiers N et M saisis et de s’assurer de leurs validités afin d’afficher le message adéquat via le label dédié à l’affichage, comme illustré dans la figure Fig2. - d’exploiter la fonction Chercher pour afficher le message adéquat via le label dédié à l’affichage, comme illustré dans les figures Fig3 et Fig4. e. d’exploiter l’annexe présentée ci-après tout en apportant les modifications nécessaires à l’intégration de l’interface graphique InterfacePrimaire. Grille d’évaluation Tâches Nombre de points 1. Création de l’interface InterfacePrimaire. 3 2. Création du programme Primaire. 17 = a. Implémentation de la fonction Premier. 3 b. Développement de la fonction Vérifier. 4.5 c. Développement de la fonction Chercher. 4 d. Développement du module Play. 4 e. Exploitation de l’annexe. 1.5 Annexe from PyQt5.uic import loadUi from PyQt5.QtWidgets import QApplication …… …… app = QApplication([]) windows = loadUi ("Nom_Interface.ui") windows.show() windows.Nom_Bouton.clicked.connect (Nom_Module) app.exec_() Fig2 Fig3 Fig4
  • 303.
    SESSION 2024 EXAMEN DUBACCALAURÉAT RÉPUBLIQUE TUNISIENNE  Ministère de l'Éducation PRATIQUE D’INFORMATIQUE ÉPREUVE Sections : Mathématiques, Sciences expérimentales et Sciences techniques Durée: 1h Coefficient de l’épreuve : 0.5 Important : Le candidat est appelé à créer, dans le répertoire Bac2024, un dossier de travail ayant comme nom son numéro d’inscription (6 chiffres) et dans lequel il doit enregistrer, au fur et à mesure, tous les fichiers solution à ce sujet. Page 1 sur 2 Suite arithmétique On se propose de concevoir une interface graphique permettant de saisir un nombre X, de longueur paire et composé de 6 à 20 chiffres, puis de vérifier si toutes les tranches successives de deux chiffres de X, une fois triées dans l’ordre croissant, constituent des termes d’une suite arithmétique croissante. Une suite arithmétique croissante est une suite dans laquelle chaque terme permet de déduire le suivant en lui ajoutant une constante r appelée raison (pour tout n > 0 ; Un = Un-1 + r avec r > 0). Exemples : Les tranches successives de X, une fois triées dans l’ordre croissant, forment des termes d’une suite arithmétique croissante de raison r = 5. En effet, (10 – 5) = (15 – 10) = (20 – 15) = (25 – 20) = (30 – 25) = 5 Les tranches successives de X, une fois triées dans l’ordre croissant, ne forment pas des termes d’une suite arithmétique croissante. Travail demandé 1. Créer l’interface graphique illustrée dans la figure Fig1 et l’enregistrer sous le nom InterfaceArithmétique. Cette interface contient les éléments suivants :  Un label contenant le texte "Suite arithmétique"  Un label contenant le texte "X=",  Une zone de saisie pour la saisie du nombre X,  Un label pour afficher un premier message,  Un label pour afficher un deuxième message,  Un bouton intitulé "Vérifier". 2. Créer un programme en Python et l’enregistrer sous le nom SuiteArithmétique dans lequel on demande : a. d’implémenter l’algorithme suivant de la fonction Trier(CH) qui permet de trier dans l’ordre croissant les tranches de deux chiffres de la chaîne CH. Fonction Trier(CH : Chaîne de caractères) : Chaîne de caractères DEBUT PERMUT  Vrai Tant que PERMUT Faire PERMUT  Faux Pour K de 0 à Long(CH)-3) [Pas=2] Faire BLOC1 Sous_chaîne(CH, K, K+2) BLOC2 Sous_chaîne(CH, K+2, K+4) Si BLOC1>BLOC2 Alors CH Sous_chaîne(CH, 0, K)+BLOC2+BLOC1+Sous_chaîne(CH, K+4, Long(CH)) PERMUT  Vrai FinSi Fin Pour Fin Tant que Retourner CH FIN - Pour X = 301015250520 ; Les tranches de X : 3 0 1 0 1 5 2 5 0 5 2 0 Les tranches de X triées : 0 5 1 0 1 5 2 0 2 5 3 0 - Pour X = 41331020 ; Les tranches de X : 4 1 3 3 1 0 2 0 Les tranches de X triées : 1 0 2 0 3 3 4 1 T.D.O.L Objet Type/Nature K Entier PERMUT Booléen BLOC1, BLOC2 Chaîne de caractères Fig1
  • 304.
    Page 2 sur2 b. de développer une fonction nommée Calculer(X) permettant de retourner, pour un nombre X dont les tranches de deux chiffres sont triées dans l’ordre croissant, un entier égal à : - la différence entre deux tranches successives de X dans le cas où cette différence est constante pour toutes les tranches successives, - zéro dans le cas contraire. c. de développer un module Play qui s’exécute suite à un clic sur le bouton "Vérifier" permettant : - de récupérer la valeur du nombre X saisi et de s’assurer de sa validité afin d’afficher le message adéquat via le label dédié à l’affichage, comme illustré dans la figure Fig2, - d’exploiter les fonctions Trier et Calculer afin d’afficher le message adéquat via les labels dédiés à l’affichage, comme illustré dans les figures Fig3 et Fig4. d. d’exploiter l’annexe présentée ci-après tout en apportant les modifications nécessaires à l’intégration de l’interface graphique InterfaceArithmétique. Grille d’évaluation Tâches Nombre de points 1. Création de l’interface InterfaceArithmétique. 3 2. Création du programme SuiteArithmétique. 17 = a. Implémentation de la fonction Trier. 4.5 b. Développement de la fonction Calculer. 6 c. Développement du module Play 5 d. Exploitation de l’annexe. 1.5 Annexe from PyQt5.uic import loadUi from PyQt5.QtWidgets import QApplication …… …… app = QApplication([]) windows = loadUi ("Nom_Interface.ui") windows.show() windows.Nom_Bouton.clicked.connect (Nom_Module) app.exec_() Fig2 Fig3 Fig4