Vous êtes sur la page 1sur 34

Leçon 2

Algorithme : concepts de base


Plan
1. Définitions
2. Convention d’écriture
3. Structure de base d’un algorithme
a) Déclaration de données
b) Instructions de base

2
1. Définitions
A. Algorithmique:
la science qui étudie l’application des algorithmes à l’informatique.

A. Algorithme
• ensemble d’opérations ordonnées et finies devant être suivi dans l’ordre pour
résoudre un problème ou accomplir une tâche en un temps fini.
• est une suite ordonnée d’opérations qui indique la démarche à suivre pour résoudre
une série de problèmes équivalents.

3
1. Définitions
Exemple d’algorithme : Mode d’emploi d’un télécopieur (comment envoyer un fax)

1. Insérer le document dans le chargeur automatique;


2. Composer le numéro de fax du destinataire à l’aide du pavé numérique;
3. Enfoncer la touche envoi pour lancer l’émission.

• Suite ordonnée d’opérations: Insérer… Composer…. Enfoncer


• Données manipulées: document, chargeur, N° Fax, pavé, touche envoi
• Résultat attendu: envoi d’un document

4
1. Définitions
Exemple 2 : Trouver son chemin (comment rejoindre l’hôtel Mandé)

1. Aller tout droit jusqu’au bout du carrefour ;


2. Ensuite, prendre à droit la rue de Nelson Mandela;
3. Puis, prendre la troisième à gauche.

• Suite ordonnée d’instructions: Aller… Prendre


• Données manipulées: rue, carrefour
• Résultat attendu: Arriver à l’hôtel Mandé

5
1. Définitions
Propriétés d’un algorithme :
Un algorithme doit être

• Précis : réalise exactement la tâche pour laquelle il a été conçu

• Déterministe : Avec les mêmes données, on obtient les mêmes résultats

• Fini et productif : s'arrête au bout d'un temps fini et donne un résultat

• Efficace : utilise de manière optimale les ressources du matériel qui l’exécute.

• Réutilisable : pour résoudre des tâches équivalents à celle pour laquelle il a été conçu.
6
1. Définitions
Algorithme vs programme

Algorithme Programme
Destiné aux humains Destiné à des ordinateurs

Indépendant des langages de programmation décrit un algorithme dans un langage donné

Indépendant de la machine Dépendant de la machine

Solution abstraite et théorique Solution concrète

7
2. Conventions d’écriture
1. Organigramme 2. Pseudo-code
• Représentation graphique Ou Langage de Description d’Algorithmes (LDA)

• Série de conventions (pas de normes)


• Un mélange du langage naturel et des concepts de
programmation
• Formel et rigoureux
• Règles d’écriture précises mais variables 8
3. Structure de base d’un algorithme
Algorithme < nom_algorithme > L’entête
(Identifiant de l’algorithme)

<déclarations des constantes>


<déclarations des variables> Déclaration de données
<déclarations des routines>
<…>
Début
<instruction 1>
<instruction 2>
Instructions
(traitement)

<instruction N>

Fin 9
3.1) L’entête de l’algorithme
Notion d’identifiant (ou identificateur)
Un identifiant est un nom valide permettant d’identifier de manière unique :

• un algorithme; une routine( fonction et procédure); une donnée(variable, constante...)

Règles d’écriture
Un identifiant est composé de lettres et de chiffres ( et peut contenir le caractère _ (underscore))
• Ne commence pas par un chiffre
• Ne contient pas d’espace ni aucun caractère de ponctuation ou accentué
• Est explicite (exemple: moyenne_notes et non my_nt)
• Est différent des mots clés utilisés en Algorithme tels que Début, Fin, Variable etc…
10
3.2) Déclaration de données
• Cette partie contient une liste exhaustive des données manipulées dans l’algorithme

Pourquoi déclarer les données?


• Pour réserver de l’espace mémoire dans l’ordinateur afin de stocker et récupérer
l’information (données d’entrée et les résultats)

Problème Algorithme Résultats


Données (entrée) (traitement)
Résultats attendus (sortie)
11
3.2) Déclaration de données (2)
Notion de donnée
Les donnée sont des informations nécessaires au bon déroulement de l’algorithme

Donnée
est caractérisée par nom_donnee1 0 1 0 1 0 0

Nom 1 0 0 0 1 1 0 1 0 1 1
Valeur nom_donnee2
Type 0 1 1 0 1 1 0 1 0 1 0

Nom: Identifie la donnée de manière unique.


Techniquement, une donnée
Type: représente la nature (ex: entier, caractère…) et la taille. correspond à un espace mémoire
Valeur: représente le contenu de la donnée.
12
3.2) Déclaration de données (3)
On distingue deux catégories de données:

Constante Variable Types de donnée:


