0% ont trouvé ce document utile (0 vote)
3 vues30 pages

Cours Algorithme

Ce document présente un cours d'algorithmique pour les étudiants en sciences économiques, détaillant les concepts fondamentaux des algorithmes, leur structure, et les instructions de base en pseudo-code. Il aborde également les types de variables, les opérateurs, les instructions de lecture/écriture, ainsi que les instructions conditionnelles. Des exercices pratiques sont inclus pour renforcer la compréhension des concepts abordés.

Transféré par

elfresafwan
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues30 pages

Cours Algorithme

Ce document présente un cours d'algorithmique pour les étudiants en sciences économiques, détaillant les concepts fondamentaux des algorithmes, leur structure, et les instructions de base en pseudo-code. Il aborde également les types de variables, les opérateurs, les instructions de lecture/écriture, ainsi que les instructions conditionnelles. Des exercices pratiques sont inclus pour renforcer la compréhension des concepts abordés.

Transféré par

elfresafwan
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Sciences Economiques – Semestre 5 – Cours d’Algorithmique FSJES Tétouan

COURS ALGORITHMIQUE – PARTIE 1


SCIENCES ECONOMIQUES (filière : commerce et marketing)
SEMESTRE 5 – 2025/2026
Pr. BENHADOU
Sciences Economiques – Semestre 5 – Cours d’Algorithmique FSJES Tétouan

Introduction

Un ordinateur n'est pas capable de faire quoi que ce soit par lui-même. Par conséquent, le principe
fondamental de la programmation informatique c’est indiquer à l'ordinateur ce que nous voulons qu'il
fasse à travers un langage de programmation (Python, C, Java, VBasic, etc.), nous devons d'abord
disposer d'une description claire, détaillée et précise de ce que nous voulons lui demander. Cette
description claire, détaillée et précise est exprimée par un algorithme.
Les étapes suivies pour la conception d’un programme informatique sont décrites dans la figure 1.

Figure 1 : Etapes d’élaboration d’un programme informatique

Un algorithme est une série d'étapes organisées décrivant le processus à suivre pour résoudre un
problème spécifique. Ainsi l'algorithmique est l’ensemble des règles et des techniques permettant de
définir et de concevoir des algorithmes.

L’algorithme est une première étape nécessaire à la compréhension de la logique de communication


avec les ordinateurs (Un algorithme peut s’écrire indépendamment de tout langage de programmation).

De ce fait, dans le présent cours, nos algorithmes seront écrits à l’aide d’un pseudo-langage (ou pseudo-
code) proche des langages de programmation classiques.

Structure d’algorithme

Les algorithmes sont la base de développement de programmes informatique et ils suivent une structure
bien déterminée. Pour concevoir un algorithme il faut suivre une méthodologie déterminée par une
série d’étapes. Il faut d’abord définir le problème, le travail le plus important et laborieux est de
comprendre le problème. Une fois le problème est identifié, la deuxième étape a pour objectif
d’analyser et le décomposer pour faciliter l’analyse, la troisième étape serait la conception de
l’algorithme à l’aide d’un pseudocode ou d’un organigramme qui décrivent les étapes que l'algorithme
doit suivre pour obtenir la solution au problème, et l’étape finale est d’examiner le bon fonctionnement
de l’algorithme en utilisant des tests de vérification, pour évaluer le résultat obtenu à l’aide de données
d’entrée.
Structure de l’algorithme est décrite dans le schéma suivant :

1
Sciences Economiques – Semestre 5 – Cours d’Algorithmique FSJES Tétouan

La structure d’algorithme est composée d’une partie déclarations (permet de lister toutes les
variables que l’algorithme utilisera ainsi que leurs types) et d’une partie corps de l’algorithme
(délimitée par les mots clés Début et Fin. Elle est composée d’une suite finie d’instructions, placées les
unes après les autres. Chaque instruction est un ordre donné à l’ordinateur. Ces ordres seront exécutés
de manière séquentielle : on exécute d’abord l’Instruction 1, puis l’Instruction 2 … et enfin l’Instruction
n).

Une variable, est un espace dans la mémoire de l’ordinateur qui permet d’enregistrer une valeur, elle
doit être déclarée avant d’être utilisée dans l’algorithme. Ce sont des valeurs qui changent pendant
l'exécution des processus de l'algorithme. Ces variables enregistreront les opérations que l'algorithme
effectue pour résoudre le problème. Chaque variable a un identifiant, car c'est le nom avec lequel elle
se trouve et un type de données, qui indique les données qu'elle peut enregistrer, qui peuvent être des
chiffres, des lettres ou des valeurs logiques.
Exemple :
Variable A en Numérique

Types de variables
Numérique : regroupe les nombres de toutes sortes (entiers, réels, …)
Caractère : regroupe les lettres, les signes de ponctuation, les espaces et même les chiffres si on
les utilise comme caractère.
Chaîne : c’est un groupe de caractère. Les chaînes sont toujours notées en guillemets.
Logique : type logique prenant les valeurs Vrai et Faux considérés comme 1 et 0.

Opérateurs et expressions
Arithmétique : + : Somme, - : soustraction, * : multiplication et / : division.
^ qui signifie « puissance ». 8 au carré s’écrira donc 8 ^ 2.
Relationnel : =, >, <, >= (supérieur ou égal), <= (inférieur ou égal), /= (différent).

Logique : Ce sont des opérateurs qui nous permettent d'obtenir une réponse logique à partir de la
comparaison de deux opérations. && ET, || OU, ! non.
Les instructions :

