1 / 8
Master 2
« Technologies numériques
appliquées à l’histoire »
Année universitaire 2015-2016
Algorithmique - Exercices
Sommaire
1 Affectations ...................................................................................................................................... 2
1.1 Nombres ...................................................................................................................................... 2
1.2 Chaînes de caractères ..................................................................................................................... 2
1.3 Echange à 2 variables ..................................................................................................................... 2
1.4 Echange à 3 variables ..................................................................................................................... 2
1.5 Calcul de moyenne ......................................................................................................................... 2
1.6 Prix TTC ....................................................................................................................................... 3
2 Structures conditionnelles ................................................................................................................... 3
2.1 Exemple simple ............................................................................................................................. 3
2.2 Conditions multiples ....................................................................................................................... 3
2.3 Tri de chaînes de caractères ............................................................................................................. 4
2.4 Produit de 2 nombres ..................................................................................................................... 4
2.5 Est-ce que je suis le(la) meilleur(e) ? ................................................................................................ 4
2.6 Catégorie d’âge ............................................................................................................................. 4
2.7 Calculatrice simple ......................................................................................................................... 4
2.8 Photocopies .................................................................................................................................. 4
2.9 Monnaie ....................................................................................................................................... 5
3 Boucles ............................................................................................................................................ 5
3.1 Entraînement ................................................................................................................................ 5
3.2 Validation des données ................................................................................................................... 5
3.3 Calculatrice un peu plus évoluée ....................................................................................................... 5
3.4 Table de multiplication .................................................................................................................... 5
3.5 Table de multiplication en double boucle ............................................................................................ 5
3.6 Jeu de recherche d’un nombre .......................................................................................................... 6
3.7 Force brute ................................................................................................................................... 6
4 Tableaux .......................................................................................................................................... 6
4.1 Echauffement ................................................................................................................................ 6
4.2 Recherche dans un tableau .............................................................................................................. 6
4.3 Calcul de moyenne, minimum et maximum......................................................................................... 7
4.4 Remplir un tableau à partir d’un autre ............................................................................................... 7
4.5 Listes d’acteurs de cinéma ............................................................................................................... 7
4.6 Insertion dans un tableau trié .......................................................................................................... 7
4.7 Trier un tableau ............................................................................................................................. 7
5 Fonctions ......................................................................................................................................... 7
5.1 demander Oui ou Non ..................................................................................................................... 7
5.2 Fonctions liées aux tableaux ............................................................................................................ 8
5.3 Application multilingue (difficile) ....................................................................................................... 8
2 / 8
1 Affectations
1.1 Nombres
Quelles seront les valeurs des variables A et B après exécution des instructions suivantes ?
VARIABLES
A : nombre réel
B : nombre réel
DEBUT
A 5
B A + 5
A A B
ECRIRE(A)
ECRIRE(B)
FIN
1.2 Chaînes de caractères
Quelles seront les valeurs des variables A et B après exécution des instructions suivantes ?
VARIABLES
A : chaîne de caractère
B : chaîne de caractère
DEBUT
A 5
B 10
A A + B
ECRIRE(B)
FIN
1.3 Echange à 2 variables
Ecrire un algorithme qui permette d’échanger les valeurs de A et B.
1.4 Echange à 3 variables
Ecrire un algorithme qui permette d’échanger les valeurs :
Transfert de la valeur de A dans B
Transfert de la valeur de B dans C
Transfert de la valeur de C dans A
Par exemple, au départ A=1, B=2, C=3, et au final A=3, B=1, C=2.
1.5 Calcul de moyenne
Ecrire un algorithme qui permette de saisir 5 nombres, et d’en afficher la moyenne.
(Pour le moment, cet exercice permet de calculer une moyenne sur 5 nombres uniquement. Un exercice ultérieur permettra
l’écriture d’un algorithme fonctionnant quelque soit la quantité de nombres à moyenner.)
3 / 8
1.6 Prix TTC
Ecrire un algorithme qui permette de lire le prix d’un article, la quantité demandée, et qui affiche ensuite le total hors-taxe
(HT), le total toutes taxes comprises (TTC) et le montant de la TVA.
2 Structures conditionnelles
2.1 Exemple simple
Quel affichage va être produit par cet algorithme ?
VARIABLES
A : nombre réel
B : nombre réel
DEBUT
A 5
B A
SI (A > B)
ALORS
ECRIRE(A est plus grand que B)
FINSI
FIN
2.2 Conditions multiples
Quel affichage va être produit par cet algorithme ?
VARIABLES
A : nombre réel
B : nombre réel
C : nombre réel
DEBUT
A 5
B 10
C 15
# Test de type ET
SI (A > B) ET (A < C)
ALORS
ECRIRE(A est plus grand que B ET plus petit que C)
FINSI
# Test de type OU
SI (A > B) OU (A < C)
ALORS
ECRIRE(A est plus grand que B OU plus petit que C)
FINSI
# Test avec négation
SI NON((A > B) ET (A < C))
ALORS
ECRIRE(la condition est vraie)
SINON
ECRIRE(la condition est fausse)
FINSI
# Test multiple
SI NON((A > B) ET (A < C)) ET (B < C)
ALORS
ECRIRE(la condition est vraie)
SINON
4 / 8
ECRIRE(la condition est fausse)
FINSI
FIN
2.3 Tri de chaînes de caractères
Ecrire un algorithme qui demande 2 chaines de caractère, puis les affiche par ordre alphabétique
2.4 Produit de 2 nombres
Ecrire un algorithme qui demande deux nombres à l’utilisateur et l’informe ensuite si leur produit est négatif ou positif (on
laisse de côté le cas où le produit est nul).
Faire un 2ème algorithme qui ne passe pas par le calcul du produit des deux nombres.
Faire un 3ème algorithme, qui cette fois-ci prend en charge le cas où le produit est nul.
2.5 Est-ce que je suis le(la) meilleur(e) ?
Ecrire un algorithme qui demande votre note, ainsi que celle de votre voisin, et qui ensuite vous dit si vous êtes le(la)
meilleur(e).
2.6 Catégorie d’âge
Ecrire un algorithme qui demande l’âge d’un enfant à l’utilisateur. Ensuite, il l’informe de sa
catégorie :
• "Poussin" de 6 à 7 ans
• "Pupille" de 8 à 9 ans
• "Minime" de 10 à 11 ans
• "Cadet" après 12 ans
Donner 2 algorithmes, l’un avec SI…ALORS…SINON, l’autre avec AU CAS OU…
Dans un deuxième temps, ajouter des éléments pour gérer les cas l’âge d’un enfant ne correspond à aucune de ces
catégories.
2.7 Calculatrice simple
Ecrire l’alogorithme d’une calculatrice simple, qui permet de saisir 2 nombres, de choisir l’opérateur désiré (addition,
soustraction, multiplication, division) et qui affiche le résultat du calcul.
2.8 Photocopies
Un magasin de reprographie facture 0,10 E les dix premières photocopies, 0,09 E les vingt suivantes et 0,08 E au-delà.
Ecrivez un algorithme qui demande à l’utilisateur le nombre de photocopies effectuées et qui affiche la facture
correspondante.
5 / 8
2.9 Monnaie
Ecrire un algorithme qui à partir d'une somme d'argent donnée, la décompose en un nombre minimal de billets et de pièces
(rappel des valeurs disponibles en : 500, 200, 100, 50, 20 ,10 5, 2, 1, 0.50, 0.20, 0.10, 0.05, 0.02 et 0.01). La somme
initiale sera saisie par l'utilisateur
3 Boucles
3.1 Entraînement
Ecrire des algorithmes qui affichent les résultats suivants :
1 2 3 4 5
3 2 1 0 -1 -2
0 5 10 15 … 100
10 5 0 -5 -10
Refaire cet exercice avec les différents types de boucle.
3.2 Validation des données
Ecrire un algorithme qui demande à l’utilisateur un nombre compris entre 1 et 3 jusqu’à ce que la réponse convienne.
Ecrire un algorithme qui demande à l’utilisateur une chaine de caractères, et qui redemande tant que l’utilisateur donne une
chaîne vide (= 0 caractères).
3.3 Calculatrice un peu plus évoluée
Reprendre l’algorithme de l’exercice 2.8 – Calculatrice simple.
Faire en sorte que le menu soit repropo à la fin de chaque calcul, et propose en plus un 5ème choix pour terminer le
programme.
3.4 Table de multiplication
Ecrire un algorithme qui demande un nombre de départ, et qui ensuite écrit la table de multiplication de ce nombre,
présentée comme suit (cas où l'utilisateur entre le nombre 7) :
Table de 7 :
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
...
7 x 10 = 70
3.5 Table de multiplication en double boucle
Ecrire l’algorithme correspondant à l’affichage suivant :
1 2 3 4 5 6 7 8 9 10
1 / 8 100%