Vous êtes sur la page 1sur 33

Module: Informatique1

www.cu-tipaza.dz

Chapitre 3: Algorithmique

Introduction
1

2 Structure d’un algorithme

3 Les structures de contrôle

4 Les structures répétitives

CU-Tipaza
www.cu-tipaza.dz

Structure d’un algorithme

CU-Tipaza
www.cu-tipaza.dz

Structure d’un algorithme

Notre premier algorithme


Exemple : Calculer (A+B+C)/3
▪ Langage naturel
o Entrer A
o Entrer B
o Entrer C
o M prends la valeur (A+B+C)/3
o Afficher M

CU-Tipaza
www.cu-tipaza.dz

Structure d’un algorithme

Exemples d’algorithmes
Exemple 1 : On veut calculer la moyenne générale d’un étudiant connaissant son
nom et prénom et ses 3 notes : Contrôle continue, travaux pratique et EMD.
Etape 1 :
▪ Données nécessaires : Le nom, prénom, Contrôle continue, travaux pratique
et EMD
▪ Objectif : calculer la moyenne générale,

CU-Tipaza
www.cu-tipaza.dz

Structure d’un algorithme

Pseudo algorithme :
▪ Lire le Nom et Prénom
▪ Lire Contrôle continue, Travaux pratique et Examen.
▪ Calculer la Somme = Contrôle Continue + Travaux pratique + Examen.
▪ Calculer la moyenne = Somme / 3.
▪ Afficher la moyenne.

CU-Tipaza
www.cu-tipaza.dz

Structure d’un algorithme

Notre premier algorithme


Algorithme exemple1;
Var CC, TP, EMD, Moyenne : réel
Début
Lire(CC);
Lire(TP);
Lire(EMD);
Moyenne ← (CC+TP+EMD)/3;
Ecrire(Moyenne);
Fin
CU-Tipaza
www.cu-tipaza.dz

Structure d’un algorithme

Les commentaires dans les algorithmes


Pour la lisibilité de l'algorithme on peut insérer des commentaires à n'importe quel endroit de l'algorithme.
Syntaxe :
//Mettre les commentaires ici en une seule ligne
{ Mettre les commentaires ici en multi-lignes }
Exemple :
//Lecture des notes CC, TP et EMD
Lire(CC, TP, EMD);
{Calculer la somme }
Somme ← CC + TP + EMD;
//Calculer la moyenne
Moyenne ← Somme / 3;
//Afficher le résultat
Ecrire(Moyenne);
CU-Tipaza
www.cu-tipaza.dz

Structure d’un algorithme

Lecture des données dans les algorithmes


Cette action permet de fournir des données saisies au programme selon les étapes suivantes :
1. Arrête l'exécution du programme.
2. Lit la ou les valeurs introduites par l'utilisateur (Clavier).
3. Range la ou les valeurs lues dans les cases mémoires associées aux variables spécifiées.
Syntaxe : LIRE(<liste_des_variables>);
plusieurs variables séparées par des virgules.
Exemple :
Lire(CC);

CU-Tipaza
www.cu-tipaza.dz

Structure d’un algorithme

Affichage des données dans les algorithmes


Cette action permet d'afficher les données résultats du programme sur l'écran.
Syntaxe : ECRIRE(<liste_des_variables>);
La liste des variables désigne une ou plusieurs variables séparées par des virgules.
Exemple :
Ecrire(‘’Veuillez donner la note du contrôle continue : ‘‘);
Lire(CC);
Ecrire ( ‘’Minimum=‘’ , min , ‘’ Maximum=‘’ , max ) ;
Ecrire ( ‘’Moyenne=‘’ , (Emd1+Emd2+Emd3)/3 ) ;

CU-Tipaza
www.cu-tipaza.dz

Structure d’un algorithme

Trace d’un algorithme


L'état d'une variable mémoire représente la valeur en mémoire de cette variable
à un instant donné.
L'état d'une variable mémoire n'est définie que avant ou après l'exécution d'une
action.
La trace ou le déroulement d'un algorithme est donc une suite d'états des
variables mémoires manipulées dans cet algorithme.

CU-Tipaza
www.cu-tipaza.dz

Structure d’un algorithme

Trace d’un algorithme


Exemple 1 :
Donner la trace de l'algorithme de résolution de Ax + B = 0 pour A=7 et B=21
Var A, B, X : réel ;
Début
Lire(A);
Lire(B);
X ← -B / A;
Ecrire(x);
Fin.
CU-Tipaza
www.cu-tipaza.dz

