Vous êtes sur la page 1sur 22

29/09/2022

Université de Kairouan
Institut Supérieur des Mathématiques Appliquées et de l'Informatique de Kairouan

Algorithmique et structures
de données
Fairouz Fakhfakh

fairouz.fakhfakh@redcad.org

Volume horaire & Evaluation Ou: Organisatio

 Volume horaire

Cours Travaux Dirigés


Chaque semaine Chaque semaine

 Evaluation

Devoir Surveillé (DS) Examen


Dans la semaine des DSs Dans la semaine des Examens

1
29/09/2022

Plan

 Chapitre 1 : Concepts de base de l’algorithmique

 Chapitre 2 : Les structures algorithmiques

 Chapitre 3 : Les tableaux

 Chapitre 4 : Les procédures et les fonctions

 Chapitre 5 : Les enregistrements

Notion d’algorithme (1/3)


 Algorithme== Recette

1. Casser six œufs dans un récipient


2. Battre les blancs et les jaunes avec une fourchette
3. Mettre de l'huile à chauffer dans une poêle sur la cuisinière
4. Lorsque la poêle est chaude, y verser le contenu du récipient
5. Enlever la poêle de la cuisinière quand l'omelette est cuite

2
29/09/2022

Notion d’algorithme(2/3)
 Algorithme== Méthode
Calcul de la somme de 3 nombres
avec une calculatrice
1. Appuyer sur la touche C
2. Taper le premier nombre
3. Appuyer sur la touche +
4. Taper le deuxième nombre
5. Appuyer sur la touche +
6. Taper le troisième nombre
7. Appuyer sur la touche =

Notion d’algorithme (3/3)

Un algorithme est une suite ordonnée


d’étapes qui indique la démarche à suivre
pour résoudre un problème donné.

3
29/09/2022

Notion de programme (1/2)


 Un programme informatique est un ensemble d'instructions et
destinées à être exécutées par un ordinateur.
 C’est un code écrit par un informaticien dans un langage de
programmation.

Données Ordinateur

Programme

Résultats

Utilisateur

Notion de programme (2/2)


Exemples :
 Programme de calcul de la moyenne des étudiants
 Utilisateur: l’enseignant
 Données: les notes de contrôle continu, de T.P et de l’examen final
 Résultats: la moyenne
 Programme de paie
 Utilisateur: Secrétaire
 Données: noms des employés, grades, situations familiales, nombre
d’heures supplémentaires, etc.
 Résultats: Les résultats seront imprimés sur les différents bulletins de
paie : identification de l’employé, salaire brut, etc.

4
29/09/2022

Etapes d’un algorithme

1. Préparation du traitement
Données nécessaires à la résolution du problème

2. Traitement
Résolution pas à pas, après décomposition en sous-
problèmes si nécessaire

3. Edition des résultats


Impression des résultats à l’écran ou dans un fichier
9

Structure d’un algorithme


Parie 1
Parie 2

10

5
29/09/2022

Un premier Algorithme

11

1. CONCEPTS DE VARIABLES ET DE
TYPES

12

6
29/09/2022

Les variables

Définition: Lors de l’exécution d’un algorithme, on va avoir besoin de


stocker des données, voire des résultats. Pour cela, on utilise des variables.

 Une variable est comme une boîte, repérée par un nom, qui va contenir une
information.
 Dans l’écriture d’un algorithme, on précise dès le départ le nom des
variables utilisées en indiquant leur type
Cette étape est appelée déclaration des variables.
Déclaration simple Déclaration multiple
<identificateur>: type <liste d’identificateurs>: type
 Exemples :
x : entier
resultat, y, a, b : reel
13

Une valeur : Une fois la variable définie, une valeur


lui est affectée.
Une adresse : C’est l’emplacement dans la
mémoire de l’ordinateur, où est stockée la valeur de
la variable.

Déclaration d’une constante

 Il s’agit d’une instruction permettant de réserver de l’espace


mémoire pour stocker des données dont la valeur est fixée pour
tout l’algorithme
 Syntaxe:

Constante <identificateur>= <valeur>

 Exemples:
 Constante Nmax=100
g=9.81
Pi=3.14
14

7
29/09/2022

Les types de base


 Le type entier:
 Une variable est dite entière si elle prend ses valeurs dans Z
(ensemble des entiers relatifs)
 Le type réel ou décimal:
 Une variable est dite réelle si elle prend ses valeurs dans IR
(ensemble des nombres réels)
 Le type caractère:
 Pour manipuler des caractères alphabétiques et numériques
 Le type chaîne de caractères:
 Pour manipuler des chaines de caractères permettant de
représenter des mots ou des phrases
 Le type booléen ou logique:
 On y stocke uniquement les valeurs logiques VRAI et FAUX.

15

Les types de base


 Le type entier supporte les opérations suivantes:
Opération Notation
Addition +
Soustraction -
Multiplication *
Division entière DIV
Reste de la division entière (modulo) MOD

 Le type réel supporte les opérations suivantes:


Opération Notation
Addition +
Soustraction -
Multiplication *
Division /

16

8
29/09/2022

