0% ont trouvé ce document utile (0 vote)
121 vues4 pages

DS2 VF

Ce document présente quatre exercices d'algorithmique portant sur le calcul de π, les nombres premiers équilibrés, la fonction de cryptage INCONNUE et le cryptage de Vigenère. Il contient les énoncés détaillés des exercices et des explications sur les concepts mathématiques et cryptographiques impliqués.

Transféré par

Sahar Hammouda
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
121 vues4 pages

DS2 VF

Ce document présente quatre exercices d'algorithmique portant sur le calcul de π, les nombres premiers équilibrés, la fonction de cryptage INCONNUE et le cryptage de Vigenère. Il contient les énoncés détaillés des exercices et des explications sur les concepts mathématiques et cryptographiques impliqués.

Transféré par

Sahar Hammouda
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION

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 :

Fonction INCONNUE(N,X :entier) :


chaine Dé but
Si N=0 alors
Retourner ""
Sinon
Si NMODX>=10 alors
Retourner INCONNUE(N DIV X , X) + chr(55 + N MOD X)
Sinon
Retourner INCONNUE(N DIV X , X)+ convch (N MOD X)
Finsi
Finsi
Fin

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 ?

2) La distance de Hamming entre les représentations binaires de deux entiers X et Y est


le nombre des positions correspondant à des bits différents dans les deux écritures en
partant de la droite et après avoir ajusté leurs longueurs.
Exemple :
Pour X = 1001101 et Y =10011, on a : longueur (X)=7 et longueur (Y)=5
On doit donc ajouter 2 zéros à l’extrême gauche de . On aura alors Y = 0010011,

Y 1 0 0 1 1 0 1
X 0 0 1 0 0 1 1
≠ = ≠ ≠ ≠ ≠ =

D’où la distance de Hamming sera égale à 5.


Travail à faire :
En disposant d’un fichier « nombre.dat », un fichier d’enregistrements, où chaque
enregistrement contient les deux entiers NB1 et NB2, écrire un module permettant de remplir
un fichier d’enregistrements « distance_Ham.dat ». Chaque enregistrement contient :
 Nb1_bin : nombre binaire correspondant au premier nombre NB1.
 Nb2_bin : nombre binaire correspondant au deuxième nombre NB2.
 Hamming : distance de Hamming entre Nb1_bin et Nb2_bin

N.B : On peut utiliser la fonction INCONNUE

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

Indices des lignes


Page 3 sur 4
 Travail demandé :
1. Ecrire l’algorithme d’un module qui permet de remplir la matrice de Vigenère M.
N.B : les indices de la matrice sont des lettres alphabétiques majuscules.

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.

Pour crypter une chaine mot, on utilise le principe suivant :

- En dessous de chaque lettre de mot, écrire chaque caractère de la clé C.


- Répéter le motif autant de fois que nécessaire pour obtenir une chaîne CH de même
longueur que mot sans compter les espaces.
- La lettre cryptée correspond à la lettre M [i, j], avec i est la lettre de la chaîne mot et j est
la lettre de la clé de cryptage C
Exemple :
Soit la clé de cryptage : C = "INFOBAC "
La chaîne à crypter : mot ="TP PASCAL ET PYTHON"
Le résultat sera alors « RM UOTCCT RY LZTJWN »

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

Vous aimerez peut-être aussi