Les structures de contrôle

CU-Tipaza
www.cu-tipaza.dz

Introduction

Une structure de contrôle est une action qui permet d'exécuter un ensemble
d'actions lorsque une condition spécifique est vérifiée.
Il existe deux types de structure de contrôle:
• Actions conditionnelles
• Actions répétitives

CU-Tipaza
www.cu-tipaza.dz

Actions conditionnelles

Une action conditionnelle est une action qui ne s'exécute que lorsqu'une
condition est vérifiée.
Syntaxe:
Si conditions alors
actions;
FSi
L'action ou les actions <actions> s'exécutent lorsque la condition <conditions>
est vraie.
Rien ne s'exécute lorsque la condition <conditions> est fausse.
CU-Tipaza
www.cu-tipaza.dz

Actions conditionnelles

Exemple 1 : On veut calculer la moyenne générale d’un étudiant connaissant son


nom et prénom et ses 3 notes : Contrôle continue, travaux pratique et EMD.
Lorsque l’étudiant ai une moyenne supérieure ou égale à 10, on affiche le message
supplémentaire suivant : L’étudiant est admis.

CU-Tipaza
www.cu-tipaza.dz

Actions conditionnelles

Algorithme exemple1;
Var CC, TP, EMD, Moyenne : réel
Début
Lire(CC);
Lire(TP);
Lire(EMD);
Moyenne ← (CC+TP+EMD)/3;
Ecrire(‘’La moyenne est : ‘‘, Moyenne);
si moyenne >= 10 alors
Ecrire(‘‘Etudiant admis’’);
finsi
Fin

CU-Tipaza
www.cu-tipaza.dz

Action conditionnelle alternée

Une action conditionnelle alternée est une action qui exécute l'action1 lorsque la
condition est vraie et exécute l'action2 dans le cas contraire.
Notation :
Si conditions alors
actions1
Sinon
actions2;
FSi;
- L'action <actions1> s'exécute lorsque la condition <condition> est vraie.
- L'action <actions2> s'exécute lorsque la condition <conditions> est fausse.

CU-Tipaza
www.cu-tipaza.dz

Action conditionnelle alternée

Exemple 1 : On veut calculer la moyenne générale d’un étudiant connaissant son nom et prénom et ses 3
notes : Contrôle continue, travaux pratique et EMD. Vérifier si l’étudiant est admis ou non..
Algorithme exemple1;
Var CC, TP, EMD, Moyenne : réel
Début
Lire(CC);
Lire(TP);
Lire(EMD);
Moyenne (CC+TP+EMD)/3;
Ecrire(‘’La moyenne est : ‘‘, Moyenne);
si moyenne >= 10 alors
Ecrire(‘’Etudiant admis’’)
sinon
Ecrire(‘‘Etudiant non admis’’);
fsi
Fin

CU-Tipaza
www.cu-tipaza.dz

Action conditionnelle alternée

Exemple 2 : Ecrire un algorithme qui demande deux nombres distincts à l’utilisateur et qui
affiche le plus petit des 2 nombres.
Remarque : Si les deux nombres sont égaux, on affiche un message d’erreur.

CU-Tipaza
www.cu-tipaza.dz

Action conditionnelle alternée


Algorithme exemple2;
Var nombre1, nombre2 : réel
Début
Ecrire(‘‘Veuillez donner deux nombres distincts : ’’);
Lire(nombre1);
Lire(nombre2);
si nombre1 = nombre2 alors
Ecrire(‘’Erreur ! Les deux nombres sont égaux’’)
sinon
Si nombre1 < nombre2 alors
Ecrire(‘’Le plus petit des deux nombres est ‘’, nombre1)
sinon
Ecrire(‘’Le plus petit des deux nombres est ‘‘, nombre2);
fsi;
fsi;
Fin

CU-Tipaza
www.cu-tipaza.dz

Action conditionnelle imbriquée

On peut combiner les deux types d'action conditionnelle de manière séparée ou imbriquée.
Si condition1 Alors
Action1 ;
Fsi;
Si condition2 Alors
Action2;
Si condition3 Alors
action3
Sinon
Si condition4 Alors
action4 ;
Fsi;
Fsi ;
Fsi;

CU-Tipaza
www.cu-tipaza.dz

Action conditionnelle imbriquée

