Vous êtes sur la page 1sur 37

Algorithmique

Définition

 Un algorithme est une suite finie de règles à appliquer dans un ordre déterminé à un
nombre fini de données pour arriver, en un nombre fini d'étapes, à une résolution
d’un problème.

 Un algorithme se compose en 3 parties :


L’entête : Comprend le nom de l’algorithme
Les déclarations : comprend les listes des constantes et des variables
Le corps : Les instructions à exécuter
Exemple : Un algorithme qui calcul la
surface d’un rectangle

Algorithme Surface_d_rectangle ;
Variables Longueur, Largeur, Surface : réel ;
Début
Ecrire (‘Donner la longueur :’) ;
Lire (Longueur) ;
Ecrire (‘Donner la largeur :’) ;
Lire (Largeur) ;
Surface = Longueur * Largeur ;
Ecrire (‘La surface du rectangle est :’, Surface) ;
Fin .
Notion de données

 Les algorithmes agissent sur des données, qui peuvent varier ou rester constantes.

 Les données peuvent être de types différents : numérique, chaîne de caractères, ou


booléen (valeurs logiques : vrai ou faux).

 Chaque donnée est identifiée par un nom (identifiant) unique qui la définit (la rend
reconnue) dans l’algorithme.
Notion de données :Constantes Vs
Variables

 Une constante est une donnée dont la valeur reste inchangée tout le long de
l’algorithme. On ne peut jamais modifier sa valeur et celle-ci doit donc être
précisée lors de la définition de la donnée.

 Une variable est une donnée dont la valeur peut être modifiée par une opération
dans l’algorithme.
 Une variable est aussi un espace mémoire, la modification de la valeur de la
variable modifie aussi le contenue de la zone mémoire associe.
Notion de données

 Donc a toute variable est associes un identifiant, un type, un espace


mémoire, et une valeur.
Types de données

 Types numériques :
Type Entier : un type qui accepte des valeurs comme : -5, -2, 0, 1, 10, 2006, etc.
Type Réel : un type qui accepte des valeurs comme : -5, 2.6, 0.125, 107 ,
2,5 × 1031 , etc.
Les types de données :

 Type alphanumérique :
Type caractère : un type qui accepte les caractères. Si une variable C
est de type caractère, alors elle accepte des valeurs comme : ‘a’, ‘A’, ‘1’,
‘?’, ‘*’,’/’, ‘ ’, etc.

Type chaîne de caractères : Une variable de ce type peut contenir une


suite de caractères comme : ‘Lecteur CD-ROM’, ‘MPSI 3’, ‘A’, ‘CPGE Khansa’,
etc.
Les types de données :

 Type logique (booléen) :


Une variable de type booléen est une variable qui ne peut contenir que soit
vrai, ou faux. Doc les données de type booléen sont des valeurs de vérités
Les instructions de base

 Lecture – Ecriture (Entrée/Sortie):


Les instructions de lecture et d’écriture permettent à l’ordinateur de
communiquer avec le monde extérieur.
Les instructions de base

 Lecture : est l’opération de base qui consiste à lire des données tapées au
clavier. Chaque donnée lue est stockée dans une variable.

 Syntaxe :
Lire(x);
Permet de lire une valeur donnée par l’utilisateur et la stocker dans la
variable x. Si l’utilisateur a écrit 2 alors la valeur de x sera 2.
Les instructions de base

 Ecriture : est l’opération qui permet à l’algorithme de communiquer des


messages à l’utilisateur en les affichant à l’écran.

 Syntaxe :
Ecrire (‘bonjour’);
 Permet d’afficher le message : bonjour

Ecrire (‘la valeur de x est ‘, x);


 Si la valeur de x est 5 cet instruction permet d’afficher le message : la
valeur de x est 5
Les instructions de base

 Affectation :
L’affectation est une attribution d’une valeur à une variable. L'action
d'affectation modifie la valeur de la variable, et donc le contenu de la
mémoire de la machine.

 Syntaxe : nom de variable = valeur ;


nom de variable = expression ;

 Action : "Met le résultat du calcul de l'expression dans la variable".


Remarque importante

 Il faut respecter le type de chaque variable, donc on ne peut pas affecter


à une variable qui est de type Type1 une expression qui renvoi une valeur
de type Type2.

 Exemple : nom est de type Chaîne de caractères , X1 est de type entier :


