Vous êtes sur la page 1sur 10

Module III : Algorithmique et programmation Chap2: Instructions et structures de contrôle de

base

CHAPITRE2 : INSTRUCTIONS ET STRUCTURES


DE CONTRÔLE DE BASE

I – Notions de données
Les algorithmes agissent sur des données, qui peuvent varier, ou rester constantes.
Les données peuvent être de types différents : numérique, alphanumérique ou
booléen.

1- Les constantes
Il est possible de données un nom à une valeur, par exemple le nom pi à 3,14. la
valeur de la constante pi ne changera pas tout le long de l'algorithme.

2- Les variables
Une variable est un symbole qui désigne le nom d’un espace mémoire utilisé pour
stocker un élément d’information. C’est une donnée dont la valeur peut être
changée durant le déroulement de l’algorithme.
Exemple
Vous disposez de deux boites, la boite X et la boite Y et d'un nombre de boules. Vous
exécutez les instructions suivantes :
1- Mettez dans la boite X trois boules
2- Mettez dans la boite Y deux boules
3- Ajoutez dans la boite X deux boules
4- Prenez le contenu de la boite Y et ajoutez-le dans la boite X
5- Enlevez une boule de la boite X
Quel sera le contenu des deux boites ?

Remarque:
Lorsqu'on crée une variable, il faut préciser ce que l'on veut mettre dedans (le type
de la variable).

3- Les types de données


Le type d’une donnée caractérise les valeurs que peut prendre cette donnée ainsi
que les actions autorisées sur celle-ci.

3-1 Type numérique


La variable reçoit des nombres.
Exemples:
1- Type Entier : Si A est une variable de type entier, alors elle accepte des
valeurs comme: -5, -1, 0, 2, 10, 2007, 512, etc.
2 - Type réel : Si A est une variable de type réel, alors elle accepte des
valeurs comme : -5 , -4.2 , 0.9 , 2.32 , 10 12 , -5.3×1042 , 215 , etc.
Lycée Abo Hayan Tawhidi 92 Enseignant : R. Alhyane
Module III : Algorithmique et programmation Chap2: Instructions et structures de contrôle de
base

3-2 Type alphanumérique


a- Type caractère
La variable peut contenir un nombre ou un caractère.
EX: Si la variable A est de type caractère, alors elle accepte des valeurs
comme : 'a', 'B', '?', '+', '5' , etc.

b- Type chaîne de caractères


La variable peut contenir aussi une chaîne de caractères.
EX: Si la variable est de type chaîne de caractères, alors elle accepte des
valeurs comme 'TCS2', 'Agadir', 'Hassan', 'Note1', '28', etc.

Remarques:
- Une chaîne de caractères est toujours notée entre deux apostrophes.
- Ne pas confondre entre un nombre et une chaîne de caractère ( si A=26 et
b='26' on a : A ≠ B ).

c- Type booléen
La variable prend uniquement deux valeurs VRAI ou FAUX.

4- Fonctions définies

Fonction Description
Quotient(N1,N2)
Retourne le quotient entier de la division de N1 par N2.
EX : Quotient(7,2) retourne la valeur 3.
Reste(N1,N2)
Retourne le reste de la division de N1 par N2.
EX : Reste(7,2) retourne la valeur 1.
Abs(X)
Retourne la valeur absolue du nombre X.
EX : Abs(-5) retourne la valeur 5.
Racine(X)
Retourne la racine carrée du nombre X.
EX : Racine(9) retourne la valeur 3.
Rang(caractère)
Retourne l’ordre associé au caractère indiqué.
EX : Rang(‘A’) retourne la valeur 65.
Car(code)
Retourne le caractère correspondant au code indiqué.
EX : Car(65) retourne le caractère A.

II – Structure d'un algorithme


Lycée Abo Hayan Tawhidi 93 Enseignant : R. Alhyane
Module III : Algorithmique et programmation Chap2: Instructions et structures de contrôle de
base