Pour indiquer les opérations à effectuer dans un algorithme.

1- Instruction d’affectation
Une variable ne peut prendre qu’une valeur à la fois, cette instruction permet de modifier la valeur d’une
variable. Dans notre pseudo-code, l’affectation est représentée par le signe ←.

2
Sciences Economiques – Semestre 5 – Cours d’Algorithmique FSJES Tétouan

Algorithme 1 : La variable A est déclarée comme de type


Variable A en Numérique numérique. Cet algorithme lui affecte la valeur 3
Début
A←3
Fin
Algorithme 2 : La variable A prend d’abord la valeur 3. Cette
Variable A en Numérique valeur est écrasée et est remplacée par la valeur 5
Début après la deuxième instruction d’affectation.
A←3
A←5
Fin
Algorithme 3 : On déclare deux variables numériques A et B. La
Variables A, B en Numérique première instruction affecte la valeur 3 à A. A ce
Début moment, B n’a pas encore de valeur. La seconde
A←3 instruction affecte à B, la valeur de A (donc 3). A
B←A ce moment, A et B ont tous les deux la valeur 3.
A←5 La troisième instruction écrase la valeur courante
Fin (3) de A par une nouvelle valeur (5). Donc en fin
d’algorithme, A a la valeur 5 et B la valeur 3.

Exercices

Exercice 1
Quel sera le contenu des variables A, B et C après exécution des instructions suivantes ?
Variables A, B, C en Numérique
Début
A←4
B←2
C←A+B
A←1
C←B–A
Fin

Exercice 2
Quel sera le contenu des variables A, B après exécution des instructions suivantes ?
Variables A, B en Numérique
Début
A←1
B←A+2
A←A+3
B←A–2
Fin

2- Instructions de lecture/écriture
Pour enregistrer les valeurs introduites par l’utilisateur (l’insertion de données via le clavier) dans une
variable, ainsi pour afficher sur l’écran consécutivement.
Lire des données. Il s'agit de l'action permettant de saisir des données via le clavier et l’affectant à la
variable (A, B,…). Vous pouvez lire plusieurs éléments de données en les identifiant par des noms de
variables uniques et en les séparant par des virgules (,).
Lire A, B, …

3
Sciences Economiques – Semestre 5 – Cours d’Algorithmique FSJES Tétouan

Action d'écriture. Cette instruction permet d'écrire/afficher des valeurs de variables, le résultat
d'expressions mathématiques et du contenu textuel. Chaque élément doit être séparé par une
virgule (,).
Ecrire A, B, …

Remarque : Si une variable n’a pas encore de valeur au moment de l’exécution de l’instruction
Ecrire, l’ordinateur va afficher une erreur et le programme s’arrête.

Exemple :

Variable A en Numérique
Début
A←2
Ecrire A
Fin

Cet algorithme affecte la valeur 2 à la variable A


(instruction A ← 2) puis affiche 2 (valeur
courante de la variable A au moment de
l’exécution de l’instruction Ecrire A).

Variable A en Numérique
Début
Ecrire A
A←2
Fin

Ici, l’ordinateur va afficher une erreur et


s’arrêter. En effet, l’ordre d’afficher la valeur de
la variable A (Ecrire A) se fait avant que celle-ci
n’ait une valeur. L’ordre séquentiel de
l’exécution des instructions est important !

L’utilisation des guillemets lorsqu’on souhaite afficher une chaine de caractères (une lettre, un mot,
une phrase …). Par exemple, l’instruction :
Ecrire « A »
Indique à l’ordinateur qu’il doit afficher la lettre A à l’écran et non la valeur de cette variable.

4
Sciences Economiques – Semestre 5 – Cours d’Algorithmique FSJES Tétouan

Exemple :

Variable A en Numérique
Début
A←3
Ecrire « A »
Fin

Affiche la lettre A à l’écran.

Exemple :

Variables K, L en Chaîne
Début
Ecrire « Entrez votre ville de résidence »
Lire K
Ecrire « Entrez votre prénom »
Lire L
Ecrire « Votre êtes : », « », K, « et vous habitez à : »,« », L
Fin

Explication du déroulement des instructions :

Ecrire « Entrez votre ville de résidence »


affiche à l’écran la phrase : Entrez votre ville de résidence (car cette phrase est indiquée entre guillemets).

Lire K
indique à l’ordinateur qu’il doit attendre que l’utilisateur entre quelque chose au clavier, puis mettre
cette chose dans la variable K. Comme cette dernière est de type chaîne, ce qui est entré au clavier
doit être une chaine de caractères (une lettre, un mot, une phrase …). C’est normal car on attend de
mettre un lieu de résidence (entré par l’utilisateur) dans cette variable.

Ecrire « Entrez votre prénom »


affiche à l’écran la phrase : Entrez votre prénom (car cette phrase est indiquée entre guillemets).

5
Sciences Economiques – Semestre 5 – Cours d’Algorithmique FSJES Tétouan

Lire L
indique à l’ordinateur qu’il doit attendre que l’utilisateur entre une chaine de caractères (au clavier)
pour la mettre dans la variable L.

Remarque : le « » indiqué après «Vous êtes :», au niveau la dernière instruction Ecrire, explique à
l’ordinateur qu’il faut placer un espace blanc après, Vous êtes.

Ecrire « Vous êtes : », « », K, «et vous habitez à : »,« », L


