Académique Documents
Professionnel Documents
Culture Documents
Epreuve : Algorithmique
Sections : 4ème Année SI
LYCEE Cité Essalem & Lycée Bouguarnine Date :
14/03/2023
DEVOIR DE SYNTHESE N° 2 Durée :3H - Coefficient : 3
Exercice 1 : 3 pts
Ecrire l'algorithme d'un module permettant de calculer la valeur approchée de π à 10-4 près en
utilisant la formule suivante :
π
Avec n! = 1* 2 * 3 * 4* … * n
Le calcul s'arrête lorsque la différence entre deux termes consécutifs devient inférieure ou égale à
10-4.
Exercice 2 : 5 pts
En mathématiques, un nombre premier équilibré est un nombre premier qui est égal à la
moyenne arithmétique des nombres premiers les plus proches au-dessus et en dessous. Ou,
exprimé de maniére algébrique, pour un nombre premier Pn , avec n, est son indice dans la suite
des nombres premiers.
P n−1+ P n+1
Pn =
2
Exemple :
47+59
53 est un nombre premier équilibré car 53= avec 53 (le 16ème nombre premier), 47( le
2
15ème nombre premier)qui est le plus proche nombre premier au dessous de 53 et 59(le 17 ème
nombre premier) qui est le plus proche nombre premier au dessus de 53.
Travail demandé
1. Ecrire l’algorithme d’une fonction Prem_Equil(n) qui permet de vérifier si un entier N
est un nombre Premier Equilibré ou non.
2. En faisant appel à la fonction Prem_Equil (n), écrire l’algorithme d’une procédure
Remplir (ft, k), permettant de remplir un fichier texte par les k premiers nombres
Premiers Equilibrés
Page 1 sur 4
Exercice 3 : 4.5 pts
1) Soit la fonction INCONNUE suivante :
Questions :
a- Exécuter à la main la fonction inconnue pour chacun des appels suivants :
INCONNUE(43,16) et INCONNUE(43,2)
b- En déduire le rôle de cette fonction ?
Y 1 0 0 1 1 0 1
X 0 0 1 0 0 1 1
≠ = ≠ ≠ ≠ ≠ =
Page 2 sur 4
Exercice 4 : 7.5 pts
Le cryptage de Vigenère est un système qui utilise une Clé de cryptage C (chaine de 7 lettres
majuscules distinctes) et une matrice carrée M composée de 26 alphabets alignés, décalés de
colonne en colonne d’un caractère.
Indices des colonnes
La matrice est remplie comme l’annexe 1 ci-dessous :
Annexe 1 :
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
A 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
B 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 A
C C D E F G H I J K L M N O P Q R S T U V W X Y Z B A
D D E F G H I J K L M N O P Q R S T U V W X Y Z C B A
E E F G H I J K L M N O P Q R S T U V W X Y Z D C B A
F F G H I J K L M N O P Q R S T U V W X Y Z E D C B A
G G H I J K L M N O P Q R S T U V W X Y Z F E D C B A
H H I J K L M N O P Q R S T U V W X Y Z G F E D C B A
I I J K L M N O P Q R S T U V W X Y Z H G F E D C B A
J J K L M N O P Q R S T U V W X Y Z I H G F E D C B A
K K L M N O P Q R S T U V W X Y Z J I H G F E D C B A
L L M N O P Q R S T U V W X Y Z K J I H G F E D C B A
M M N O P Q R S T U V W X Y Z L K J I H G F E D C B A
N N O P Q R S T U V W X Y Z M L K J I H G F E D C B A
O O P Q R S T U V W X Y Z N M L K J I H G F E D C B A
P P Q R S T U V W X Y Z O N M L K J I H G F E D C B A
Q Q R S T U V W X Y Z P O N M L K J I H G F E D C B A
R R S T U V W X Y Z Q P O N M L K J I H G F E D C B A
S S T U V W X Y Z R Q P O N M L K J I H G F E D C B A
T T U V W X Y Z S R Q P O N M L K J I H G F E D C B A
U U V W X Y Z T S R Q P O N M L K J I H G F E D C B A
V V W X Y Z U T S R Q P O N M L K J I H G F E D C B A
W W X Y Z V U T S R Q P O N M L K J I H G F E D C B A
X X Y Z W V U T S R Q P O N M L K J I H G F E D C B A
Y Y Z X W V U T S R Q P O N M L K J I H G F E D C B A
Z Z Y X W V U T S R Q P O N M L K J I H G F E D C B A
2. Ecrire l’algorithme d’un module qui permet de saisir la clé de cryptage C qui est une
chaîne de caractères non vide, de longueur maximale 8 et qui ne contient que des lettres
majuscules distinctes.
3. En disposant d’un fichier texte « source.txt », Écrire un algorithme d’un module qui permet
de remplir le fichier « résultat.txt » par le cryptage de chaque ligne du fichier
« sourcce.txt » par la méthode Vigenère.
mot T P P A S C A L E T P Y T H O N
CH I N F O B A C I N F O B A C I N
Résultat R M U O T C C T R Y L Z T J W N
L’intersection entre la ligne "T" et la colonne "I" dans la matrice M est : M["T","I"] = "R"
L’intersection entre la ligne "P" et la colonne "N" dans la matrice M est : M["P","N"] =
"M"
L’intersection entre la ligne "P" et la colonne "F" dans la matrice M est : M["P","F"] =
"U"
Etc …
BON TRAVAIL
Page 4 sur 4