TD123456ALG234

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 13

Université d’Ebolowa

Institut Supérieur d’Agriculture, de Bois,


de l’Eau et d’Energie

TD ALG234
(Algorithmique & Programmation)
Par M. BEKONO James Jaurès
(Ingénieur de conception en Informatique et Télécommunications)

2024/2025

-1-
Série 1 : Initiation aux algorithmes

Exercice 1
Soit l’algorithme suivant :

Algorithme A ;
Var a, b, c : entier ;
Début
a5;
ba+1;
ca+b ;
Fin

a) Expliquer chaque ligne, mot et symbole dans cet algorithme.


b) Sur la base de cette explication, ajouter des commentaires à cet algorithme.
c) A quoi servent ces commentaires ? Est-ce qu’ils sont obligatoires ?
d) Dérouler l’algorithme et donner les valeurs des variables a, b et c.

Exercice 2
Soit l’algorithme suivant :
Algorithme B ;
Var a, b, c, d : entier ;
Début
Ecrire (″Donner a et b″) ;
Lire (a, b) ;
ca+b ;
da*b ;
Ecrire (c, d) ;
Fin
a) Que fait cet algorithme ?
b) Dérouler l’algorithme pour a=5 et b=6.
c) Même question pour a=6 et b=5.

-2-
Exercice 3

Soit l’algorithme suivant :


Algorithme C ;
Var x,y :entier ;
Début
Ecrire (Donner x, y) ;
Lire (x,y) ;
x  y+1 ;
z  z+x ;
Ecrire (‘x,z’) ;
Fin

a) Corriger l’algorithme s’il y a des erreurs.


b) Dérouler l’algorithme pour x=9 et y=3.

Exercice 4

Soit l’algorithme suivant :

Algorithme D ;
Var a, b, c : entier ;
Début
Ecrire (donner a et b) ;
Lire (‘a, b’) ;
ca*a;
db*b ;
Ecrire (c, d) ;
Fin

a) L’algorithme contient-il des erreurs ?


b) Dérouler l’algorithme pour a=5 et b=7 et déduire qu’est-ce qu’il fait.

Exercice 5

Corriger l’algorithme suivant, s’il le faut, et donner son résultat :

Algorithme A ;
Var x, y, z, s : entier ;
Début

x ← 10;

-3-
y ← 15;

z ← 20 ;
m ← (x + y + z) / 2 ;
Ecrire (m) ;
Ecrire (x + y + z / 2) ;
Fin

Exercice 6

a) Quel résultat produira-t-il le déroulement de l’algorithme suivant ?

Algorithme B ;
Var val, double, triple : entier ;
Début
val ← 1000 ;
double ← val * 2 ;
triple ← val * 3 ;
Ecrire val ;
Ecrire double ;
Ecrire triple ;
Fin

b) Proposer une simplification de cet algorithme en produisant le même résultat.

Exercice 7

Supposons que l’on veut afficher à l’écran de l’utilisateur le message « Bonjour à tous ».
a) Essayer d’écrire l’algorithme correspondant.
b) Quelle est la sortie (output) de cet algorithme ? et l’entrée (input) ?
c) Quelles sont les instructions à utiliser pour manipuler les entrées (et les sorties) d’un
algorithme ?
d) Reformuler votre algorithme pour qu’il y ait une entrée et une sortie.

-4-
Série 2 : Instructions algorithmiques de base

Exercice 1

a. Ecrire un algorithme qui permet de lire un nombre (donné par l’utilisateur), puis il
calcule et affiche son carré.
b. Même question pour calculer et afficher le cube, ensuite l’inverse de ce nombre.

Exercice 2

a. Ecrire un algorithme qui permet de lire les notes de trois matières ensuite il calcule et
affiche leur moyenne.

b. Modifier l’algorithme dans le cas où les matières ont des coefficients qui doivent être
donnés avec les notes.

Exercice 3

Ecrire un algorithme qui permet de lire deux variables numériques a et b et de les afficher
avant et après leur permutation.

Par exemple, avant : a=5 et b=7, après : a=7 et b=5.

Exercice 4

Proposer un algorithme qui réalise la permutation de deux variables numériques sans avoir
utiliser une troisième variable.

-5-
Série 3 : Les instructions conditionnelles

Exercice 1

Ecrire un algorithme qui permet d’afficher la valeur absolue d’un nombre donné.

Exercice 2

Ecrire un algorithme qui permet de déterminer si un entier donné est pair ou impair.

Exercice 3

Ecrire un algorithme qui demande trois lettres à l’utilisateur, et l’informe ensuite si leur ordre
de lecture et le même que l’ordre alphabétique.

Exercice 4

a) Écrire un algorithme qui lit trois variables au clavier et affiche le maximum des trois.
b) Même question pour plus de trois variables.

Exercice 5

a) Ecrire un algorithme qui demande deux nombres à l’utilisateur et l’informe ensuite


