Éléments de base de l’algorithmique

Computer Science · lab

Voir tous les documents en programmation

Éléments de base de l’algorithmique

Année universitaire 2020/2021 – Semestre 1

1

Éléments de contenu

Les objets algorithmiques

Structure générale d’un algorithme

Instructions élémentaires

2

Les objets algorithmiques

 Pour chaque algorithme, on a besoin de données pour fournir des résultats.

Données et résultats sont appelés des objets algorithmiques. On distingue :

 Les objets en entrée : Ce sont les données fournies à l'algorithme.

 Les objets en sortie : Ce sont les résultats produits par l'algorithme.

 Les objets internes ou intermédiaires : Ce sont les objets de manœuvre de

l'algorithme servant aux manipulations internes (compteurs, objets

intermédiaires de stockage,...).

 Exemple : On se propose de permuter le contenu de deux objets A et B. Pour ce

faire, on aura besoin des objets A et B en entrée et d'un troisième objet

intermédiaire C puis on procédera comme suit :

 On met le contenu de A dans C.

 On met le contenu de B dans A.

 On met le contenu de C dans B.

 Les objets A et B serviront aussi pour objets de sortie.

3

Les objets algorithmiques

Les objets algorithmiques, traités par l’ordinateur, sont stockés dans

des cases mémoires dont la gestion est prise en charge par

l’ordinateur.

En mémoire, les cases sont reconnues à l’aide de leurs adresses, on

parle d’adresse mémoire.

Pour définir un objet algorithmique, on doit préciser son:

 Son nom (identificateur),

 Sa nature: Il s'agit de préciser si un objet est une constante (Const) ou

une variable (Var).

 Son type

4

Identificateurs (1)

 Un identificateur est un mot constitué d’un nombre quelconque de

caractères pris dans la liste suivante :

 tous les caractères minuscules de a à z

 tous les caractères majuscules de A à Z

 tous les chiffres de 0 à 9

 le caractère _

 Pour être valable, un identificateur ne doit pas contenir d’autres

caractères que cette liste, et ne doit commencer par un chiffre.

 Remarque : Pour la lisibilité des programmes, il faut opter à des

choix qui doivent être simples et significatifs. Ainsi, MONT est un

meilleur choix que X pour désigner le montant d’une facture.

5

Identificateurs (2)

Exemples :

 Les identificateurs suivants sont valables :

Hellow , Ma_Procedure, _1, Numero2

 Ceux-ci ne le sont pas :

1var (commence par un chiffre)

Question ? (caractère ? interdit)

Arrêt (commence ê interdit)

Demi-mot (caractère - interdit)

Deux mots (espace interdit)

6

Nature

Constante

 Une constante est une donnée dont la valeur ne peut pas varier.

 Une constante ne peut être initialisée qu’à la déclaration.

Variables

 Les variables contiennent les données, les résultats et, en cours de

programme, certaines valeurs intermédiaires.

 Comme son nom l'indique, le contenu d'une variable peut être modifié au

cours d'un même programme.

 Une variable est une zone mémoire qui possède:

un nom (identificateur) + un type

7

Exemple d’objets algorithmiques

les objets algorithmiques utilisés dans un problème de

résolution d'une équation du premier degré à une seule

inconnue: ax + b =0.

Nom

Sens

Type

Utilisation Nature

Publicité

a

b

x

Premier coefficient de l'équation Réel non nul

Deuxième

l'équation

coefficient

de

Solution de l'équation

Réel

Réel

E

E

S

Var

Var

Var

8

Structure générale d’un algorithme

9

Structure générale d’un algorithme

-- Auteur

-- Date d’écriture

-- Fonction

: Nom de l’auteur

: Date d’écriture de l’algorithme

: Ce que doit faire l’algorithme

En-tête

Algorithme Nom_algorithme

Const

Liste des constantes avec leurs valeurs

Var

Liste des variables avec leurs types

--…

--…

Debut

Instruction 1

--…

Instruction 2

--…

...

Instruction n

--…

Fin

Ligne

commentaire

Partie

déclarative

Corps de

l’algorithme

10

Partie déclarative

Avant d'utiliser n'importe quel objet algorithmique, il

faut le déclarerau niveau de la partie déclarative de

l'algorithme.

Ces objets peuvent être de deux natures à savoir :

constante ou variable.

11

Définition des constantes

Const

identificateur (Type) = valeur

Exemple :

a (Entier) = 5

b (Réel) = 2.5

12

Définition des variables

sert à déclarer les différentes variables utilisées dans

l'algorithme.

Var

identificateur (Type)

Exemple :

Var

x (Entier)

y (Entier)

z (Réel)

r (Entier)

-- Dividende.

-- Diviseur différent de zéro.

-- Quotient.

-- Reste de la division.

Publicité

13

Corps de l’algorithme

Contient l’ensemble des instructions applicables sur l’ensemble

des objets algorithmiques déjà déclarés au niveau de la partie

divisent

précédente

essentiellement en trois catégories :

(déclarative). Ces

instructions

se

 Les instructions simples : Entrée de données, sortie de

résultats, affectation.

 Les structures décisionnelles (conditionnelles) : Ce sont des

structures de contrôle permettant de choisir entre les

traitements.

 Les structures itératives (répétitives) : Ce sont structures de

contrôle permettant de répéter un ensemble de traitements

autant de fois qu’on veut.

14

Les types de données simples

15

Types simples

Les types indiquent l'ensemble de valeurs que peut prendre une variable,

ainsi que les opérations qui sont autorisées.

Type

Valeurs possibles

Entier

Réel ou décimal

