Vous êtes sur la page 1sur 26

Programmation Les bases de l’algorithmique

Un algorithme est un ensemble d'étapes


successives, finies et ordonnées et qui visent à
résoudre un problème bien défini.

L’algorithmique est la logique ou le domaine de


la construction des algorithmes.

Problème Algorithme Solution

27/12/2020 zeekzone 1
Programmation Les bases de l’algorithmique

Les étapes de résolution d’un problème


• la pré-analyse qui consiste à identifier et comprendre le problème.
• l'analyse qui consiste à collecter les données nécessaires pour la résolution du
problème.
• l'élaboration de l'algorithme qui s'agit de l'ensemble d'étapes à suivre pour résoudre
le problème .

Exemple:

• Placer trois points A, B et C dans le plan. A


• Tracer le segment [AB].
• Tracer le segment [AC].
• Tracer le segment [BC]. C
Vous avez construit un triangle.
B

27/12/2020 zeekzone 2
Programmation Les bases de l’algorithmique

Exemple simple:
 Problème: résolution de l’équation ax + b =0

- La pré-analyse: il s'agit de chercher la solution (valeur de x).


- L'analyse: il s'agit de collecter les données nécessaires pour calculer x:
Les valeurs de a et b
Vérifier si a≠0
Calculer la valeur de x : -b/a
- L'élaboration de l'algorithme: il s'agit de:
Donner les valeurs de a et b.
Calculer la valeur de x.
Afficher le résultat.

Mais, Comment écrire un algorithme?


Un algorithme s'écrit le plus souvent en pseudo-langage de programmation (appelé
langage algorithmique).

27/12/2020 zeekzone 3
Programmation Les bases de l’algorithmique

Structure d’un algorithme


ALGORITHME <Nom>
<Déclaration/Définition des variables>
Debut
<Actions/Instructions>
Fin

Un algorithme est constitué:


• d'une entête composé du mot réservé ALGORITHME et d'un nom de l'algorithme à
réaliser
• d'une zone de déclaration des variables utilisés dans l'algorithme.
• d'un corps délimité par deux mots réservés DEBUT et FIN. C'est ici qu'on écrit les
actions de l'algorithme.

27/12/2020 zeekzone 4
Programmation Les bases de l’algorithmique

Variable?
Une variable est un nom d'un emplacement de la mémoire centrale qui contient des
données. Ces données varient au cours de l'exécution du programme. Chaque variable
possède un type et est rangée en mémoire à une adresse précise.

Caractéristique d’une variable!


 un nom (c’est un identificateur)
 Un type (nature de l’objet : entier, caractère…).
détermine en particulier les valeurs possibles de l’objet et les opérations primitives
applicables à l’objet.
 Une valeur (contenu de l’objet).
Cette valeur peut varier au cours de l'algorithme ou d’une exécution à l’autre.

27/12/2020 zeekzone 5
Programmation Les bases de l’algorithmique

Les types de base


Lors de la déclaration d'une variable, on doit spécifier son type.

Type Signification Exemple

Entier Le type entier comprend les valeurs numériques -3, 2, 3, 0, 100


entières, positives ou négatives. 2021
Réel Le type réel comprend les valeurs décimales 1.5,
positives ou négatives à virgule. 5.9
Caractère Une variable de type caractère accepte les 26 lettres A a … Y y Z z
majuscules et les 26 lettres minuscules, les 10 0123…789
chiffres et les caractères spéciaux. @!
Chaîne de Les chaînes de caractères sont délimitées par des "zeekzone",
caractères guillemets. « 2021"

Booléen l accepte deux valeurs: vrai ou faux (true ou false). Valide

27/12/2020 zeekzone 6
Programmation Les bases de l’algorithmique

Déclaration d’une variable


la déclaration d'une variable est la spécification de son type et son nom.

ALGORITHME <Nom>
<Déclaration/Définition des variables>
Debut
<Actions/Instructions>
Fin
Syntaxe
<Nom> : <Type>
X: entier
Nom: chaîne de caractères
Age: entier X: réel
Annee, mois, jour: entier Note1 : réel

C: caractère
trouve : booléen C1, C2: caractère
27/12/2020 zeekzone 7
Programmation Les bases de l’algorithmique

Nom d’algorithme & Déclarations


 Problème: résolution de l’équation ax + b =0

- La pré-analyse: il s'agit de chercher la solution (valeur de x).


- L'analyse: il s'agit de collecter les données nécessaires pour calculer x:
Les valeurs de a et b
Vérifier si a≠0
Calculer la valeur de x : -b/a
- L'élaboration de l'algorithme: il s'agit de:
Donner les valeurs de a et b.
Calculer la valeur de x.
Afficher le résultat.

Mais, Comment écrire un algorithme?


Un algorithme s'écrit le plus souvent en pseudo-langage de programmation (appelé
langage algorithmique).

27/12/2020 zeekzone 8
Programmation Les bases de l’algorithmique

Nom d’algorithme & Déclarations

ALGORITHME Equation Affine


a : Réel
b : Réel
x : Réel
Debut
<Actions/Instructions>
Fin

