0% ont trouvé ce document utile (0 vote)
6 vues33 pages

Cours Algorithme 2025

Le document présente un cours sur l'algorithmique pour l'année 2025-2026, abordant l'histoire, la définition et les caractéristiques des algorithmes, ainsi que leur importance dans la programmation. Il explique également les objets en algorithme, tels que les constantes et les variables, ainsi que les conventions d'écriture comme les organigrammes et le pseudo-code. Enfin, il détaille la structure d'un algorithme, incluant l'en-tête, la déclaration des objets et le corps de l'algorithme.

Transféré par

kouassicomoemarc25
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)
6 vues33 pages

Cours Algorithme 2025

Le document présente un cours sur l'algorithmique pour l'année 2025-2026, abordant l'histoire, la définition et les caractéristiques des algorithmes, ainsi que leur importance dans la programmation. Il explique également les objets en algorithme, tels que les constantes et les variables, ainsi que les conventions d'écriture comme les organigrammes et le pseudo-code. Enfin, il détaille la structure d'un algorithme, incluant l'en-tête, la déclaration des objets et le corps de l'algorithme.

Transféré par

kouassicomoemarc25
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

COURS D’ALGORITHME 2025-2026

SOMMAIRE

Chapitre 1. IntroductIon à l’algorIthmIque

Chapitre 2. les objets de l’algorIthme

Chapitre 3. les InstructIons de l’algorIthme

Chapitre 4. Les tableaux

Dagnogo amadou ingénieur de conception informatique Page 1 sur 33


COURS D’ALGORITHME 2025-2026

Chapitre 1 : IntroductIon à l’algorIthme

1.1. Histoire de l’algorithme


Le mot algorithme n’est pas dérivé d’un mot latin ou grec, mais d’une contraction et d’une dérivation du
nom du mathématicien arabe Al-Khuwarizmi qui publia deux livres importants : l’un sur l’arithmétique
et l’autre sur « l’action de faire passer et d’agencer les parties d’un tout » (titre original : Kitab al-jabr wal
muqabala). Trois siècles plus tard, le livre, traduit en latin, porta le nom Algorismus. (Microsoft Encarta
2008)

1.2. Définition de l’algorithme

La première définition du mot algorithme, dans son sens actuel, a été donnée par le mathématicien russe
Markov : « Tout ensemble de règles précises qui définit un procédé de calcul destiné à obtenir un résultat
déterminé à partir de certaines données initiales.» Les algorithmes sont constitués par un ensemble de règles
précises et compréhensibles par tous. Ils s’appliquent à des données qui peuvent changer et élaborent les
résultats en fonction des données initiales. (Microsoft Encarta 2008)

En d’autres termes, on peut définir l’algorithme comme étant la description non ambiguë en un nombre
d'étapes d'un calcul ou de la résolution d'un problème. Un programme est la traduction d'un algorithme
dans un langage de programmation (compréhensible) par une machine.

On peut déduire de cette définition celle de l’algorithmique : « l’algorithmique est la discipline qui traite
des méthodes permettant d’écrire des algorithmes c'est-à-dire les règles, les méthodes à observer pour
concevoir l’algorithme. L’algorithmique se penche sur la clarté, la lisibilité, le caractère non ambigu de
l’algorithme. »

1.3. Qui est Al Kuwharizmi ?

MUHAMMAD IBN MUSA AL KHUWARIZMI (v. 780 - v. 850), mathématicien arabe, dont les
travaux sur l'algèbre, l'arithmétique et les tables d'astronomie ont considérablement fait progresser la
pensée mathématique.

Khuwarizmi fut bibliothécaire à la cour du Calife Ald Allah al-Ma'mun et astronome à l'observatoire de
Bagdad. Il fut le premier à utiliser à des fins mathématiques l'expression al jabr, dont est dérivé le mot
français algèbre. La version latine (par le traducteur italien Gérard de Crémone) du traité d'algèbre d'Al-
Khuwarizmi fut à l'origine de la connaissance mathématique en Europe médiévale. Ses travaux sur les
algorithmes, terme dérivé de son nom, permirent d'introduire la méthode de calcul utilisant les chiffres
arabes et la notation décimale. (Microsoft Encarta 2008)

1.4. Les particularités de l’algorithme

1.4.1. Intérêt de l’algorithme

Pourquoi apprendre l’algorithmique pour apprendre à programmer ? En quoi a-t-on besoin d’un langage
spécial, distinct des langages de programmation compréhensibles par les ordinateurs ?

Dagnogo amadou ingénieur de conception informatique Page 2 sur 33


COURS D’ALGORITHME 2025-2026
Parce que l’algorithmique exprime les instructions résolvant un problème donné indépendamment des
particularités de tel ou tel langage. Pour prendre une image, si un programme était une dissertation,
l’algorithmique serait le plan, une fois mis de côté la rédaction et l’orthographe. Or, vous savez qu’il vaut
mieux faire d’abord le plan et rédiger ensuite que l’inverse…
Apprendre l’algorithmique, c’est apprendre à manier la structure logique d’un programme informatique.
Cette dimension est présente quelle que soit le langage de programmation ; mais lorsqu’on programme
dans un langage (en Pascal, C, en Visual Basic, etc.) on doit en plus se colleter les problèmes de syntaxe,
ou de types d’instructions, propres à ce langage. Apprendre l’algorithmique de manière séparée, c’est donc
sérier les difficultés pour mieux les vaincre.

1.4.2. De l’algorithme à la programmation

Un ordinateur ne sait rien faire ; il ne fait que ce qu’on lui demande de faire, donc un automate ou une
marionnette sans ses fils. Pour qu’il puisse prendre vie, il doit mettre en œuvre des programmes. Pour créer
ces programmes, appelés logiciels, il faut formaliser le problème, exprimer les actions à exécuter sous la
forme d’algorithmes et les traduire dans un langage de programmation.

Un Langage de programmation : c’est un langage informatique composé d’une série d’instructions


pouvant être interprétées et exécutées par un ordinateur. Ces instructions se composent de caractères, de
symboles, et de règles permettant de les assembler.

1.4.3. Les caractéristiques d’un algorithme

L’algorithme étant un ensemble de règles qui décrivent une séquence d’opérations en vue de résoudre un
problème donné bien spécifié, il doit répondre aux 5 caractéristiques suivantes :

• La finitude : Le nombre d’étapes d’un algorithme doit être fini. Le temps d’exécution pourra être
évalué.
• La précision : Chaque étape doit être parfaitement définie. Toutes les actions élémentaires doivent être
connues.
• Le domaine des entrées : Le champ des données d’entrée doit être spécifié.
• Le domaine des sorties : Un algorithme ayant un résultat, il faut donner les champs correspondants
aux résultats de sortie, ou du moins les relations entre les données d’entrée et les données de sortie.
• L’exécutable : Un algorithme doit déboucher sur un programme exécutable en un temps fini et
raisonnable.

1.4.4. Les conventions d’écriture d’un algorithme

[Link]. L’organigramme

Un algorithme peut se traduire schématiquement par un schéma. En informatique, un organigramme est


un graphique qui représente l'enchaînement logique des opérations d'un programme, notamment dans
l'analyse et la résolution d'un problème. Un organigramme est donc un diagramme qui montre le
cheminement des données dans un programme ou dans un système d'information, ainsi que les opérations
pratiquées sur ces données lors des différentes étapes du traitement. Ces opérations sont représentées par
des cases dont les formes sont normalisées : rectangles pour les calculs, losanges pour les tests,
parallélogrammes pour les entrées et les sorties de données. Ces cases sont reliées entre elles par des lignes
Dagnogo amadou ingénieur de conception informatique Page 3 sur 33
COURS D’ALGORITHME 2025-2026
fléchées qui indiquent le cheminement. L'organigramme est ainsi un outil graphique qui peut servir d'aide
pour comprendre le fonctionnement ou le comportement d'un programme donné. (Microsoft Encarta).

