26/09/2021
Cours Algorithmique et
Programmation
Responsable : [Link]. Taktak Mariem
Chapitre 1 :
Introduction à l’algorithmique
2
26/09/2021
1. Démarche de résolution d’un problème
La résolution de n’importe quel problème doit passer par :
• Phase d’étude : c’est une phase qui consiste à comprendre le problème et
déterminer les données (entrées) et les résultats (sorties) à produire.
• Phase d’élaboration d’un schéma de résolution : c’est une phase
permettant de déterminer les étapes à suivre pour produire les résultats
cherchés à partir des données en entrée.
• Phase d’écriture de l’algorithme : c’est une phase de traduction des
phases précédentes en se basant sur les règles du langage algorithmique.
Le langage algorithmique est un langage proche du langage humain et
définie par un ensemble de mots réservés et de syntaxes d’écriture
d’actions.
• Phase de programmation : c‘est une phase de traduction de l’algorithme
en un programme dans un langage compréhensible par la machine.
2. Notion de base
Définition d’un algorithme : un algorithme est une séquence
d’étapes pour résoudre un problème donnée. Un algorithme prend en
entrée une valeur, ou un ensemble de valeurs, et qui donne en sortie
une valeur, ou un ensemble de valeurs.
La structure d’un algorithme contient deux parties essentielles :
• Partie entête (déclaration) : définir l’ensemble des structures de
donnée, les constantes et les variables à utiliser.
• Partie corps (instruction) : contenant une suite d’instructions qu’on
devra effectuer pour arriver à un résultat déterminé à partir d’une
situation donnée.
Information en Information en
Algorithme
entrée sortie
4
26/09/2021
2. Notion de base
Structure d’un algorithme :
Algorithme nom_algorithme
Const
/* Ensemble des constantes et leur valeur */
Entête Type
/* Définition des types personnalisée*/
Var
/* Ensemble des variables à utiliser dans le corps de l’algorithme */
Début
/* suite des instruction à exécuter*/
instruction 1
Corps
Instruction 2
…..
Fin
2. Notion de base
Constantes :
o Une constante correspond à une valeur littérale. A chaque fois que la constante
apparaît dans un algorithme, elle est remplacée par sa valeur. Une constante est
une variable dont sa valeur est inchangeable au cours d’exécution.
On pourra adopter la règle suivante pour les identificateurs de constantes : elles
sont composées de majuscule avec un tiret bas pour les rupture de mots
Exemple : TAUX_ANNUEL 1.2
PI 3.14
o Le type d’une constante est déduit à partir de sa valeur
6
26/09/2021
2. Notion de base
Variables : mémoire
o Une variable sert à mémoriser une valeur. C’est une zone de
mémoire, physique dans un ordinateur, virtuelle dans un algorithme.
Elle se présente dans la partie entête de l’algorithme. Sa valeur
possède un type et peut être changer au cours du temps. ……
sommeFinale
o Pour manipuler une variable, on lui donne un nom : son
identificateur. Lorsqu’on utilise l’identificateur d’une variable, c’est
en fait pour manipuler la valeur de la variable.
prixHT ……
o Un identificateur doit commencer par une lettre, il se compose de
lettres, de chiffres et éventuellement du caractère « _ ».
On pourra adopter la règle suivante pour les identificateurs de
variables : elles sont composées de minuscules, sauf aux ruptures
de mots qui seront en majuscule.
Exemple : sommeFinale, prixHT
3. Types de variables
Types de Variables :
Un type définit l’ensemble des valeurs que peut prendre une variable
de ce type ainsi que les actions qui y sont autorisées.
Un type peut être classé selon plusieurs critères parmi lesquels on cite :
o Simple/ composé :
s’il est composé, il peut être homogène ou hétérogène
o Prédéfini / personnalisé :
Prédéfini : s’il est défini avec le langage utilisé ( exemple : entier, réel, etc)
Personnalisée : s’il n’est pas prédéfini. Il doit être alors défini dans le bloc
Type.
8
26/09/2021
3. Types de variables
La déclaration d’une variable de type simple se fait dans la partie Var.
• Type entier :
Ce type est associé aux variable prenant leurs valeurs dans un intervalle
d’entiers relatifs fini (Z). Une variable de type entier pourra être positif,
négatif ou nul.
Syntaxe de déclaration :
identificateur1, identificateur2, …., identificateurN : entier
Exemple :
nombreEtudiant : entier
3. Types de variables
Opération de manipulation :
opération Symbole
Instructions algorithmiques Lire(), écrire() et affectation
Opérations arithmétiques Division(/), addition(+), soustraction(-) et
multiplication (*)
Puissance **
Valeur absolue abs
Division entière div
Modulo mod
Opérateurs de comparaison <, <=, >, >=, <>, =
10
26/09/2021
3. Types de variables
Type réel :
Ce type est associé aux variable prennent leurs valeurs dans l’ensemble
fini de nombres réels(R).
Syntaxe de déclaration :
identificateur1, identificateur2, …., identificateurN : réel
Opération de manipulation :
les opérations autorisées sur ce type sont les mêmes que sur le type
« entier » à l’exception des opérateurs mod et div
Exemple :
sommeFinale, prixHT : réel
11
3. Types de variables
Type caractère :
• Ce type permet de définir les variables représentant un seul élément dans l’ensemble des
caractères éditables : les lettres majuscules et minuscules, les caractères de ponctuations, le
blanc, les chiffres, …
• La valeurs de type caractère est noté entre apostrophe
Syntaxe de déclaration :
identificateur1, identificateur2, …., identificateurN : car
Opération de manipulation :
les opérations permises sur le type caractère sont les suivant :
o les instructions algorithmiques
o Les opérateurs de comparaisons (<, <=, >, >=, <>, = ) : la comparaison de deux chaines de
caractères revient leurs code ASCII respectifs
o Ord(C) : donne le code ASCII du caractère existant dans la variable C. le résultat est de type
entier
o Char (C) : donne le caractère correspond au code ASCII existant dans la variable C. le résultat est
de type caractère
12
26/09/2021
3. Types de variables
Type chaine de caractère :
• Ce type permet de définir les variables représentant une suite de caractères
• La valeurs de type chaine de caractère est noté entre deux guillemets
Syntaxe de déclaration :
identificateur1, identificateur2, …., identificateurN : chaîne
Opération de manipulation :
opération Symbole
Concaténation &
Longueur longueur (chaîne)
Extraction extraction(sous-chaîne, chaîne)
13
3. Types de variables
Type logique :
• Il s’agit d’un type associé à un objet prenant ses valeurs dans l’ensemble { vrai, faux}
Syntaxe de déclaration :
identificateur1, identificateur2, …., identificateurN : logique
Opération de manipulation :
opération Symbole
Comparaison <, <=,>, >=, =, <>
Négation NON ou ˥
Intersection ET
Union OU
Remarque :
o Les opérateurs logiques ET et OU sont commutatifs, associatifs et distributifs
o Les opérateurs de comparaison entre variables donnent un résultat logique
14
26/09/2021
3. Types de variables
Type logique :
Théorème fondamentale :
Soit A une expression logique dont la valeur peut être Vrai ou Faux
• A Ou Vrai = ……..
• A Ou ˥A = ………
• A ET ˥A = ………
• A Et Vrai = ………
• A Ou Faux = ………
• A Ou A = ………
• A Et Faux = ………
• A Et A = ………
15
3. Types de variables
Type intervalle :
• Une variable de type intervalle est une variable dont les valeurs sont
encadrées entre une valeur minimale et une valeurs maximale.
• Le type intervalle est personnalisé, et doit être défini dans le bloc
Type qui précède la déclaration des variables.
Syntaxe de déclaration :
Type Type_intervalle = borne_inf .. borne_sup
Var non_var : Type_intervalle
Exemple :
Type Mois = 1 .. 12
Var M : Mois
16
26/09/2021
3. Types de variables
Ordre de priorité des opérateurs :
• A chaque catégories d’opérateurs est associé un ordre de priorité. En effet, l’évaluation d’une
expression se fait en respectant l’ordre de priorité croissante des opérateurs.
• Si les parenthèses n’existe pas dans une expression, et les opérateurs ont la même ordre de
priorité, l’évaluation se fait alors de gauche à droite.
Ordre de Catégories d’opérateurs Opérateurs
priorité
1 Les parenthèses (,)
2 Les opérateurs unaires +, -
3 La puissance **
4 Les opérateurs multiplicatifs *, /, Mod, Div
5 Les opérateurs additifs +, -
6 Les opérateurs comparatifs <, <=,>, >=, =, <>
7 La négation logique NON
8 L’intersection ET
9 L’union OU
17
4. Instruction algorithmique
Définition :
• Une instructions est un ordre donnée par l’utilisateur à l’ordinateur.
• Les données manipulées par les instructions peuvent prendre
plusieurs forme :
o Des constantes
o Des variables
o Des expressions
• Les instructions peuvent être simples ou complexes
• on distingue trois instructions algorithmique simples : l’affichage, la
saisie et l’affectation
18
26/09/2021
4. Les instruction simple
Affichage :
• C’est une instruction de SORTIE. Elle permet de communiquer un message ou le contenu
d’une ou plusieurs variables à l’utilisateur sur l’écran.
Syntaxe :
ecrire ( arg1, arg2, …, argN)
Avec argi peut être :
o Identificateur d’une variable ou constante
o Une expression arithmétique
o Un message
exemple : soit x une variable qui contient la valeur entière 13
ecrire("le successeur de ", x, " est ", x+1)
envoie à l’écran le résultat de 4 expressions ; on pourra lire : “ le successeur de 13 est 14 ”.
19
4. Les instruction simple
Saisie :
• C’est une instruction d’ENTREE. Elle permet de placer dans la case mémoire
correspondante à une variable une valeur saisie par l’utilisateur à l’ordinateur.
• L’exécution de cette instruction implique l’arrêt momentané de l’exécution de
l’algorithme en attente d’une valeur donnée par l’utilisateur
Syntaxe :
lire ( var1, var2, …, varN)
On peut saisir chaque variable à part, comme peut saisir plusieurs variables avec le
même ordre
lire (A)
lire (B) lire (A, B, C)
lire (C)
Exemple : écrire (« donner votre nom : »)
lire ( nom)
20
26/09/2021
4. Les instruction simple
Affectation :
• C’est une opération qui permet de mettre une valeur dans une case mémoire
relative à une variable.
• La variable peut être le contenu : une autre variable, une constante, une valeur
donnée, expression arithmétique ou logique
Syntaxe :
non_varaible expression
• Dans une instruction d’affectation, il s’agit de ranger l’expression à droit dans le
membre à gauche
Exemple :
A5
B3
21
4. Les instruction simple
Une expression :
• Une expression est un ensemble de valeurs, reliées par des opérateurs, et
équivalent a une seule valeur.
Exemple :
A5
B A+3
CA+B
22
26/09/2021
Exemple
Exemple 1 : écrire un algorithme permettant d’afficher le périmètre d’un cercle.
Exemple 2 : écrire un algorithme permettant d’afficher la moyenne d’un étudiant
pour une matière. Par matière, l’étudiant a une note de devoir et une note
d’examen ayant respectivement les coefficient 0,4 et 0,6.
Exemple 3 : faire un tournage à la main de l’algorithme suivant :
Algorithme exemple 1
Var A, B, C : entier
Début
A5
B6
CA+B
B A +C
AA*3
BA+C
Fin
23
Exemple
Exemple 4 : écrire un algorithme de permutation de deux entiers A et B :
• En utilisant une variable C supplémentaire
• Sans utilisation d’ une variable C supplémentaire
24