Ici, ce qui est entre guillemets sera affiché textuellement et ce qui ne l’est pas (les variables K et L)
sera affiché par valeur.

Exercice 3
Ecrire un algorithme qui demande à l’utilisateur d’entrer les valeurs de deux variables A et B puis
échange ces deux valeurs (la valeur de A devient celle de B et la valeur de B devient celle de A). A la
fin, le programme affiche les nouvelles valeurs de A et B. Exemple : si au début de l’algorithme A vaut
2 et B vaut 7 alors, en fin d’algorithme, A doit valoir 7 et B doit valoir 2.

3- Les instructions conditionnelles (les alternatives)

Il s'agit d'une structure de contrôle qui exécute un bloc de code uniquement si une condition est vraie.

Exemple :

Écrire un algorithme où on demande à un utilisateur un numéro pour vérifier s’il est positif ou négatif.

6
Sciences Economiques – Semestre 5 – Cours d’Algorithmique FSJES Tétouan

La forme générale d’un test Si est comme suit :

Fonctionnement : si la condition est vérifiée (c’est-à-dire : Vraie) on exécute les instructions1 sinon
(condition fausse) on exécute les instructions 2.
L’expression ‘condition’ doit aboutir à vrai ou faux. Elle peut être simple ou composée.

Tests imbriqués

Dans d’autres situations, on pourra avoir plus de deux cas. Tel que les blocs instructions1 et
instructions2 peuvent eux-mêmes contenir un test « Si ». Dans ce cas, on parle de tests imbriqués.

Exemple :
Un programme qui affiche la matière enseignée selon l’année universitaire :
Première année : Mathématique, deuxième année : informatique de gestion et troisième année :
recherche opérationnelle.

Variable M en Numérique
Début
Ecrire « Choisir l’année universitaire : 1 pour première année, 2 pour deuxième année et 3 pour troisième année »
Lire M
Si (M = 1) Alors
Ecrire « Mathématique »
Sinon
Si (M = 2) Alors
Ecrire « informatique de gestion »
Sinon
Ecrire « recherche opérationnelle »
Finsi
Finsi
Fin

7
Sciences Economiques – Semestre 5 – Cours d’Algorithmique FSJES Tétouan

Exemple d’exécution :

Selon notre algorithme, l’écran affiche le choix à saisir à travers le clavier par l’utilisateur. Supposons
que l’utilisateur a entré 2, donc la variable M prend alors la valeur 2. La première condition à évaluer
c’est SI (M=1), elle est fausse car M=2, l’ordinateur va exécuter SINON qui est lui-même composé
d’un autre SI. On évalue la condition et on trouve que M=2, cette fois la condition est vraie car M=2.
Alors l’ordinateur va exécuter Ecrire « informatique de gestion ».
.

Conditions composées :

L’expression de certaines conditions exige parfois l’utilisation des connecteurs logiques classiques :
ET, OU et NON. Dans notre pseudo-code on va adopter la syntaxe :
Expression1 ET Expression2,
Expression1 OU Expression2,
NON(Expression),

Exemples :

La condition : X >12 ET X<15 traduit l’expression mathématique 12<X<15.


La condition : X<=23 OU X >=45 est équivalente à NON (X >23 ET X<45).
Le programme ci-dessous détermine le signe du produit de deux entiers (sans calculer ce produit) :

Variables X, Y en Numérique
Début
Ecrire "Entrez deux nombres : "
Lire X, Y
Si (X > 0 ET Y > 0) OU (X < 0 ET Y < 0) Alors
Ecrire "Le produit de ces deux nombres est positif"
Sinon
Ecrire "Le produit de ces deux nombres est négatif"
Finsi
Fin

Exemple :

Écrire un algorithme qui affiche à l'écran si la note saisie correspond à une matière validée ou non
validée. Le programme doit également vérifier si la note saisie est invalide (inférieure à 0 ou supérieure
à 20), auquel cas un message d'erreur s'affichera.

8
Sciences Economiques – Semestre 5 – Cours d’Algorithmique FSJES Tétouan

Exercice 4

Une entreprise accorde des remises à ses clients à partir du montant de la facture noté MF.
- Si MF < 1000 DH, pas de remise
- Si 1000 Dh ⩽ MF ⩽ 2000 Dh, remise de 4% de MF
- Si MF ≥ 2000 Dh, remise de 7% de MF.
Concevoir un algorithme qui calcul et affiche le montant de la remise.

Exercice 5

Concevoir un algorithme permettant d'obtenir l'indice d'efficacité d'un ouvrier d'une usine de visserie, selon les
conditions suivantes qui lui sont imposées pendant une période d'essai :
- Moins de 200 vis défectueuses.
- Plus de 10 000 vis produites.
L'indice d'efficacité est déterminé comme suit :
- Si aucune des conditions n'est remplie, note 5.
- Si seule la première condition est remplie, note 6.
- Si seule la deuxième condition est remplie, note 7.
- Si les deux conditions sont remplies, note 8.

Exercice 6

Un module est composé de deux matières. La condition de réussite est d’avoir une moyenne du module supérieure
ou égale à 10 sans avoir une note éliminatoire dans une des deux matières.
La matière Math a un coefficient de 2 et la matière Info a un coefficient de 1.
La note éliminatoire est de 5/20.
Ecrire un algorithme qui lit les deux notes et qui affiche l’un des résultats suivants :
- Echec si Moy < 10
- Echec pour note éliminatoire si Moy >= 10 avec une note éliminatoire
- Passable : 10<= Moy < 12 et pas de note éliminatoire
- A. Bien : 12<= Moy < 14 et pas de note éliminatoire
- Bien : 14<= Moy < 16 et pas de note éliminatoire
- T. Bien : 16 <= Moy et pas de note éliminatoire