Remarque : Cette méthode peut être utilisée pour des cas d’algorithme simple, mais l’objectif d’un
informaticien, développeur d’application est de construire des programmes conséquents avec des
algorithmes quelques fois complexes. L’utilisation d’organigrammes s’avère dès lors inappropriée.

Exemple : Organigramme illustrant l'algorithme qui élève un nombre N à un exposant entier P en effectuant
autant de multiplications successives que nécessaire. Microsoft Encarta

Exemple d’organigramme
[Link]. Le pseudo-code

Un algorithme peut être écrit en pseudo-code. Le pseudo-code est un langage simplifié proche du langage
naturel (humain), permettant d’écrire un programme à l’aide des mots simples. On parle aussi de langage
de description des algorithmes (LDA). Il possède :
• Une syntaxe : l’ensemble des règles d’écriture ;
• Une sémantique : qui constitue son interprétation, le sens donné au langage ;
• Une représentation : c’est l’alphabet utilisé pour construire les mots et les expressions du langage
provient de la langue française : les lettres majuscules et minuscules, les chiffres de 0 à 9, les caractères
spéciaux (signes mathématiques, ponctuations, …)

Exemple : reprenons l’organigramme précédent qui élève un nombre N à un exposant entier P.


L’algorithme en pseudo-code pourrait se présenter comme suit :

Algorithme Puissance tant que c<>p faire


Var r  r*n
c, p, r, n : entier c  c+1
Début fin tant que
lire (n, p) écrire (r)
r1 Fin
c0
Dagnogo amadou ingénieur de conception informatique Page 4 sur 33
COURS D’ALGORITHME 2025-2026

Chapitre 2 : les objets de l’algorIthme

2.1. Structure d’un algorithme


D’une manière générale, un algorithme comprend trois principales parties.

▪ L’en-tête : il est composé du mot clé Algorithme suivi du nom de l’algorithme donné par le
programmeur.
▪ La partie déclaration : c’est le lieu de déclarer les objets qui seront utilisés pour l’élaboration de
l’algorithme (constantes, variables, types, structures de données, fonctions, procédures). Cette
partie peut être vide s’il n’y a pas d’objet à déclarer.
▪ Le corps de l’algorithme : c’est le lieu de décrire les actions à effectuer pour la résolution du
problème. Il utilise les objets déclarés dans la partie déclaration. Il commence par le mot clé ‘Début’
et se termine par le mot clé ‘Fin’.

2.2. L’objet en algorithme

2.2.1. Définition d’un objet

Un objet en algorithme est un élément abstrait portant un nom et permettant de sauvegarder les données
nécessaires aux traitements. On distingue particulièrement trois groupes : les constantes, les structures de
données et les variables. Chaque objet est défini par un identificateur, un type et éventuellement une valeur.

2.2.2. L’identificateur d’un objet

C’est le nom donné par le programmeur à l’objet dans l’algorithme. Un identificateur respecte les règles
suivantes :
- On utilise des lettres : caractère de 'a'..'z' ou 'A'..'Z' ou '_'.
- On utilise des chiffres : caractère de '0'..'9'.
- Un identificateur commence par une lettre.
- Il ne doit pas contenir d’espace, ni d’opérateur (/,=,+, etc.), ni tout autre symbole.
- Un identificateur doit être différent des mots clés encore appelés mots réservés qui permettent de
construire le langage algorithmique (Début, fin, répéter, lire, etc.).
Dagnogo amadou ingénieur de conception informatique Page 5 sur 33
COURS D’ALGORITHME 2025-2026

Exemples :

Identificateurs valables : Mon2eProgram, Liste_de_client, x1, nombre


Identificateurs non valables : 2eProgram, Liste de client, x-1, const, entier, Tableau

Conseil de programmation : le choix des identificateurs

Le programmeur est libre d’attribuer les noms qu’il souhaite aux objets, variables, fonctions ou classes
qu’il utilise. Cependant, il ne doit jamais perdre de vue qu’un algorithme ou un programme doit être
lisible, clair et compréhensible non seulement par lui-même, mais également par toute autre personne
susceptible de le lire ou de le maintenir.

C’est pourquoi il est fortement déconseillé d’utiliser des identificateurs fantaisistes tels que « Grégoire »,
« Valérie » ou « Lulu », qui n’ont aucun sens dans le contexte du programme.

Un identificateur doit au contraire être mnémonique, c’est-à-dire formé à partir d’un ou plusieurs mots
contractés ou abrégés, mais qui conservent un sens explicite pour le concepteur et les futurs lecteurs du
code. Par exemple :

• nbEtudiants pour désigner le nombre d’étudiants ;


• calculSalaire() pour une fonction qui calcule un salaire.

2.2.3. Le type d’un objet

Le type d’un objet est l’ensemble des valeurs possibles que pourra prendre cet objet.
Le type d’une donnée manipulée dans un algorithme ou dans les langages de programmation, spécifie la
taille occupée par la donnée en mémoire, les opérations qui lui sont applicables ainsi que l’intervalle des
valeurs autorisées.
Exemples : le type entier, le type chaîne, le type réel, le type enregistrement

2.2.4. La valeur d’un objet

La valeur représente en fait le contenu de l’objet à un instant donné dans la vie du programme. Cette valeur
bien sûr sera d’un type compatible à l’objet au moment de sa déclaration. Justement à propos de déclaration,
passons-en aux détails sur les objets et voir de quoi il s’agit.

2.3. L’identificateur de l’algorithme

Nous avons vu plus haut que la première partie de l’algorithme est son en-tête composé du mot clé
Algorithme suivi de son identificateur c'est-à-dire le nom à lui donné par le programmeur. C’est en
quelque sorte un titre que vous donnez à un texte.

Syntaxe : Algorithme Nom_de_l_algorithme

Exemples : Algorithme Somme_de_2entiers

2.4. La déclaration des objets

Dagnogo amadou ingénieur de conception informatique Page 6 sur 33


COURS D’ALGORITHME 2025-2026
La deuxième partie d’un algorithme avons-nous dit est la partie réservée à la déclaration des objets. La
première chose à faire avant de pouvoir utiliser un objet est de le créer et de lui donner un nom. Cela se fait
tout au début de l’algorithme, avant même les instructions proprement dites. C’est ce qu’on appelle la
déclaration des objets (constante, variables …). Cette action permet au processeur qui va exécuter le
programme de savoir quelle place en termes de quantité de mémoire doit-il réserver pour le travail à faire.

2.5. La constante

2.5.1. Définition d’une constante


Une constante est un objet qui :
- Ne possède pas d’emplacement mémoire réservé. La valeur de la constante est directement placée
dans le code du programme utilisant la constante. La valeur de la constante ne peut pas être modifiée.
- Possède un type déterminé par sa valeur (entier, caractère, réel, …).

2.5.2. Déclaration d’une constante


La déclaration d’une constante se fait dans la partie déclaration de l’algorithme selon la syntaxe suivante :
Syntaxe : Const identificateur = Valeur
Exemples :
Const
X = 15 (* X est une constante de type Entier ou réel *)
Pi = 3,1415 (* Pi est une constante de type réel *)
Car = ‘A’ (* car est une constante de type caractère *)
Valeur = ‘‘Heureux’’ (* est une constante de type chaîne de caractères *)

Remarque : dans un même algorithme, le mot clé const n’apparaît qu’une seule fois. Toutes les constantes
sont regroupées dans le même bloc. S’il n’y a pas de constante dans l’algorithme, le mot const n’apparaît
pas non plus.

2.5.3. La variable

[Link]. Définition d’une variable


Une variable est un objet qui mémorise une information de type donné. Une variable stocke une valeur du
type spécifié lors de sa déclaration. Cette valeur peut changer tout au long de la vie de la variable.
Une variable se caractérise par :
- Un identificateur,
- Un emplacement mémoire,
- Une taille mémoire déterminée par le type de la variable (entier, réel, chaîne …).
- Elle ne possède aucune valeur initiale à priori.

