Cours d’Algorithmique
Première Licence
Faculté des Sciences Informatiques - UDBL
2024
C.T Guelore KABEMBA
Objectifs Algorithmique
L1 Sc. Infos
UDBL
Ce cours initie l’étudiant à la notion d’algorithmique, ses
concepts et ses fondements de base. Il est indispensable pour
bien aborder ultérieurement la programmation informatique.
L’accent est mis également sur les structures de données
nécessaires au développement algorithmique tout en insistant
sur le côté pratique à travers des exemples et des exercices .
Plan du cours Algorithmique
L1 Sc. Infos
UDBL
I. Introduction aux algorithmes
II. Les instructions simples
III. Les instructions conditionnelles
IV. Les instructions itératives
V. Les tableaux
VI. Les fonctions et procédures
[Link] dans un langage de programmation
I. Introduction aux algorithmes Algorithmique
L1 Sc. Infos
UDBL
L’Informatique est généralement définie comme étant la
science du traitement automatique de l’information. C’est
une contraction de l’expression «information
automatique»
Elle traite de deux aspects complémentaires :
➢ Les programmes ou logiciels (software) qui décrivent un
traitement à réaliser ;
➢ Les machines ou le matériel (hardware) qui exécute ce
traitement.
I. Introduction aux algorithmes
I. Introduction aux algorithmes (2) Algorithmique
L1 Sc. Infos
UDBL
Hardware
C’est l’ensemble des éléments physiques (microprocesseur,
mémoire, disques durs, ...) utilisés pour traiter les informations.
Software
C’est un programme (ou ensemble de programmes) décrivant
un traitement d’informations à réaliser par un matériel
informatique.
I. Introduction aux algorithmes
I. Introduction aux algorithmes (3) Algorithmique
L1 Sc. Infos
UDBL
La notion d'algorithme est à la base de toute la programmation
informatique
Un algorithme est une suite ordonnée d’instructions qui
indique la démarche à suivre pour résoudre un problème
ou effectuer une tâche
Le mot algorithme vient du nom latinisé du mathématicien perse
AlKhawarizmi, surnommé « le père de l'algèbre »
I. Introduction aux algorithmes
I. Introduction aux algorithmes (4) Algorithmique
L1 Sc. Infos
UDBL
Exemple d’un algorithme : Appel téléphonique
1. Ouvrir son téléphone
2. Composer/Sélectionner le numéro du destinataire
3. Appuyer sur le bouton d’Appel
Ce mode d’emploi précise comment passer un appel
téléphonique. Il est composé d’une suite ordonnée d’instructions
(ouvrir, composer, appuyer) qui manipulent des données
(téléphone, numéro, bouton) pour réaliser la tâche d’appel.
I. Introduction aux algorithmes
I.1 L’algorithmique Algorithmique
L1 Sc. Infos
UDBL
L’algorithmique est la science qui étudie les algorithmes
Elle s’intéresse à l’art de construire des algorithmes ainsi qu’à
déterminer leur validité, robustesse, réutilisabilité, efficacité…
Elle permet ainsi de passer d’un problème à résoudre à un
algorithme qui décrit la démarche de résolution du problème
La programmation consiste à traduire un algorithme dans
un langage « compréhensible » par l’ordinateur afin qu’il
puisse être exécuté automatiquement.
I. Introduction aux algorithmes → Algorithmique
I.1 L’algorithmique (2) Algorithmique
L1 Sc. Infos
UDBL
Problème Algorithmique Algorithme
Code source Programmation
Deux phases nécessaires pour obtenir un code source :
➢ Phase d’algorithmique : Ecrire un algorithme ;
➢ Phase de programmation : Traduire l’algorithme en un
programme à l’aide d’un langage de programmation (C, Python,
Java, etc.)
I. Introduction aux algorithmes → Algorithmique
I.1 L’algorithmique (3) Algorithmique
L1 Sc. Infos
UDBL
Le traitement automatique de l’information consiste à
exécuter des instructions (opérations élémentaires et complexes)
sur des données d’entrée afin de générer d’autres informations
appelées résultats ou données de sortie.
Données Algorithmique Résultat
Entrée (Input) Sortie (Output)
I. Introduction aux algorithmes → Algorithmique
I.2 Structure d’un algorithme Algorithmique
L1 Sc. Infos
UDBL
Un algorithme se compose généralement de deux parties :
➢ Entête (partie déclarative) : Elle contient généralement les
déclarations (des constantes, des variables, etc.).
➢ Corps de l’algorithme : constituée d’une ou plusieurs
séquences d’instructions faisant appel à des opérations de base
à exécuter par l’ordinateur.
I. Introduction aux algorithmes → Structure d’un algorithme
I.2 Structure d’un algorithme (2) Algorithmique
L1 Sc. Infos
UDBL
Syntaxe :
Algorithme NomAlgorithme
Entête
// Liste variables / constantes (Partie déclarative)
Début
// Séquence d’instructions Corps de l’algorithme
Fin
I. Introduction aux algorithmes → Structure d’un algorithme
I.3 Les variables Algorithmique
L1 Sc. Infos
UDBL
L’élément unitaire de stockage de l’information est appelé bit.
Un bit ne peut avoir que deux états distincts : 0 ou 1
Dans la mémoire de l’ordinateur, les données sont
généralement manipulées par groupes de 8 bits, appelés octets.
Pour que l’unité centrale puisse stocker une information et la
retrouver dans la mémoire, chaque case mémoire (octet) est
repérée par une adresse.
I. Introduction aux algorithmes → Les variables
I.3 Les variables (2) Algorithmique
L1 Sc. Infos
UDBL
Dans la programmation, les adresses mémoire sont
représentées par des noms.
Le programmeur ne connait donc pas l’adresse d’une
case mais plutôt son nom.
Il y a donc deux façons de voir la mémoire centrale de
l’ordinateur :
➢ Côté programmeur (Ex: x, y, somme, age …)
➢ Côté ordinateur (Ex: 10000010, 10000011 …)
I. Introduction aux algorithmes → Les variables
I.3 Les variables (3) Algorithmique
L1 Sc. Infos
UDBL
Une variable est une case mémoire destinée à contenir
une valeur
Une variable possède un nom, un type, et un contenu qui
peut être modifié au cours de l’exécution de l’algorithme.
➢ Le nom (ou identificateur) permet d’identifier la variable ;
➢ Le type (ou type de données) indique la nature d’informations
que la variable peut contenir (ex: Entier, Réel, Caractère …) ;
➢ Le contenu représente la valeur de la variable
I. Introduction aux algorithmes → Les variables
I.3 Les variables (4) Algorithmique
L1 Sc. Infos
UDBL
Avant d’utiliser une variable, il est impératif de la
déclarer. Cela permet de signaler à l’ordinateur de nous
réserver l’emplacement mémoire dont on aura besoin.
La déclaration des variables se fait dans la partie déclarative,
après le nom de l’algorithme.
Syntaxe : Algorithme ExempleAlgorithme
Variables nomVariable1 : Type,
nomVariable2, nomVariable3 : Type ;
I. Introduction aux algorithmes → Les variables
I.3 Les variables (5) Algorithmique
L1 Sc. Infos
UDBL
Il est très important de respecter quelques règles pour nommer
les variables :
➢ Le nom doit commencer par une lettre ou un
caractère de soulignement (underscore)
➢ Le non ne doit contenir que des lettres, chiffres et
caractère de soulignement ; pas de caractère spécial.
➢ Le nom d’une variable ne doit jamais comporter
d’espaces
➢ Vous ne devez pas utiliser un mot-clé comme nom de
variable (exemples : Début, Algorithme, Variables ...)
I. Introduction aux algorithmes → Les variables
I.4 Les types de données Algorithmique
L1 Sc. Infos
UDBL
Le type d’une variable définit l’ensemble de valeurs que
peut prendre la variable, ainsi que l’ensemble d’opérations
que l’on peut appliquer sur cette variable.
Il existe des types prédéfinis qui sont : Entier, Réel, Caractère,
Booléen et Chaîne (chaine de caractères).
I. Introduction aux algorithmes → Les types de données
I.4.1 Type Entier Algorithmique
L1 Sc. Infos
UDBL
C’est un type numérique représentant l’ensemble des
entiers relatifs, tels que: -15, 0, 27, ….
Les opérations permises sur ce type sont principalement les
opérations arithmétiques : *, /, +, -, ^ (puissance) et les
opérations de comparaison : =, ≠, <, <=, >, >=
Autres opérations : DIV (division entière) et MOD (modulo ou
reste de la division entière).
Exemple : Variable nombre : Entier ;
I. Introduction aux algorithmes → Les types de données → Type Entier
I.4.2 Type Réel Algorithmique
L1 Sc. Infos
UDBL
C’est un type numérique aussi représentant l’ensemble des
nombres réels, tels que : 0.27, -1.3, 10.9, …
Les opérations permises sur ce type sont :
➢ Opérations arithmétiques : +, -, *, / et ^
➢ Opérations de comparaison : =, ≠, <, <=, >, >=
Exemple : Variables x, y, z : Réel ;
I. Introduction aux algorithmes → Les types de données → Type Réel
I.4.3 Type Caractère Algorithmique
L1 Sc. Infos
UDBL
Ce type représente tous les caractères alphanumériques
tels que : ‘b’, ‘A′, ‘9’, ‘0’, ‘%′, ‘ ’, …
Une valeur de type Caractère doit obligatoirement être
entourée par des apostrophes (simple quote en anglais)
Les opérations supportées sont principalement les
opérations de comparaison : =, ≠, <, <=, >, >=. La
comparaison est faite sur base du code ASCII des caractères.
Exemple : Variable genre : Caractère ;
I. Introduction aux algorithmes → Les types de données → Type Caractère
I.4.4 Type Booléen Algorithmique
L1 Sc. Infos
UDBL
Ce type est utilisé dans la logique pour représenter les deux
valeurs : Vrai et Faux.
Les opérations prises en charge sont les opérations
logiques : ET, OU, NON.
Exemple : Variable estPair : Booléen ;
Il faut également noter que le résultat de toute opération de
comparaison ou opération logique est une valeur booléenne.
I. Introduction aux algorithmes → Les types de données → Type Booléen
I.4.5 Type Chaine Algorithmique
L1 Sc. Infos
UDBL
Ce type représente les mots et les phrases tels que "UDBL",
"Cours d’Algorithmique", etc.
Une valeur de type Chaine doit obligatoirement être
entourée par des guillemets (double quote en anglais)
L’unique opération supportée est la concaténation (liaison
des chaines de caractères) symbolisée par &
Exemple : Variables nom, prenom : Chaine ;
I. Introduction aux algorithmes → Les types de données → Type Chaine
I.5 Commentaires Algorithmique
L1 Sc. Infos
UDBL
Il est souvent nécessaire d’ajouter dans un algorithme des
explications sur ce que fait l’algorithme.
Un commentaire est une explication textuelle qu’on inscrit
dans un algorithme pour faciliter sa compréhension
Syntaxe :
// Ceci est un commentaire
Un commentaire débute par deux barres obliques (slash) et se
termine à la fin de la ligne.
Un commentaire n’est pas destiné à être exécuté.
I. Introduction aux algorithmes → Commentaires
II. Les instructions simples Algorithmique
L1 Sc. Infos
UDBL
Pour rappel, un algorithme est une suite ordonnée
d’instructions permettant de résoudre un problème ou
d’effectuer une tâche.
Les instructions d’un algorithme peuvent être simples ou
complexes.
Parmi les principales instructions simples, nous pouvons
citer : les instructions d’affectation, de lecture et d’écriture.
II. Les instructions simples
II.1 L’instruction d’affectation Algorithmique
L1 Sc. Infos
UDBL
L’affectation consiste à assigner une valeur à une variable
C’est une instruction élémentaire en algorithmique qui s’écrit
suivant la syntaxe suivante :
variable ← expression ;
Une instruction d’affectation est exécutée comme suit :
➢ évaluer l’expression située à droite de l’instruction, et
➢ placer le résultat dans la variable située à gauche
II. Les instructions simples → Instruction d’affectation
II.1 L’instruction d’affectation (2) Algorithmique
L1 Sc. Infos
UDBL
L’expression peut être :
➢ Une simple valeur. Exemple : age ← 12 ;
➢ Une variable. Exemple : nombre1 ← nombre2 ;
➢ Une expression calculée. Exemple : b ← ( x + y ) * 2 ;
Remarques
Après une affectation, l’ancien contenu d’une variable
est remplacé par le nouveau contenu.
Il faut également veiller à la compatibilité des types
entre la variable et l’expression lors de l’affectation.
II. Les instructions simples → Instruction d’affectation
II.2 L’instruction de lecture Algorithmique
L1 Sc. Infos
UDBL
La lecture consiste à lire une valeur en entrée et l’affecter
à une variable stockée dans la mémoire.
Les valeurs lues sont souvent des données introduites à partir
d’un périphérique d’entrée tel que le clavier.
Syntaxe :
Lire (variable) ;
Cette instruction va lire la valeur saisie par l’utilisateur, et la
stocker dans la variable entre parenthèse.
II. Les instructions simples → Instruction de lecture
II.3 L’instruction d’écriture Algorithmique
L1 Sc. Infos
UDBL
L’écriture consiste à écrire en sortie les données de
l’algorithme, en les affichant sur un périphérique de sortie
Syntaxe :
Ecrire (expression) ;
Ecrire (expression1, expression2 …) ;
Cette instruction va afficher à l’écran le résultat de l’une ou
plusieurs expressions entre parenthèse.
L’expression peut être une simple valeur d’un type
quelconque, une variable ou une expression calculée.
II. Les instructions simples → Instruction d’écriture
II.4 Exemple d’un algorithme Algorithmique
L1 Sc. Infos
UDBL
Algorithme MoyenneNombres
Variables nombre1, nombre2 : Entier, moyenne : Réel ;
Début
Ecrire ("Saisissez le premier nombre");
Lire (nombre1); // L’utilisateur saisit le premier nombre
Ecrire ("Saisissez le deuxième nombre");
Lire (nombre2); // L’utilisateur saisit le deuxième nombre
moyenne ← (nombre1 + nombre2) / 2 ;
Ecrire ("La moyenne vaut ", moyenne); // Afficher la moyenne
Fin
II. Les instructions simples → Exemple d’un algorithme
III. Les instructions conditionnelles Algorithmique
L1 Sc. Infos
UDBL
Par défaut, toutes les instructions d’un algorithme sont
exécutées dans une séquence (flux) : l’une après l’autre,
dans l’ordre d’apparition, du début jusqu’à la fin.
C’est pourquoi, les algorithmes comportent généralement :
➢ Les instructions simples : permettent la manipulation
des variables telles que l’affectation, la lecture et l’écriture.
➢ Les instructions de contrôle : contrôlent la séquence
c.à.d. l’enchainement chronologique des instructions simples.
III. Les instructions conditionnelles
III. Les instructions conditionnelles Algorithmique
L1 Sc. Infos
UDBL
Une instruction conditionnelle (test) est une instruction de
contrôle qui permet d’exécuter ou non une série
d’instructions en fonction d’une condition booléenne
Les instructions (structures) conditionnelles sont aussi
appelées structures alternatives ou branchements ou tests.
Il existe deux formes de test : forme simple (ou réduite) et
forme complète.
III. Les instructions conditionnelles
III.1 Forme simple Algorithmique
L1 Sc. Infos
UDBL
Dans cette forme, une série d’instructions est exécutée si
une condition est vérifiée (si elle vaut Vrai). Sinon l’algorithme
passe directement aux instructions qui suivent immédiatement
après le bloc conditionnel. Un bloc d’instructions est
un ensemble d’instructions
Syntaxe :
regroupées pour accomplir
Si condition Alors une tâche spécifique
instruction(s) ; Bloc
conditionnel
FinSi
III. Les instructions conditionnelles → Forme simple
III.1 Forme simple (2) Algorithmique
L1 Sc. Infos
UDBL
La condition évaluée est une
variable ou expression booléenne
qui peut être Vraie ou Fausse.
Par exemple :
Si a >= b Alors … FinSi
Si x < y ET x > z Alors … FinSi
Si Vrai Alors … FinSi
Logigramme
(Organigramme Algorithmique)
III. Les instructions conditionnelles → Forme simple
III.1 Forme simple (3) Algorithmique
L1 Sc. Infos
UDBL
Algorithme ExempleTestSimple
Variables x, y : Entier ;
Début Dans cet exemple, le message
x←2; « x est supérieur à y » ne sera
y←7; pas affiché puisque la condition
(x > y) n’est pas vérifiée.
Si x > y Alors
Ecrire ("x est supérieur à y") ;
FinSi
Fin
III. Les instructions conditionnelles → Forme simple
III.2 Forme complète Algorithmique
L1 Sc. Infos
UDBL
Cette forme permet de choisir entre deux actions selon
qu’une condition est vérifiée ou non.
Syntaxe :
Si condition Alors
Instruction(s) si la
instruction(s) 1 ; condition vaut Vrai
Sinon
instruction(s) 2; Instruction(s) si la
condition vaut Faux
FinSi
III. Les instructions conditionnelles → Forme complète
III.2 Forme complète (2) Algorithmique
L1 Sc. Infos
UDBL
Logigramme
(Organigramme Algorithmique)
III. Les instructions conditionnelles → Forme complète
III.2 Forme complète (3) Algorithmique
L1 Sc. Infos
UDBL
Algorithme ExempleTestComplet
Variables x, y : Entier ; Avec cette forme, on peut traiter les
Début deux cas possibles. Si la condition
x←2; (x=y) est vérifiée, le premier message
y←7; est affiché, si elle n’est pas vérifiée, le
Si x > y Alors deuxième message est affiché.
Ecrire ("x est supérieur à y") ;
Sinon
Ecrire ("x est inférieur ou égal à y") ;
FinSi
Fin
III. Les instructions conditionnelles → Forme complète
III.2 Forme complète (4) Algorithmique
L1 Sc. Infos
UDBL
Certains problèmes exigent parfois de formuler des conditions
qui ne peuvent pas être exprimées sous la forme d’une simple
comparaison. On recourt alors aux opérateurs logiques pour
constituer des conditions plus complexes.
Exemple :
Si x >= 3 ET x < 10 Alors
instruction(s) ;
FinSi
III. Les instructions conditionnelles → Forme complète
III.3 Tests imbriqués Algorithmique
L1 Sc. Infos
UDBL
La forme « Si … Alors … Sinon » permet de considérer
deux traitements différents. Dans d’autres situations, on aura
besoin de plus de deux cas. C’est pourquoi, on imbrique
généralement plusieurs tests afin de traiter davantage
des cas.
Syntaxe : Si Condition Alors instruction(s)1 ;
SinonSi condition2 Alors instruction(s)2;
…
Sinon instruction(s)X;
FinSi
III. Les instructions conditionnelles → Tests imbriqués
III.3 Tests imbriqués (2) Algorithmique
L1 Sc. Infos
UDBL
Algorithme EtatEau
Variables temp : Réel ;
Début
Ecrire ("Donnez la température de l’eau");
Lire (temp);
Si temp <= 0 Alors
Ecrire("Etat solide");
Sinon Si temp < 100 Alors
Ecrire ("Etat liquide");
Sinon
Ecrire ("Etat gazeux");
FinSi
Fin
III. Les instructions conditionnelles → Tests imbriqués
III.4 Choix multiples Algorithmique
L1 Sc. Infos
UDBL
Il existe une autre variante d’instructions conditionnelles qui
permet d’effectuer diverses actions suivant les différentes valeurs
que peut avoir une variable.
Syntaxe :
Selon variable Faire
Cas valeur1 : instruction(s)1;
Cas valeur2 : instruction(s)2;
…
Cas valeurN : instruction(s)N;
Défaut : autres instruction(s);
FinSelon
III. Les instructions conditionnelles → Choix multiples
III.4 Choix multiples (2) Algorithmique
L1 Sc. Infos
UDBL
Algorithme JourSemaine
Variables jour : Entier ;
Début
Ecrire ("Saisissez le numéro du jour");
Lire (jour);
Selon jour Faire
Cas 1 : Ecrire("Lundi");
Cas 2 : Ecrire("Mardi");
Cas 3 : Ecrire("Mercredi");
Cas 4 : Ecrire("Jeudi");
Cas 5 : Ecrire("Vendredi");
Cas 6 : Ecrire("Samedi");
Cas 7 : Ecrire("Dimanche");
Défaut : Ecrire("Numéro de jour invalide");
FinSelon
Fin
III. Les instructions conditionnelles → Choix multiples
IV. Les instructions itératives Algorithmique
L1 Sc. Infos
UDBL
Une boucle (ou structure itérative) est une instruction de
contrôle qui permet d’exécuter plusieurs fois un ensemble
d’instructions
Les boucles sont très souvent utilisées pour résoudre
convenablement des problèmes qui nécessitent des actions
répétitives.
Généralement, deux cas sont distingués :
➢ Le nombre de tours (répétitions) est connu.
➢ Le nombre de tours est inconnu ou variable.
IV. Les instructions itératives
IV.1 Boucle "Pour" Algorithmique
L1 Sc. Infos
UDBL
Lorsque le nombre d’itérations est connu, l’utilisation
de la boucle « Pour » est privilégiée. La structure itérative
«Pour» s’arrête une fois que le nombre de répétitions est atteint.
Cette boucle possède un indice (compteur) de contrôle
d’itérations caractérisé par :
➢ Une valeur initiale,
➢ Une valeur finale,
➢ Un pas de variation
IV. Les instructions itératives → Boucle Pour
IV.1 Boucle "Pour" (2) Algorithmique
L1 Sc. Infos
UDBL
Syntaxe :
Pour compteur de début à fin Pas valeurPas Faire
instruction(s) ;
FinPour
Le « pas » est optionnel. Si sa valeur n’est pas précisée
dans la boucle « Pour », par défaut la valeur du « pas » est
égale à un (1).
IV. Les instructions itératives → Boucle Pour
IV.1 Boucle "Pour" (3) Algorithmique
L1 Sc. Infos
UDBL
Algorithme BouclePourCroissantDecroissant
Variables i, j : Entier ;
Début
Pour i de 1 à 100 Faire // Affiche les nombres de 1 à 100
Ecrire (i);
FinPour
Pour j de 100 à 1 Pas -1 Faire // Affiche de 100 à 1
Ecrire (j);
FinPour
Fin
IV. Les instructions itératives → Boucle Pour
IV.2 Boucle "TantQue" Algorithmique
L1 Sc. Infos
UDBL
La boucle « TantQue » permet de vérifier une condition
et répéter le traitement associé tant que cette condition
est vérifiée.
Syntaxe :
TantQue condition Faire
instruction(s) ;
FinTantQue
IV. Les instructions itératives → Boucle TantQue
IV.2 Boucle " TantQue" (2) Algorithmique
L1 Sc. Infos
UDBL
Algorithme BoucleTantQueCroissant
Variable nb : Entier ;
Début
nb ← 1;
TantQue nb < 100 Faire // Affiche les nombres de 1 à 100
Ecrire (nb);
nb ← nb + 1 ; // Incrémentation
FinTantQue
Fin
IV. Les instructions itératives → Boucle TantQue
IV.3 Boucle "Répéter" Algorithmique
L1 Sc. Infos
UDBL
Dans une boucle « Répéter », un traitement est
exécuté au moins une fois puis sa répétition se poursuit
jusqu’à ce que la condition soit vérifiée.
Syntaxe :
Répéter
instruction(s) ;
Jusqu’à condition ;
IV. Les instructions itératives → Boucle Répéter
IV.3 Boucle "Répéter" (2) Algorithmique
L1 Sc. Infos
UDBL
Algorithme SommeNombres
Variable nombre, somme : Entier ;
Début
somme ← 0;
Répéter
Ecrire ("Saisir un nombre");
Lire(nombre);
somme ← somme + nombre ;
Jusqu’à nb = 0 ;
Ecrire("La somme vaut", somme);
Fin
IV. Les instructions itératives → Boucle Répéter
IV.4 Boucles imbriquées Algorithmique
L1 Sc. Infos
UDBL
Les boucles peuvent être imbriquées les unes dans les
autres.
Exemple :
Pour i de 1 à 2 Faire
Ecrire ("i = ", i) ;
Pour j de 1 à 3 Faire Boucle
Boucle extérieure
Ecrire ("j = ", j) ;
intérieure
FinPour
FinPour
IV. Les instructions itératives → Boucles imbriquées
IV.4 Boucles imbriquées (2) Algorithmique
L1 Sc. Infos
UDBL
Chaque itération de la boucle extérieure exécute la
boucle intérieure jusqu’à la fin, avant de passer à la
prochaine itération de la boucle extérieure.
Résultat exemple précédent : i = 1
j=1
j=2
j=3
i=2
j=1
j=2
j=3
IV. Les instructions itératives → Boucles imbriquées
V. Les tableaux Algorithmique
L1 Sc. Infos
UDBL
Supposons que l’on a besoin de stocker et de
manipuler les notes d’une centaine d’étudiants. On doit,
par conséquent, déclarer une centaine de variables. Vous
conviendrez que c’est un peu lourd à manipuler.
En algorithmique (et en programmation), on peut regrouper
toutes ces variables en une seule structure qui s’appelle
tableau.
Un tableau est un ensemble de variables de même type
regroupées sous un même nom.
V. Les tableaux
V. Les tableaux (2) Algorithmique
L1 Sc. Infos
UDBL
Chaque variable (élément) du tableau est repéré par
un indice (index en anglais). Ce dernier est un numéro (un
entier) qui permet de différencier chaque élément du
tableau des autres.
Ainsi, les éléments du tableau ont tous le même nom, mais
pas le même indice. Pour accéder à un élément d’un
tableau, on utilise le nom du tableau suivi de l’indice de
l’élément entre crochets [4].
La taille du tableau correspond au nombre de ses
éléments.
V. Les tableaux
V.1 Tableaux à une dimension Algorithmique
L1 Sc. Infos
UDBL
Dans ce type de tableaux, chaque élément est accessible
par un seul indice.
Déclaration : Variable nomTableau[taille] : Type ;
Exemple : Variable Notes[100] : Réel ;
Indice: i=0 i=1 i=2 … i = 98 i = 99
Valeur: 5 10 3 … 7 9
V. Les tableaux → Tableaux à une dimension
V.1 Tableaux à une dimension (2) Algorithmique
L1 Sc. Infos
UDBL
L’indice d’un élément dans un tableau, peut être exprimé
comme un nombre, mais il peut aussi être exprimé comme une
variable ou une expression calculée.
La valeur de l’indice doit être toujours :
➢ Supérieure ou égale à 0
➢ De type entier
➢ Inférieure ou égale à la taille du tableau
V. Les tableaux → Tableaux à une dimension
V.2 Manipulation d’un tableau Algorithmique
L1 Sc. Infos
UDBL
Une fois déclaré, un tableau peut être manipulé comme un
ensemble de variables simples.
Exemple :
Algorithme ExempleTableau
Variable monTableau[3] : Entier ;
Début
monTableau[0] ← 27 ;
Ecrire ("Saisissez un nombre") ;
Lire (monTableau[1]) ;
monTableau[2] ← monTableau[0] + monTableau[1] ;
Fin
V. Les tableaux → Manipulation d’un tableau
V.3 Parcours d’un tableau Algorithmique
L1 Sc. Infos
UDBL
Pour parcourir un tableau (accéder à tous ses éléments),
on utilise généralement une boucle « Pour ».
Exemple :
Algorithme ParcoursTableau
Variables Tab[10] : Réel , i : Entier ;
Début
Pour i de 0 à 9 Faire
Ecrire ("Saisir une note") ;
Lire (Tab[i]) ;
FinPour
Fin
V. Les tableaux → Parcours d’un tableau
V.4 Tableaux à deux dimensions Algorithmique
L1 Sc. Infos
UDBL
Un tableau à deux dimensions se présente généralement
sous forme d’un ensemble de lignes et de colonnes
(Matrice). Par conséquent, chaque élément est repéré par deux
indices.
Déclaration :
Variable NomTab[NbLignes][NbColonnes] : Type ;
Exemple :
Variable Notes[10][20] : Réel ;
V. Les tableaux → Tableaux à deux dimensions
V.4 Tableaux à deux dimensions (2) Algorithmique
L1 Sc. Infos
UDBL
Exemple 2 : Variable Tab[3][6] : Entier ;
j=0 j=1 j=2 j=3 j=4 j=5
i=0
i=1
i=2 X
X est l’élément de la 3ème ligne et la 4ème colonne (Tab[2][3])
V. Les tableaux → Tableaux à deux dimensions
Fin parties 1→5
Cours d’Algorithmique – L1 – Sciences Infos – UDBL – 2024
C.T Guelore KABEMBA