27/12/2020 zeekzone 9
Programmation Les bases de l’algorithmique

Déclaration des variables! Et après?


ALGORITHME Equation Affine
a : Réel
b : Réel
x : Réel
Debut Qu’est ce on peut faire avec?
<Actions/Instructions>
Fin

Les opérations possible avec les variables!!!


Affectation et Initialisation
Les opérateurs
Entrée/Sortie
La clé des instruction de contrôles!!!!

27/12/2020 zeekzone 10
Programmation Les bases de l’algorithmique

Les opérateurs
+ L'addition / la division réelle
• Les opérations arithmétiques - la soustraction div la division entière
* la multiplication mod le reste de la division.

• Les opérations logiques Var1 Var2 NON var1 Var1 ET var2 Var1 ou var2

NON pour la négation Vrai Vrai Faux Vrai Vrai

ET pour la conjonction Vrai Faux Faux Faux Vrai

OU pour la disjonction Faux Vrai Vrai Faux Vrai


Faux Faux Vrai Faux Faux

• Les opérations de comparaison

< , >, <= , >= , =, <>

Les opérateurs! Et après?


Les actions ou les instructions!

27/12/2020 zeekzone 11
Programmation Les bases de l’algorithmique

Les instructions de base


Lorsqu’on a besoin de garder des données dans une variables, comment
on doit le faire?

Instruction d’affectation consiste à placer une valeur dans une variable.

Syntaxe :
<Variable>  <valeur>
Ou
<Variable>  <expression>

Exemple:
a  2
b  1
x  - b/a

27/12/2020 zeekzone 12
Programmation Les bases de l’algorithmique

Instruction d’écriture (Sortie)


Lorsqu’on a besoin d’afficher/placer des données sur un périphérique de
sortie, comment on doit le faire?

Ecrire( <données> ) consiste à placer les données sur un périphérique de


sortie. Afficher dans l’écran par exemple!
Syntaxe :
Ecrire( <données> )

Exemple:
Ecrire(‘’Bonjour tout le monde’’)
Ecrire(‘’Voici la valeur contenu dans a: ’’, a)
Ecrire(‘’Voici la valeur contenu dans b: ’’, b)
Ecrire(‘’Voici la valeur contenu dans x: ’’, -b/a)

27/12/2020 zeekzone 13
Programmation Les bases de l’algorithmique

Instruction de lecture (Entrée)


Lorsqu’on a besoin d’entrer/saisir des valeurs dans nos variables à partir
d’un périphérique de d’entrée, comment on doit le faire?

Lire( <variable> ) consiste à lire les données à partir d’un périphérique


d’entrée. le clavier par exemple!
Syntaxe :
Lire( <variable> )

Exemple:
Ecrire(‘Saisir la valeur de a: ’’)
Lire(a)
Ecrire(‘Saisir la valeur de b: ’’)
Lire(b)

27/12/2020 zeekzone 14
Programmation Les bases de l’algorithmique

Problème
 Problème: résolution de l’équation ax + b =0

- La pré-analyse: il s'agit de chercher la solution (valeur de x).


- L'analyse: il s'agit de collecter les données nécessaires pour calculer x:
Les valeurs de a et b
Vérifier si a≠0
Calculer la valeur de x : -b/a
- L'élaboration de l'algorithme: il s'agit de:
Donner les valeurs de a et b.
Calculer la valeur de x.
Afficher le résultat.

27/12/2020 zeekzone 15
Programmation Les bases de l’algorithmique

Solution 1
ALGORITHME Equation Affine
a : Réel
b : Réel
x : Réel

Debut
Ecrire(‘’Saisir la valeur de a: ’’)
Lire(a)
Ecrire(‘’Saisir la valeur de b: ’’)
Lire(b)
x  -b/a
Ecrire(‘’La solution de ‘’, a, ‘’x+’’, b, ‘’est: ’’ , x )
Fin
Mais?!

27/12/2020 zeekzone 16
Programmation Les bases de l’algorithmique

Instructions de contrôle
Ce sont les éléments du langage qui déterminent les instructions qui seront exécuter et l’ordre
dans lequel les instructions sont exécutées.

Séquence (Naïf): exécution dans l’ordre, l'une


après l'autre.

Test : exécution d’une instruction sous une


certaine condition.

Boucle : exécution d’une instruction plusieurs


fois.

27/12/2020 zeekzone 17
Programmation Les bases de l’algorithmique

Instructions conditionnelles
Exécution d’une instruction sous une certaine condition.

Instruction à un seul choix ( si ):


Syntaxe:
Si (<condition>) alors Le bloc d’instructions peut être composé d'une
<Instructions> ou de plusieurs instruction(s). Cette partie est
Fin si exécutée si la condition est vraie.
Instruction à deux choix (si … sinon) :
Syntaxe:
Si (<condition>) alors Instruction1 est exécutée si la condition est
<Instructions1> satisfaite (vrai).
Sinon
<Instructions2> Instruction2 est exécutée si la condition est
Fin si fausse.

27/12/2020 zeekzone 18
Programmation Les bases de l’algorithmique

