Exercices d’algorithmique (Avril 2024)
Exercice n°1:
Etant donné un fichier nommé FC (nom logique) rempli par des chaînes de caractères, formées de lettres majuscules.
Ecrire l’algorithme d’un module « Recherche (FC, C1, C2) » qui reçoit comme paramètres, le nom logique FC du fichier,
ainsi que deux chaînes C1 et C2, puis affiche un message indiquant laquelle de C1 ou C2 apparaît la première dans le
fichier FC et combien de fois cette chaîne apparaît avant la première apparition de l’autre chaîne. On supposera que les
chaînes C1 et C2 sont distinctes.
Autres messages possibles :
- Aucune de ces deux chaînes ne se trouve dans le fichier
- Une seule de ces deux chaînes existe dans le fichier. (Dans ce cas préciser laquelle).
Exemples :
Si FC contient :
"AH" "AH" "AH" "JE" "RIS" "DE" "ME" "VOIR" "SI" "BELLE" "EN" "CE" "MIROIR"
Si C1 = "AH" et C2 = "SI"
Le module affiche : la chaîne AH apparait 3 fois avant la chaîne SI
Si C1 = "SI" et C2 = "JE"
Le module affiche : la chaîne JE apparait 1 fois avant la chaîne SI
Exercice n°2:
La somme suivante donne une valeur approchée de 𝜋 :
2 (1!)2 22 (2!)2 23 (3!)2 24
𝜋≅ + + + +⋯
1! 3! 5! 7!
Avec n ! = 1*2*3*…* n
Le calcul s’arrête lorsque la différence en valeur absolue entre deux somme consécutives devient inférieure à 10-4
Travail demandé : Ecrire l’algorithme d’une fonction qui calcule une valeur approchée de 𝜋 à 10-4 près en appliquant ce
principe.
Exercice n°3:
Page 1 sur 2
Exercice 4 :
Une des méthodes pour réaliser une soustraction binaire consiste à transformer les soustractions en additions,
cette méthode est appelée soustraction par complément à 1.
̅ + 𝟏)). Ici, 𝐵̅ est le complément à 1 de B, qui se prononce « B
En fait, au lieu de faire (𝑨 − 𝑩), on fera(𝑨 + (𝑩
barre ».
Le complément à 1 en binaire consiste à changer les 1 en 0 et les 0 en 1, par exemple :
Nombre B Complément à 1 de B
0 1
1 0
1100 0011
̅ + 𝟏) on doit commencer par ajuster le nombre de bits de A et celui de B, de telle
Alors, pour calculer 𝑨 + (𝑩
sorte à ajouter des 0 à gauche de plus petit nombre
d’entre eux, ensuite procéder comme suit :
▪ Inverser tous les bits de B. (remplacer chaque 0
par 1 et chaque 1 par 0)
▪ Ajouter 1 au résultat trouvé de B. (c’est-à-dire
faire l’addition en binaire)
▪ Calculer la somme des deux nombres binaires
trouvés.
▪ Si le nombre de bits du nombre binaire
résultat dépasse le nombre de bits des
autres nombres A et B, alors on doit
supprimer le premier bit à gauche.
Travail demandé :
Ecrire l’algorithme d’un module intitulé « soustraction » qui reçoit comme paramètres, deux chaînes binaires A
et B, puis retourne le résultat de la soustraction en binaire (𝑨 − 𝑩).
Page 2 sur 2