9
Sciences Economiques – Semestre 5 – Cours d’Algorithmique FSJES Tétouan

COURS ALGORITHMIQUE – PARTIE 2

SCIENCES ECONOMIQUES (filière : commerce & marketing) -


SEMESTRE 5 – 2025/2026

Pr. BENHADOU
Sciences Economiques – Semestre 5 – Cours d’Algorithmique FSJES Tétouan

4- Les répétitions :

On peut exécuter une instruction plusieurs fois sur la base d'une condition pour laquelle on utilise des
structures répétitives ou des boucles. Dans cette partie, nous allons présenter deux types de ces structures.
La première est la boucle TantQue qui permet d’exécuter un bloc d’instructions, tant qu’une condition est
vraie. La deuxième est la boucle itérative Pour qui permet d’exécuter un bloc d’instructions un nombre
déterminé de fois.

La boucle TantQue :

Cette structure permet de répéter plusieurs fois la même séquence d'instructions tant qu’il se vérifie une
condition. Dans notre pseudo-code, cette boucle s’écrit :

Instruction 1
TantQue Cond
Instruction2

Instruction L
FinTantQue
Instruction L+1

Au début, l'instruction 1 est exécutée, ensuite on évalue la condition, et s'il est vérifiée on exécute
l'instruction 2 … instruction L, l'algorithme se répète tant que ladite condition est exacte, lorsque
l'évaluation de cette condition donne comme résultat FAUX, donc on passe à l'instruction L+1.

Exemple : Afficher les chiffres de 1 à 3

Variable i en Numérique
Début
i←1
TantQue i <= 3
Ecrire i
i←i+1
FinTantQue
Ecrire « programme terminé »
Fin

Explication :

10
Sciences Economiques – Semestre 5 – Cours d’Algorithmique FSJES Tétouan

Exécution de l’algorithme :

La boucle itérative Pour :

C'est une structure répétitive, à différence de la structure ‘Tant que’, le nombre d'opérations à effectuer
est déjà connu d’avance (un compteur), dans laquelle l'initialisation, la condition à évaluer et la
modification des variables sont spécifiées dans une seule instruction. La forme générale de cette
structure est :

Instruction 1
Pour Compt ← Début à Fin
Instruction2

InstructionL
FinPour
Instruction L + 1

Le fonctionnement de cette structure :

Selon la notation de ce pseudocode, on commence par exécutée l’instruction 1 ensuite on passe à


l’initialisation de la variable numérique (Compt) à la valeur Début. Après on commence à exécuter les
instructions : instruction 2, … instruction L, jusqu’ici on a effectué le premier tour (en langage
informatique : la première itération). A la fin de cette itération, la valeur de Compt passe à Début + 1
et on refait l’exécution des mêmes instructions. La dernière itération est celle où Compt atteint la valeur
Fin. Dans ce cas, on effectue l’exécution des instructions une dernière fois, on quitte la boucle et on
passe à l’instruction L + 1.

Exemple 1 : Afficher les chiffres de 1 à 6.

Variables Compt en Numérique


Début
Pour Compt← 1 à 6
Ecrire Compt
FinPour
Ecrire « Fin programme »
Fin

A la première itération (le premier tour réaliser par la boucle Pour), Compt prend la valeur 1 et exécute
Ecrire Compt. A ce point, 1 est affiché sur l’écran. Ensuite Compt prend la valeur 2 et on exécute à
nouveau Ecrire Compt, dans cette deuxième itération, on affiche 2. Ceci se poursuit jusqu’à la dernière
itération (Compt aura la valeur 6) pour afficher 6 et puis on quitte la boucle pour exécuter Ecrire « Fin
programme ».

11
Sciences Economiques – Semestre 5 – Cours d’Algorithmique FSJES Tétouan

Exemple 2 : Algorithme qui affiche la table de multiplication d’un nombre choisi par l’utilisateur

Variables N, i en numérique
Début
Ecrire "Entrez un nombre : "
Lire N
Ecrire "La table de multiplication de ce nombre
est : "
Pour i ← 1 à 9
Ecrire N, " x ", i, " = ", N*i
FinPour
Ecrire « Fin programme »
Fin

Explication :

Exemple 3 : Algorithme qui calcule la factorielle d’un nombre choisi par l’utilisateur

Rappel : factorielle N = N x (N-1) x (N-2) x … 3 x 2 x 1.

Variables N, i, F en numérique
Début
Ecrire "Entrez un nombre : "
Lire N
F←1
Pour i ← 2 à N
F←F*i
FinPour
Ecrire "La factorielle est : ", F
Fin

12
Sciences Economiques – Semestre 5 – Cours d’Algorithmique FSJES Tétouan

L’exécution de cet algorithme se fait comme suit :


Avant la boucle Pour, la variable F est initialisée à la valeur 1 (F ← 1).
A la fin de l’itération (i = 2) : F devient F x i, c’est-à-dire 1 x 2 (=2).
A la fin de l’itération (i = 3) : F devient F x i, c’est-à-dire 1 x 2 x 3 (= 6 car la valeur courante de F est
1 x 2 et celle de i est 3).
A la fin de l’itération (i = 4) : F devient 1 x 2 x 3 x 4 (= 24).

