0% ont trouvé ce document utile (0 vote)
20 vues62 pages

Introduction à l'Algorithmique L1

Université Don Bosco L1 algorithme

Transféré par

mutentuguystave6
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)
20 vues62 pages

Introduction à l'Algorithmique L1

Université Don Bosco L1 algorithme

Transféré par

mutentuguystave6
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’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

Vous aimerez peut-être aussi