0 évaluation0% ont trouvé ce document utile (0 vote) 5 vues4 pagesAlgorithme (Con17)
Copyright
© All Rights Reserved
Formats disponibles
Téléchargez aux formats PDF ou lisez en ligne sur Scribd
REPUBLIQUE TUNISIENNE Epreuve : Aigorithmique et Programmation
MINISTERE DE L'EDUCATION Section : Sciences de l’informatique
eec0ee ] : ;
EXAMEN DU BACCALAUREAT | Durée : 3h ___ Coefficient : 2.25
SESSION 2017 Session de contréle
ae
Le sujet comporte 04 pages
Exercice 1 : (3 points)
Soit le tableau de déclaration des nouveaux types suivant :
“Type
|Personne=Enregistrement = SSS
id, age : entier
genre : caractére
Fin Personne
Tabi = tableau de 100 Personne
| Tab2 = tableau de 200 Personne
t -
Soient H et F deux tableaux contenant respectivement nt et n2 enregistrements de type Personne
et triés selon ordre croissant du champ id.
Et soit l'algorithme de la procédure Traitement suivant
0) Def Proc Traitement (n1,n2 : Octet ; H, F : Tab1 ; Vor P : Tab2)
1) ke0,1€ 0,j€0
Répéter
kek#d
icie
PIk] © Hf}
kek
i€jet
tk] © Fi]
Jusqu’é (i=n1) ou (j=n2)
Si (izn1) Alors
Pour c de j+1. 4 n2 Faire
keke1
PIK} € Fle]
FinPour
Sinon
Pour cde i+1 and Faire
kek
PIk] & Hlc]
FinPour
Fini
2) Fin TraitementTravail demandé :
1) Donner le contenu du tableau P aprés exécution de la procédure Traitement pour nl=4, n2=6
et les valeurs de H et F suivantes :
id= 123 id= 125
age = 22
genre ="
id=115 | id= 263 id = 380 ec fe
r a
mall
age = 30 age=23 | age= 19
enre="F"_| genre
genre
2) Déduire le réle de la procédure Traitement.
3) Apporter les modifications nécessaires au contenu de la boucle Répéter pour obtenir le tableau P
trig selon le champ id.
Exercice 2 : (3 points)
Soient a et n deux entiers naturels non nuls et F une fonction définie de la fagon suivante :
Fao) =1
F(ayn) = F(a*a , n div 2) Si mest pair
F(ayn) =a * Fla*a,(n-1) div2) Sin est impair
1) Donner la trace d’exécution de la fonction F pour chacun des cas suivants :
Ieas : a=2etn=2
2" cas: a=2etn=3
2) En déduire le role de ta fonction F.
3) Ecrire un algorithme récursif de la fonction F.
Exercice 3 : (4 points)
En mathématiques, la constante de Brun (B) des nombres premiers jumeaux est la somme de la
série des inverses des nombres premiers distants de 2.
a(t! eee eee)
meet VN (are en coe Nad (eet ed (ee) ee
3° 3)* Gra) Gt 13)" \a7" 79) * \26* 31)"
On rappelle qu'un nombre est dit premier s°il est divisible uniquement par I et par lui-méme. Par
convention Mentier 1 n’est pas premier.
Travail demandé :
Ecrire un algorithme d’une fonction Brun (epsilon) permettant de calculer, 4 epsilon prés, une
valeur approchée de la constante de Brun définie précédemment (avec epsilon un récl passé en
paramétres et dont la vaieur est déja saisie dans le module appelant).
NB : Chaque algorithme proposé doit étre accompagné d’un tableau de déclaration des objets ayant
la forme suivante :
[__ Objet Type / Nature Réle ]
2/4Probléme : (10 points)
La stéganographie est une méthode qui consiste & cacher un texte dans une image numérique
bitmap. Cette méthode peut aider 4 échanger des messages secrets.
Dans une image RVB, chaque pixel est représenté par une chaine de 6 chiffres hexadécimaux ; les
deux premiers représentent l'intensité de la couleur "Rouge", les deux suivants celle de la couleur
"Vert" et les deux demiers représentent I'intensité de la couleur "Bleu".
Exemples :
Couleur | Rouge | Vert Noir Blane | Orange | Bleu | Rose
Code RVB | "FF0000" | "ooFF00" | "000000" | “FFFFFF" | "ED7F10" | “o000FF* | "FD6C9E"
On se propose d'utiliser cette technique pour crypter un texte. Pour cela on dispose d'un fichier texte
a crypter nommé "[Link]” situé sur la racine du disque C et comportant N lignes non vides
(1 <.N< 40) de longueur maximale 120 caractéres chacune.
Le procédé de cryptage est décrit ci-dessous :
* générer une matrice carrée M (40x40) & partir du fichier "[Link]" comme suit :
© initialiser les cases de la matrice par le code de la couleur blanche "FFFFFF
‘* remplir chaque ligne de la matrice M par une ligne du fichier "[Link]” de la
maniére suivante :
= ajouter a la fin de la ligne, si c’est nécessaire, un ou deux espaces pour que sa
longueur soit divisible par trois
= subdiviser la ligne en blocs de trois caractéres consécutifs et remplir chaque
case de la matrice par la chaine résultante de la concaténation des équivalents
hexadécimaux du code ASCII des trois caractéres de chaque bloc
* générer un fichier "[Link]” & partir de la matrice M, oit chaque ligne du fichier correspond
a la concaténation du contenu d'une colonne de la matrice.
Exemple :
Pour le fichier "[Link]" suivant :
BAC SI 2016
44%
BAC SC 2016
60 %
On obtient la matrice M suivante :
1 2 3s
424143 | 205349 | 203230_| 313620
| 343420 | 252020 4 FFFFFF | FFFFFF
424143 | 205343 | 203230 | 313620
252020 _| FFFFFF
40
FFFFFF |
FFFFFF
FFFFFF
FEFFFF
FFFFFF
40 LEFFFFF FFFFFF
3/4En effet :
= la matrice M a été initialisée par le code de la couleur blanche "FFFFFF"
"la premiére ligne de la matrice M est remplie & partir de la premiére ligne du fichier
“[Link]" comme suit :
* tant donné que la longueur de la premiére ligne du fichier "[Link]" est non
divisible par 3, on ajoute un espace a la fin pour obtenir 4 groupements de 3
caractéres consécutifs :
BAC SI 2016
Pee
© le premier élément de la matrice M[I,1] est égal & "424143" car :
- le code ASCII de "B" est 66 et son équivalent hexadécimal est 42
- le code ASCII de "A" est 65 et son équivalent hexadécimal est 41
- le code ASCII de "C” est 67 et son équivalent hexadécimal est 43
- la concaténation des 3 équivalents hexadécimaux donne "424143" doi le
contenu de M[1,1] = "424143"
© le méme procédé donne M[1,2] = "205349", M[J,3}
* les autres lignes de la matrice M sont remplies selon le méme procédé.
"203230" et M[1,4] = "313620"
D’oa, en concaténant les valeurs de chaque colonne de la matrice M pour former une ligne du
fichier, on obtient le fichier "[Link]" ci-dessous :
FFFFFFFFFFFF
FFFFFFFFFFFF
FFFFFFFFFFFF
FFFFFFFFFFFF
424 143343420424 143363020FFFFFF.....
205349252020205343252020FFFFFF.
203230FFFFFF203230FFFFFFFFFFFF.
313620FFFFFF3 13620FFFFFFFFFFFF.
Travail demande :
I- Analyser le probléme en le décomposant en modules.
2- Ecrire un algorithme solution pour chaque module envisagé. Chaque algorithme proposé
doit étre accompagné dun tableau de déclaration des objets ayant la forme suivante :
Objet__| Type/Nature_ Z Role a
4/4
Vous aimerez peut-être aussi