(l'ensemble des entiers relatifs )

-12 ; 0 ; 125 ; etc.

sous-ensemble de l'ensemble des nombres

rationnels

12.36 ; 8 ; 14.52 ; etc.

Booléen ou Logique

Vrai ou Faux

Caractère (pour les données alpha-

numériques)

les chiffres, les lettres minuscules et

majuscules et les symboles spéciaux

Chaîne de caractères

l’ensemble des chaînes de caractères que l’ont

peut former en juxtaposant des caractères

"Test + examen" "note"

16

Opérateurs

Une variable n’est complètement définie qu’après avoir

défini

l’ensemble de ses valeurs et les opérateurs qui

peuvent être appliqués sur ces valeurs. Généralement, il

y a un ensemble d’opérateurs pour chaque type de

données. Nous citons :

 les opérateurs arithmétiques,

 les opérateurs logiques,

 les opérateurs relationnels.

 opérateurs de chaînes de caractères

17

Opérateurs arithmétiques

Les opérateurs arithmétiques opèrent sur les données numériques

(entières ou réelles)

+

-

*

/

-

Addition

Soustraction

Multiplication

Division

Puissance

Moins unaire

(signe)

A+B

A-B

A*B

A/B

A**B

-A

18

Opérateurs Logiques (1)

Publicité

Les opérateurs logiques opèrent sur des données logiques:

NON - ET - OU - XOR

C

V

F

NON C

F

V

C1

C2

C1 ET C2

C1 OU C2

C1 XOR C2

V

V

F

F

V

F

V

F

V

F

F

F

V

V

V

F

F

V

V

F

19

Opérateurs Logiques (2)

Exercice :

Soient 3 variables logiques x, y et z. On suppose que ces variables ont

respectivement les valeurs vrai, faux, vrai. Quelle est la valeur de vérité

des expressions suivantes:

 Non (x et y)

 (x ou z) et ( y et z)

 ((x et non y) ou z) xor y

 Non ((x xor y) ou z)

20

Opérateurs relationnels

Les opérateurs relationnels servent à comparer deux variables et à

fournir un résultat vrai ou faux

<

<=

>

>=

=

<>

Inférieur à

Inférieur ou égal à

Supérieur à

Supérieur ou égal à

égal à

Différent de

21

Opérateurs relationnels

Exercice : Soient 3 variables entières x, y et z. On suppose que ces variables

ont respectivement les valeurs 2, 3 et 5. Quelle est la valeur de vérité des

expressions suivantes:

(x < y) ou (non (z<>x))

(x >= y) xor (x <> y)

22

Opérateurs de chaînes de caractères

<Chaine1> Concat <chaine2>

La concaténation de deux chaînes de caractères revoie une nouvelle chaîne

obtenue en juxtaposant ces deux chaînes

Exemple:

"ordinateur" concat "portable" = "ordinateurportable"

Longueur(<chaîne>)

renvoie le nombre de caractères contenus dans la chaîne

Remarque: il ne faut pas oublier le caractère ESPACE

23

Priorité des opérateurs

Publicité

Pour éviter les ambiguïtés, les opérateurs sont munis de priorités

suivant l'ordre ci-dessous:

Priorité 1 (la plus forte) : ()

Priorité 2

: Non

Priorité 3 : **

Priorité 4

Priorité 5

Priorité 6 (la plus faible) : < <= > >= <> =

: * / Mod div ET

: + - OU XOR

24

Les instructions simples

25

Instruction d'affectation (1)

L'opération d’affectation consiste à affecter une valeur à un objet.

<identificateur>  <valeur>

où valeur peut désigner :

 Une constante : mais qui a le même type que l'identificateur.

 Une variable : Exemple: Montant  Montant_Initial

 Une expression : Dont l'expression d'évaluation produit un résultat de

même type que l'identificateur. Exemple : Somme  5 + 10

Exemple: Nom  "ALKHAWARISMI"

 Avant l'exécution de cette opération, la valeur de la variable nom est la

chaîne vide

 après l'exécution de cette instruction la valeur de la variable nom

devient "ALKHAWARISMI".

26

Instruction d'affectation (2)

Exemple :

Écrire un algorithme permettant de calculer le nombre de caractères d'un

mot donné

Solution:

Algorithme calcul_du_nombre_de_caractères

Var

Nom (chaîne de caractères)

Nb_car (entier)

Debut

Nom  '"Mourad"

Nb_car  Longueur (Nom)

Fin

Pourquoi cet Algorithme est limité ?

• Il travaille toujours sur le même nom.

• Le résultat n'est pas affiché sur l'écran.

On a donc besoin d'instructions de saisie et d'affichage (Lecture/Écriture).

27

Instructions d'entrée et de sortie

Instruction de saisie (entrée d'information): permet de

récupérer une valeur sur un périphérique (clavier)

Lire <identificateur1, identificateur2,..>

Instruction d'affichage: permet l'édition d'une valeur sur un

périphérique de sortie (l'écran, l'imprimante).

Ecrire <expression1, expression2,...>

Exemples

• Lire (Nom) : L'ordinateur attend l'entrée du nom à partir du clavier.

• Ecrire (Nb_car): L'ordinateur affiche le contenu de la variable Nb_car.

28

Exemple

A partir de la saisie de 3 nombres écrire l'algorithme permettant de calculer

leur somme, leur produit et leur moyenne.

Algorithme Math

Var

N1, N2, N3, Som, Pro, Moy (Réel)

Début

écrire (''Entrer le premier nombre'')

lire (N1)

écrire (''Entrer le deuxième nombre'')

lire (N2)

écrire (''Entrer le troisième nombre'')

lire (N3)

Som  N1 + N2 + N3

Pro  N1 N2 N3

Moy  Som / 3 --ou Moy  (N1+N2+N3) /3

écrire ('' La somme est: '',Som)

écrire ('' Le produit est : '', Pro)

écrire ('' la moyenne est : '', Moy)

Fin

29