Remarque : Parfois la condition n’est pas simple, elle s’appelle alors expression logique
composée. Une expression logique composée est une combinaison de plusieurs opérations de
comparaison utilisant les opérateurs logique de base qui sont la négation (non), l’union (Ou)
et l’intersection (et).
Exemple 3 :
Déterminer si un nombre A donné se trouve dans l’intervalle [-20.5, 50.5].

CU-Tipaza
www.cu-tipaza.dz

Action conditionnelle imbriquée

Algorithme intervalle1;
Var A : réel;
Début
Lire(A);
si (A>=-20,5) et (A<=50.5) alors
Ecrire(A, ‘’ appartient à l’’intervalle’’)
sinon
Ecrire(A,’’ n’’appartient pas à l’’intervalle’’);
fsi;
Fin

CU-Tipaza
www.cu-tipaza.dz

Structure à choix multiples


1. Structure SELON

L’instruction case permet de faire un choix parmi plusieurs possibilités, suivant la valeur
d’une expression de choix appelée sélecteur. Cette expression doit être de type ordinal
1. Structure SELON
La structure SELON permet d'effectuer tel ou tel traitement en fonction de la valeur du
sélecteur(variable ou donnée) .

CU-Tipaza
www.cu-tipaza.dz

Structure à choix multiples


1. Structure SELON

Syntaxe:
Selon sélecteur faire
valeur 1 : <Traitement1>
valeur 2 : <Traitement2>
……
……
valeur N : <Traitement N>
SINON
<Traitement R>
Fin selon
CU-Tipaza
www.cu-tipaza.dz

Structure à choix multiples


1. Structure SELON

Explication :
Si le selecteur vaut valeur 1, alors on exécute le traitement1 et on quitte la structure Selon.
Si le sélecteur et différent de valeur1, on évalue la valeur2...et ainsi de suite.
Si aucune n'est vraie on effectue l'action sinon (au cas où l'action sinon n'existe pas alors
aucune action n'est exécutée !).

Exemple:
Écrire un algorithme qui à partir d’un nombre compris entre 1 et 7 affiche le jour
correspondant ?

CU-Tipaza
www.cu-tipaza.dz

Structure à choix multiples


1. Structure SELON
Algorithme jours_semaine
Var jour : entier ;
Début
Ecrire ("Saisir une valeur : ") ;
Lire(jour) ;
SELON jour faire
1 : Ecrire("Lundi")
2 : Ecrire("Mardi")
3 : Ecrire("Mercredi")
4 : Ecrire("Jeudi")
5 : Ecrire("Vendredi")
6 : Ecrire("Samedi")
7 : Ecrire("Dianche")
SINON : Ecrire("Jour invalide")
Fin SELON
Fin

CU-Tipaza
www.cu-tipaza.dz

Structure à choix multiples


2. Structure SELONQUE

2. Structure SELONQUE
La structure SELONQUE permet d'effectuer tel ou tel traitement en fonction de la valeur des
conditions 1 ou 2 ou ..n .

CU-Tipaza
www.cu-tipaza.dz

Structure à choix multiples


2. Structure SELONQUE

Syntaxe
SELONQUE
<condition 1> : <action 1>
<condition 2> : <action 2>
...
<condition n> : <action n>
SINON : <action_sinon>
FIN SELONQUE

CU-Tipaza
www.cu-tipaza.dz

Structure à choix multiples


2. Structure SELONQUE

Explication :
Si la condition 1 est vraie, alors on exécute l'action correspondante et on quitte la structure selon-que
Si la condition 1 est fausse, on évalue la condition 2...et ainsi de suite.
Si aucune n'est vraie on effectue l'action sinon ( au cas où l'action sinon n'existe pas alors aucune action
n'est exécutée !).
Exemple:
Écrire un algorithme qui à partir d’une note affiche la mention correspondant ?

CU-Tipaza
www.cu-tipaza.dz

Structure à choix multiples


2. Structure SELONQUE

Algorithme mention
Var note : réel ;
Début
Ecrire ("Saisir une note : ") ;
Lire(note) ;
SELON A faire
note<10 : Ecrire("Non admin")
note<12 : Ecrire("passable")
note<14 : Ecrire("assez bien")
note<16 : Ecrire("Bien")
note<18 : Ecrire("très bien")
note<=20:Ecrire("Excellent")
SINON : Ecrire("Note invalide")
Fin
CU-Tipaza
www.cu-tipaza.dz

Vous aimerez peut-être aussi