[Link]. Déclaration d’une variable


La déclaration des variables se fait dans le bloc réservé à celles-ci précédé par le mot clé Var.
Syntaxe : Var identificateur : Type
Exemples :
Var
valeur1, valeur2, somme : entier

Dagnogo amadou ingénieur de conception informatique Page 7 sur 33


COURS D’ALGORITHME 2025-2026
caract : caractère
Nom : chaîne de caractères
Réponse : booléen

2.6. Le type d’une variable

Nous avons déjà défini ce qu’est un type. Néanmoins nous rappelons brièvement qu’un type représente
l’ensemble de valeurs que peuvent prendre les objets de l’algorithme. Ce paragraphe nous permettant dans
les détails de prendre connaissance des différents types de données que nous pouvons manipuler dans un
algorithme. Cela part des types simples (de base) aux types complexes.

2.6.1. Les types de base

• Le type entier
Le mot clé est « Entier ». Il est codé sur deux octets. L’intervalle des valeurs est : [- 32 768 ; + 32 767]

• Le type entier long


Le mot clé est « Entier long ». Il est codé sur quatre octets. L’intervalle des valeurs est :
[- 2 147 483 648 ; + 2 147 483 647]

• Le type réel
Le mot clé est « Réel ». Le codage varie selon les documents et le langage de programmation utilisé. Il est
utilisé pour écrire les grands nombres ainsi que les nombres à virgule. Avec un codage de huit octets,
l’intervalle des valeurs sera :
[-3,40x1038 à -1,40x10-45] pour les valeurs négatives et [1,40x10-45 à 3,40x1038] pour les valeurs positives.

• Le type booléen
Un booléen est une variable particulière qui ne peut prendre que deux valeurs possibles : vrai ou faux. Le
mot booléen vient de George Boole (1815-1864), mathématicien et logicien anglais. En pratique un booléen
est codé sur un seul octet (0 pour faux et 1 ou tout autre valeur pour vrai).
Le mot clé est « Booléen ».

• Le type caractère
Un caractère représente une lettre quelconque de l’alphabet, un chiffre, un espace, un symbole. Il est codé
sur un(1) octet c'est-à-dire 8 bits. L’ors d’une initialisation ou affectation le caractère est placé entre deux
apostrophes comme par exemple ‘y’. On retrouve l’ensemble des caractères possibles dans un tableau dit
Table de codes ASCII. Arrêtons-nous un peut sur cette notion de codes ASCII. À ce propos voici un
article que nous vous proposons de parcourir…

L’ASCII (American Standard Code for Information Interchange) est un code normalisé qui associe des
valeurs numériques aux lettres, chiffres, signes et symboles, permettant ainsi aux ordinateurs d’échanger
des informations.

Il comporte 256 codes :

• 128 codes standards (0–127) utilisant 7 bits, dont


o les 32 premiers pour les caractères de contrôle (tabulation, retour chariot, etc.),

Dagnogo amadou ingénieur de conception informatique Page 8 sur 33


COURS D’ALGORITHME 2025-2026
o et les autres pour les caractères imprimables (lettres, chiffres, ponctuation).
• 128 codes étendus (128–255) réservés aux constructeurs et non universels.

L’ASCII standard est universel, tandis que la version étendue varie selon les systèmes (IBM, Apple, etc.).

• Le type chaîne de caractères


Une chaîne de caractères est une suite de plusieurs caractères. La valeur est placée non plus entre
apostrophes mais entre guillemets anglais comme par exemple ″bonjour″. Le mot clé est « Chaîne »

2.6.2. Les autres types de données

En dehors des types de base que nous venons de voir, qui sont des types dits prédéfinis parce que définis
par le langage algorithmique (ou le langage de programmation), le programmeur peut lui-même définir
d’autres types à partir des types de base. Ces types feront l’objet d’autres chapitres que nous aurons
l’occasion d’étudier par la suite. Ceux sont les types utilisateurs dont :
• Le type tableau
• Le type enregistrement
• Le type fichier
• Le type pointeur

2.7. Les expressions et les opérateurs


2.7.1. Définition d’une expression
Une expression est un ensemble de valeurs, reliées par des opérateurs, et équivalent à une seule valeur.
C’est une alternance d’opérandes et d’opérateurs.
Par exemple, voyons quelques expressions de type numérique. Ainsi :
7 5+4 123-45+844 x-12+5-y
sont des expressions valides, pour peu que x et y soient bien des nombres. Car dans le cas contraire, la
quatrième expression n’a pas de sens. Dans l’expression 5+4, 5 et 4 sont des opérandes et l’opérateur
employé est l’addition (+).
2.7.2. Les opérateurs
• Définition d’un opérateur
Un opérateur est un signe qui relie deux valeurs, pour produire un résultat. Les opérateurs possibles
dépendent du type des valeurs qui sont en jeu. Un opérateur décrit l’action que l’on souhaite réaliser sur
les opérandes qui s’y trouvent de part et d’autre.
• Les différents types d’opérateurs
- Les opérateurs arithmétiques
Les opérateurs arithmétiques permettent d’effectuer des calculs mathématiques sur des variables ou des
constantes numériques. Ils constituent la base de toute manipulation de données numériques dans un
Programme.
Opérateurs Actions Remarques importantes : Les opérateurs
+ Addition arithmétiques respectent la priorité des
- Soustraction opérations mathématiques :
* Multiplication
▪ Parenthèses ()
/ Division ▪ Puissance
^ Puissance (12^2=144) ▪ Multiplication et division
Mod Modulo (reste de la division entière) ▪ Addition et soustraction
Div Division entière
Dagnogo amadou ingénieur de conception informatique Page 9 sur 33
COURS D’ALGORITHME 2025-2026
- Les opérateurs de comparaison (ou relationnels)

Les opérateurs de comparaison permettent de comparer deux valeurs (nombres, chaînes de caractères,
etc.) et de renvoyer un résultat booléen :

• Vrai (ou True) si la comparaison est correcte,


• Faux (ou False) sinon.

Ces opérateurs sont souvent utilisés dans les tests conditionnels

Opérateurs Actions
= Égalité
> Supérieur
< Inférieur
<> Différent de
>= Supérieur ou égal
<= Inférieur ou égal
- Les opérateurs logiques (ou booléens)
Une expression logique est encore appelée condition. C’est une expression faisant partie des opérateurs de
comparaison et ayant pour résultat VRAI ou FAUX. Elle permet de comparer des valeurs de mêmes natures
à savoir 2 entiers, 2 réels, 2 caractères, 2 chaînes de caractères…
Opérateurs Actions
Non Non (négation)
Et Et logique
Ou Ou logique
XOR Ou exclusif
- La table de vérité
X Y Non X X Et Y X Ou Y X XOR Y
Vrai Vrai F V V F
Vrai Faux F F V V
Faux Vrai V F V V
Faux Faux V F F F
Une expression ET est à VRAI si les 2 conditions sont à VRAI
Une expression ET est à FAUX si une seule valeur est à FAUX
Une expression OU est à VRAI si une seule valeur est à VRAI et FAUX si les 2 sont à FAUX.
Le XOR est une rareté, dont il n’est pas strictement indispensable de s’encombrer en programmation.

La priorité des opérateurs dans une expression logique est : NON puis ET puis OU.
Pour éviter des confusions, on peut utiliser des parenthèses dans les expressions pour les clarifier,
sinon l’évaluation des expressions logiques s’effectue de la gauche vers la droite.

Dagnogo amadou ingénieur de conception informatique Page 10 sur 33


COURS D’ALGORITHME 2025-2026
Chapitre 3 : Les instructions de l’algorIthmIque

3.1. Introduction aux instructions