A la fin de l’itération (i = N) : F devient 1 x 2 x 3 x 4 x … x N. (c’est la factorielle de N)

En utilisant la boucle TantQue :

Variables i, F en numérique
Début
Ecrire "Entrez un nombre : "
Lire i
F←1
TantQue (i ! = 0)
F←F*i
i←i-1
FinTantQue
Ecrire "La factorielle est : ", F
Fin

Fonctionnement de l’algorithme :

Exercices :

Exercice 8 :

En utilisant la boucle ‘Pour’, calculer la somme : S = 1 + 2 + 3 + … + N


En utilisant la boucle ‘TantQue’, calculer la somme : S = 1 + 2 + 3 + … + N
En utilisant la boucle ‘TantQue’, calculer la somme : S = 3 + 6 + 9 + … + 99

Exercice 9 :

Ecrire un algorithme qui demande un nombre de départ, et qui ensuite affiche les dix nombres suivants.
Par exemple, si l’utilisateur entre le nombre 11, le programme affichera les nombres de 12 à 21

Exercice 10 : Ecrire un algorithme qui demande 4 nombres positifs et qui détermine le plus grand
d’entre eux et l’affiche.

13
Sciences Economiques – Semestre 5 – Cours d’Algorithmique FSJES Tétouan

Exercice 11 : Ecrire un algorithme qui calcule la moyenne arithmétique de notes. L’algorithme demande
le nombre N de ces notes. Ensuite, il demande d’entrer les notes, calcule la moyenne et l’affiche.

Exemple d’exécution :

Exercice 13 : Dans un magasin, on accorde une remise aux clients en fonction du total des produits
achetés. On note Som le total des achats avant remise.
Si Som<1000 alors la remise est nulle.
Si 1000<=Som<1300 alors la remise est de 10%.
Si 1300 <= Som alors la remise est de 15%.
Ecrire un algorithme qui demande au client d’entrer le nombre de produits qu’il a achetés, puis les prix
de ces produits. L’algorithme doit afficher le prix total des produits après application de la remise.

Exemples d’exécution :

14
Sciences Economiques (filière : commerce et marketing) – Semestre 5 (2025/2026) – FSJES Tétouan
Exercices d’Algorithmique

Exercice 1

Quelles seront les valeurs des variables A, B et C après exécution des instructions suivantes ?

Variables A, B, C en Numérique
Début
A←4
B←2
C←A+B
A←1
C←B–A
Fin

Solution :
Les variables entre Début et Fin doivent être déclarées avant d’être utilisées, où les instructions s’exécutent l’une
après l’autre, du haut vers le bas. Au départ, aucune des variables A, B et C n’a de valeur. Les affectations
permettent d’enregistrer des valeurs dans les variables.

Réponse :
A : 1, B : 2, C : 1

Exercice 2

Quelles seront les valeurs des variables A et B après exécution des instructions suivantes ?

Variables A, B en Numérique
Début
A←1
B←A+2
A←A+3
B←A–2
Fin

Solution : on observe l’évolution des valeurs courantes

Réponse :
A : 4, B : 2

1
Sciences Economiques (filière : commerce et marketing) – Semestre 5 (2025/2026) – FSJES Tétouan
Exercices d’Algorithmique

Exercice 3

Ecrire un algorithme qui demande à l’utilisateur d’entrer les valeurs de deux variables A et B puis
échange ces deux valeurs (la valeur de A devient celle de B et la valeur de B devient celle de A). A la
fin, le programme affiche les nouvelles valeurs de A et B.
Exemple : si au début de l’algorithme A vaut 2 et B vaut 7 alors, en fin d’algorithme, A doit valoir 7 et
B doit valoir 2.

Solution :
L’algorithme doit échanger les valeurs des variables A et B quelles que soient ces valeurs.
Intuitivement, on peut penser qu’il suffit d’utiliser deux instructions d’affectations A ← B et B ← A :

Variables A, B en Numérique
Début
Ecrire "Entrez la valeur de A : "
Lire A
Ecrire " Entrez la valeur de B : "
Lire B
A←B
B←A
Ecrire " Les nouvelles valeurs de A et B sont respectivement : ", A, " et ", B
Fin

Ce programme n’est pas valable. Voici ce qu’il donne si on entre les valeurs 2 et 7 pour A et B :

Au moment de l’affectation B ← A, l’algorithme met dans B la valeur courante de A (7) et non sa valeur
initiale (2). Le 2 qui était dans A a été écrasé (et donc perdu) par 7 après l’instruction A ← B.
Pour résoudre ce problème, il faut mémoriser la valeur initiale de A avant de l’écraser. On peut faire
cette mémorisation dans une autre variable C qu’on doit prévoir.
Voici un algorithme qui répond à la demande :

Variables A, B, C en Numérique
Début
Ecrire "Entrez la valeur de A : "
Lire A
Ecrire " Entrez la valeur de B : "
Lire B
C←A
A←B
B←C
Ecrire "Les nouvelles valeurs de A et B sont respectivement : , " A, " et ", B
Fin

2
Sciences Economiques (filière : commerce et marketing) – Semestre 5 (2025/2026) – FSJES Tétouan
Exercices d’Algorithmique

La variable C a été créée pour mémoriser la valeur initiale de A avant l’exécution de l’instruction A ← B (qui
écrase la valeur initiale (2) de A par la valeur courante de B (7)). A la fin, dans B on mettra la valeur courante de
C (qui est la valeur initiale de A : 2) et non la valeur courante de A (7).

