Niveau : 1ATC-C
Année académique : 2024 - 2025
Enseignant : Cédric BERE
ALGORITHMIQUE
Les exercices à faire à la maison et les corrigés :
Exercice 1
Qu’est ce qu’un code source, compilateur, interpréteur, algorithme d’EUCLIDE du calcul du PGCD ?
Corrigé N°1
Le code source: est un ensemble d’instructions écrit dans un langage de programmation compréhensible
par les humains. C’est la version lisible, compréhensible et modifiable par les humains et qui sera convertit
en code machine exécutable par l’ordinateur.
Un compilateur: est un programme chargé de traduire un code source vers code cible. Il fait l’analyse
lexical et syntaxique avant d’exécuter le programme.
Un interpréteur: est comme un compilateur mais qui exécute les instructions ligne par ligne.
Algorithme d’EUCLIDE : est l’une des méthodes la plus efficace pour calculer le PGCD de deux nombres. Il
est basé sur le principe : PGCD (a ; b) = PGCD (b ; a mod b) où "mod" représente le reste de la division
euclidienne.
Exercice 2
Ecrire un algorithme qui permet de calculer le carré d’un nombre.
Corrigé N°2
Algorithme Calcul_le_Carre
Variables
a, b : entiers
Début
Afficher ("Entrer un nombre : ")
Lire(a)
b ← a*a
Afficher ("Le carré de ", a, " est : ", b)
Fin
1
Exercice 3
Ecrire un algorithme qui calcule et affiche l’âge qu’aura une personne en 2100 en utilisant son année de
naissance.
Corrigé N°3
Algorithme Age2100
Variables
annee_de_naissance, age_en_2100 : entiers
Début
Afficher ("Entrer votre année de naissance : ")
Lire(annee_de_naissance)
age_en_2100 <- 2100 - annee_de_naissance
Afficher ("Vous aurez ", age_en_2100, "ans en 2100.")
Fin
Exercice 4
Ecrire un algorithme qui demande à l’utilisateur d’entrer deux nombres A et B et qui affichera
respectivement :
- La somme de A et B est : …
- Le produit de A et B est : …
- La soustraction de A par B est : …
- La division de A par B est : …
Corrigé N°4
Algorithme Entrer2Nombres
Variables
A, B, Ad, S, P, D: reels
Début
Afficher ("Entrer deux nombres : ")
Lire (A, B)
Ad ← A + B
S←A-B
P←A*B
D←A/B
Afficher ("La somme de ", A, " et ", B, "est : ", Ad)
2
Afficher ("Le produit de ", A, " et ", B, " est : ", P)
Afficher ("La soustraction de ", A, " par ", B, " est : ", S)
Afficher ("La division de ", A, " par ", B, " est : ", D)
Fin
Exercice 5
Ecrire un algorithme qui convertit degré Celsius (°C) en degré Fahrenheit (°F) et de °F en °C.
Corrigé N°5
Algorithme ConvertirC_F
Variables
C, F : reels
Début
Afficher ("Entrer la valeur en Celsius : ")
Lire (C)
F ← C * 1.8 + 32
Afficher (C, "°C en Fahrenheit est : ", F, "°F")
Fin
Algorithme ConvertirF_C
Variables
C, F : reels
Début
Afficher ("Entrer la valeur en Fahrenheit : ")
Lire (F)
C ← (F – 32) / 1.8
Afficher (F, "°F en Celsius est : ", C, "°C")
Fin
Exercice 6
Ecrire un algorithme qui permet d’afficher la mention d’un étudiant à partir de sa moyenne :
- 10 ≤ Moyenne ˂ 12, mention ˂˂Passable˃˃
- 12 ≤ Moyenne ˂ 14, mention ˂˂Assez bien˃˃
- 14 ≤ Moyenne ˂ 16, mention ˂˂Bien˃˃
- 16 ≤ Moyenne ˂ 18, mention ˂˂Très bien˃˃
- 18 ≤ Moyenne ≤ 20, mention ˂˂Excellent˃˃
3
Corrigé N°6
Algorithme Moyenne
Variable
M : reel
Début
Afficher ("Saisir la moyenne de l'étudiant(e) : ")
Lire(M)
Si (M ≥ 10) et (M < 12) alors
Afficher ("Mention Passable")
Finsi
Si (M ≥ 12) et (M < 14) alors
Afficher ("Mention Assez bien")
Finsi
Si (M ≥ 14) et (M < 16) alors
Afficher ("Mention Bien")
Finsi
Si (M ≥ 16) et (M < 18) alors
Afficher ("Mention Très bien")
Finsi
Si (M ≥ 18) et (M ≤ 20) alors
Afficher (''Mention Excellent")
Finsi
Fin
Exercice 7
Ecrire un algorithme qui permet d’afficher le maximum de 3 variables A, B et C saisis au clavier.
4
Corrigé N°7
Algorithme Maxi_de_3nombres
Variables
A, B, C : reels
Début
Afficher ("Saisir trois nombres : ")
Lire (A, B, C)
Si (A ≥ B) et (A ≥ C) alors
Afficher ("Le maximum de ces trois nombres est : ", A)
Sinon
Si (A ≥ B) et (A ≤ C) alors
Afficher ("Le maximum de ces trois nombres est : ", C)
Sinon
Si (B ≥ A) et (B ≥ C) alors
Afficher ("Le maximum de ces trois nombres est : ", B)
Sinon
Si (B ≥ A) et (B ≤ C) alors
Afficher ("Le maximum de ces trois nombres est : ", C)
Sinon
Si (C ≥ A) et (C ≥ B) alors
Afficher ("Le maximum de ces trois nombres est : ", C)
Sinon
Si (C ≥ A) et (C ≤ B) alors
Afficher ("Le maximum de ces trois nombres est : ", B)
Finsi
Finsi
Finsi
Finsi
Finsi
Finsi
Fin
5
Exercice 8
En utilisant la structure de contrôle à choix multiple Selon cas, écrire un algorithme qui permet d’afficher le
menu suivant :
[Link] d’unités ;
[Link] d’argent ;
[Link] d’argent.
Et si :
On tape 1, Entrer le numéro du bénéficiaire s’affichera ;
On tape 2, Entrer le montant à transférer s’affichera ;
On tape 3, Entrer le montant à retirer s’affichera.
Corrigé N°8
Algorithme A_choix_multi
Variable
Choix : entier
Début
Afficher ("1. Achat d'unités ")
Afficher ("2. Transfert d'argent ")
Afficher ("3. Retrait d'argent ")
Lire (Choix)
Selon Cas Choix
1 : afficher ("Entrer le numéro du bénéficiaire : ")
2 : afficher ("Entrer le montant à transférer : ")
3 : afficher ("Entrer le montant à retirer : ")
Autre cas :
Afficher ("Entrer invalide")
Fin cas
Fin
Exercice 9
Ecrire un algorithme calculateur qui permet d’effectuer les opérations arithmétiques classiques. Le
programme affichera le menu suivant :
Entrer le numéro de l’opération :
6
1. Addition ;
2. Soustraction ;
3. Multiplication ;
4. Division ;
Entrer deux valeurs A et B ;
Le résultat de l’opération correspondante.
Corrigé N°9
Algorithme Calculatrice
Variables
M : entier
A, B : reels
Début
Afficher ("1. Addition")
Afficher ("2. Soustraction")
Afficher ("3. Multiplication")
Afficher ("4. Division")
Afficher ("Entrer le numéro de l''opération : ")
Lire (M)
Afficher ("Entrer deux nombreux : ")
Lire (A, B)
Cas M
1 : afficher ("La somme de ", A," et ", B," est : ", A + B)
2 : afficher ("La soustraction de ", A," par ", B," est : ", A - B)
3 : afficher ("La multiplication de ", A," par ", B," est : ", A*B)
4 : afficher ("La division de ", A," par ", B," est : ", A/B)
Autre cas
Afficher ("Erreur de saisie ")
Fin cas
Fin
Exercice 10
Ecrire un algorithme qui permet d’effectuer la multiplication de deux nombres A et B en utilisant la boucle
Pour et uniquement l’opération addition sachant que : A*B = A + A + A + …
B fois
7
Corrigé N°10
Algorithme Multiplication
Variables
A, B, R, i : entiers
Début
Afficher ("Entrer deux nombres : ")
Lire (A, B)
R←0
Pour i allant de 1 à B, i ← i + 1 faire
R←R+A
Fin pour
Afficher ("Le résultat de la multiplication de ", A, "par ", B, "est : ", R)
Fin
Exercice 11
Ecrire un algorithme qui permet d’effectuer la division entière de deux nombres A et B saisis au clavier en
utilisant uniquement l’opération arithmétique de la soustraction.
Corrigé N°11
Algorithme Division_entiere
Variables
A, B, R : reels
Q : entier
Début
Afficher ("Entrer deux nombres : ")
Lire (A, B)
R←A
Q←0
Tant que (R >= B) faire
Q←Q+1
R←R-B
Fin tant que
Afficher ("Le résultat de la division entière de ", A, "par ", B, " est : ", Q, " et le reste est : ", R)
Fin
8
Exercice 12
Ecrire un programme qui demande à l’utilisateur de saisir un nombre entier compris entre 0 et 100, s’il
entre un nombre qui n’est pas compris entre 0 et 100 le programme va demander à l’utilisateur de saisir à
nouveau. On utilisera :
1. Une boucle Tant que ;
2. Une boucle Répéter.
Corrigé N°12
1.
Algorithme Verificateur
Variable
N : reel
Début
Afficher ("Saisir un nombre compris entre 0 et 100 : ")
Lire (N)
Tant que (N < 0) ou (N > 100) faire
Afficher ("Saisir un nombre compris entre 0 et 100 : ")
Lire (N)
Fin tant que
Afficher ("Vous avez saisi un nombre correct.")
Fin
2.
Algorithme Boucle_Repeter
Variable
N : reel
Début
Repeter
Afficher ("Saisir un nombre compris entre 0 et 100 : ")
Lire (N)
Jusqu’à ce que (N >= 0) et (N <= 100)
Fin
9
Exercice 13
Ecrire un programme qui permet de calculer la moyenne de la classe en utilisant un tableau de 20 réels
contenant les notes des étudiants.
Corrigé N°13
Algorithme MoyenneDeClasse
Variables
Notes : Tableau[20] de reel
Moy, Cal : reel
i : entier
Début
Moy ← 0
Cal ← 0
Pour i allant de 1 à 20 faire
Afficher ("Entrer la note de l’élève", i)
Lire (Notes[i])
Cal ← Cal + Notes[i]
Fin pour
Moy ← Cal / 20
Afficher ("La moyenne des notes de la classe est : ", Moy)
Fin
Exercice 14
Ecrire un algorithme qui permet de manipuler les nombres complexes.
1. Définir une structure (outil enregistrement ou type enregistrement) de nombres complexes ;
2. Demander à l’utilisateur de saisir deux nombres complexes, le programme calculera la somme des
deux nombres complexes saisis par l’utilisateur et affichera le résultat obtenu.
Corrigé N°14
1.
Structure Complexe {
Re : reel
Im : reel
} Fin
10
2.
Algorithme SommeDesComplexes
Variables
Z, X, T : Complexe
Début
Afficher ("Entrer la partie réel et imaginaire du 1er Complexe : ")
Lire ([Link], [Link])
Afficher ("Entrer la partie réel et imaginaire du 2e Complexe : ")
Lire ([Link], [Link])
[Link] ← [Link] + [Link]
[Link] ← [Link] + [Link]
Afficher ("La partie réel de la somme est : ", [Link], "et la partie imaginaire est : ", [Link])
Fin
Exercice 15
Ecrire un algorithme qui permet de calculer la moyenne de chaque étudiant d’une classe de 10 étudiants.
On suppose que chaque étudiant a 3 notes (Anglais, Informatique, Mathématiques). Pour ce fait on
déclarera un tableau de 4 colonnes (correspondant respectivement à la note d’Anglais, note
d’Informatique, note de Mathématiques et la moyenne calculée de l’étudiant) et 10 lignes.
Corrigé N°15
Algorithme Moyennes
Variables
Notes : Tableau [10] [4] de reel
i, j : entiers
Début
Pour i allant de 1 à 10 faire
Ecrire ("Saisir la note d'Anglais de l'étudiant ", i)
Lire (Notes[i][1])
Ecrire ("Saisir la note d'Informatique de l'étudiant ", i)
Lire (Notes[i][2])
Ecrire ("Saisir la note de Mathématiques de l'étudiant ", i)
Lire (Notes[i][3])
Notes[i,4] ← (Notes[i][1] + Notes[i][2] + Notes[i][3]) / 3
Fin pour
11
Pour i allant de 1 à 10 faire
Pour j allant de 1 à 4 faire
Afficher (Notes[i][j])
Fin pour
Fin pour
Fin
Exercice 16
Ecrire un algorithme qui permet de rechercher le maximum dans un tableau d’entiers de taille n.
Corrigé N°16
Algorithme Recherche_du_Maxi
Variables
Maxi : entier
i : entier
T : Tableau[n] d’entiers
Début
Pour i allant de 1 à n faire
Afficher ("Entrer une valeur : ")
Lire (T[i])
Fin pour
Maxi ← T[1]
Pour i allant de 2 à n faire
Si (t[i] > Maxi) alors
Maxi ← T[i]
Finsi
Fin pour
Afficher ("Le maximum des nombres est : ", Maxi)
Fin
12