Une instruction informatique est une commande élémentaire interprétée et exécutée par un processeur. Les
instructions, exprimées dans le langage de programmation choisi par le développeur, font le lien entre celui-
ci et le langage machine. Il en existe de trois types : les instructions simples pour l’affectation des valeurs,
les instructions structurées pour les actions de contrôle (répétitives, récursives, accès aux fichiers), et les
instructions de procédure.

• Les instructions simples


Les instructions simples ont la forme générale suivante : EXPRESSION, où EXPRESSION est, soit une
affectation, soit un appel de sous-programme (fonction ou procédure).

• Les instructions de contrôle


Les instructions de contrôle permettent de définir l’ordre dans lequel doit s’exécuter l’ensemble des
instructions du programme. Elles tiennent rarement sur une ligne et sont construites autour de plusieurs
instructions qui forment un bloc syntaxique, équivalent à une instruction simple. Les instructions de
contrôle regroupent les instructions conditionnelles, répétitives, de branchement, et de retour de fonction.

• Les instructions conditionnelles


L’exécution d’une instruction ou d’un bloc d’instructions conditionnelles est déterminée par la réalisation
d’une condition et donc le renvoi à des traitements différents. La structure d’une instruction conditionnelle
associée à la description d’une alternative est identique dans tous les langages de programmation et a la
forme suivante : SI … ALORS … SINON et SELON … FAIRE.

• Les instructions répétitives


Ces instructions servent à répéter un ensemble d’instructions jusqu’à ce qu’une certaine condition soit
réalisée. Il s’agit des itérations (TANT QUE, RÉPÉTER JUSQU’À, POUR ).

• Les instructions de branchement


L’instruction de branchement (de forme « ALLER ») provoque la sortie du bloc d’instructions actif pour
aller exécuter un bloc dans une autre partie du programme.
Remarque : cette instruction est moins utilisée en algorithmique mais fréquente dans les langages de
programmation.

• Les instructions de retour de fonction


L’instruction de retour de fonction permet au sous-programme en cours de retourner une valeur au sous-
programme appelant (se référer au chapitre sur les fonctions et procédures).

• Les instructions de procédure


Elles permettent de construire des sous-programmes réutilisables dans le programme pour lequel ils sont
écrits, mais également dans d’autres programmes. Les procédures ne renvoient pas de valeur (On se
référera aussi au chapitre sur les fonctions et procédures).

Dagnogo amadou ingénieur de conception informatique Page 11 sur 33


COURS D’ALGORITHME 2025-2026

3.2. L’affectation
3.2.1. Définition
L’affectation est une opération qui consiste à placer dans la zone mémoire d’une variable (dont on précise
le nom), une valeur compatible avec le type de la variable. L’affectation est représentée par une flèche
vers la gauche «  »

Syntaxe : variable  valeur

Exemple :
Algorithme Affectation
Const
Pu=1000
Var
valeur, qté : entier
Total : réel
Début
Qté  5
Valeur  qté * pu
Total  valeur + valeur*10/100
Fin

3.2.2. L’incrémentation
L’incrémentation est une affectation particulière mettant en jeu une et une variable apparaissant à la fois à
droite et à gauche du symbole d’affectation. On assigne à la variable son ancienne valeur augmentée d’une
constante numérique.

Exemple : A  A +1
Si A valait 22, sa nouvelle valeur après cette opération sera 23.

3.2.3. La décrémentation
Quant à la décrémentation, On assigne à la variable son ancienne valeur diminuée d’une constante
numérique.

Exemple : An  An – 2
Si An valait 20, sa nouvelle valeur après cette opération sera 18.

3.3. L’instruction de lecture


L’instruction de lecture permet à l’utilisateur de saisir une donnée au clavier afin d’être mémorisée et
traitée par le processeur. En pratique dès que le programme rencontre une instruction Lire, l’exécution
s’interrompt, attendant la frappe d’une valeur au clavier. Dès lors, aussitôt que la touche Entrée (Enter) a
été frappée, l’exécution reprend.

Syntaxe : Lire (liste de variables)


S’il y a plusieurs variables, elles seront séparées par de virgules.

Exemples : Lire (valeur1)


Dagnogo amadou ingénieur de conception informatique Page 12 sur 33
COURS D’ALGORITHME 2025-2026
Lire (valeur1, valeur2)

3.4. L’instruction d’écriture des données à l’écran


Lorsqu’une valeur se trouve en mémoire centrale de l’ordinateur, on peut demander son affichage à l’écran.
L’instruction permettant de réaliser une telle opération est écrire.

Syntaxe : Écrire (liste de texte et/ou de variables)


Exemple : Écrire (valeur1)
Écrire (‘‘le contenu de valeur1 est :’’, valeur1)

3.5. Une première application


Écrire un algorithme qui permet de calculer le prix total d’une marchandise en saisissant son prix unitaire
et sa quantité puis afficher le résultat.
Objectif : ce programme nous permettra d’utiliser les trois premières instructions que nous venons d’étudier
à savoir l’affectation, la lecture et l’écriture.

Proposition de solution :
Algorithme CalculPrixTotal
Var
PrixUnit, PrixTotal : réel
qté : entier
Début
(* Saisie des informations en entrée *)
Écrire (‘‘ Entrer le prix unitaire :’’)
Lire (PrixUnit)
Écrire (‘‘Entrer la quantité :’’)
Lire (qté)
(* calcul du résultat *)
PrixTotal  PrixTotal * qté
(* affichage du résultat*)
Écrire (‘‘Le prix total est de :’’, PrixTotal )
Fin

3.6. L’instruction conditionnelle


3.6.1. Définition de la conditionnelle
Une condition est une comparaison. Cette définition est essentielle ! Elle signifie qu’une condition est
composée de trois éléments :
➢ une valeur ;
➢ un opérateur de comparaison ;
➢ une autre valeur.
Les valeurs peuvent être à priori de n’importe quel type (numériques, caractères…). Mais si l’on veut que
la comparaison ait un sens, il faut que les deux valeurs de la comparaison soient du même type ! Le résultat
d’une comparaison est une valeur de type booléen (vrai ou faux). C’est en fonction de cette valeur qu’une
instruction sera exécutée ou pas.
Il existe deux formes de conditionnelle : Si … Alors … Fin Si et Si … Alors … Sinon … Fin si

Dagnogo amadou ingénieur de conception informatique Page 13 sur 33


COURS D’ALGORITHME 2025-2026
3.6.2. La structure conditionnelle « Si … Alors »

Syntaxe : Si condition Alors


Instruction(s)
Fin Si

Cela se traduit par : Si la condition est vraie Alors Exécuter les instructions.

Exemple : Écrire un algorithme qui permet de calculer et afficher la valeur absolue d’un nombre réel entré
au clavier.

Algorithme ValeurAbsolue
Var
nombre : réel
Début
Écrire (‘’Veuillez entrer un nombre réel au clavier :’’)
Lire (nombre)
Si nombre < 0 Alors
Nombre  - Nombre
Fin si
Écrire (‘‘la valeur absolue est :’’, nombre)
Fin

3.6.3. La structure alternative « Si … Alors … Sinon»

Syntaxe : Si condition Alors


Instructions_1
Sinon
Instructions_2
Fin Si

Cela se traduit par : Si la condition est vraie Alors Exécuter instructions_1 Sinon Exécuter instructions_2.

Exemple : écrire un algorithme qui permet à un utilisateur de saisir un nombre entier quelconque et le
programme affiche sa valeur absolue.

Algorithme Valeur_Absolue2
Var nombre : entier
Début
Écrire (‘‘Veuillez entrer un nombre entier quelconque :’’)
Lire (nombre)
Si nombre < 0 Alors
Écrire (‘‘ la valeur absolue de ’’, Nombre, ‘’ est ‘’, - nombre)
Sinon
Écrire (‘‘ la valeur absolue de ’’, Nombre, ‘’ est ‘’, nombre)
Fin si
Fin
Dagnogo amadou ingénieur de conception informatique Page 14 sur 33
COURS D’ALGORITHME 2025-2026

