3ème année Sciences de l’informatique
République Tunisienne
Ministère de l’éducation
D-R-E MEDENINE Algorithmique & programmation
LYCEE ROUTE DE GABES
Date : Lundi 30 Mai 2022 Durée : 2 heures
DEVOIR DE SYNTHESE N° 3
Exercice 1 : 6 points
Soit la fonction suivante :
Fonction inconnue(x :entier) :entier
Début
S 0
Tant que (x ≠ 0) faire
S S + x mod 10
x x div 10
Fin tant que
Retourner S
Fin
1. a) Donner les résultats de cette fonction pour : x =2015 et x=361
b) En déduire le rôle de cette fonction.
2. On désire vérifier si un entier positif formé de trois chiffres est un nombre de Keith. Cette
propriété est vérifiée par le principe suivant :
Choisir un nombre 197
Il a trois chiffres 1, 9, 7
Nous effectuons la somme des trois chiffres 1+9+7 = 17
La séquence se présente comme suit : 1, 9, 7, 17
Somme des trois derniers nombres 9+7+17 =33
Et ajoutons ce nombre à la séquence 1, 9, 7, 17, 33
….. Etc 1, 9, 7, 17, 33, 57
1, 9, 7, 17, 33, 57, 107
voilà on trouve 197 dans la liste 1, 9, 7, 17, 33, 57, 107, 197
Travail à faire :
On se propose d’écrire un module permettant de vérifier un entier N est un nombre de Keith
ou non
1/3
Exercice 2 : 4 points
Une matrice carrée M de taille N*N est dite dérangement si la valeur de chaque élément de la
matrice est :
différente de l’indice de la ligne correspondante.
différente de l’indice de la colonne correspondante.
comprise entre [1, N*N].
Travail à faire :
Ecrire l’algorithme d’un module nommé DERANGEMENT qui permet de vérifier si une matrice
carrée M de taille N * N est dérangement ou non.
Exercice 3 : 10 points
Pour remédier à la lenteur d’un PC, on se propose d’effectuer la défragmentation du disque dur de
l’ordinateur, sachant que votre espace mémoire peut être manipulé comme une matrice ou chaque
case contient une lettre indiquant le type du fichier en cours :
S : fichier système
A : application utilisateur
D : document
V : case vide
E : Endommagée
La défragmentation consiste à placer chaque type du fichier à coté en respectant l’ordre
suivant : fichier système, application utilisateur, fichier endommagé, document et cases vides.
Dans ce problème, On se propose :
1- De remplir une matrice carrée d’ordre N (1≤N≤80) d’une manière aléatoire par les lettres S, A,
D, V et E, défragmenter l’espace mémoire et enregistrer sous C : dans un fichier texte
"fragmente.txt" l’image du disque ou chaque ligne de la matrice représente une ligne du fichier.
2- De lancer un antivirus qui consiste à réparer les cases endommagées en supprimant les virus
définitivement et vider ces cases et les décaler à côté des cases vides et d’enregistrer une autre
image "nettoyer.txt" sous la racine C, ou chaque ligne de la matrice représente une ligne du
fichier et d’afficher le pourcentage de l’espace pleine et de l’espace vide.
Travail demandé
Écrire un algorithme de ce problème en le décomposant en, modules
Ecrire l’algorithme de chacun des modules.
2/3
Exemple :
Contenu du Contenu du
N=5 et la matrice : fichier fichier
"Fragmente.txt" "nettoyer.txt"
A A D V S SSSSS SSSSS
SSAAA SSAAA
V S E D E
AAEEE AADDD
V E S E S EEDDD VVVVV
VVVVV VVVVV
D S A E S
A V A S V
Le programme affiche : 60% espace pleine et 40% espace vide.
3/3