Les types de base

 Le type caractère :La liste comprend :


 Les lettres : 'A'.. 'Z', 'a'.. 'z‘
 Les chiffres : '0'.. '9‘
 Les caractères spéciaux : '/'; '*' ; '? ' ; '&' ; etc.
 Chaque caractère est défini par son numéro d’ordre unique
compris entre 0 et 255.
 Exemple :
Var C : CARACTERE
C  ‘A‘
Var NOM : CHAINE[30] → Chaine de 30 caractères maximum

17

Les types de base

 Le type caractère supporte les opérations suivantes:


Opération Notation
Egal =
Différent #
Inférieur <
Inférieur ou égal <=
Supérieur >
Supérieur ou égal >=

 La comparaison entre les caractères se fait selon leur codes ASCII


 Le type chaîne de caractères supporte les mêmes opérations
que le type caractère.

18

9
29/09/2022

Les types de base :Exemple


 Exemple:
Variables :
note, moyenne, somme :Réel;
age : Entier;
grade : Caractère
ok : Booléen

somme  0.0
age 19
grade  'O'
ok  faux
19

Les types de base

 Une variable de type logique ou booléen ne peut


prendre que les valeurs ”Vrai” ou ”Faux”.
 Les opérations utilisables sur les booléens sont réalisées à
l’aide des connecteurs logiques : ET (pour le et logique),
OU (pour le ou logique) et NON (pour le non logique).
(Exp1 opérateur Exp2)
NON (Exp)
 Exemple :
3>5 vaut FAUX
(2 < 3) Ou (3 ≠ 5) vaut VRAI
20

10
29/09/2022

Les opérateurs
 Un opérateur est un signe qui peut relier deux
expressions, pour produire un résultat. Les opérateurs
possibles dépendent du type des valeurs qui sont en jeu.
On distingue plusieurs types d'opérateurs :

VariableResultat  Expression1 opérateur Expression2;

 Une expression est soit une variable, une constante, ou


des expressions réunies par des opérateurs
 Des parenthèses "( )" peuvent être utilisées dans les
expressions pour forcer l’associativité.

21

Les opérateurs
1. Les opérateurs arithmétiques :
+ : addition (degré de priorité = 3)
- : soustraction (degré de priorité = 3)
* : multiplication (degré de priorité = 2)
/ : division (degré de priorité = 2)
div : division entière (degré de priorité = 2)
mod: reste de la division entière (degré de priorité = 1)
N.B : Les opérateurs DIV et MOD ne peuvent pas être appliqués sur les
nombres réels.
Exemple :
Moyenne  ( Moyenne_Algo + Moyenne_Math ) / 2 ;
Les parenthèses "( )" sont utilisées pour forcer l’associativité.
22

11
29/09/2022

Les opérateurs
2. Les opérateurs relationnels :
Un opérateur relationnel sert à comparer deux expressions
arithmétiques. Le résultat est soit vrai soit faux (de type booléen).
< : strictement inférieur
<= : inférieur ou égal
> : strictement supérieur
>= : supérieur ou égal
= : égal
<> : différent

(Expression1 opérateur Expression2)

23

Les opérateurs
3. Les opérateurs logiques :
 Les opérateurs logiques servent à combiner des conditions logiques
(ou sous-conditions) pour obtenir une condition plus générale.
 L'évaluation de chaque condition (élémentaire ou non) est soit vrai soit
faux (type logique ou booléen).
ET : les deux conditions combinées doivent être satisfaites (vrai)
OU : l'une au moins des deux conditions combinées doit être satisfaite
(vrai)
NON : donne l'inverse de l'évaluation logique de la condition

(Exp1 opérateur Exp2)


NON (Exp)

24

12
29/09/2022

Les opérateurs

 Il existe un ordre de priorité entre ces opérateurs logiques:


 La négation NON est prioritaire par rapport à la conjonction
ET
 La conjonction ET est prioritaire par rapport à la disjonction
OU

25

Exercice1

 Evaluer les expressions logiques suivantes, avec


(a, b, c, d) = (2, 3, 5, 10) et (X,Y) = (Vrai, Faux).
 1) (a < b) ET (a < c)
 2) NON ((a < b) ET (a <c))
 3) NON (a < b) ET (a < c)
 4) (a < c) ET (c = d / 2)
 5) (d / a = c) = Y
 6) (d / c = b) = Y
 7) (d / c = b) = X
 8) (a < b) ET (d < c)
 9) (a < b) ET (d < c) = X

26

13
29/09/2022

Exercice1 (correction)

 Evaluer les expressions logiques suivantes, avec


(a, b, c, d) = (2, 3, 5, 10) et (X,Y) = (Vrai, Faux).
 1) (a < b) ET (a < c) Vrai
 2) NON ((a < b) ET (a <c)) Faux
 3) NON (a < b) ET (a < c) Faux
 4) (a < c) ET (c = d / 2) Vrai
 5) (d / a = c) = Y Faux
 6) (d / c = b) = Y Vrai
 7) (d / c = b) = X Faux
 8) (a < b) ET (d < c) Faux
 9) (a < b) ET (d < c) = X Faux

