Académique Documents
Professionnel Documents
Culture Documents
Hassan SILKAN
Faculté des Sciences El Jadida
1
Plan du cours
Rappel :
Outils de base ..
Structures alternatives et structures itératives
Les fonctions
Les pointeurs
Les tableaux
2
Plan de la séance 1
Définition et structure d’un algorithme
Structures Alternatives
Structures itératives
3
Définition d’un algorithme
Un algorithme est la description détaillée de la
résolution d’un problème.
4
Exemple d’algorithme
Pb: Aller de la maison au travail
Monter dans la voiture
Démarrer et avancer
Tourner à la première à droite
S'arrêter au feu et attendre le vert
Avancer jusqu'au 3e carrefour
Prendre la 2e à droite
S’arrêter au 3ème immeuble
Monter au 1er étage
Entrer au bureau
5
Structure d’un algorithme
Un algorithme est composé d’une entête et d’un corps:
L’entête est composée de :
Algorithme (mot clef) : le nom de l’algorithme.
Déclarations (mots clef) : déclarations des variables,
constantes, fonctions…etc utilisées dans l’algorithme
Le corps est composé de :
Début ( mot clef) : marque le début du traitement
une suite d’instructions élémentaires
Fin (mot clef) : marque la fin du traitement et la fin de
l’algorithme
6
Structure d’un algorithme
Un algorithme est composé d’une entête et d’un corps:
Algorithme nom_algorithme
Déclaration :
Partie déclaration
Déclaration des constantes
Déclaration des variables
début
Partie traitement
Instructions
fin 7
Structure d’un algorithme : Exemple1
Problème2 : Donner l’algorithme qui calcule et affiche le
résultat de l’addition de deux entiers
Algorithme : addition
Déclarations: x, y, somme : entier
Début
lire(x)
lire(y)
somme x + y
ecrire(somme)
Fin
8
Structure d’un algorithme : Exemple2
Problème2 : Donner l’algorithme qui calcule et affiche la
surface d’un disque
Algorithme surface
Déclarations:
PI = 3.14
air, rayon : réel
début
lire(rayon)
air rayon*rayon*PI
ecrire(air)
fin 9
Variables
Définition : une variable est une entité qui contient une
information. Elle est caractérisée par :
Exemples:
Somme, prix_brut, x1, x_1 10
Types de données
Le type d’une variable caractérise :
L’ensemble des valeurs que peut prendre la variable
L’ensemble des actions que l’on peut effectuer sur
la variable
Lorsqu’une variable apparaît dans l’entête d’un algorithme
on lui associe un type en utilisant la syntaxe suivante :
Identificateur : type
Exemples :
prix_produit : réel
nom_produit : chaîne de caractères
11
Types de données
Règles d’utilisation des types de données :
Une fois qu’un type de données est associé à une
variable, cette variable ne peut plus en changer
12
Types de données : dénombrables
Booléen : les valeurs de ces variables sont VRAI ou
FAUX. Exemple :
Apte, Valide : booléen
Caractère : les variables ont comme valeur un seul
caractère (lettre, chiffre et caractère spécial). Exemple :
symbole : caractère
Intervalle : les variables ne peuvent prendre que les
valeurs entières définies dans cet intervalle. Exemple :
Mois : 1 .. 12
Heure : 1 .. 24
13
Types de données : Enuméré
Les variables ne peuvent prendre que les valeurs
explicitées
Si on veut utiliser des énumérés, on doit définir le type
dans l’entête de l’algorithme en donnant toutes les
valeurs de ce type de la façon suivante :
nom du type = {valeur1, valeur2, ..., valeurn}
Exemples :
Moyen_transport : {velo, moto, voiture , bus, train, avion}
moyen_transport_utilise : Moyen_transport
14
Types de données : non-dénombrables
Entier : l’ensemble des entiers relatifs.
temperature : entier
Naturel : l’ensemble des entiers naturels.
Age, poids : naturel
Réel : l’ensemble des nombres réels ().
racine_carree, taille : réel
Chaîne de caractères : les variables ont comme valeur
un suite de caractères.
nom, prenom : chaîne de caractères
15
Instructions de lecture et d’écriture
L’instruction de lecture permet de saisir des données à partir d’un
dispositif d’entrée (clavier, …etc.)Les données saisies seront stockeés
dans les variables fournies comme paramètres de la fonction « lire() »
suivant la syntaxe :
lire(V1, V2, ..., VN)
Exemple :
lire(x), lire(y) ou bien lire(x, y)
17
Opérateurs, opérandes et expressions
Exemples : somme x + y
19
Opérateurs arithmétiques
On retrouve les opérateurs classiques :
Addition, Soustraction
Multiplication Division
Avec en plus pour les entiers div et mod, qui permettent
respectivement de calculer le quotient d’une division
entière et le reste de cette division
Exemple :
11 div 4 2
11 mod 4 3
20
Opérateurs de comparaisons
On retrouve les opérateurs classiques :
> strictement supérieur, >= supérieur ou égal
< strictement inférieur, <= inférieur ou égal
= égal, différent
Ce sont des opérateurs binaires dont la syntaxe est :
experssion1 op expression2
21
Opérateurs booléens ou logiques
NON Logique :
A NON(A)
Vrai Faux
Faux Vrai
ET Logique :
A B A ET B
Vrai Vrai Vrai
Faux Vrai Faux
Vrai Faux Faux
Faux Faux Faux
22
Opérateurs booléens ou logiques
OU Logique :
A B A OU B
Vrai Vrai Vrai
Faux Vrai Vrai
Vrai Faux Vrai
Faux Faux Faux
23
Priorité des opérateurs
1. () []
2. NON -(unaire)
3. * / div mod
4. + -(binaire)
5. < <= > >=
6. =
7. ET
8. OU
9.
24
Actions sur les variables
Les actions possibles sur les variables sont :
Affecter une valeur ou changer sa valeur :
En utilisant la fonction lire().
Exemple : lire(x)
En utilisant l’opérateur d’affectation symbolisé par ‘’ suivant
la syntaxe suivante : identificateur expression
Exemple : somme x + y
25
Exemple
Écrire un algorithme permettant d’échanger les valeurs de
deux variables A et B, quel que soit leur contenu préalable.
Algorithme : permutation
Déclarations: A, B, Aide : entier
Début
lire(A, B)
Aide A
A B
B Aide
Ecrire(A, B)
Fin
26
Structures alternatives
Les structures alternatives sont des instructions qui
permettent de choisir entre plusieurs traitements
27
Structures alternatives
Première forme:
si (condition) alors
instruction
finsi
Exemple :
Valeur_Absolue_A A
si (A < 0) alors
Valeur_Absolue_A - A
finsi
28
Structures alternatives
Deuxième forme:
si (condition) alors
instruction_1
sinon
instruction_2
finsi
30
Structures alternatives
Donner un algorithme qui calcule le prix TTC d’un produit à
partir de son prix HT et la valeur de la TVA. Sachant qu’il existe
5 classes de la TVA.
Indice TVA
A 0
B 0.05
C 0.1
D 0.15
E 0.2
31
Structures alternatives
Algorithme : calcul_prix_ttc
Déclarations :
prix_ht, tva, prix_ttc : réel
indice_tva : caractère
Début
lire(prix_ht, indice_tva)
32
Structures alternatives
selon (indice_tva)
cas ‘A’ : prix_tcc prix_ht
Ecrire (prix_ttc)
cas ‘B ’ : prix_tcc prix_ht + (prix_ht * 0.05)
Ecrire (prix_ttc)
cas ‘C ’ : prix_tcc prix_ht + (prix_ht * 0.1)
Ecrire (prix_ttc)
cas ‘D ’ : prix_tcc prix_ht + (prix_ht * 0.15)
Ecrire (prix_ttc)
cas ‘E ’ : prix_tcc prix_ht + (prix_ht * 0.2)
Ecrire (prix_ttc)
Autrement : Ecrire(Erreur d’indice de la TVA ! )
finselon
Fin 33
Structures itératives
Les structures itératives sont des instructions qui
permettent de réaliser (répéter) un traitement plusieurs
fois
34
Structures itératives
Première forme : la boucle pour
pour i allant de val_ini à val_fin faire
instruction(s)
finpour
1 1 1
Sn 1 2
4 9 n
36
Structures itératives
Algorithme : somme
Déclarations: n, i : entier
Sn : réel
Début
lire(n)
Sn 0
si (n > 0) alors
pour i allant de 1 à n faire
Sn Sn + 1 / (i * i)
finpour
ecrire(" le résultat est : " , Sn)
sinon
ecrire(" Erreur!! N doit être positif ")
finsi
Fin
37
Structures itératives
Deuxième forme : la boucle tantque
tantque (condition) faire
instruction(s)
fintq
Le nombre de répétition n’est pas connu à l’avance, mais on
connaît la condition d’arrêt (quand l’expression logique devient
fausse)
L’exécution du traitement dépend de la vérification de
la condition
La condition d’arrêt se trouve au début de la boucle. Ce qui veut
dire que le traitement peut ne jamais être exécuter
38
Structures itératives
Exemple de la deuxième forme : la boucle tant que
39
Structures itératives
Algorithme : fact_sup_n
Déclarations : e, fact, n : entiers
Début
ecrire(" Saisir n (entier) > 0 : ")
lire(n)
si (n > 0) alors
e0
fact 1
tant que (fact < n ) faire
ee+1
fact fact * e
fintq
ecrire("le plus petit entier dont le factoriel est > =", n," est :", e)
sinon
ecrire("Erreur !! n doit être strictement positif ")
finsi
Fin
40
Structures itératives
Troisième forme : la boucle répéter
répéter
instruction(s)
jusqu’à (condition)
Comme la boucle tant que, on ne connaît pas le nombre de
répétition, mais on connaît la condition d’arrêt
L’exécution du traitement dépend de la vérification de
la condition
La condition d’arrêt se trouve à la fin de la boucle. Ce qui veut
dire que le traitement va être exécuter au moins une fois
41
Structures itératives
Exemple de la troisième forme : la boucle répéter
42
Structures itératives
Algorithme : multiple_r_inf_n
Déclarations :
r, n : entiers
multiple_r : entier
Début
répéter
saisir(r, n)
jusqu’à ( (r >0) et (n>r) )
multiple_r r
répéter
multiple_r multiple_r + r
jusqu’à ( multiple_r > (n*n) )
multiple_r multiple_r - r
Afficher(multiple_r)
Fin
43