3.6.4. Les conditions composées


Certains problèmes exigent parfois de formuler des conditions qui ne peuvent pas être exprimées sous la
forme simple exposée ci-dessus. Il s’agit des cas où plusieurs conditions sont reliées par ce qu’on appelle
un opérateur logique. Comme on l’a évoqué plus haut, l’informatique met à notre disposition quatre
opérateurs logiques : ET, OU, NON, et XOR (conf. La Table de vérité).

En exemple : nous vous invitons à consulter les algorithmes en 3.6.5 ci-dessous.

3.6.5. Les tests imbriqués


Graphiquement, on peut très facilement représenter un SI comme un aiguillage de chemin de fer (ou un
aiguillage de train électrique, c’est moins lourd à porter). Un SI ouvre donc deux voies, correspondant à
deux traitements différents.
Mais il y a des tas de situations où deux voies ne suffisent pas.

Par exemple :

Voici un programme devant donner l’état de l’eau selon sa température doit pouvoir choisir entre trois
réponses possibles (solide, liquide ou gazeuse).

Une première solution serait la suivante :

Algorithme Température
Var
Temp : Entier
Début
Ecrire (“Entrez la température de l’eau :”)
Lire Temp
Si Temp <= 0 Alors
Ecrire (“C’est de la glace’’)
Finsi
Si Temp > 0 Et Temp < 100 Alors
Ecrire (“C’est du liquide”)
Finsi
Si Temp > 100 Alors
Ecrire (“C’est de la vapeur”)
Finsi
Fin

Une autre solution :


Vous constaterez que c’est un peu laborieux. Les conditions se ressemblent plus ou moins, et surtout on
oblige la machine à examiner trois tests successifs alors que tous portent sur une même chose, la
température (la valeur de la variable Temp). Il serait ainsi bien plus rationnel d’imbriquer les tests de cette
manière :

Algorithme Température

Dagnogo amadou ingénieur de conception informatique Page 15 sur 33


COURS D’ALGORITHME 2025-2026
Var
Temp : Entier
Début
Ecrire (“Entrez la température de l’eau :”)
Lire Temp
Si Temp =< 0 Alors
Ecrire (“C’est de la glace“ )
Sinon
Si Temp < 100 Alors
Ecrire (“C’est du liquide”)
Sinon
Ecrire (“C’est de la vapeur”)
Finsi
Finsi
Fin

Remarque:
➢ Afin de faciliter la lecture des algorithmes, il est important de façon générale d’indenter le programme.
Surtout les instructions du « Si » et « Sinon ».
➢ Un Si se rapporte toujours à un Fin Si.

3.7. La structure de choix « Selon … Faire »

Syntaxe
Selon variable Faire
Étiquette1 : instructions 1
Étiquette2 : instructions 2


ÉtiquetteN : instructions N
[ Sinon : instruction par défaut ]
Fin Selon

Remarque : Certains algorithmes utilisent la syntaxe


Suivant … Faire
Sinon ….
Fin Suivant

La structure de choix est utilisée lorsqu’il y a des choix à faire dans l’exécution d’un ensemble
d’instructions en fonction du choix de l’étiquette.
En cas d’égalité de la variable avec une étiquette, l’instruction associée à l’étiquette est exécutée.

Une structure de choix évite des successions de ‘‘ Si’’.


La variable : c’est l’objet sur quoi doit porter le test.
L’étiquette : de type entier, caractère ou booléen, mais jamais réel.
Le « Sinon » :il est optionnel, au cas où la variable ne correspond à aucune étiquette, les instructions qui
lui sont associées seront exécutées.

Exemple

Dagnogo amadou ingénieur de conception informatique Page 16 sur 33


COURS D’ALGORITHME 2025-2026
On veut affecter la durée d’une tâche, en fonction du numéro d’étape entrant dans le processus de
traitement. Les tâches N°1 et N°4 ont une durée de 15 secondes, les tâches N°2 et N°3 ont une durée
respective de 10 et 25 secondes. L’étape N°5 de durée 0, déclenche l’arrêt du processus.

Programme Processus
Var étape, durée : entier
Arrêt : booléen
Début
Arrêt  FAUX
Durée  0
Écrire (‘’ Entrer le N° de l’étape :’’)
Lire (étape)
Selon étape Faire
1 : Durée  15
2 : Durée  10
3 : Durée  25
4 : Durée  15
5 : Durée  0
Fin selon
Écrire (‘’étape’’, étape, ‘‘ de durée’’, durée)
Fin
3.8. La structure répétitive « Pour »

Syntaxe :

Pour indice  valeurInitiale à valeurFinale (Par Pas de valeurPas) Faire


Instruction(s)
Fin pour

Exemple :

Pour i  1 à 10 (par pas de 2) Faire


Écrire (‘‘Affichage :’’, i)
Fin pour

On utilise la structure « Pour » lorsqu’on connaît d’avance le nombre de boucles à effectuer.


Avant chaque tour de boucle, la valeur de l’indice (qui est une variable) de boucles est comparée à la valeur
de fin afin de déterminer s’il y a un tour de boucle à effectuer.

Remarque :

- L’incrémentation de l’indice se fait automatiquement dans la structure. Le programmeur n’a pas


besoin d’insérer une instruction particulière pour le faire.

- Si la valeur du pas est 1 (valeur par défaut), on peut omettre cette option
Dans ce cas la syntaxe se résume à
Pour indice  valeurInitiale à valeurFinale Faire
Dagnogo amadou ingénieur de conception informatique Page 17 sur 33
COURS D’ALGORITHME 2025-2026
Instruction(s)
Fin pour

- La valeur du pas peut être négative : structure « pour » décroissante


Dans ce cas, la valeur initiale doit être supérieure à la valeur finale

Applications

1- Écrire un algorithme qui calcule la somme des nombres pairs sur la série des 10 premiers nombres
entiers.

Programme SommePaire
Var i, somme : entier
Début
Somme  0
Pour i  2 à 10 (par pas de 2) Faire
Somme  somme + i
Fin pour
Écrire (‘‘ La somme des 10 premiers nombres pairs est :’’, somme)
Fin

2- Écrire un algorithme qui a pour objectif de rechercher le minimum et le maximum dans une série de N
valeurs entières. N doit être saisi positif. Afficher les résultats.

Algorithme MinimumMaximum
Const N=15
Var
nombre, i, Min, Max : entier
Début
Écrire (‘‘Entrer un nombre positif :’’)
Lire (nombre)
Min  nombre
Max  nombre
Pour i  2 à N Faire
Écrire (‘‘Entrer un nombre positif :’’)
Lire (nombre)
Si Min > nombre alors
Min  nombre
Sinon
Si Max < nombre alors
Max  nombre
Fin si
Fin Si
Fin pour
Écrire (‘‘La minimum est :’’, min)
Écrire (‘‘La maximum est :’’, max)
Fin
Dagnogo amadou ingénieur de conception informatique Page 18 sur 33
COURS D’ALGORITHME 2025-2026

3.9. La structure « Tant que …Faire »

Syntaxe :

Tant que condition Faire


Instructions
Fin tant que

Ceci se traduit par : tant que la condition est vraie, exécuter les instructions du bloc.
Il s’agit d’une répétition, d’une boucle. Le programme testera d’abord la condition avant d’exécuter
l’instruction. Lorsque la condition devient faux, la boucle se termine et le programme continue son
exécution après l’instruction qui suit le fin tant que.

Remarque :
➢ Avec cette structure, on exécute les instructions de 0 à n fois. En effet, on peut ne même pas rentrer
dans la boucle (donc 0 instruction), dans le cas où il s’avère que dès le premier test la condition a pour
valeur faux.
➢ La condition du tant que est appelée condition de continuation.

Exemples :

1- Nous souhaitons que l’utilisateur saisisse absolument une valeur positive. Pour s’en assurer, nous allons
boucler tant que la valeur saisie n’est pas correcte.

