Vous êtes sur la page 1sur 4

9 04 1938 -IBN KHALDOUN

PILOTE- IBN ROCHD MEKNESSI

°③
1h 30mn
(Nouveau régime)
17/05/2022 1

Le sujet comporte 4 pages numérotées de 1/4 à 4/4.


Les réponses à l’exercice 1 et l’exercice 2 doivent être rédigées sur cette même feuille
qui doit être remise avec la copie de l’examen à la fin de l’épreuve.

Exercice 1: ‘4 points’
20
Soient les objets suivants déclarés en algorithme avec leurs initialisations :
CH ″Bac Scientifique 2022″
N 7528
X 7.5
CH1 ″Sci″
En se limitant sur ces objets et sur des fonctions prédéfinies, compléter le tableau ci-dessous
avec les instructions nécessaires pour réaliser les tâches décrites dans la colonne Tâches :
Tâches Instructions
Mettre dans la chaine PH la valeur ″Scientifique″ ……………………………………………….………
Mettre dans Y l’entier 2022 ……………………………………………….………

………………………………………………………..
Saisir dans P un entier de deux chiffres ………………………….…………………………….
………………………………………………………..
Mettre dans CH2 la valeur ″7.5″ ………………………………………….…….………

………………………………………..………………
Remplir un tableau T par 10 lettres majuscules aléatoires ……..…………………………………………………
……………..…………………………………………
…………………………………………..……………
………………………………………………….…….
Calculer dans D la somme des chiffres de N ………………………………………………………..
……………………………………………………….

Réduire CH à ″Bac 2022″ ……………………………………………..………….


…………………………………………………………

1/4
Exercice 2: ‘4 points’
Soit la définition et l’appel d’une fonction inconnue :

Définition de la fonction Appel de la fonction inconnue dans


le programme principal
Fonction inconnue ( x, a : entier): ………………… Pour i de 2 à n+ 1 faire
Début Si inconnu (T[i] , i) alors
Tant que x mod a = 0 faire ch" mess1 "
x  x div a sinon
Fin Tant que ch" mess2 "
Bx = 1 Fin Si
Retourner B Ecrire (T[i], ch, i)
Fin Fin Pour

1) Terminer les pointillés par le type convenable de la fonction inconnue


2) A partir de la définition et l’appel de la fonction inconnue, remplir la 2ème colonne du
tableau ci-dessus par les noms des objets convenables
Paramètres formels
Paramètres effectifs
Variables globales
Variables locales

3) Exécuter la fonction inconnue pour les deux cas suivants :


1er cas 2ème cas
a= 2 et x = 12 a=3 et x = 27
a a
x x
B B

4) Quel est le rôle de la fonction inconnue ?


………………………………………………………………………………………………………………………………………………
5) Exécuter le programme principal pour n = 4 et le tableau T suivant :

T 12 27 48 125
2 3 4 3 5

i 2 3 4 5

Affichage

6) Modifier le mot mess1 par un message significatif


……………………………………………………………………………………………………………………………………………
7) Modifier le mot mess2 par un message significatif

……………………………………………………………………………………………………………………………

2/4
Problème : ‘12 points’
Pour recharger un téléphone portable, un client doit composer *XYZ*code de recharge#.
Un code de recharge est valide s’il vérifie les contraintes suivantes :
• Il est composé de 13 chiffres.
• Le nombre formé par les 3 premiers chiffres est un nombre premier.
• Il contient au moins une séquence de 3 chiffres qui forment les termes successifs d’une
suite arithmétique (la différence entre 2 chiffres successifs est la même).
Exemple de validité de code :
Soit l’essai de recharge suivante : *XYZ*1376357950241#
Le code C = 1376357950241
➢ Le code C saisi contient 13 chiffres
➢ Le nombre formé par les 3 premiers chiffres (137) est un nombre premier
➢ Le code contient une séquence de 3 chiffres (357) qui forment les termes successifs
d’une suite arithmétique de raison 2.
D’où ce code C est valide.
Une fois le code C est valide, on passe à la vérification de son existence dans le tableau T1 et de
sa disponibilité dans le tableau T2 sachant que :
o T1 est un tableau de chaînes contenant n codes de recharge (avec 3 ≤ n ≤ 50).
o T2 est un tableau de caractères de même taille que le tableau T1. Chacune des cases peut
contenir soit la lettre "U" si le code correspondant à la case du même indice du tableau T1
est utilisé soit la lettre "L" si le code est encore Libre.
On se propose d’écrire un programme permettant :
De remplir le tableau T1 par des codes valides selon les contraintes décrites ci-dessus.
D’initialiser tous les éléments du tableau T2 à "L" c’est à dire que tous les codes du tableau sont
au départ libre.
De saisir un code de recharge C et vérifier sa validité selon les contraintes décrites ci-dessus.
De vérifier l’existence du code de recharge saisi dans le tableau T1 et de sa disponibilité dans le
tableau T2 (le tableau est initialement à "L") et d’afficher l’un des messages suivants :
o « Code invalide » : Si le code n’est pas valide.
o « Code inexistant » : Si le code est valide mais il n’existe pas dans le tableau T1
o « Code utilisé » : Si le code est valide mais il est déjà utilisé.
o « Opération de recharge réussite » : Si le code est valide et il est encore libre.
Dans ce cas, l’état du code sera mis à jour de "L" à "U" (afin de ne pas pouvoir l’utiliser une
deuxième fois).

3/4
Exemple : Pour n =4
T1 1376337970241 1576341950147 1816315950241 1136377950481
0 1 2 3

T2 L L L L
0 1 2 3

C=1286337970241 ______le programme affiche -------- Code invalide


C= 1016337970241 ______ le programme affiche -------- Code inexistant
C= 1576341950147______ le programme affiche -------- Opération de recharge réussite

T2 L U L L
0 1 2 3
C= 1576341950147______le programme affiche -------- Code utilisé

On vous demande d’élaborer :

1) Un algorithme du programme principal, solution à ce problème, en le décomposant en modules.

2) L'algorithme de chaque module.

4/4

Vous aimerez peut-être aussi