On distingue deux catégories:
Valeur
Nom Valeur Nom Type • Types simples
Entier, Réel, Caractère, Chaine et
Booléen
• Types structurés
Constante: donnée dont la valeur ne varie pas durant
l’exécution de l’algorithme. Tableau, ensemble etc…

Variable: donnée dont la valeur peut changer durant sont définis en composant des types simples
l’exécution de l’algorithme. 13
3.2) Déclaration de données (4)
• Types de données
Types de données Mot clé Plage de valeurs Exemples
Entier entier l’ensemble des entiers -60; 10; 2856;
relatifs ℤ -362
Numérique 2-31 ≤ N ≤ 232
Réel réel l’ensemble des entiers 25,652; 256; -8,61
réels ℝ -156,01
Caractère caractère / car caractères ‘A’ ; ‘2’ ; ‘$’; ‘-’
alphanumériques et
Alphanumérique spéciaux
Chaine de caractère chaine Textes alphanumériques "nom"; "Ali koné" ;
"125" ; "po$"
Logique Booléen booléen Vrai ou Faux Vrai ; Faux
14
3.2) Déclaration de donnée (4)
Avant d’utiliser une donnée dans un algorithme, il faut au préalable la déclarer.

Déclaration d’une constante: Déclaration d’une variable:

Constantes nom_constante = valeur ; Variables nom_variable : type ;


ou Const nom_constante = valeur ; ou Var nom_variable : type ;
Exemples: Exemples:
Constantes Pi = 3,14 ; Variables num_classe : Entier ;
nbre_mois = 12 ; note , moyenne_notes : Réel ;
nom_ecole = "ENETP" ; nom_etu , prenom_etu : Chaine ;
etat_admis : Booléen
15
;
3.2) Déclaration : Exercice
Exercice 1:
on suppose la situation d’un serveur qui
travaille dans une cafétéria. Ce serveur gagne
de l’argent de deux manières différentes : un
salaire convenu avec son patron et un
pourboire obtenu auprès des clients comme
indique dans le tableau ci-contre.
Déterminer et déclarer les données
permettant de calculer les profits du serveur.

16
3.2) Déclaration
Exercice 2:
L’école ENCGM souhaite concevoir une
solution pour calculer automatiquement la
moyenne de ses étudiants ainsi que leur
mention afin de produire comme résultat leurs
relevés de notes.
Déterminer et déclarer les données
nécessaires au traitement de ce problème.

Admis Oui
17
3.3) Partie « Instructions de l’algorithme »
Une instruction est un ordre qui permet de spécifier à la machine l’action à effectuer.

• Un ordinateur ne comprend que 4 types d’instructions

1. Les affectations
2. Les Entrées/sorties
3. Les tests
4. Les boucles

• Règles d’écriture des instructions


• Une instruction par ligne
• Chaque instruction se termine par un point-virgule (;)
18
4.1) Instruction d’affectation
L’instruction d’affectation consiste à attribuer une valeur à une variable.

La syntaxe générale est la suivante : NomVariable ← Expression

qui se lit « NomVariable prend la valeur de Expression ».

Mode de fonctionnement :
• On évalue d’abord l’expression avant de l’affecter à « NomVariable ».
• Après l’affectation, le contenu de « NomVariable » est écrasé par la valeur de l’expression.
• Expression doit être du même type que « NomVariable » 19
4.1) Instruction d’affectation (2)
Expression : ensemble de calculs équivalent à une seule valeur

« Expression » peut être :


a. Une valeur. Ex : surface ← 40
b. une constante ou variable. Ex : variable2 ← valeurVariable1
c. le résultat d’une fonction. Ex : resultat ← racine (nombre)
d. un calcul portant sur ces différents éléments: <expression> opérateur <expression>
Ex : surface ← (PI * Carre (Diamètre)) / 4

Opérateur : est un outil qui permet de lier des expressions pour produire une valeur.
20
4.1) Instruction d’affectation (3)
Types d’expressions
1. Expressions arithmétiques : sont des combinaisons d’expressions
numériques et d’opérateurs arithmétiques et donne une valeur
numérique (entier ou réel)
Types d’opérateurs

2. Expressions de comparaison: sont des combinaisons


d’expressions de même type (2 entiers, 2 réels, 2 caractères) et 1. Opérateurs arithmétiques
d’opérateurs de comparaison et donne une valeur logique
2. Opérateurs de comparaison
3. Opérateurs logiques
3. Expressions logiques: sont des combinaisons d’expressions de valeurs
logiques rendent une valeur logique. 4. Opérateurs alphanumériques

4. Expressions alphanumériques: sont des combinaisons de valeur


alphanumériques et d’opérateurs alphanumériques et donne une valeur
alphanumérique (chaine) 21
4.1) Instruction d’affectation (4)
Expressions arithmétiques : Variable numérique (réel) Expression numérique

NomVariable ← (2*5) / 6
valeur numérique

Opérateurs arithmétiques Représentation Exemples


