ALGORITHMIQUE ET PROGRAMMATION
Module N°3 : Algorithmique et programmation
I. Notion d’algorithme
II. Instructions de base
III. Structures de contrôle de base
IV. Langages de programmation
I. Notion d’algorithme :
1. Définition d’un algorithme
Activité 1 :
Tu as décidé de te balader à travers la forêt, dont le schéma est présenté ci-dessous.
Quel itinéraire est-il recommandé de choisir parmi ceux présentés ci-dessous ?
Activité 2 :
Donnez les séquences de lettres représentant le chemin le plus court à suivre pour trouver le trésor caché
dans le labyrinthe.
1
ALGORITHMIQUE ET PROGRAMMATION
Définition (1) :
Un algorithme est une suite finie d'actions ou d’instructions qui doivent être exécutées
dans un ordre déterminé pour résoudre un problème (ou réaliser un travail).
2. Application en informatique
La méthode informatique de résolution d’un problème peut être représentée par le schéma suivant :
La démarche algorithmique consiste sur les étapes suivantes :
❖ Phase d’analyse : dans cette phase, il faut dégager les trois composantes :
Les données à fournir (Entrées)
Les résultats cherchés, (Sorties)
Les traitements nécessaires à effectuer.
Les traitements
(Entrées) (Sorties)
Algorithme
❖ Phase conception (algorithme) : cette phase sert à organiser les traitements définis en phase
précédente dans l'ordre convenable pour aboutir aux résultats attendus. En d’autres termes écrire
l'algorithme nécessaire.
Exemple :
A la fin de chaque mois, un comptable doit calculer les salaires de 150 personnes en faisant la somme
du salaire du mois précèdent de chaque personne et de ses primes. Supposons que le comptable,
ajoute à la fin de chaque mois une prime de transport de valeur 500 dhs.
Phase d’analyse :
Entrées : salaire du mois précèdent, primes et prime de transport
Sorties : salaires
Les traitements : salaires= salaire du mois précèdent + primes + prime de transport
2
ALGORITHMIQUE ET PROGRAMMATION
Phase d’analyse :
Données :
- Salaire du mois précèdent (SMP)
- Primes du mois courant (PMC)
- Prime de transport = 500 (PT)
Résultat :
- Salaire du mois courant (SMC)
Traitement :
- Salaire du mois courant = Salaire du mois précèdent + Primes du mois courant
+ Prime de transport
SMC = SMP + PMC + PT
Variables SMP, PMC, SMC : réels
Constante PT=500
II. Notion de données
Les algorithmes agissent sur les données qui peuvent variées ou restées constantes.
1. Les variables
Une variable est le nom d’un espace mémoire dont le contenu peut changer pendant l’exécution d'un
Une variable est caractérisée par :
algorithme.
Son identificateur (nom): c'est un nom symbolique représentant la donnée dans l’algorithme. Il est
représenté par une chaîne alphanumérique où le 1er caractère est une lettre et les autres caractères peuvent
être des lettres, des chiffres ou tiret bas ‘_’. Chaque fois que c'est possible, ce nom doit être significatif.
Exemples : nb_eleves, note, prenom, salaire, prime…
Sa valeur : La variable contient une valeur qui peut être modifiée ou affectée pendant l'exécution.
Son type : l'ensemble de valeur que peut prendre une donnée (Entier, Réel, Caractère, Chaîne de caractères,
Booléen, …)
Entier Réel Caractère Chaîne de caractères Booléen
(logique)
-345 -123,56 'A' '@'
"Lydex-SE", Vrai
145 33,1 '2' '.'"3872" Faux
2023 56,12 '+' '$'
"Bonjour"
"Quel âge as-tu ?"
Déclaration : Variable Nom_Variable, nom_var2 : Type
3
ALGORITHMIQUE ET PROGRAMMATION
Variable note, moyenne : Réel
prenom : Chaîne de caractères
x=2 y=4
z=x+y z=6
s=’2’ t=’4’
q= s+t q= ‘24’
concaténation
2. Les constantes
Une constante est le nom d’un espace mémoire dont le contenu ne change jamais. Contrairement à
une variable, la constante garde la même valeur pour un algorithme.
Déclaration : Constante Nom_ Constante = Valeur
Exemple : Constante PI = 3,14
III. La Structure d’un algorithme
Un algorithme est composé de trois parties principales (figure
L’en-tête : cette partie sert à donner
ci-dessous) :
un nom à l’algorithme. Elle est
précédée par le mot Algorithme.
La partie déclarative : dans cette
partie, on déclare les différents objets
que l’algorithme utilise (constantes,
variables, etc.)
Le corps de l’algorithme : cette partie
contient les instructions de
l’algorithme. Elle est délimitée par les
mots : Début et Fin.
Exemple :
4
ALGORITHMIQUE ET PROGRAMMATION
Phase d’analyse :
Données :
- Salaire du mois précèdent (SMP)
- Primes du mois courant (PMC)
- Prime de transport = 500 (PT)
Résultat :
- Salaire du mois courant (SMC)
Traitement :
- Salaire du mois courant = Salaire du mois précèdent + Primes du mois courant
+ Prime de transport
SMC = SMP + PMC + PT
Phase de conception :
Algorithme calcul_salaire
Variables SMP, PMC, SMC : réels
Constante PT= 500
Début
Lire (SMP, PMC)
La lecture des données d’entrées.
SMC ← SMP + PMC + PT Les traitements
L’affichage des résultats
Ecrire ("Salaire du mois courant est :", SMC)
Fin
Ecran mémoire
1000 200
Salaire du mois courant est : 1700 SMP 1000 SMC 1700
PMC 200 PT 500
5
ALGORITHMIQUE ET PROGRAMMATION
Algorithme Somme_deux_entiers
Variables :
x, y, somme : Entiers
Début
Ecrire ("Donnez la valeur de la variable x ")
Lire (x)
Ecrire ("Donnez la valeur de la variable y ")
Lire (y)
somme ← x+ y
Ecrire ("La somme est :", somme)
Fin
IV. Les instructions de base :
a. Affectation
C’est l’action par laquelle on peut attribuer à une variable une valeur résultant de l’évaluation d’une
expression arithmétique ou logique. Cette valeur doit être compatible avec le type de la variable destinataire.
Elle est représentée par une flèche orientée à gauche
Notation : Nom_Variable ← Valeur ou Expression
Exemple 1 : Age ← 15
Exemple 2 : Somme ← N1 + N2
b. Actions de lecture et d’écriture
Ce sont les actions qui expriment la communication entre un algorithme et son utilisateur.
L’instruction de lecture permet de saisir les données est exprimée par le verbe Lire
Syntaxe : Lire (variable) ou Lire (liste de noms de variables)
Où :
Liste de noms de variables est une suite de noms de variables (pas forcément de même type) séparés par
des virgules.
Exemples : Lire (X)
: Lire (X, Y, Z)
6
L’instruction d'écriture permet à l’algorithme de communiquer des valeurs à l’utilisateur en les affichant
à l’écran est exprimée par le verbe Ecrire.
ALGORITHMIQUE ET PROGRAMMATION
Syntaxe : Ecrire (variable) ou bien Ecrire ("message à afficher")
: Ecrire ("message à afficher ", variable)
Exemple :
Lire (A, B, C)
Somme ← A + B + C
Ecrire (''La somme vaut : '', Somme)
Ainsi, si l’utilisateur fournit les valeurs 12, 3 et 7, l’action Ecrire produira l’écriture suivante
La somme vaut : 22
V. Structures de contrôle :
1. Structure séquentielle
La structure séquentielle est une structure dont les instructions s'enchaînent les unes après les
autres et s'exécutent une seule fois au cours de l'algorithme. C'est la structure la plus simple d'un
algorithme.
Exemple :
Écrire un algorithme qui demande à l'utilisateur de saisir la longueur et la largeur d'un rectangle, calcule la
surface du rectangle, puis affiche le résultat.
Algorithme surface_rectangle
Variables :
longueur, largeur, Surface : Réels
Début
Ecrire ("Donner la longueur puis la largeur : ")
Lire (longueur, largeur)
Surface ← longueur * largeur
Ecrire ("La surface du rectangle est : ", Surface)
Fin
2. Structure sélective
Une structure conditionnelle permet d'exécuter des instructions spécifiques en fonction des réponses
à des conditions données. Ces instructions peuvent varier en fonction des résultats des conditions.
7
ALGORITHMIQUE ET PROGRAMMATION
2.1 Conditions
Une condition est une expression qui peut prendre l'une des deux valeurs suivantes vrai ou faux. On
dit également que c'est une valeur de type "logique" ou "booléen".
Les principaux opérateurs de comparaison que vous rencontrerez sont les suivants :
Égal à (= en pseudo code)
Différent de ( != ou <> ou ≠en pseudo code)
Strictement supérieur ( > en pseudo code)
Strictement inférieur ( < en pseudo code)
Supérieur ou égal ( >= en pseudo code)
Inférieur ou égal ( <= en pseudo code)
2.2 Enchaînement conditionnel
L'exécution d'un bloc d'actions peut être conditionnée par la réalisation d'une condition. C'est pourquoi on
introduit dans le langage algorithmique des structures de contrôle conditionnelles standard qui sont :
l'alternative simple, l'alternative complète et le choix multiple.
A. L’alternative simple
Permet d'exécuter certain nombre d'opérations ou au contraire de ne rien faire.
Structure : SI <Condition> Alors <Bloc> Fin SI
Notation :
SI <Condition> Alors Si la condition <Condition> est vérifiée,
Instruction 1 le <Bloc>d'instructions sous contrôle
Instruction 2 <Bloc> sera exécuté ; Sinon, il sera ignoré.
..
..
Instruction n
Fin SI
Si la condition est évaluée à vrai alors le traitement Instruction 1, …, Instruction n est exécuté sinon on
considère l'instruction suivante (première instruction qui suit le mot "Fin SI").
Exemple :
Écrire un algorithme qui demande à l'utilisateur de saisir un dividende et un diviseur, calcule le quotient de
la division du dividende par le diviseur en utilisant des variables de type réel, puis affiche le résultat.
Algorithme quotient
Variables :
dividende, diviseur, q : Réels
Début
Ecrire ("Entrez le dividende : ")
Lire(dividende)
Ecrire ("Entrez le diviseur : ")
Lire(diviseur)
8
ALGORITHMIQUE ET PROGRAMMATION
Si (diviseur != 0 ) Alors
q ← dividende / diviseur
Ecrire ("Le quotient est : ", q)
Fin si
Fin
B. Structure alternative complète
La structure alternative complète est une situation dans laquelle on ne peut choisir qu'entre deux
solutions possibles.
Format général :
SI <Condition> Alors
Instruction 1
.
....
<Bloc1> Si la condition <Condition> est vraie, le bloc
Instruction n d'instructions <Bloc1> sera exécuté et le bloc
d'instructions <Bloc2> sera ignoré ;
Sinon
Sinon, le bloc d'instructions <Bloc1> sera ignoré et
Instruction 1’ le bloc d'instructions <Bloc2> sera exécuté.
<Bloc2>
.
....
Instruction n’
Fin SI
Exemple :
Algorithme quotient
Variables :
dividende, diviseur, q : Réels
Début
Ecrire ("Entrez le dividende : ")
Lire(dividende)
Ecrire ("Entrez le diviseur : ")
Lire(diviseur)
Si (diviseur != 0 ) alors
q ← dividende / diviseur
Ecrire ("Le quotient est : ", q)
Sinon
9
ALGORITHMIQUE ET PROGRAMMATION
Ecrire ("Erreur : le diviseur ne peut pas être zéro.")
Fin si
Fin
3. L’organigramme
Un organigramme en algorithmique est une représentation graphique utilisée pour décrire la
séquence d'étapes ou de processus dans un algorithme. Cela permet de visualiser de manière claire
et structurée le flux logique des opérations à effectuer pour résoudre un problème ou exécuter une
tâche.
Symbole Nom du symbole Fonction
Généralement représenté par un ovale,
Terminal il indique le début ou la fin de
l'algorithme.
Représenté par un parallélogramme est
Entrée-Sortie utilisé pour signifier toute opération
d'entrée/sortie (E/S).
Représenté par un rectangle, dénote
Processus une action ou un ensemble
d'instructions à exécuter dans
l'algorithme
Souvent représentée par un losange,
elle symbolise une condition logique à
Décision évaluer (par exemple, une question
avec une réponse vraie/fausse)
10
ALGORITHMIQUE ET PROGRAMMATION
Exemple :
Exercice n°1 : À l'aide des commandes 'avancer'
et 'allumer', écrivez une séquence d'instructions
pour que le robot allume la case bleue sur le
plateau.
Exercice n°2 : À l'aide des commandes 'avancer',
'allumer', 'tourner à gauche' et 'tourner à droite',
écrivez une séquence d'instructions pour que le robot
allume la case bleue sur le plateau.
Exercice n°3 : Décrivez une séquence d'instructions
pour guider le robot afin qu'il allume la case bleue sur
le plateau.
Exercice n°4 : Remplissez le tableau ci-dessous en
notant les valeurs actualisées des quatre variables
A, B, C et D, après l'exécution des instructions
indiquées dans la première colonne.
11
ALGORITHMIQUE ET PROGRAMMATION
Instructions A B C D
B2
CB+10
A0
DA
Exercice n°5 : Quelles seront les valeurs des BB*D
variables A, B et C après l'exécution des CB+5
instructions suivantes ? A10+4+C
CA+B+D
Algorithme MaJ_variables A = …….; B = ……. ; C = …….; D = …….
Variables A, B, C : Entiers
Début
A←5
B←3
Algorithme Concatenation
C←A+B
Variables A, B, C : chaîne de caractères
A←2 Début
C←B–A A ← '423'
Fin B ← '12'
C←A+B
Écrire(C)
Exercice n°6 : Après l'exécution de l'algorithme
Fin
"Concaténation", quel sera le contenu de la
variable C ?
12
ALGORITHMIQUE ET PROGRAMMATION
Exercice n°7 : Quel sera le résultat après
Exercice n°8 : D est une variable numérique
l'exécution des instructions suivantes ?
initialisée à 5 (D ← 5). S et A sont des variables de
type chaîne de caractères, avec S définie comme
'lydex' (S ← 'lydex'). Veuillez compléter le tableau
A2
suivant :
B9
C (A<B)
D (A>B) Instruction Sorties
E D ET C Ecrire (D)
F C OU (E ET D) Ecrire ('D')
G (C OU D) ET F Ecrire ('D = ', D)
H C OU D OU F Ecrire(S)
Ecrire ("la valeur de A est : ", A) Ecrire ('S')
Ecrire ("la valeur de B est : ", B) A S + ' -se'
Ecrire ("la valeur de C est : ", C) Ecrire(A)
Ecrire ("la valeur de D est : ", D) A S + '-se'
Ecrire ("la valeur de E est : ", E) Ecrire(A)
Ecrire ("la valeur de F est : ", F) Ecrire('D = ', D,' ; S = ',S)
Ecrire ("la valeur de G est : ", G)
Ecrire ("la valeur de H est : ", H)
Exercice n°10: Rédigez un algorithme qui échange
Exercice n°9 : Rédigez un algorithme qui échange les valeurs de deux variables A et B (sans utiliser de
les valeurs de deux variables A et B, variable temporaire), indépendamment de leur
indépendamment de leur contenu initial. contenu initial.
Exercice n°1 :
Écrire un algorithme qui nous permet de calculer la moyenne de trois nombres réels x, y, et z
Exercice n°2 :
Écrire un algorithme qui nous permet le calculer du BMI (Indice de Masse Corporelle) sachant que :
M= La masse en kilogrammes (masse) et T= la taille en mètres
(taille) d'un individu.
Exercice n°3 : Calcul du pourcentage de perte de poids
Écrire un algorithme qui nous permet de calculer le pourcentage de perte de poids en utilisant la
formule :
13
ALGORITHMIQUE ET PROGRAMMATION
Exercice n°4 : Calcul de la vitesse moyenne
Écrire un algorithme permettant de calculer la vitesse moyenne en utilisant
la formule ci-dessous, en prenant en compte la distance parcourue en
kilomètres (distance) et le temps total de course en heures (temps_total).
Exercice n°5 : Calcul de la force gravitationnelle
Écrire un algorithme permettant de calculer la force gravitationnelle entre deux objets en utilisant la loi de
la gravitation universelle en utilisant la formule suivante :
F est la force gravitationnelle entre deux masses,
G est la constante gravitationnelle (≈6.674×10-11N)
m1 et m2 sont les masses des deux objets,
d est la distance entre les centres des deux masses.
Exercice n°6: Calcul de la force pressante
Écrire un algorithme permettant de déterminer la force pressante exercée sur
une surface spécifique en appliquant la formule suivante :
Exercice n°8 :
Exercice n°7 : Écrire un algorithme qui permet de calculer le
Écrire un algorithme pour calculer le produit de carré d'un nombre donné.
trois nombres entiers.
Exercice n°10 :
Exercice n°9 : Écrire un algorithme qui calcule l'aire d'un
Écrire un algorithme qui convertit une distance disque dont le rayon est une variable.
donnée en kilomètres en miles.
La formule est : Miles = kilomètre x 0.621
Exercice n°13 :
Donnez le résultat produit par l'algorithme dans
chacun des cas ci-dessous :
Exercice n°11 :
Écrire un algorithme qui permet de calculer le
salaire d'un employé. Ce salaire est calculé sur la
base du nombre d'heures travaillées, multiplié
par un taux horaire fixe (37,50)
Exercice n°12 :
Écrire un algorithme qui demande à l'utilisateur
de saisir trois notes. Ensuite, il calcule et affiche
la moyenne de ces notes, en tenant compte des
coefficients respectifs : Coef_1 = 2, Coef_2 = qt pht ttc
4, Coef_3 = 3. 2 25
4 5
3 14
14
ALGORITHMIQUE ET PROGRAMMATION
15