Fonctionnement :

Exemple d’exécution :

Exercice 4 :

Une entreprise accorde des remises à ses clients à partir du montant de la facture noté MF.
- Si MF < 1000 DH, pas de remise
- Si 1000 Dh ⩽ MF ⩽ 2000 Dh, remise de 4% de MF
- Si MF ≥ 2000 Dh, remise de 7% de MF.
Concevoir un algorithme qui calcul et affiche le montant de la remise.

Solution :

Selon l’énoncé deux variables vont être déclarées au début de notre algorithme : le montant de la facture MF et la
remise R. Le résultat obtenu sera le montant de la remise selon la valeur de la facture en vérifiant les conditions
imposées.
Voici l’algorithme proposé avec les commentaires pour chaque instruction

3
Sciences Economiques (filière : commerce et marketing) – Semestre 5 (2025/2026) – FSJES Tétouan
Exercices d’Algorithmique

Exercice 5 :

Développer un algorithme qui vérifie les conditions suivantes :


▪ Si théorie >= 10 et pratique < 10 : moyenne = 0.4 x théorie + 0.6 x pratique
▪ Si pratique >= 10 et théorie < 10 : moyenne = 0.6 x théorie + 0.4 x pratique
▪ Dans un autre cas calculer la moyenne d’une manière normale.

Solution :

On a ici deux variables (la note de la partie théorie et de la partie pratique), ainsi une troisième variable pour
enregistrer la moyenne de ces notes (selon les conditions proposées)

Exercice 6

Concevoir un algorithme permettant d'obtenir l'indice d'efficacité d'un ouvrier d'une usine de visserie, selon les
conditions suivantes qui lui sont imposées pendant une période d'essai :
- Première condition : Moins de 200 vis défectueuses.
- Deuxième condition : Plus de 10 000 vis produites.

L'indice d'efficacité est déterminé comme suit :

- Si aucune des conditions n'est remplie, note 5.


- Si seule la première condition est remplie, note 6.
- Si seule la deuxième condition est remplie, note 7.
- Si les deux conditions sont remplies, note 8

4
Sciences Economiques (filière : commerce et marketing) – Semestre 5 (2025/2026) – FSJES Tétouan
Exercices d’Algorithmique

Solution :

Notre algorithme doit calculer l’indice d’efficacité selon les conditions proposées et afficher la note correspondante
selon si l’ouvrier a rempli les conditions imposées.
On se basant sur l’énoncé l’indice est calculé selon deux variables : les vis défectueuses noté par D et la quantité
des vis produites noté par P. Et une autre variable pour enregistrer l’indice d’efficacité noté par E.
D’abord on commence par déclarés nos trois variables. À travers l’instruction d’affichage ‘Ecrire ’on va demander
à l’utilisateur d’introduire deux valeurs correspondantes aux vis défectueuses et la quantité produite. Ensuite on
procède à vérifier les conditions imposées.
Il y a deux solutions possibles pour cet algorithme.
Dans la première solution on applique directement les conditions composées :

Si la quantité des vis défectueuses est supérieur à 200 et la quantité produite est inférieur à 10000 donc on affecte
l’indice d’efficacité 5 à la variable E ensuite on affiche le résultat à travers l’instruction Ecrire « note : », E. Si
cette première condition est fausse, on passe à la deuxième condition à vérifier D<200 ET P<10000, si cette
condition est vraie, on affecte la valeur de 6 à E et on affiche le résultat. On procède de cette manière jusqu’à la
dernière condition.

Pour la deuxième solution :


On déclare nos variables, après on demande à l’utilisateur d’introduire la quantité des vis défectueuses et la quantité
des vis produites. La première condition c’est que les vis défectueuses doivent être < 200 si cette condition est
vraie on vérifie la quantité produite P > 10000 si se remplie cette condition on affecte la valeur de 8 à E et on
affiche le résultat à travers l’instruction Ecrire « note : »,E. Sinon on affecte la valeur de 6. Et si les vis
défectueuses sont >200 on passe directement à vérifier la condition P > 10000 si elle est correcte on affecte la
valeur de 7 à E sinon on affecte 8 à la variable E.

Exercice 7 :

Un module est composé de deux matières. La condition de réussite est d’avoir une moyenne du module supérieure
ou égale à 10 sans avoir une note éliminatoire dans une des deux matières.
La matière Math a un coefficient de 2 et la matière Info a un coefficient de 1.
La note éliminatoire est de 5/20.
Ecrire un algorithme qui lit les deux notes et qui affiche l’un des résultats suivants :
- Echec si Moy < 10
- Echec pour note éliminatoire si Moy >= 10 avec une note éliminatoire
- Passable : 10<= Moy < 12 et pas de note éliminatoire
- A. Bien : 12<= Moy < 14 et pas de note éliminatoire
- Bien : 14<= Moy < 16 et pas de note éliminatoire
- T. Bien : 16 <= Moy et pas de note éliminatoire

5
Sciences Economiques (filière : commerce et marketing) – Semestre 5 (2025/2026) – FSJES Tétouan
Exercices d’Algorithmique

Solution :

Voici tous les cas possibles :