27

2. LES INSTRUCTIONS
D’AFFECTATION, LECTURE ET
ÉCRITURE
n seance 1
(2022)

28

14
29/09/2022

L’affectation

 Cette instruction consiste à doter une variable d’une


valeur appartenant à son domaine.
 Elle se note par le signe ←
 Syntaxe:
<identificateur> ←<expression> ou <constante> ou
<identificateur>
 Exemples:
 ville ← " Sousse"
 val ← 50: Mettre la valeur 50 dans la case mémoire identifiée
par val
 nbr ← nbr * 2

29

Exercice 1

 Evaluer le contenu des =variables a, b, c :


Séquence 1 Séquence 2 Séquence 3
a←4 a←4 a←7
b ←5 b ←5 b ←3
a ←b c ←b b← a+b
b ←a b ←a a←b-a
a ←c b←b-a

a=5 a =5 a =3
b=5 b=4 b =7
C=5

30

15
29/09/2022

Exercice 2
 Quelles seront les valeurs des variables A et B après
l’exécution des instructions suivantes:
Instruction Contenu des variables
A 5
A B
B7
A 5 5 -
A A+ B
BA -B B7 5 7
A A– B AA+B 12 7
B A-B 12 5
AA–B 7 5

 Cette séquence d’instructions permet de permuter les valeurs


de A et B

31

Instruction d’écriture

 Instruction d’écriture : ECRIRE


 permet au programme de communiquer des valeurs à
l’utilisateur en les affichant à l’écran
 Syntaxe
Ecrire (< liste des identifiants des variables , des constantes ou
expressions> )
 Exemples:
ECRIRE("La valeur de 3*2 est égale à", 3*2 )
ECRIRE(" La valeur de res est égale à ", res)
ECRIRE ("La somme de ", nombre, " et ", val , " est ",
nombre + val)

32

16
29/09/2022

Instruction de lecture

 Instruction de lecture: LIRE


 Elle permet à l’utilisateur de rentrer des valeurs au
clavier pour qu’elles soient utilisées par le programme.
 Syntaxe

Lire(Variable1, Variable2, ...)

 Exemple
 Lire(A): lire une valeur à partir du périphérique
d’entrée, qui est le clavier par défaut, et la ranger dans la
variable identifiée par A.
33

Exemple: Lire(X)
? X
 Dès que le programme rencontre l’instruction
Lire, l’exécution s’interrompt, en attendant la
frappe d’une valeur au clavier.
 Dés que la touche Entrée (Enter) est
frappée, l’exécution reprend.

5 X

5
34

17
29/09/2022

Exemples
X
 Écrire (X) 5
5
 Écrire("Bonjour")
Bonjour

 Écrire("la valeur est" ,X)


La valeur
est 5

35

Structure générale d’un algorithme

Déclaration des constantes

Déclaration des types

Déclaration des variables

Traitement des données

36

18
29/09/2022

Exercice 3

 Ecrire l'algorithme qui permet de saisir le rayon d’un


cercle puis déterminer et afficher le périmètre ainsi que
la surface de ce cercle.

37

Plan

 Chapitre 1 : Concepts de base de l’algorithmique

 Chapitre 2 : Les structures algorithmiques

 Chapitre 3 : Les tableaux

 Chapitre 4 : Les procédures et les fonctions

 Chapitre 5 : Les enregistrements

38

19
29/09/2022

La structure conditionnelle
 On a besoin parfois de choisir entre deux ou plusieurs
traitements selon la réalisation ou non d’une certaine
condition, d’où la notion de traitement CONDITIONEL.
Décision
ADMIS

MOY
Condition

Décision

ECHEC
39

La structure conditionnelle
 Les conditions sont basées sur les tests en utilisant les
opérateurs relationnels (<,<,≤,≥) et sont reliées par les
opérateurs logiques (ET,OU).
 La syntaxe de l'instruction conditionnelle de base est la
suivante :

Si (condition) alors  La condition peut être élémentaire ou


composée.
action1
 Les Actions représentent des instructions
[sinon de différents types (affectation, lecture,
écriture, conditionnelle, …).
action2]
 Chacune d'elles peut être élémentaire ou
finsi composée.
40

20
29/09/2022

Les structures conditionnelles


imbriquées
 Il s'agit d'utiliser une ou Décision
plusieurs instructions
conditionnelles dans le ADMIS
bloc "si" ou "sinon" d'une
MOY
autre instruction Décision
conditionnelle.
Contrôle
 Aucune limite n'est
imposée concernant les
Décision
niveaux d'imbrication
identifiés. Échec

41

Les structures conditionnelles


imbriquées
si (condition1) alors
si (condition2) alors

si (condition3) alors

instruction1;
instruction2;

finsi
instruction3;

sinon
si (condition4) alors
instruction4;
finsi
finsi
finsi 42

21
29/09/2022

Exercice 1
 Ecrire l'algorithme qui permet de saisir un nombre puis
déterminer s’il appartient à un intervalle donné, sachant
que les extrémités de l’intervalle sont fixées par
l’utilisateur.

43

22

Vous aimerez peut-être aussi