X1= nom est une instruction fausse.
Nom = 3 est aussi une instruction fausse.
Expressions & Opérateurs

 Une expression est un ensemble de valeurs, reliées par des opérateurs, et


équivalente à une seule valeur.
 Un opérateur est un signe qui relie deux valeurs pour produire un résultat.

 Opérateurs numériques
+ Addition
- soustraction
* multiplication
/ division
^ puissance
Expressions & Opérateurs

 Opérateur alphanumérique : &


Cet opérateur permet de concaténer ou de joindre deux chaînes de
caractères.
La structure conditionnelle

 Elle exprime le choix entre deux séquences d’action en fonction de la


valeur d’une condition ou expression logique

 Syntaxe
Si condition alors
instruction1;
sinon
instruction2 ;
finsi
Structure conditionnelle à choix
multiple

 Syntaxe :
Selon ( expression entière ou caractère )
Cas choix1 : instruction1 ;
cas choix2 : instruction2 ;
...
cas choixN : instructionN ;
[autrement instruction]
Finselon
Exemple : Calcul d’une facture

 Ecrire un algorithme qui calcule le prix toute taxe comprise (PTTC) d’un
article, à partir du prix total hors taxe (PTHT) et selon le code de la TVA .
Les structures répétitives

 Les structures répétitives sont utilisées lorsque nous avons une instruction ou
un bloc d’instructions qui se répètent un certain nombre de fois .

 En algorithmique, nous disposons de trois structures


Tant que……………….Faire……
Répéter………………Jusqu’à ….
Pour………………..Faire………
Structure POUR

 Cette structure permet une répétition d’instructions, le NOMBRE DES


RÉPÉTITIONS étant CONNU avant la première exécution.

 Une variable va servir de test pour l'exécution de la boucle. Cette


variable est initialisée au démarrage de la boucle puis évolue, de façon
automatique, après chaque itération.
Syntaxe

Pour <variable de test> = <valeur de départ> à <valeur d’arrivée>


Instructions
Fin Pour
Exercice0

 Ecrire l’algorithme qui permet de calculer S:


S=1+2+3+………….+N
Exercice1

 Ecrire l’algorithme qui permet de calculer S:


S=1+1/2+1/3+1/4+……………….+1/n
Exercice2

 Ecrire un algorithme qui demande un nombre de départ, et qui calcule sa


factorielle.
 NB : la factorielle de 8, notée 8 !, vaut 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8
Exercice3

 Calculer Un
 U1=1 ; U2=2
 Un=2*Un-1 + 3*Un-2 Pour n >2
Structure TANT QUE

 Cette structure permet de répéter un groupe d’instructions, le NOMBRE


DES RÉPÉTITIONS étant INCONNU avant la première exécution de la
boucle.

 La condition doit être remplie pour que les instructions soient exécutées (y
compris la première fois) : ce type de condition est appelé CONDITION DE
CONTINUATION.
Syntaxe

Tant Que < condition de continuation > FAIRE


Instructions à exécuter si la condition est remplie
Fin Tant Que
Exercice4

 Ecrire un algorithme qui demande un nombre compris entre10 et 20,


jusqu’à ce que la réponse convienne. En cas de réponse supérieure à 20,
on fera apparaître un message : « Plus petit ! », et inversement, « Plus grand
! » si le nombre est inférieur à 10.
Structure RÉPÉTER

 Cette structure permet de répéter un groupe d’instructions, le NOMBRE


DES RÉPÉTITIONS étant INCONNU avant la première exécution de l’action
concernée. Cette boucle sera exécutée AU MOINS UNE FOIS car la
condition est posée à la fin de la boucle.

 L'exécution cesse lorsque la condition est remplie. Cette condition est


donc appelée CRITÈRE D’ARRÊT.
Syntaxe

Répéter
Instructions à exécuter
Jusqu’à <critère d’arrêt>
Exemple

 Ecrire un algorithme qui demande à l’utilisateur un nombre compris entre 1


et 3 jusqu’à ce que la réponse convienne.
Correction

Algorithme nombre_verifier ;
Variable i : entier ;
Début
Répéter
Ecrire (‘donner un nombre compris entre 1 et 3 : ‘) ;
Lire(i) ;
Jusqu’à ( i>=1 et i<=3 ) ;
Fin.
Exercices
Exercices
Exercices