Algorithme ValeurPositive
Var
nombre : réel
Début
Écrire (‘‘Entrer un nombre positif :’’)
Lire (nombre)
Tant que (nombre < 0) faire
Écrire (‘‘Entrer un nombre positif :’’)
Lire (nombre)
Fin tant que
Écrire (‘‘Le nombre saisi est :’’, nombre)
Fin
Écrire un algorithme qui permet à un utilisateur de saisir une série de nombres entiers positifs ou négatifs.
La saisie s’arrête lorsque l’utilisateur tape la valeur 0 (zéro). Lorsque la saisie est terminée, l’algorithme
affiche la somme des valeurs.

Algorithme SommeDesValeurs
Var
valeur, somme : entier
Début
(* initialisons la variable de cumul à zéro *)

Dagnogo amadou ingénieur de conception informatique Page 19 sur 33


COURS D’ALGORITHME 2025-2026
Somme  0
Écrire (‘‘Entrer un nombre entier :’’)
Lire (valeur)
(* on fait le cumul tant que les valeurs saisies sont différents de 0 *)
Tant que (valeur <> 0) faire
Somme  somme + valeur
Écrire (‘‘Entrer un nombre entier :’’)
Lire (valeur)
Fin tant que
Écrire (‘‘La somme des valeurs saisies est:’’, somme)
Fin

3.10. La structure « Répéter jusqu’à »

Syntaxe :

Répéter
Instructions
Jusqu’à condition

Cette instruction permet la répétition du bloc d’instructions jusqu’à ce que la condition soit vraie. Il s’agit
aussi d’une répétition, d’une boucle. Elle s’arrête dès que la condition exprimée devient vraie.

Remarque :
➢ Avec cette structure, on exécute les instructions de 1 à n fois. En effet, on exécute au moins une
fois les instructions prévues avant de tester la condition.
➢ La condition du « tant que » est appelée condition d’arrêt.

Exemples

1- Nous souhaitons que l’utilisateur saisisse absolument une valeur positive. Pour s’en assurer, nous allons
boucler tant que la valeur saisie n’est pas correcte.

Algorithme ValeurPositive
Var
nombre : réel
Début
Répéter
Écrire (‘’Enter un nombre positif :’’)
Lire (nombre)
Jusqu’à nombre >= 0
Écrire (‘‘Le nombre saisi est :’’, nombre)
Fin
2-Écrire un algorithme qui permet à un utilisateur de saisir une série de nombres entiers positifs ou
négatifs. La saisie s’arrête lorsque l’utilisateur tape la valeur 0 (zéro). Lorsque la saisie est terminée,
l’algorithme affiche la somme des valeurs.

Dagnogo amadou ingénieur de conception informatique Page 20 sur 33


COURS D’ALGORITHME 2025-2026
Algorithme SommeDesValeurs
Var
valeur, somme : entier
Début
(* initialisons la variable de cumul à zéro *)
Somme  0
(* on fait le cumul jusqu’à ce que la valeur saisie soit égale à 0, condition d’arrêt *)
Répéter
Écrire (‘‘Entrer un nombre entier :’’)
Lire (valeur)
Somme  somme + valeur
Jusqu’à (valeur = 0)
Écrire (‘‘La somme des valeurs saisies est:’’, somme)
Fin

2- Objectif de l’algorithme: contrôle de saisie.


Demander à l’utilisateur de saisir une borne supérieure, une borne inférieure et une valeur comprise entre
ces deux bornes. Les contrôles de saisie porteront sur la borne supérieure (qui devra être supérieure à la
borne inférieure), ainsi que sur la valeur bornée. Puis afficher le résultat.

Algorithme ContrôleBorne
Var BorneInf, BorneSup, valeur : entier
Début
Écrire (‘‘Entrer un entier comme borne inférieure :’’)
Lire (BorneInf)
Répéter
Écrire (‘‘Entrer la borne supérieure :’’)
Lire (BorneSup)
Jusqu’à (BorneSup > BorneInf)
Répéter
Écrire (‘‘Entrer un valeur comprise entre ’’, BorneInf , ‘‘et’’, BorneSup)
Lire (valeur)
Jusqu’à (valeur >= BorneInf) et (valeur <= BorneSup)
Écrire (‘‘ Vous avez saisie la valeur ’’, valeur)
Fin

3.11. Exercices récapitulatifs

1) Écrire un programme calculant la surface d’un triangle à partir de la valeur de sa base et de la


hauteur.
On rappelle : surface = ½ * base * hauteur.

2) Écrire un programme qui permet de débiter un stock de 50 pièces ou le réapprovisionner par lot de 100
unités si la quantité commandée, comprise entre 1 et 100, est supérieure à la quantité en stock (toujours
initialisée à 50).

3) Écrire un programme qui calcule le Plus Petit Commun Multiple (PPCM) entre une valeur A et une
valeur B de type entier saisies au clavier.

Dagnogo amadou ingénieur de conception informatique Page 21 sur 33


COURS D’ALGORITHME 2025-2026

4) On sait que : l’eau gèle à 0° ; l’eau salée gèle à -3° ; le fuel gèle à -5° ; l’ordinaire gèle à -13° ; le
super gèle à -23°.
Écrire un programme qui demande une température et sort la liste des liquides qui gèlent à cette
température. Dans un deuxième temps, modifier le programme en utilisant des constantes nommées.
Exemple : l’utilisateur saisit : -7
Le programme affiche :
Eau gèle
Eau salée gèle
Fuel gèle

Dagnogo amadou ingénieur de conception informatique Page 22 sur 33


COURS D’ALGORITHME 2025-2026
CHAPITRE 4 : LES TABLEAUX

4.1. Définition d’un tableau

Un tableau est une structure de donnée linéaire qui permet de stocker sous le même nom un ensemble de
valeurs de même type. Les données sont placées de manière contiguë en mémoire. Chaque élément est
repéré et identifié par un (ou plusieurs) nombre entier(s). Le tableau est encore appelé variable indicée.

Le nombre qui, au sein d’un tableau, sert à repérer chaque valeur s’appelle l’indice. On distingue les
tableaux à une dimension et les tableaux à plusieurs dimensions.
Un tableau est dit unidimensionnel lorsque l’indice est unique.
Lorsqu’un traitement utilise plusieurs tableaux à une dimension, subissant le même traitement, on utilise
un tableau à deux dimensions. Cette nouvelle forme de tableau possède un identifiant unique. Chaque
élément est identifié par deux indices : l’un indiquant la ligne et l’autre la colonne.

4.2. Le tableau à une dimension

Soit le schéma suivant :


Un tableau de 10 entiers
15 20 6 0 16 52 33 21 16 25
Indices : 1 2 3 4 5 6 7 8 9 10

4.2.1. Déclaration

Var T : tableau [1..10] d’entiers


(* déclaration d’un tableau T de 10 entiers *)
1 est l’indice minimum et 10 l’indice maximum du tableau.

4.2.2. Manipulations sur les tableaux à une dimension

La création d’un tableau consiste en un remplissage des différentes cases qui le constituent. Cette opération
peut se faire de deux manières :
Soit en renseignant les cases une à une à partir de la première.
Soit en adressent les cases directement.

Application 1 : Création du tableau


Écrire un algorithme permettant de saisir au clavier une série de 10 nombres entiers et les stocker dans un
tableau.

Les deux algorithmes suivant s’équivalent :


Algorithme SaisieTableauV1
Var
T: tableau[1..10] d’entiers
i , nombre : entier
Début
Pour i  1 à 10 faire

Dagnogo amadou ingénieur de conception informatique Page 23 sur 33


COURS D’ALGORITHME 2025-2026
Écrire (‘entrer un entier :’)
Lire (nombre)
T [i]  nombre
Fin pour
Fin

Algorithme SaisieTableauV2
Var T: tableau[1..10] d’entiers
i : entier
Début
Pour i  1 à 10 faire
Écrire (‘entrer un entier :’)
Lire (T [i])
Fin pour
Fin