Exemple:
L’algorithme qui calcule la surface d’un rectangle à partir de sa longueur et son
périmètre.

Algorithme surface;
En tête de l'algorithme
Variable
A, B : REEL;
Bloc de déclaration des données
P, S : REEL;
DEBUT
ECRIRE('Donnez la longueur A: ');
LIRE(A);
ECRIRE('Donnez le périmètre P: '); Bloc
LIRE(P); D'instructions
B  (P-2*A)/2 ;
S  A * B ;
ECRIRE('La surface du rectangle est: ',S);
FIN.

Un algorithme se compose des parties suivantes :


 Un en tête constitué de mot Algorithme, suivi d'un nom identifiant
l'algorithme et du symbole ';'.

 Un bloc de déclaration des données, divisé en deux parties :


● La partie des constantes contiendra la déclaration des données de nature
constante.
Exemple :
Constante
Pi = 3.14 ;
● La partie des variables contiendra la déclaration des données de nature
variable.
Exemple :
Variable
s:REEL ;
Rayon,L:REEL ;
 Un bloc d’instructions qui englobe toutes les instructions constituant
l'algorithme.

Remarques:
- La fin d'une instruction déclenche l'exécution de l'instruction suivante
- Deux instructions successives sont séparées par le symbole ';'

Lycée Abo Hayan Tawhidi 94 Enseignant : R. Alhyane


Module III : Algorithmique et programmation Chap2: Instructions et structures de contrôle de
base

III – Expression et opérateurs

Exemple d'expressions de type numérique : A  5 , A  2 B , …


Définitions :
- Une expression est un ensemble de valeurs, reliées par des opérateurs, et
équivalente à une seule valeur.
- Un opérateur est un signe qui relie deux valeurs pour produire un résultat.
3-1 Opérateurs numériques
Ce sont les quatre opérateurs arithmétiques :
+ addition - soustraction * multiplication / division

Le signe ^ signifie "puissance". ( x^2=x2 )


Les parenthèses sont utilisées avec les mêmes règles qu'en mathématiques.

3-2 Opérateur alphanumérique: & ou +


Cet opérateur permet de concaténer ou de joindre deux chaînes de caractères.
Exemple:
A, B et C sont des variables de type chaîne de caractères sachant que:
A  'pro' ;
B  'gramme' ;

L'instruction C  A & B ; (ou C  A+B ;) permettra de joindre la chaîne de


caractères 'pro' à la chaîne de caractères 'gramme', la valeur de C est donc
'programme'.

3-3 Opérateurs logiques


Il s'agit du ET, du OU et du NON.
Exemple:
A, B , C et D sont des variables de type logique et X variable de type numérique.
Soient les instructions:
X  13 ; ( Attribuer à la variable X la valeur 13 )
A  X < 4 ;
B  X > 10 ;
C  A et B ;
D  A ou B ;

Puisque 13 < 4 est FAUX et 13 > 10 est VRAI, on aura donc la valeur de A: FAUX et
la valeur de B: VRAI
La valeur de C est FAUX car la valeur de A est FAUX
La valeur de D est VRAI car la valeur de B est VRAI, et cela suffit.
Lycée Abo Hayan Tawhidi 95 Enseignant : R. Alhyane
Module III : Algorithmique et programmation Chap2: Instructions et structures de contrôle de
base

Bon à savoir
A B A et B A ou B
Vrai Vrai Vrai Vrai
Vrai Faux Faux Vrai
Faux Vrai Faux Vrai
Faux Faux Faux Faux

IV – Les instructions de base

4-1 L’écriture
C'est l'action qui permet à l'algorithme d’afficher, à l’écran, pour son utilisateur des
messages ou des résultats de calculs.

Syntaxe: Ecrire (Val1, Val2, …, Valn)


Où Val1, Val2, …, Valn est une suite d'objet (constantes, variables, expressions, ou
constantes chaînes de caractères) transmise à l'utilisateur à l'écran.