Addition + 7+2=9
Soustraction - 7-2=5
Multiplication * 7 * 2 = 14
Division / 7 / 2 = 3,5
Division entière div 7 div 2 = 3
Modulo (Reste de la division entière) mod 7 mod 2 = 1

NB: Les opérateurs (div et mod) ne fonctionnent qu’avec des entiers 22


4.1) Instruction d’affectation (5)
Expressions de comparaison :
NomVariable ← (2*5) < 6
Variable logique (booléen)
Expression arithmétique Expression arithmétique

Opérateurs de comparaison Représentation Exemples


Egal = 7 = 2 (faux)
Différent ≠ 7 ≠ 2 (vrai)
Supérieur > 7 > 2 (vrai)
Inférieur < 7 < 2 (faux)
Supérieur ou égal ≥ 7 ≥ 2 (vrai)
Inférieur ou égal ≤ 7 ≤ 2 (faux) 23
4.1) Instruction d’affectation (6)
Expressions logiques :
NomVariable ← (2 < 5) ET (6 = 3)
Variable logique (booléen)
Expression de comparaison Expression de comparaison

Tables de vérité
Opérateurs
Représentation
logique
Conjonction ET
Disjonction OU
Négation NON
24
4.1) Instruction d’affectation (7)
Expressions alphanumériques :
NomVariable ← " Nom: " & " Ali koné "
Variable alphanumérique (chaine)
Valeur alphanumérique Valeur alphanumérique

Opérateurs
Représentation Exemples
alphanumériques
concaténation & "abc"&"def" = "abcdef"

25
4.1) Instruction d’affectation : exercices
Exercice 1: Indiquez les erreurs dans chacun des algorithmes suivants et corrigez les.

Algorithme test1 Algorithme test 2


Constantes Variables
A: entier ; A: caractère ;
B: entier ; B: entier ;
Début
Début
A 52;
A "ENETP";
B A/7;
B -27;
C B;
Fin
Fin 26
4.1) Instruction d’affectation : exercices
Exercice 1 corrigé:
Algorithme test1 Algorithme test_2
Variables Variables
A: entier ; A: chaine ;
C, B: réel ; B: entier ;
Début
Début
A 52;
A "ENETP";
B A/7;
B -27;
C B;
Fin
Fin 27
4.1) Instruction d’affectation : exercices
Exercice 2: Que produisent les algorithmes suivants?

Algorithme test3 Algorithme test4 Algorithme test5


Variables Variables A, B: entier ; Variables
A, B, C: entier ; Début A: caractère ;
Y: booléen; A 9; B: chaine ;
Début B -3; Début
A 24; A B; B "ENETP";
B 4;
Y (6*B) ≥ (A - 2); B A; A 'P' & 'I';

Fin Fin Fin


28
4.1) Instruction d’affectation : exercices
Exercice 2 corrigé

Algorithme test3 Algorithme test4 Algorithme test5


Variables Variables A, B: entier ;
A, B, C: entier ; Début Produit une erreur
Y: booléen; A = 9;
Début B = -3;
A = 24; A = -3;
B = 4;
Y = (24) ≥ (22) = Oui; B = - 3;

Fin Fin
29
4.2) Instruction de lecture (ou d’entrée)
Cette instruction permet d’affecter à une variable, une donnée introduite à partir
d’un périphérique d’entrée tel que le clavier.

Mot clé : lire


Syntaxe : lire(nomvariable)

• nomvariable étant une variable d’un type déclaré à l’avance


• La machine attend que l’utilisateur tape une valeur au clavier.

30
4.3) Instruction d’écriture (ou de sortie)
Cette instruction permet d’afficher un texte ou la valeur d’une variable ou d’une
expression à l’écran.
Mot clé : Ecrire
Syntaxe : Ecrire(expression).
- « expression » peut être du texte, une variable, une expression arithmétique, logique, alphanumérique

31
4.4) Entrée/sortie: Exemple
Ecrire un algorithme qui calcule la surface d’un cercle

Algorithme surface_cercle
Constantes pi =3.14 ;
Variables surface, rayon : réel;
Début
Ecrire(" entrer le rayon ") ;
Lire (rayon) ;
surface ← rayon*rayon*pi ;
Ecrire(" la surface du cercle est: ", surface) ;
Fin 32
4.5) Entrée/sortie: Exercices
Exercice 1: Ecrire un algorithme qui fait l’addition de deux nombres de l’afficher à
l’écran.

Exercice 2: Ecrire un algorithme permettant de saisir trois nombres, d’en effectuer la


somme, le produit et la moyenne, puis les afficher.

Exercice 3 : Ecrire un algorithme permettant de saisir deux nombres, de les


permuter puis les afficher.

Exercice 4 : trouver une autre solution à l’exercice 3

33
TD N°1

34

Vous aimerez peut-être aussi