si leur produit est négatif ou positif mais sans le calculer. (On laisse de côté le cas où
le produit est nul).
b) Même question en incluant cette fois-ci le cas où le produit peut être nul.

Exercice 6
Ecrire un algorithme qui permet de lire un numéro du jour de la semaine (numéro entre 1 et
7) et d’afficher le nom du jour correspondant. Par exemple, le dimanche correspond au
numéro 1.

-6-
Série 4 : Les instructions itératives

Exercice 1

Donner les affichages produits par l'exécution des algorithmes suivants :

Algorithme 1 :
Var i : entier ; Début
Pour i←2 à 8
Écrire (''Bonjour'') ;
Écrire (i) ;
Fin pour
Écrire (''fin'') ;

Fin

Algorithme 2 :
Var encore : booléen ;
Début
encore←Vrai;
Répéter
Écrire (''Bonjour'') ;
Jusqu'à (encore)
Écrire (''fin'') ;

Fin

Algorithme 3 :
Var encore : booléen ;
Début
encore ← Faux ;
Tant que (encore) faire
Écrire (''Salut'') ;
Fin tant que
Écrire (''fin'') ;

Fin

-7-
Exercice 2

Ecrire l’algorithme qui affiche la somme des prix d'une suite d'articles saisie par l'utilisateur
et se terminant par zéro (Justifier le choix de la boucle à utiliser).

Exercice 3

a) Ecrire l’algorithme qui demande un entier, ensuite il affiche les dix entiers suivants.
Par exemple, si l’on entre le nombre 10, l’algorithme affichera les nombres 11, 12,…,
20, 21.
b) Modifier l’algorithme pour qu’il affiche les dix nombres pairs suivants.

Exercice 4

a) Ecrire l’algorithme qui demande un nombre entier n, ensuite il affiche la somme


des entiers positifs jusqu’à n.
Par exemple, si n=5, l’algorithme affiche : 1 + 2 + 3 + 4 + 5 = 15
b) Réécrire le même algorithme mais cette fois ci pour le calcul d’un produit. Par
exemple, pour n=5, l’algorithme affiche : 1 x 2 x 3 x 4 x 5 = 120

Remarque. On souhaite afficher uniquement le résultat sans la décomposition du calcul.

Exercice 5

Ecrire un algorithme qui permet de calculer la factorielle d’un entier (qui doit être positif).
Où n! = n x (n-1) x (n-2) x … x 1, si n ≥ 1 et n! = 1 si n = 0.

Exercice 6

a) Ecrire un algorithme qui demande successivement dix nombres à l’utilisateur,


ensuite il affiche le plus petit parmi eux (le minimum).

Exemple :
Entrer le nombre numéro 1 : 12
Entrer le nombre numéro 2 : 3
... (on suppose que les autres nombres sont ≥ 3) Entrer
le nombre numéro 10 : 6
Résultat :
Le minimum est : 3

b) Modifier l’algorithme pour qu’il affiche, en plus, la position de ce nombre.


Pour l’exemple précédent, le minimum se trouve à la position : 2

-8-
c) Réécrire l’algorithme précédent dans le cas où l’on ne connaît pas à l’avance
combien de nombres l’utilisateur souhaite saisir, mais la saisie des nombres s’arrête
lorsque l’utilisateur entre un zéro.

Exercice 7

Ecrire un algorithme qui demande un nombre puis vérifier si ce nombre est premier ou non

Exercice 8

a) Supposons que le code pin d’un utilisateur est 5454. Ecrire un algorithme qui
demande à cet utilisateur de saisir son code pin jusqu’à ce que la réponse convienne.
b) Ajouter une condition qui annule la saisie après trois tentatives erronées.

-9-
Série 5 : Les tableaux et les structures

Exercice 1

a) Ecrire un algorithme qui permet de lire 10 valeurs données par l’utilisateur en les
stockant dans un tableau, ensuite l’algorithme doit afficher seulement les valeurs
impaires.
b) Modifier l’algorithme (a) pour que le nombre de valeurs soit donné par l’utilisateur.
c) Réécrire l’algorithme (b) en divisant cette fois-ci le tableau initial en deux tableaux, l’un
contenant les valeurs paires et l’autre contenant les valeurs impaires, et en les affichant
par la suite.

Exercice 2

a) Soit un tableau de 10 éléments réels, écrire un algorithme qui permet de lire ce tableau
et rechercher le maximum des éléments ainsi que sa position, ensuite l’afficher.

b) Même question pour un tableau de 10 lignes et 5 colonnes.

Exercice 3

Ecrire un algorithme qui permet de rechercher une valeur numérique saisie par l’utilisateur
dans une matrice de taille N*M (N et M sont données).

Exercice 4

Ecrire l’algorithme qui permet de compter le nombre d’occurrences d’un élément donné dans
une matrice de taille N*M.

Exercice 5