Exemples:
Ecrire('Donner le rayon du cercle');
Ecrire('La surface du cercle est:',Pi*R*R);

4-2 La lecture
La lecture est l'opération de base qui consiste à lire des données tapées au clavier.

Syntaxe: Lire (V1, V2, …, Vn)


Où V1, V2, …, Vn sont des données variables, pas forcément de même type.
Lors de l'exécution de l'action Lire, L'algorithme attend que l'utilisateur fournisse,
à partir de clavier, les valeurs respectives des variables V1, V2, …, Vn.

Exemples:
Lire (A);
Lire (note1,note2);
Remarque :
Les instructions de lecture et écriture (Entrées/Sortie) permettent de programmer
la communication de l’ordinateur avec l'extérieur.

4-3 Affectation
C'est l'action qui permet d'attribuer à une variable, une valeur résultant de
l'évaluation d'une expression arithmétique ou logique. Cette valeur doit être
compatible avec le type de la variable destinataire.
Lycée Abo Hayan Tawhidi 96 Enseignant : R. Alhyane
Module III : Algorithmique et programmation Chap2: Instructions et structures de contrôle de
base

Syntaxe: Nom_variable  Expression


Exemples :
Soient A et B deux variables de type numérique.
- L'instruction : A  6 attribue la valeur 6 à la variable A
- L'instruction : B  A attribue la valeur de A à la variable B. La valeur de B
est maintenant 6 (la valeur de A ne change pas).
- L'instruction : B  A + 2 attribue la valeur 6+2 à la variable B. 8 sera la
valeur de B, mais la valeur de A restera inchangée.
- L'instruction : B  B + 1 attribue la valeur 8+1 à la variable B. 9 sera la
valeur de B.

Soit la variable Nom qui est de type chaîne de caractères.


- L'instruction : Nom  'kari' attribue la valeur kari à la variable Nom
- L'instruction : Nom  Nom + 'mi' attribue la valeur karimi à la variable Nom.

V – La structure séquentielle

La structure séquentielle est une structure dont les opérations s'enchaînent les
unes aux autres et s'exécutent une seule fois au cours de l'algorithme.

Exemple:
Pour le calcul de la surface d'un rectangle, l'algorithme correspondant sera:
Lire la longueur
Lire la largeur
Faire le calcul Longueur × Largeur
Ecrire le résultat

Exercices :
Ex1 : Ecris un algorithme qui lit trois valeurs entières au clavier et qui affiche leur
moyenne. (Version2 : en se servant de deux variables seulement).

Ex2 : Ecris un algorithme qui lit les coordonnées de deux points A(Xa,Ya), B(Xb,Yb)
qui sont entrées au clavier et donne la valeur de la distance AB.

Ex3 : Ecris un algorithme qui demande le nom de l’utilisateur et affiche un message


pour lui souhaiter la bienvenue.
Exemple : On entre ‘Ali’ et l’algorithme affiche : Bonjour Ali, et bienvenue.

Lycée Abo Hayan Tawhidi 97 Enseignant : R. Alhyane


Module III : Algorithmique et programmation Chap2: Instructions et structures de contrôle de
base

Ex4 : Ecris un algorithme qui demande à l'utilisateur la valeur d'une durée


exprimée en secondes et qui affiche sa correspondance en heures minutes
secondes.
Donner une valeur d’une durée (en secondes) : 3800 s
Sa correspondance : 1 heure 3 minutes 20 secondes.

VI – La structure sélective

La structure sélective permet d'exécuter telles instructions ou telles autres si des


conditions sont remplies.

6-1 L’organigramme
L'organigramme est la représentation graphique d'un algorithme.
Pour le construire on utilise des symboles normalisés.

Exemple de formes utilisées:

Début ou Fin Traitement Lecture et Ecriture Test

6-2 Alternative simple (choix unaire)


Syntaxe: SI Condition ALORS Instructions FINSI

