Exercices Pratiques d'Algorithmes pour la Première Scientifique
Ces exercices sont conçus pour vous aider à mettre en pratique les concepts abordés dans le cours
d'algorithmes. Pour chaque Unité d'Enseignement (UE), vous trouverez des problèmes à résoudre en
utilisant le pseudo-code algorithmique.
UE : Écriture d'Algorithmes Simples - Exercices
Exercice 1 : Calcul de la moyenne de trois nombres
Écrivez un algorithme qui demande à l'utilisateur de saisir trois nombres réels, puis calcule et affiche
leur moyenne.
Exercice 2 : Détermination du plus grand de deux nombres
Écrivez un algorithme qui demande à l'utilisateur de saisir deux nombres entiers, puis affiche le plus
grand des deux.
Exercice 3 : Catégorisation d'un âge
Écrivez un algorithme qui demande l'âge d'une personne et affiche sa catégorie :
"Enfant" si l'âge est entre 0 et 12 ans.
"Adolescent" si l'âge est entre 13 et 17 ans.
"Adulte" si l'âge est 18 ans ou plus.
Exercice 4 : Calcul du prix TTC
Écrivez un algorithme qui demande le prix hors taxes (HT) d'un article et le taux de TVA (par exemple,
0.20 pour 20%). Calculez et affichez le prix toutes taxes comprises (TTC).
UE : Structures Itératives - Exercices
Exercice 1 : Somme des N premiers entiers
Écrivez un algorithme qui demande à l'utilisateur un nombre entier positif `N`, puis calcule et affiche
la somme de tous les entiers de 1 à `N`.
Exemple : Si `N = 5`, la somme est `1 + 2 + 3 + 4 + 5 = 15`.
Exercice 2 : Affichage des nombres pairs
Écrivez un algorithme qui affiche tous les nombres pairs de 2 à 20 inclus.
Exercice 3 : Saisie sécurisée d'un âge
Écrivez un algorithme qui demande à l'utilisateur de saisir son âge. L'algorithme doit s'assurer que
l'âge saisi est un nombre entier compris entre 0 et 120. Si l'utilisateur saisit une valeur invalide,
l'algorithme doit redemander la saisie jusqu'à obtenir une valeur correcte.
UE : Structures de Données - Exercices
Exercice 1 : Déclaration et initialisation d'un tableau à une dimension
Déclarez un tableau `Temperatures` de 7 éléments de type réel pour stocker les températures
moyennes d'une semaine. Initialisez ce tableau avec des valeurs de votre choix, puis affichez toutes
les températures.
UE : Opérations sur les Tableaux - Exercices
Exercice 1 : Remplir et afficher un tableau
Écrivez un algorithme qui :
1. Demande à l'utilisateur la taille `N` d'un tableau d'entiers (max 10).
2. Remplit ce tableau avec `N` entiers saisis par l'utilisateur.
3. Affiche tous les éléments du tableau.
Exercice 2 : Recherche du maximum dans un tableau
Écrivez un algorithme qui, étant donné un tableau d'entiers déjà rempli, trouve et affiche la plus
grande valeur contenue dans ce tableau.
Exercice 3 : Compter les occurrences d'une valeur
Écrivez un algorithme qui, étant donné un tableau d'entiers et une valeur `X` saisie par l'utilisateur,
compte et affiche le nombre de fois où `X` apparaît dans le tableau.
UE : Exécution d'un Algorithme utilisant les Tableaux - Exercices
Exercice 1 : Exécution d'un algorithme de recherche séquentielle
Considérez l'algorithme de recherche séquentielle suivant :
Algorithme RechercheSequentielleSimple
Var TAB : TABLEAU [1..6] DE ENTIER ;
VAL_CHERCHEE, indice : entier ;
trouve : booléen
Début
TAB[1] 15 ;
TAB[2] 8 ;
TAB[3] 23 ;
TAB[4] 8 ;
TAB[5] 42 ;
TAB[6] 1 ;
Écrire("Entrez la valeur à rechercher : ") ;
Lire(VAL_CHERCHEE) ;
indice 1 ;
trouve FAUX ;
TANTQUE (indice <= 6 ET trouve = FAUX) FAIRE
SI (TAB[indice] = VAL_CHERCHEE) ALORS
trouve VRAI ;
SINON
indice indice + 1 ;
FIN SI
FIN TANT QUE
SI (trouve = VRAI) ALORS
Écrire(VAL_CHERCHEE, " trouvé à l'indice ", indice) ;
SINON
Écrire(VAL_CHERCHEE, " non trouvé dans le tableau.") ;
FIN SI
Fin
Question : Effectuez la trace de cet algorithme pour les deux cas suivants :
1. `VAL_CHERCHEE = 23`
2. `VAL_CHERCHEE = 99`
UE : Fonctions et Procédures - Exercices
Exercice 1 : Procédure d'affichage
Écrivez une procédure nommée `AfficherMessage` qui prend en paramètre une chaîne de
caractères et l'affiche à l'écran, encadrée par des étoiles. Par exemple, si le message est "Bonjour",
elle doit afficher " Bonjour ".
Exercice 2 : Fonction de calcul de puissance
Écrivez une fonction nommée `Puissance` qui prend deux entiers `base` et `exposant` en
paramètres, et retourne `base` élevé à la puissance `exposant` (base^exposant). Vous pouvez
supposer que l'exposant est positif ou nul.
Exercice 3 : Fonction pour vérifier si un nombre est premier
Écrivez une fonction booléenne nommée `EstPremier` qui prend un entier `N` en paramètre et
retourne `VRAI` si `N` est un nombre premier, `FAUX` sinon. Un nombre premier est un entier supérieur
à 1 qui n'a d'autres diviseurs positifs que 1 et lui-même.
UE : Paramètres d'une Fonction / Procédure - Exercices
Exercice 1 : Passage par valeur
Écrivez un algorithme qui déclare une variable entière `x` dans le programme principal. Créez une
procédure `IncrementerParValeur` qui prend un entier en paramètre (par valeur), l'incrémente de
10, et affiche sa valeur à l'intérieur de la procédure. Après l'appel de la procédure, affichez la valeur
de `x` dans le programme principal pour démontrer que la variable originale n'a pas été modifiée.
Exercice 2 : Passage par référence
Écrivez un algorithme qui déclare une variable entière `y` dans le programme principal. Créez une
procédure `IncrementerParReference` qui prend un entier en paramètre (par référence),
l'incrémente de 10, et affiche sa valeur à l'intérieur de la procédure. Après l'appel de la procédure,
affichez la valeur de `y` dans le programme principal pour démontrer que la variable originale a été
modifiée.
Exercice 3 : Variables locales et globales
Écrivez un algorithme qui déclare une variable globale `compteurGlobal` initialisée à 0. Créez une
procédure `ModifierCompteurs` qui déclare une variable locale `compteurLocal` initialisée à 0. À
l'intérieur de la procédure, incrémentez `compteurGlobal` de 1 et `compteurLocal` de 1, puis
affichez les deux compteurs. Appelez cette procédure plusieurs fois et observez les valeurs affichées.
UE : Exécution d'un Algorithme intégrant les Fonctions et les Procédures - Exercices
Exercice 1 : Trace d'un algorithme avec fonction de calcul de moyenne
Considérez l'algorithme suivant qui calcule la moyenne de trois nombres en utilisant une fonction.
Algorithme CalculMoyenne
Var n1, n2, n3 ,moy : réel ;
FONCTION CalculerMoyenne(val1, val2, val3 : réel) : réel
Var somme_locale : réel ;
Début
somme_locale val1 + val2 + val3 ;
RETOUR somme_locale / 3 ;
FIN FONCTION
Début
Écrire("Entrez le premier nombre : ") ;
Lire(n1) ;
Écrire("Entrez le deuxième nombre : ") ;
Lire(n2) ;
Écrire("Entrez le troisième nombre : ") ;
Lire(n3) ;
moy CalculerMoyenne(n1, n2, n3) ;
Écrire("La moyenne est : ", moy) ;
Fin
Question : Effectuez la trace de cet algorithme avec les entrées `n1 = 10`, `n2 = 15`, `n3 = 20`.
Indiquez les valeurs des variables `n1`, `n2`, `n3`, `moy` dans le programme principal, et `val1`, `val2`,
`val3`, `somme_locale` dans la fonction `CalculerMoyenne` à chaque étape clé.
Exercice 2 : Algorithme avec procédure et passage par référence
Considérez l'algorithme suivant qui utilise une procédure pour échanger les valeurs de deux
variables.
Algorithme EchangeAvecProcedure
var valeurA, valeurB : entier ;
PROCEDURE EchangerValeurs(VAR x : entier, VAR y : entier)
var temp : entier ;
Début
temp x ;
xy;
y temp ;
FIN PROCEDURE
Début
valeurA 100 ;
valeurB 200 ;
Écrire("Avant échange : A = ", valeurA, ", B = ", valeurB) ;
EchangerValeurs(valeurA, valeurB) ;
Écrire("Après échange : A = ", valeurA, ", B = ", valeurB) ;
Fin
Question : Effectuez la trace de cet algorithme. Indiquez les valeurs de `valeurA`, `valeurB` dans le
programme principal, et `x`, `y`, `temp` dans la procédure `EchangerValeurs` à chaque étape clé.