Cas Affichage
Moy < 10 Echec.
Moy >= 10, Math < 6, Info >= 10 Echec pour note éliminatoire.
Moy >= 10, Math >= 10, Info < 6 Echec pour note éliminatoire.
10<= Moy < 12, Math > 6, Info > 6 Succès avec la mention : Passable
12<= Moy < 14, Math > 6, Info > 6 Succès avec la mention : A. Bien
14<= Moy < 16, Math > 6, Info > 6 Succès avec la mention : Bien
16<= Moy, Math > 6, Info > 6 Succès avec la mention : T. Bien

Exemples d’exécution :

6
Sciences Economiques (filière : commerce et marketing) – Semestre 5 (2025/2026) – FSJES Tétouan
Exercices d’Algorithmique

Variables Math, Info, Moy en Numérique


Début
Ecrire "Entrez la note de Mathématique : "
Lire Math
Ecrire "Entrez la note d’informatique : "
Lire Info
Moy ← (2*Math+Info)/3
Si (Moy < 10) Alors
Ecrire "Echec"
Sinon
Si (Math < 6) OU (Info < 6)
Alors
Ecrire " Echec pour note éliminatoire "
Sinon
Ecrire " Succès avec la mention :"
Si (Moy < 12) Alors Ecrire « Passable »
Sinon Si (Moy < 14) Alors Ecrire « [Link] »
Sinon Si (Moy < 16) Alors Ecrire « Bien »
Sinon Ecrire « [Link] »
Finsi
Finsi
Finsi

Finsi
Finsi
Fin

Question : l’algorithme proposé ci-dessous est-il valide pour cet exercice ?

Variables Math, Info, Moy en Numérique


Début
Ecrire "Entrez la note de Mathématique : "
Lire Math
Ecrire "Entrez la note d’informatique : "
Lire Info
Moy ← (2*Math+Info)/3
Si (Moy < 10) Alors
Ecrire "Echec"
Sinon
Si (Math < 6) OU (Info < 6)
Alors
Ecrire " Echec pour note éliminatoire
Sinon
Ecrire " Succès avec la mention :"
Si (Moy < 12) Alors Ecrire « Passable »
Finsi
Si (Moy < 14) Alors Ecrire « [Link] »
Finsi
Si (Moy < 16) Alors Ecrire « Bien »
Sinon Ecrire « [Link] »
Finsi
Finsi
Fin

7
Sciences Economiques (filière : commerce et marketing) – Semestre 5 (2025/2026) – FSJES Tétouan
Exercices d’Algorithmique

Réponse : Non.

Parce qu’il fonctionne mal pour les mentions. Voici un exemple d’exécution :

Dans l’algorithme qui marchait, les cas des mentions étaient dans des instructions « Si » imbriquées. Une seule
mention pouvait être affichée. Ici, les mentions sont dans des instructions « Si » séparées. C’est ce qui pose
problème. Reprenons l’exemple d’exécution ci-dessus :
La moyenne est égale à 11,33. On se retrouve donc dans le bloc d’instructions :
Ecrire " Succès avec la mention :"
Si (Moy < 12) alors Ecrire « Passable »
Finsi
Si (Moy < 14) alors Ecrire « [Link] »
Finsi
Si (Moy < 16) alors Ecrire « Bien »
Sinon Ecrire « [Link] »

Comme (Moy<12) est vraie, il affiche « Passable ». Mais l’exécution ne quitte pas le bloc et passe à l’instruction
suivante (Moy<14) qui est également vraie. Il affiche donc aussi « A. Bien ». Pour la même raison il affiche les
deux autres mentions. La solution était donc d’imbriquer les « Si » pour qu’une seule mention soit affichée.

8
Sciences Economiques (filière : commerce et marketing) – Semestre 5 (2025/2026) – FSJES Tétouan
Exercices d’Algorithmique

Exercices - corrigés

Exercice 8 :

Développer un algorithme pour chaque cas :

1- Lire 10 chiffres et afficher sur l’écran uniquement les nombres positifs.


2- En utilisant la boucle ‘Pour’, calculer la somme : S = 1 + 2 + 3 + … + N
3- En utilisant la boucle ‘TantQue’, calculer la somme : S = 1 + 2 + 3 + … + N
4- En utilisant la boucle ‘TantQue’, calculer la somme : S = 3 + 6 + 9 + … + 99

Solution :

- Lire 10 chiffres et afficher sur l’écran uniquement les nombres positifs.


Variables i, N en numérique
Pour i ← 1 à 10
Lire N
Si N > 0
Ecrire N
FinSi
FinPour
Fin

- En utilisant la boucle ‘Pour’, calculer la somme : S = 1 + 2 + 3 + … + N

Supposant que je veux calculer la somme des nombres jusqu’à 4 : S = 1 + 2 + 3 + 4 = 10


Donc l’exécution est comme suit :

Selon la formule, on va utiliser comme variables : un Compteur pour contrôler la boucle pour, une variable N où
on va enregistrer le nombre qui va être introduit par l’utilisateur, et une troisième variable pour enregistrer la
somme.
L’algorithme proposé :

Variables Compteur, N, S en numérique


Début
Ecrire « introduire un nombre : »
Lire N
S←0
Pour Compteur 1 ← N
S ← S + Compteur
FinPour
Ecrire « la somme est : », S
Fin

Explication :
Pour expliquer cet algorithme, je vais prendre comme exemple N = 4 (S = 1 + 2 + 3 + 4)

9
Sciences Economiques (filière : commerce et marketing) – Semestre 5 (2025/2026) – FSJES Tétouan
Exercices d’Algorithmique

- En utilisant la boucle ‘TantQue’, calculer la somme : S = 1 + 2 + 3 + … + N