Définir une structure Rationnel permettant de coder un nombre rationnel, avec numérateur
et dénominateur. Ecrire ensuite l’algorithme qui permet la saisie, l ’ affichage, la
multiplication et l’addition de deux rationnels. Pour l’addition, afin de simplifier, on ne
cherchera pas nécessairement le plus petit dénominateur commun.

Exercice 6

Soit une structure Compte qui code un compte bancaire défini par un numéro, nom et prénom
et date d’ouverture. Donner la définition des structures nécessaires.
Ecrire ensuite l’algorithme qui permet de saisir un tableau de N comptes et de l’afficher.

- 10 -
Série 6 : Les fonctions et les procédures

Exercice 1

Supposons qu’on veut écrire un sous-programme MoySom qui prend en paramètres trois
entiers a, b et c, et qui affiche leur somme et renvoie leur moyenne.
Quelle est la déclaration correspondante ?
- Fonction MoySom (a : entier, b: entier, c: entier) : entier ;
- Fonction MoySom (a : entier, b: entier, c: entier) : réel ;
- Procédure MoySom (a : entier, b: entier, c: entier, som: entier, moy:
réel) ;
- Fonction MoySom (a : entier, b: entier, c: entier) : entier, réel ;

Justifier la réponse choisie.

Exercice 2

a) Écrire deux fonctions Min et Max qui retournent le minimum et le maximum de deux
nombres réels donnés comme paramètres.

b) Écrire deux autres fonctions Min_4 et Max_4 utilisant les fonctions Min et Max pour
retourner le minimum et le maximum de quatre nombres réels passés en paramètres.

c) Incorporer ces fonctions dans un algorithme complet.

Remarque : On suppose que tous les nombres donnés sont différents.

Exercice 3

Ecrire un algorithme qui permet de lire une liste de N étudiants ayant comme informations :
numéro, nom, prénoms et moyenne du bac. L’algorithme doit afficher cette liste triée par
moyenne en ordre décroissant.

Remarque : utiliser une fonction ou une procédure pour le tri.

Exercice 4

Un magasin de vente des composants électroniques vend quatre types de produits :

• Des cartes mères (code 1) ;


• Des processeurs (code 2) ;

• Des barrettes de mémoire (code 3) ;

• Des cartes graphiques (code 4).

- 11 -
Chaque produit possède une référence (qui est un nombre entier), un prix en DA et une
quantité disponible.

a) Définir une structure Produit qui code un produit.


b) Ecrire une fonction qui permet la saisie et l’affichage des données d’un produit.
c) Ecrire une fonction qui permet à un utilisateur de saisir une commande d’un produit.
L’utilisateur saisit la quantité commandée et les données du produit. L’ordinateur
affiche toutes les données de la commande, y compris le prix.

Exercice de réflexion
Exercice A :
On se propose de réaliser une calculatrice qui permet de faire les opérations arithmétiques
de base (+, -, * et /) de deux nombres a et b, ainsi que de savoir :
- si la somme a + b est paire ;
- si le produit a*b est pair ;
- le signe de la somme a + b ; - le signe du produit a*b.
Ecrire l’algorithme correspondant.

Exercice B :

On se propose de faire la rotation (décalage des positions) des éléments d’un tableau.
1. Proposer un algorithme pour ce problème sachant que le degré de rotation doit être
défini par l’utilisateur. Exemple pour un degré de rotation égal à 2 : Avant rotation :
1,3,9,4,5,2 ➔ Après rotation : 5,2,1,3,9,4
2. Modifier l’algorithme pour que la rotation puisse être faite dans les deux sens
(avantarrière).

Exercice C :
Une société désire organiser un concours de recrutement en deux spécialités S1 et S2.
Le concours se porte sur trois (03) matières : M1, M2 et M3.
Un candidat est retenu si les conditions suivantes sont toutes remplies :
- Il doit se classer parmi les dix (10) premiers,
- Il ne doit pas avoir eu un zéro dans l’une des trois matières,
- Sa spécialité doit correspondre à l’une des deux spécialités concernées.
La note de classement est la moyenne des notes des trois matières.

- 12 -
Ecrire l’algorithme qui permet de lire les informations nécessaires, de classer tous les
candidats par ordre de mérite, ensuite afficher la liste des candidats retenus pour le
recrutement.

Exercice D :
Une entreprise veut gérer la liste de ses employés en les stockant dans un tableau. Sachant
que chaque employé possède comme information : un matricule, un nom et prénom, une
date de naissance, une situation familiale et une adresse. Cette dernière est définie par un
numéro, rue, ville et code postale.
1. Donner la fonction ou la procédure qui permet de :
- rechercher un employé par son matricule et afficher ses informations.
- afficher les nom et prénoms des employés qui habitent une même ville donnée.
2. Ecrire l’algorithme qui permet de créer la liste des employés et de faire appel à ces
fonctions (ou procédures).

- 13 -

Vous aimerez peut-être aussi