Application 2 : Édition d’un tableau


Il s’agit de parcourir les différentes cases du tableau en faisant varier l’indice et afficher leur contenu au
fur et à mesure, en un mot afficher le contenu du tableau créé dans l’application 1.

Algorithme EditionTableau
Var
T : tableau[1..10] d’entiers
i : entier
Début
(* création du tableau *)
Pour i  1 à 10 faire
Écrire (‘‘entrer un entier : ’’)
Lire (T [i])
Fin pour
(* affichage des éléments du tableau *)
Pour i  1 à 10 faire
Écrire (T [i])
Fin pour
Fin

Application 3
Calculer la somme, le produit et la moyenne de n nombres saisis au clavier.

Algorithme CalculSurTableau
Const n = 10
Var
T : tableau [1.. n] d’entiers
i, nombre, somme, produit : entier
Moyenne : réel
Début
Somme  0 Produit  1
(* création du tableau *)
Pour i  1 à n faire
Lire (nombre)
T[i]  nombre
Fin pour
(* calcul de la somme, du produit et de la moyenne *)
Dagnogo amadou ingénieur de conception informatique Page 24 sur 33
COURS D’ALGORITHME 2025-2026
Pour i 1à n faire
Somme  somme + T[i]
Produit  produit *T[i]
Fin pour
Moyenne  total /n
Écrire (‘‘SOMME =’’, somme)
Écrire (‘‘PRODUIT =’’, produit)
Écrire (‘‘MOYENNE = ’’, moyenne)
Fin

Application 4
Considérons que le tableau est déjà créé. On demande de rechercher les valeurs minimum et maximum
du tableau.

Algorithme RechercheMinMaxTableau
Const n = 10
Var
T : tableau[1.. n] d’entiers
Min, max, i : entier
Début
(* création du tableau *)
Pour i  1 à n faire
Lire (T[i])
Fin pour
Min  T[1]
Max  T[1]
Pour i  2 à n faire
Si T[i] < Min alors
Min  T[i]
Sinon
Si T[i] > Max alors
Max  T[i]
Fin si
Fin si
Fin pour
Écrire (‘‘Le minimum est ’’, Min)
Écrire (‘‘Le maximum est’’, Max)
Fin

Application 5 : recherche d’un élément dans un tableau non trié


Deux solutions sont possibles :
Soit on connaît l’indice de la case dans laquelle se trouve l’élément, soit on connaît le contenu de la case
mais pas son indice.
Travaillons sur le second cas.
On demande de rechercher dans un tableau contenant les noms de 20 clients, un nom saisi au clavier.

La solution consiste à saisir le nom du client à rechercher. Le traitement commence à la première case
du tableau et s’arrête au plus tard à la 20e c'est-à-dire la dernière.
Il y a 2 conditions d’arrêt possibles :
- soit nous avons atteint la 20e case et nous avons trouvé le client ou pas
- soit nous l’avons trouvé avant la 20e

Dagnogo amadou ingénieur de conception informatique Page 25 sur 33


COURS D’ALGORITHME 2025-2026
Écrivez l’algorithme.

4.3. Le tableau à deux dimensions

4.3.1. Déclaration
Var T : tableau [1..5, 1..4] d’entiers
Ici, nous avons déclaré un tableau à deux dimensions correspondant à 5 lignes sur 4 colonnes.
Le schéma est représenté comme suit :
1 2 3 4
1
2
3
4
5

4.3.2. Création du tableau à deux dimensions

Écrivons l’algorithme qui permet de créer notre tableau de 5 lignes sur 4 colonnes.

Algorithme TableauBiDim
Var T : tableau [1..5, 1..4] d’entiers
i, j : entier
Début
(* création du tableau *)
Pour i  1 à 5 faire
Pour j  1 à 4 faire
Écrire (‘‘entrer un entier : ’’)
Lire (T [i,j])
Fin pour
Fin pour
(* affichage des éléments du tableau *)
Pour i  1 à 5 faire
Pour j  1 à 4 faire
Écrire (T [i,j])
Fin pour
Fin pour
Fin

4.3.3. Applications sur le tableau à deux dimensions

Application 6
Écrivez un algorithme remplissant un tableau de 6 sur 13, avec des zéros.
Algorithme Table2Dim
Const L=6
C=13
Var

Dagnogo amadou ingénieur de conception informatique Page 26 sur 33


COURS D’ALGORITHME 2025-2026
t : tableau[1..L,1..C] d’entiers
i, j : entier
Début
Pour i 1 à L faire
Pour j 1 à C faire
T[i,,j] 0
Fin pour
Fin pour
Fin

Application 7
Considérons un tableau de 5 lignes et 4 colonnes contenant des entiers. Nous désirons compter le nombre
d’occurrences d’un nombre saisi au clavier.

Proposition de solution
Algorithme RechercheTableauBiDim
Var
T : tableau [1..5, 1..4] d’entiers
i, j, n, nombre : entier
Début
(* création du tableau *)
Pour i  1 à 5 faire
Pour j  1 à 4 faire
Écrire (‘‘entrer un entier : ’’)
Lire (T [i,j])
Fin pour
Fin pour
(* recherche des occurrences *)
Écrire (‘’ entrez le nombre à rechercher’’)
Lire (nombre)
N 0
Pour i  1 à 5 faire
Pour j  1 à 4 faire
Si (nombre=T [i,j]) alors
n n+1
fin si
Fin pour
Fin pour
Écrire (‘’le nombre’’, nombre, ‘’apparait’’, n,’’fois’’)
Fin

Application 8 : Quel résultat produira cet algorithme ?


Algorithme UnTableau
Var X[1, 2] : Tableau d’Entier
i, j, val : Entier
Début
Val ← 1
Pour i ← 0 à 1faire
Pour j ← 0 à 2 faire
X[i, j] ← Val
Val ← Val + 1
fin pour
fin pour
Dagnogo amadou ingénieur de conception informatique Page 27 sur 33
COURS D’ALGORITHME 2025-2026
Pour i ← 0 à 1
Pour j ← 0 à 2
Écrire X[i, j]
fin pour
fin pour
Fin

4.4. Recherche dans un tableau


On propose quelques méthodes classiques pour rechercher un élément dans un tableau déjà trié.
Essentiellement deux méthodes se présenteront :
• La recherche séquentielle comme dans le cas du tableau non trié
• La recherche dichotomique pour le cas du tableau trié.

4.4.1. Recherche séquentielle dans un tableau trié


Méthode : séquentielle
• Soit T un tableau de N éléments et val l’élément cherché
• parcours du tableau à partir du premier élément (T[0])
• Arrêt quand élément trouvé ou si fin de tableau (T[n-1])

Énoncé : rechercher un nom saisi au clavier, à l’intérieur d’un tableau de 20 noms ordonnés.

Algorithme RechercheTri
Var TNom : tableau [1..20] de chaine
i : entier
xnom : chaine
Début
(* saisir ici le tableau et trier*)

(* saisie du nom à rechercher *)


Lire (xnom)
i1
Tant que xnom <>tnom[i] et i<=20 faire
i  i+1
Fin tant que
(* affichage du résultat *)
Si xnom = tnom[i] alors
Écrire (‘’le nom figure dans la liste ‘’)
Sinon
Écrire (‘’le nom ne figure dans cette liste ‘’)
Fin si
Fin

4.4.2. Recherche dichotomique

[Link]. Principe de la recherche

- Soit t un tableau d'entiers de 1..n éléments rangés par ordre croissant par exemple.000000000

Dagnogo amadou ingénieur de conception informatique Page 28 sur 33


COURS D’ALGORITHME 2025-2026