Instructions conditionnelles
Les tests imbriqués sont utilisés lorsqu’il y a plus de deux choix.

Instruction à plusieurs choix (Si):

Syntaxe:
Instruction1 est exécutée si la condition1 est
Si (<condition1>) alors
satisfaite (vrai).
<Instructions1>
Sinon Si (<condition2>) alors
Instruction2 est exécutée si la condition1 est
<Instructions2>
fausse et si la condition2 est satisfaite (vrai).
Sinon
<Instructions3>
Instruction3 est exécutée si la condition1 et la
Fin si
condition2 sont fausses.
Fin si

27/12/2020 zeekzone 19
Programmation Les bases de l’algorithmique

Instructions conditionnelles
La structure Selon permet d'effectuer tel ou tel traitement en fonction de la valeur introduite.
Elle peut remplacer les tests imbriqués utilisés lorsqu’il y a plus de deux choix.

Instruction à plusieurs choix (Selon):

Syntaxe:
Selon (<variable>)
Dès qu’il y a égalité (variable = valeur_i), les
Valeur 1:
comparaisons sont arrêtées et la
<Instructions1>
séquence associée est exécutée. Les différents
Valeur 2:
choix sont donc exclusifs. Si aucun choix ne
<Instructions2>
correspondant, alors la séquence associée au «

Sinon », si elle existe, est exécutée.
Valeur n:
<InstructionsN>
Sinon:
<Autre Instructions>
Fin selon
27/12/2020 zeekzone 20
Programmation Les bases de l’algorithmique

Problème
 Problème: résolution de l’équation ax + b =0

- La pré-analyse: il s'agit de chercher la solution (valeur de x).


- L'analyse: il s'agit de collecter les données nécessaires pour calculer x:
Les valeurs de a et b
Vérifier si a ≠ 0
Calculer la valeur de x : -b/a
- L'élaboration de l'algorithme: il s'agit de:
Donner les valeurs de a et b.
Calculer la valeur de x.
Afficher le résultat.

27/12/2020 zeekzone 21
Programmation Les bases de l’algorithmique

Solution 2
ALGORITHME Equation Affine
a : Réel
b : Réel
x : Réel

Debut
Ecrire(‘’Saisir la valeur de a: ’’);
Lire(a);
Ecrire(‘’Saisir la valeur de b: ’’);
Lire(b);
Si ( a <> 0) Alors
x  -b/a;
Fin si
Ecrire(‘’La solution de ‘’, a, ‘’x+’’, b, ‘’est: ’’ , x );
Fin

27/12/2020 zeekzone 22
Programmation Les bases de l’algorithmique

Solution 3
ALGORITHME Equation Affine
a, b, x : Réel
Début
Ecrire(‘’Saisir la valeur de a: ’’)
Lire(a)
Ecrire(‘’Saisir la valeur de b: ’’)
Lire(b)
Si ( a <> 0) Alors
x  -b/a
Ecrire(‘’La solution de ‘’, a, ‘’x+’’, b, ‘’est: ’’ , x )
Sinon
Ecrire(‘’x est nul, ce n’est une équation affine!‘’)
Fin si
Fin

27/12/2020 zeekzone 23
Programmation Les bases de l’algorithmique
Instructions Répétitives
Supposons qu’on veut afficher ‘’Bonjour tout le monde’’ 10 fois!

ALGORITHME Bonjour 10 fois


Debut
Ecrire(‘’ Bonjour tout le monde’’);
Ecrire(‘’ Bonjour tout le monde’’);
Ecrire(‘’ Bonjour tout le monde’’);
Ecrire(‘’ Bonjour tout le monde’’);
Ecrire(‘’ Bonjour tout le monde’’);
Ecrire(‘’ Bonjour tout le monde’’);
Ecrire(‘’ Bonjour tout le monde’’);
Ecrire(‘’ Bonjour tout le monde’’);
Ecrire(‘’ Bonjour tout le monde’’);
Ecrire(‘’ Bonjour tout le monde’’);
Fin
Un traitement qui permet de réaliser des opérations un nombre de fois ou sous certain condition

27/12/2020 zeekzone 24
Programmation Les bases de l’algorithmique
Instructions Répétitives (Les Boucles)
Instruction « Pour… »
Si le nombre de répétitions (n) soit connu à l'avance. Le mécanisme
permettant de répéter une ou plusieurs instructions n fois est la
boucle POUR.

La forme générale de cette instruction est:


Syntaxe :
POUR <variable> de <v_debut> à <v_fin> [pas=<nombre>] Faire
<Instructions>
Fin pour

27/12/2020 zeekzone 25
Programmation Les bases de l’algorithmique
Instructions Répétitives (Les Boucles)
Instruction « tant que… »
Le contenu de la structure « tant que » peut ne jamais être exécuté.
Donc cette structure
permet en réalité de répéter un traitement 0, 1 ou plusieurs fois.

La forme générale de cette instruction est:


Syntaxe :
Tant que (Condition_Entrée) faire
Instructions
Fin tant que

27/12/2020 zeekzone 26