L’algorithme proposé :

Variables Compteur, N, S en numérique


Début
Ecrire « introduire un nombre : »
Lire N
Compteur ← 1
S←0
TantQue Compteur ≤ N
S ← S + Compteur
Compteur ← Compteur + 1
FinTantQue
Ecrire « la somme est : », S
Fin

Explication :
Pour expliquer cet algorithme, je vais prendre comme exemple N = 3 , (S = 1 + 2 + 3 )

Exercice 9 :
Ecrire un algorithme qui demande 4 nombres positifs et qui détermine le plus grand d’entre eux et l’affiche.
Exemple d’exécution :

10
Sciences Economiques (filière : commerce et marketing) – Semestre 5 (2025/2026) – FSJES Tétouan
Exercices d’Algorithmique

Figure 1 : exemple d’exécution

Solution :
Variable Compt, Max, N en numérique
Début
Max ← 0
Pour Compt ← 1 à 4
Ecrire «Introduire un nombre »
Lire N
Si (N > Max) alors
Max ← N
FinSi
FinPour
Ecrire « Le plus grand est : », Max
Fin

Explication :
On utilise une variable Compt comme ‘compteur ‘ (compter les itérations dans la boucle pour, on a 4 nombres à comparer
donc 4 itérations). Une variable N pour mémoriser les valeurs des nombres à introduire via le clavier. Une variable Max pour
mémoriser le plus grand nombre courant. Comme les nombres demandés sont positifs, le plus petit Max possible est 0. On
initialise Max à la valeur 0 (Max ← 0) avant la boucle Pour, on la modifiera si un des nombres entrés lui est supérieur.
.
Prenons l’exemple d’exécution (figure 1) :
Itération Compt = 1 : N prend la valeur 2. Comme N > Max est vraie, Max devient N (=2)
Itération Compt = 2 : N prend la valeur 7. Comme N > Max est vraie Max devient N (=7)
Itération Compt = 3 : N prend la valeur 8. Comme N > Max est vraie Max devient N (=8)
Itération Compt = 4 : N prend la valeur 1. Là, N > Max est fausse (car Max courant = 8), on n’exécute pas « Max ← N » et
Max reste égale à 8.
On quitte la boucle et on affiche « Le plus grand est : 8 »

Autre solution (en utilisant la boucle TantQue) :

Variables a, b, c en numérique
a←0
b←0
c←0
TantQue (c ≤ 3)
Ecrire « introduire un nombre : »
Lire a
c←c+1
Si a > b alors
b←a
FinSi
FinTantQue
Ecrire « le nombre supérieur est : », b
Fin

11
Sciences Economiques (filière : commerce et marketing) – Semestre 5 (2025/2026) – FSJES Tétouan
Exercices d’Algorithmique

Exercice 10 :
Ecrire un algorithme qui calcule la moyenne arithmétique de notes. L’algorithme demande le nombre N de ces notes. Ensuite,
il demande d’entrer les notes, calcule la moyenne et l’affiche.

Exemples d’exécution :

Figure 2 : exemples d’exécution

Solution :

Variable Compt, Moy, Note, N en numérique


Début
Ecrire « Entrez le nombre de notes : »
Lire N
Moy ← 0
Pour Compt ← 1 à N
Ecrire « Entrez une note »
Lire Note
Moy ← Moy + Note
FinPour
Moy ← Moy/N
Ecrire « La moyenne est : », Moy
Fin

Au départ on initialise la variable Moy à 0 (la plus petite moyenne possible). Ensuite on demande les N notes l’une après
l’autre. Dans la boucle Pour, Moy est utilisée pour additionner les notes (Moy ← Moy + Note). A la fin de la boucle, Moy
contient la somme de toutes les notes. Il suffit après de la diviser par N pour établir la moyenne (Moy ← Moy/N).

Exercice 11 : Dans un magasin, on accorde une remise aux clients en fonction du total des produits achetés. On note Som le
total des achats avant remise. Si Som < 1000 alors la remise est nulle. Si 1000 ≤ Som < 1500 alors la remise est de 10%.
Si Som ≥ 1500 alors la remise est de 15%.
Ecrire un algorithme qui demande au client d’entrer le nombre de produits qu’il a achetés, puis les prix de ces produits.
L’algorithme doit afficher le prix total des produits après application de la remise.

Exemples d’exécution :

12
Sciences Economiques (filière : commerce et marketing) – Semestre 5 (2025/2026) – FSJES Tétouan
Exercices d’Algorithmique

Solution :

Variable Compt, Som, N, Prix en numérique


Début
Ecrire « Entrez le nombre de produits »
Lire N
Som ← 0
Pour Compt ← 1 à N
Ecrire «Entrez le prix du produit : », Compt
Lire Prix
Som ← Som + Prix
FinPour
Si (Som ≥ 1500) Alors Som ← Som * 0,85
Sinon Si (Som ≥ 1000) alors Som ← Som * 0,9
Finsi
Finsi
Ecrire « Le total à payer est : », Som
Fin

Après initialisation de la variable Som à la valeur 0, la boucle Pour permet d’y mettre la somme de tous les prix. Lorsqu’on
quitte cette boucle, il suffit de vérifier si une remise doit être appliquée à cette somme et on affiche le total à payer.

Explication

13
Sciences Economiques (filière : commerce et marketing) – Semestre 5 (2025/2026) – FSJES Tétouan
Exercices d’Algorithmique

14

Vous aimerez peut-être aussi