- On recherche le rang (la place) de l'élément X dans ce tableau. L'algorithme renvoie le rang (la valeur
-1 est renvoyée lorsque l'élément X n'est pas présent dans le tableau t). Au lieu de rechercher
séquentiellement du premier jusqu'au dernier, on compare l'élément X à chercher au contenu du milieu
du tableau. Si c'est le même, on retourne le rang du milieu, sinon l'on recommence sur la première
moitié (ou la deuxième) si l'élément recherché est plus petit (ou plus grand) que le contenu du
milieu du tableau.

[Link]. Les algorithmes de recherche dichotomique

Nous allons proposer deux versions d’algorithme dans la recherche dichotomique d’élément :
Algorithme itératif de recherche dichotomique

Algorithme rechercheDichotomiqV1
const N=10
var t : tableau[1..N] d’entier
i, gauche, droite, milieu, rang, x : entier
Début
(* on crée ici un tableau ordonné *)

(* initialization des variables *)


Gauche  1
Droite  N
Rang  -1
Écrire (‘'entrez un nombre à rechercher:’')
Lire (x);
Répéter
Milieu  (gauche + droite) div 2
Si x = t[milieu] alors
Rang  milieu
Sinon
Si t[milieu] < x alors
Droite  milieu + 1
Sinon
Gauche  milieu-1
jusqu’à (x = t[milieu] ) ou ( droite < gauche )

Si (x = t [milieu]) alors
Écrire ('trouvé')
Sinon écrire ('pas trouvé');
Fin

4.5. Exercices sur les tableaux

1) Écrivez un algorithme permettant à l’utilisateur de saisir un nombre quelconque de valeurs, qui devront
être stockées dans un tableau. L’utilisateur doit donc commencer par entrer le nombre de valeurs qu’il

Dagnogo amadou ingénieur de conception informatique Page 29 sur 33


COURS D’ALGORITHME 2025-2026
compte saisir. Il effectuera ensuite cette saisie. Enfin, une fois la saisie terminée, le programme
affichera le nombre de valeurs négatives et le nombre de valeurs positives.

2) Écrivez un algorithme calculant la somme des valeurs d’un tableau (on suppose que le tableau a été
préalablement saisi).

3) Écrivez un algorithme constituant un tableau, à partir de deux tableaux de même longueur


préalablement saisis. Le nouveau tableau sera la somme des éléments des deux tableaux de départ.
Tableau 1 :
4 8 7 9 1 5 4 6
Tableau 2 :
7 6 5 2 1 3 7 4
Tableau à constituer :
11 14 12 11 2 8 11 10

4) Toujours à partir de deux tableaux précédemment saisis, écrivez un algorithme qui calcule le
schtroumpf des deux tableaux. Pour calculer le schtroumpf, il faut multiplier chaque élément du tableau
1 par chaque élément du tableau 2, et additionner le tout. Par exemple si l'on a :

Tableau 1: 4 8 7 12

Tableau 2: 3 6

Le Schtroumpf sera : 3* 4 + 3 * 8 + 3 * 7 + 3 * 12 + 6 * 4 + 6 * 8 + 6 * 7 + 6 * 12 = 279

4.6 Les méthodes de tri sur les tableaux

Un tableau est ordonné lorsqu’il existe une relation d’ordre entre les éléments contenus dans chacune des
cases. Soit le tri est croissant soit il est décroissant. Il existe plusieurs méthodes de tri dont certaines peuvent
être complexes et très performantes. Pour d’autres, la performance varie en fonction de l’ordre original des
éléments à trier. Les algorithmes les plus connus sont :
- la méthode de tri par sélection du maximum ou du minimum
- la méthode de tri par insertion
- la méthode de tri par extraction
- la méthode de tri par bulles
Nous allons étudier quelques unes parmi elles.

4.6.1 à bulles

C’est le moins performant de la catégorie des tris par échange ou sélection, mais comme c’est un algorithme
simple, il est intéressant à utiliser pédagogiquement.

Principe du tri :
Ce tri consiste à prendre une série de nombres, puis en comparant les valeurs de la série 2 par 2, il effectue
des permutations éventuelles de manière à amener la valeur la plus grande de la liste à la fin de la série. On

Dagnogo amadou ingénieur de conception informatique Page 30 sur 33


COURS D’ALGORITHME 2025-2026
recommence avec une sous-série correspondant à la série précédente moins le dernier élément car il est
déjà en place. Le tri s’arrête lorsque la sous-série n’est plus composée que d’un élément.

L’algorithme de tri à bulles

Algorithme Tri_à_bulles
Const n=10
var t : Tableau [1..n] d’entiers
i, j, inter : entier
Échange : booléen
Début
Pour (i1 à n) faire (* saisie du tableau T *)
Écrire (‘entrer une valeur :’)
Lire (T[i])
Fin pour
(* boucle de traitement*)
Répéter
Échange  faux
Pour( i  1 à (n-1))
Si (T[i] > T[i+1] ) alors
Échange  vrai
Inter  T[i]
T[i]  T[i+1]
T[i+1]  inter
Fsi
Fin pour
Jusqu’à non échange
(* Affichage du tableau T *)
Pour (i1 à n) faire
Écrire (T[i], ‘‘ ’’)
Fin pour
Fin

[Link] Par sélection

Il s’agit d’un tri croissant par recherche successive des minimas.

• Principe du tri par sélection des minimas


- Recherche du minimum dans le tableau de n valeurs et échange du contenu des cases d’indice 1 et
d’indice correspondant à la valeur du minimum.
- Application du même principe sur n-1, puis n-2, puis n-3, … jusqu’au traitement d’un tableau de
deux cases.

• Algorithme du tri par sélection des minima

Algorithme tri_par_sélection
Const n=10
Var t : Tableau [1..n] d’entiers
i, j, iMin, temp : entier
Début

Dagnogo amadou ingénieur de conception informatique Page 31 sur 33


COURS D’ALGORITHME 2025-2026
(* saisie du tableau T *)
Pour i1 à n faire
Écrire (‘entrer une valeur :’)
Lire (T[i])
Fin pour
(* boucle de traitement*)
Pour i 1 à N-1 faire
iMin  i
Pour j (i+1) à N faire
Si T[j] < T[iMin] alors
iMin j
Fin si
Fin pour
Si i <> iMin alors
Temp T[i]
T[i]T[iMin]
T[iMin]  temp
Fin si
Fin pour
Fin

4.6.2 par insertion

Le tri par insertion est le tri le plus efficace sur des listes de petite taille. C’est pourquoi il est utilisé par
d’autres méthodes comme le Tri rapide (ou Quicksort). Il est d’autant plus rapide que les données sont
déjà triées en partie dans le bon ordre.

• Le principe du tri par insertion

Le principe de ce tri est de parcourir une liste non triée en la décomposant en deux parties, une partie déjà
triée et une partie non triée. La méthode est identique à celle que l’on utilise pour ranger des cartes que
l’on tient dans la main : on insère dans le paquet de cartes déjà rangées une nouvelle carte au bon endroit.

• Algorithme du tri par insertion

Algorithme Tri-Insertion
Const Max = 10
Type Table[1 : max] = tableau d’entiers
Var T : Table
i, j , tampon : entier
Début
(* création du tableau *)
Pour i 1 à n faire
Lire (T[i])
Fin pour

Dagnogo amadou ingénieur de conception informatique Page 32 sur 33


COURS D’ALGORITHME 2025-2026
Pour i 2 à n faire
tampon  T[i]
(* tampon est la valeur à insérer au bon endroit dans le tableau ; on décale toutes les valeurs du tableau
inférieures à tampon à droite pour vider une place pour tampon *)
ji-1
Tant que (j>= 1) et (T[j] > tampon) faire
T[j+1]  t[j]
jj–1
Fin Tant que (* finalement la valeur de tampon est insérée à son emplacement adéquat *)
T[j+1]  tampon
Fin pour
(* affichage du tableau *)
Pour i 1 à n faire
Écrire (T[i])
Fin pour
Fin

Dagnogo amadou ingénieur de conception informatique Page 33 sur 33

Vous aimerez peut-être aussi