SI Condition ALORS
Instruction 1 ;
Instruction 2 ;
........
Instruction n ;
FINSI
Si Condition est vérifiée alors le bloc instructions sera exécuté, sinon il sera ignoré.
Exemples:
- Si(note > 0) ET (note < 14) alors
Ecrire ('Assez bien comme résultat') ;
FINSI

- Si(note ≥ 10) alors


Ecrire ('Admis') ;
FINSI
Remarque : Si note<10 on veut afficher Non admis ?!
6-3 Alternative complète (choix binaire)
Syntaxe: SI Condition ALORS InstructionsA SINON InstructionsB FINSI
SI Condition ALORS
Instruction A1 ;
........
Lycée Abo Hayan Tawhidi 98 Enseignant : R. Alhyane
Module III : Algorithmique et programmation Chap2: Instructions et structures de contrôle de
base

Instruction An ;
SINON
Instruction B1 ;
........
Instruction Bn ;
FINSI
Si Condition est vérifiée alors le bloc InstructionsA sera exécuté et le bloc
InstructionsB sera ignoré, sinon le bloc InstructionsA sera ignoré et le bloc
InstructionsB sera exécuté.

Exemples: Non Oui


Note>=1
Si(note >= 10) alors
Ecrire ('Admis’) ;
Sinon Ecrire ('Non admis’) Ecrire ('Admis’)
Ecrire ('Non admis’) ;
FINSI

Exercice :
Ecris un algorithme qui retourne si une donnée numérique est paire ou impaire, en
utilisant les instructions Quotient et Reste.

6-4 Alternative imbriquées


SI Condition1 ALORS
SI Condition2 ALORS
Instruction A1 ;
........
Instruction An ;
FINSI
SINON
Instruction B1 ;
........
Instruction Bn ;
FINSI
Exercice :
Ecris un algorithme qui lit la note d’un élève et qui affiche :
Faible si : la note <10
Passable si : 10 <= la note < 12
Bien si : la note >= 12

6-5 Choix multiple


Syntaxe:
CAS Expression VAUT
VAL1 : Instruction 1 ;
Lycée Abo Hayan Tawhidi 99 Enseignant : R. Alhyane
Module III : Algorithmique et programmation Chap2: Instructions et structures de contrôle de
base

VAL2 : Instruction 2 ;
................
VALn : Instruction n ;
Autre : Instructions x ;
FINCAS
Si Expression vaut une valeur VALi alors c'est le bloc Instructions i qui sera
exécuté et tous les autres blocs seront ignorés.
Si Expression n'a aucune valeur parmi VAL1, …, VALn, c'est le bloc d'instructions
x après la rubrique Autre qui sera exécuté et les autres blocs seront ignorés.

Exemple:
Lire(N)

CAS N Vaut
1: Ecrire('Lundi') ;
2: Ecrire('Mardi') ;
3: Ecrire('Mercredi') ;
4: Ecrire('Jeudi') ;
5: Ecrire('Vendredi') ;
6: Ecrire('Samedi') ;
7: Ecrire('Dimanche') ;
Autre: Ecrire('Erreur') ;

FINCAS

Exercice1:
Ecrivez un algorithme qui lit une observation et qui affiche :
Bonjour Monsieur si observation = « M » 
Bonjour Madame si observation = « Mme » 
Bonjour Mademoiselle si observation = « Mlle » 
Bonjour Monsieur, Madame si observation = Autre 

Exercice2:
Ecrivez un algorithme qui réalise au choix la somme, la différence, le produit ou la
division de deux données numériques, avec un "dialogue" de ce type :

1- Addition
2- Différence
3- Multiplication
4- Division
Donnez votre choix(1/2/3/4) : 1
Donnez le premier nombre : 5
Donnez le deuxième nombre : 10
La somme des deux nombres est : 15

Lycée Abo Hayan Tawhidi 100 Enseignant : R. Alhyane


Module III : Algorithmique et programmation Chap2: Instructions et structures de contrôle de
base

Lycée Abo Hayan Tawhidi 101 Enseignant : R. Alhyane