Algorithme licence 1 Electrotechnique/ S
République Togolaise Institut des sciences Technologiques
Economiques et Administratives
(FORMATEC)
Algorithme et structure des
données
Support de cours
Présenté par Diane AGBEGNAN Année scolaire : 2023-2024
Ingénieure en informatique
Sommaire
Chapitre 1 : Généralités sur l’Algorithme et la programmation ............................................. 1
Chapitre 2 Les structures de condition ........................................................................................... 11
Chapitre 3 Les structures de contrôle répétitive ........................................................................ 15
Chapitre 4 Les tableaux et les matrices .......................................................................................... 19
Chapitre 5 Les sous programmes : les fonctions et les procédures .................................. 21
Chapitre 6 La récursivité ........................................................................................................................ 22
Chapitre 1 : Généralités sur l’Algorithme et la
programmation
1.1 Notions d’algorithme et de programme
1.1.1 Définition de l’algorithme
L’algorithme est une suite logique d’étapes, d’instructions permettant d’obtenir un
résultat à partir d’éléments fournis en entrée.
En programmation informatique, un Algorithme est un ensemble de règles
permettant à un ordinateur de fonctionner.
1.1.2 Distinction Algorithme et programme
Un algorithme ne peut pas être exécuté par un ordinateur.
Un programme exprime un algorithme dans un langage de programmation
particulier, ce programme peut être exécuté par un ordinateur.
De plus, un algorithme n'a pas de règles syntaxiques très précises, l'important est de
décrire en français ce qu'il faut faire. Pour le langage algorithmique, on parle de
pseudo-code ou pseudo langage.
En revanche, un programme utilise un langage particulier (C, PHP, VBA…) avec une
syntaxe très précise. Une virgule mal placée dans le programme risque d'entraîner un
bug de ce programme.
1.1.3 Structure de l’algorithme
Un algorithme se compose de trois parties :
Le nom de l'algorithme ;
La partie déclaration ;
Et la partie traitement.
Nom de l'algorithme
Partie déclaration : déclaration des variables et des constantes
écriture des fonctions et des procédures
Partie traitement
DEBUT
Actions et conditions
FIN
1
Créer un algorithme pour calculer la moyenne de 3 notes.
Solution :
Algo moyenne
Variables note, moyenne : entier
Début
Ecrire (entrer les notes)
Lire (note1, note2, note3)
Moyenne= (note1+note2+note3)/3
Ecrire (‘la moyenne est :’ moyenne)
Fin
2
Les actions élémentaires d'un algorithme sont : Affecter, Lire (ou saisir) et Écrire (ou
afficher).
1.1.4 Représentation d’un algorithme
Il existe deux (02) façons de représenter un Algorithme :
L’organigramme de présentation : c’est une représentation graphique utilisée
pour analyser un problème. Elle est complexe à la résolution de grands problèmes et
donc abandonné au pseudo code
Le langage structuré ou pseudo code : il représente textuellement l’algorithme.
3
1.1.5 Les étapes de résolution d’un problème
1) Comprendre l’énoncé du problème
2) Décomposer le problème en sous-problèmes plus simple à résoudre
3) Associer à chaque sous problème, une spécification :
Les données nécessaires
Les données résultantes
La démarche à suivre pour arriver au résultat en partant d’un ensemble
de données.
4) Elaboration d'un algorithme
1.2 Concept de programmation
La programmation, appelée aussi codage dans le domaine informatique, désigne
l'ensemble des activités qui permettent l'écriture des programmes informatiques.
1.3 Les opérations d’entrée/sortie
Un algorithme peut avoir des interactions avec l’utilisateur, Il peut afficher un
résultat comme il peut demander à l’utilisateur de saisir une information afin de la
stocker dans une variable.
a Instruction de Lecture (Fonction d’entrée)
Instruction qui permet d’entrer des données tapées au clavier.
Syntaxe :
Lire (variable1) ;
Lire (variable2) ;
Lire (variable1, variable2) ;
Exemple :
Lire (note) ;
Lire (A, B) ;
b Instruction d’écriture (sortie)
Instruction qui permet d'afficher le contenu d’une variables ou/et un message sur
l'écran
Syntaxe :
Ecrire (variable) ;
Ecrire ('message') ;
Ecrire ('message', variable) ;
4
Exemple : Soit A est une variable.
Ecrire (A) : signifie affiché sur l’écran le contenu de la variable A.
Ecrire ('donnez votre nom : ') : signifie affiché sur l’écran le message suivant : donnez
votre nom :
TD N° 1 :
Ecrire un algorithme qui permet d’écrire à l’écran « Bonjour ».
c L’affectation
L’affectation est une opération qui consiste à attribuer une valeur à une variable.
Elle est représentée par une flèche orientée à gauche
Syntaxe : Variable Valeur ou expression
Exemple A 2 : la variable A reçoit la valeur 2
B A+1 : la variable B reçoit le contenu de A plus 1
Nom 'Mohamed' : la variable Nom reçoit la valeur Mohamed
Remarque : L’instruction d’affectation ne modifie que ce qui est situé à gauche de la
flèche. La valeur de la partie droite doit obligatoirement être du type de la variable
dont la valeur est modifiée.
TD N°3
Algo A1
Entier a, b, c :
Debut
a←1
b←2
b←a+b
c←a+b
Fin
Algo A2
Caractère a, b
Début
a ← ’1’
b ← ’2’
a←a+b
Fin
5
1.4 Les structures de données (les constantes et les variables)
En informatique, une structure de données est une manière d'organiser les données
pour les traiter plus facilement. Différentes structures de données existent pour des
données différentes : constantes, variables, enregistrements, structures composées
finies, tableaux (sur [1..n]), listes, arbres, graphes.
1.4.1 Déclaration de constantes et valeur
Une constante est un objet dont l'état reste inchangé durant toute l'exécution
d'un programme. On ne peut jamais modifier sa valeur et celle-ci doit donc être
précisée lors de la définition de l'objet.
Une CONSTANTE, comme une variable, peut représenter un chiffre, un nombre, un
caractère, une chaîne de caractères, un booléen. Toutefois, contrairement à une
variable dont la valeur peut être modifiée au cours de l’exécution de l’algorithme, la
valeur d’une constante ne varie pas.
Constante :
Nom= valeur
Nom : c’est le nom de la constante, il est composé de lettres et de chiffres.
Valeur : c’est la valeur de la constante, cette valeur restera inchangée pendant
l’exécution de l’algorithme.
Exemple : A =150
Quantite = 10.5
Pi = 3.14
Nom=’’ Lucas’’
1.4.2 Déclaration de variable et type
Une variable sert à stocker la valeur d’une donnée dans un langage de
programmation. Elle désigne un emplacement mémoire dont le contenu peut changer
au cours d’un programme (d’où le nom de variable). La variable doit être déclarée avant
d’être utilisée, elle doit être caractérisée par un nom (Identificateur) qui indique
l’ensemble des valeurs que peut prendre la variable (entier, réel, booléen, caractère,
chaîne de caractères, …).
Le choix du nom d’une variable est soumis à quelques règles qui varient selon le
langage, mais en général un nom doit commencer par une lettre alphabétique
6
exemple : A20 (20A n’est pas valide),
il doit être constitué uniquement de lettres, de chiffres et du soulignement (« _ »)
(Éviter les caractères spéciaux et les espaces).
Exemples : G20, Nom, TTC_2012 (TTC 2012, TTC-2012, TTC+2012, read, end) : sont
non valides).
Variable
Nom : Type
Nom : c’est le nom de la variable, il est composé de lettres et de chiffres.
Type : Un type (de variable) détermine l’ensemble de valeurs possibles de la variable
déclarées pour designer la nature du contenu de la variable et les opérations pouvant
être effectuées sur celle-ci.
Donc le type déterminera la nature de la variable.
a Les types de variables
Les variables peuvent avoir les types suivants :
Les variables peuvent être de différents types, par exemple : entier (INTEGER), réel
(REAL), Booléen (BOOLEAN), caractère (CHAR), chaîne de caractères (STRING) ...
Le type entier (integer) : il représente un nombre entier quelconque
Exemple : (1, 5, -9000, 1256, 98, -45) ;
Type réel (real) : il représente un nombre réel quelconque
Exemple :( 1.5, 5.0, -90.125, 1.256, 9.8, -45.0)
Caractère (character) : il représente un caractère seul
Exemple : (‘a’, ’b’, ’ ‘, ’7’, ’/’, ’^’, ‘R’, ‘.’)
Chaîne de caractères ou String : il représente un texte de zéro, un ou plusieurs
caractères.
Un caractère sera noté avec une apostrophe simple (exemple 'c') et la chaîne de
caractère sera notée entre guillemets doubles
Exemple : "contenu de la chaine"
Type booléen : il représente une valeur logique binaire oui ou non, ouvert ou
fermé, vrai ou faux.
7
On peut représenter ces notions abstraites de VRAI et de FAUX par tout ce qu'on veut
: de l'anglais (TRUE et FALSE) ou des nombres (0 et 1).
Exemple de variable type standard :
Variables :
A, B : entier
Val1, Val2 : réel
Test : booléen
TD N° 2 :
Ecrire un algorithme qui demande à l’utilisateur de saisir son nom et son prénom puis
afficher bonjour suivi de nom et de prénom de l’utilisateur.
1.5 Les opérandes et les opérateurs
1.5.1 Définition
Un OPERATEUR est un outil qui permet d’agir sur une variable ou d’effectuer des
calculs.
Un OPERANDE est une donnée utilisée par un opérateur.
Exemple : Dans «9+4 », «+» désigne l’opérateur ; «9 » et «4 » sont les opérandes.
1.5.2 Les types d’opérateur
Les opérateurs dépendent du type de l'opération, ils peuvent être :
a DES OPERATEURS ARITHMETIQUES :
Ils permettent d’effectuer des opérations arithmétiques entre opérandes
numériques :
+ : Pour l’addition
- : Pour la soustraction
* : Pour la multiplication
DIV : pour la division entière, Exemple 5 DIV 2 = 2 ;
MOD : Pour le modulo (le reste de la division entière), exemple 5 MOD 2 =1.
b DES OPERATEURS DE RELATION OU DE COMPARAISON
Ils permettent de comparer deux opérandes
8
< Inférieur à
> Supérieur à
<= inférieur ou égale
>= Supérieur ou égal
<> Différent de
= égale à
c DES OPERATEURS LOGIQUES :
Ils combinent des opérandes booléens pour former des expressions logiques plus
complexes.
Opérateur unaire : « non » (négation)
Opérateurs binaires : «et » (conjonction), « ou » (disjonction),
AND le et logique
OR le ou logique
XOR le ou exclusif
NOT le non logique
d DES OPERATEURS SUR LES CHAINES : & (concaténation) ou Opérateur
alphanumérique (&) :
Cet opérateur permet de concaténer, autrement dit de coller l’une à l’autre, deux
chaînes de caractères.
Remarques :
On ne peut pas additionner un entier et un caractère.
La signification d’un opérateur peut changer en fonction du type des opérandes,
par exemple :
L’opérateur + avec des entiers effectue l’addition, 3+6 = 9.
Avec des chaînes de caractères il effectue la concaténation "bonjour" + " tout le
monde" vaut "bonjour tout le monde".
Opérateurs sur les entiers et les réels : addition, soustraction,
multiplication, division, puissance, comparaisons, modulo (reste d’une division entière)
Opérateurs sur les booléens : comparaisons, négation, conjonction,
disjonction
Opérateurs sur les caractères : comparaisons
Opérateurs sur les chaînes de caractères : comparaisons, concaténation
9
TD N°4 :
Ecrire un algorithme qui lit deux entiers au clavier et qui affiche ensuite leur somme
et leur produit.
TD N° 5:
Ecrire un algorithme qui lit le rayon d’un cercle et qui affiche ensuite son périmètre et
sa surface.
TD N° 6 :
Ecrire un algorithme qui calcule et affiche la résistance d’un composant électrique en
utilisant la loi d’Ohm :
NB :
Un algorithme commence par le mot Algorithme suivit de son nom et un point-
virgule. Généralement le nom de l’algorithme indique sa fonction.
Le mot Variables précède la liste des variables manipulées dans l’algorithme et
leurs types. Les variables du même type sont séparées par des virgules.
Deux déclarations différentes sont séparées par un point-virgule.
Les opérations de l’algorithme sont prises entre les mots Début et Fin indiquant
le début et la fin de l’algorithme. Ces opérations sont séparées par des points virgules.
Un algorithme se termine par un point.
10