Université Mohammed V de Rabat
Ecole Supérieure de Technologie de Salé
Département Génie Urbain et Environnement
Licence Professionnelle Génie Civil
Introduction à
l’algorithmique
[Link]@[Link]
Objectifs
● Définition de l’algorithme
● Qu’est ce qu’une variable?
● Qu’est ce qu’un type ?
● Qu’est ce qu’une expression?
● Qu’est ce qu’une affectation?
● Lecture et écriture
[Link]@[Link] 2
La résolution informatique d'un problème
problème algorithme programme
[Link]@[Link] 3
La résolution informatique d'un problème
énoncé
Résultats d'un problème
Exécution du programme Expression de sa
réalisation
(ALGORITHME)
Transformation Programmation
en binaire éxécutable à l’aide d’un langage
Programme objet Programme source
Compilation
[Link]@[Link] 4
Qu’est-ce qu’un algorithme
Données Résultats
Algorithme
● Un algorithme est la description, dans un langage universel
(pseudo-langage), des opérations nécessaires pour résoudre
un problème
[Link]@[Link] 5
Notion de pseudo langage
● L'avantage du pseudo-langage est qu'il permet d'écrire tout algorithme de façon
formelle.
● La phase de programmation se trouvera nécessairement allégée, puisqu'elle se
résumera à adapter l'ensemble des opérations décrites aux spécificités du langage
utilisé.
[Link]@[Link] 6
Élaboration d’un algorithme
● Quatre phases principales:
■ Analyse du problème
■ Expression d'une solution en langage courant
■ Expression d'une solution en pseudo-langage
■ Tests et Vérification de l'adéquation de la solution
[Link]@[Link] 7
Structure d’un algorithme
● Elle est composée d’un entête et d’un corps
● L’entête spécifie:
■ Le nom de l’algorithme (Nom)
■ Son utilité (But)
■ Quelle sont les données « en entrée », c’est-à-dire les éléments qui sont indispensable à
son bon fonctionnement (Entrée)
■ Quelles sont les données en « sortie », c’est-à-dire les éléments calculés, produits par
l’algorithme (Sortie:)
[Link]@[Link] 8
Structure d’un algorithme
● Le corps est composé:
■ Du mot clés début
■ D’une suite d’instructions
■ Du mot clés fin
● Instruction est l’expression dans un pseudo-code ou dans un langage de
programmation d ’un ordre fourni à la machine.
● Les instructions manipulent des objets.
● Chaque objet possède trois qualificatifs : identificateur, type et une valeur
[Link]@[Link] 9
Formalisme
● Exemple de code :
Nom: addDeuxEntiers
But : additionner deux entiers a et b et mettre le résultat dans c
Entrée: a,b : entiers
Sortie: c : entiers
Début
cßa+b
Fin
[Link]@[Link] 10
Qu’est ce qu’une variable
● Une variable est une entité qui contient une information
■ Une variable possède un nom, on parle d’identifiants
■ Une variable possède une valeur
■ Une variable possède un type qui caractérise l’ensemble des valeurs que peut prendre la
variable
● L’ensemble des variables sont stockées dans la mémoire de l’ordinateur
[Link]@[Link] 11
Notions d’identificateur et type
● Les instructions manipulent des objets. Chaque objet possède trois qualificatifs :
identificateur, type et une valeur :
■ L’identificateur : est le nom de l ’objet, une suite de lettres et de chiffres dont le premier
caractère est une lettre. Exemples : Prix_unitaire, Taille, Couleur ...
[Link]@[Link] 12
Notions d’identificateur et type
■ Le type : détermine l ’ensemble des valeurs dans lequel l ’objet prend ses valeurs.
Exemples : entier, réel, caractère, chaîne de caractères
■ La valeur : de l ’objet est un élément quelconque de l’ensemble de définition décrit par
son type. Exemples : Prix_unitaire = 12345,5 ; Taille = 180
[Link]@[Link] 13
Les types simples
● Il y’a deux grande catégories de type simple:
■ Ceux dans le nombre des éléments est fini, les dénombrable
■ Et ceux dans le nombre des éléments est infinies, les indénombrables
■ En mathématiques, un ensemble est dit dénombrable, ou infini dénombrable, lorsque ses
éléments peuvent être listés sans omission ni répétition dans une suite indexée par les
entiers. Certains ensembles infinis, au contraire, contiennent « trop » d'éléments pour
être parcourus complètement par l'infinité des entiers et sont donc dits « non
dénombrables »
[Link]@[Link] 14
Les types simples
● Types simple dénombrable
■ Il y’a le type booléen, les variables ne peuvent prendre que les valeurs VRAI ou FAUX
■ Il y’a les caractères
■ Il y’a les entiers (positifs et négatifs)
■ Il y’a les réels
■ Il y’a les chaînes de caractères, par exemple «cours» ou «algorithmique»
[Link]@[Link] 15
Opérateur, opérande et expression...
● Un opérateur est un symbole d’opération qui permet d’agir sur des variables ou de
faire des calculs
● Un opérande est une entité (variable, constante ou expression…) utilisé par un
opérateur
● Une expression est une combinaison d’opérateur(s), et d’opérandes, elle est évaluée
durant l’exécution de l’algorithme, et possède une valeur et un type
[Link]@[Link] 16
Opérateur, opérande et expression...
● Par exemple dans a + b:
■ a est l’opérande gauche
■ + est l’opérateur
■ b est l’opérande droite
■ a+b est une expression
■ Si par exemple a vaut 2 et b 3, l’expression a+b vaut 5
■ Si par exemple a et b sont des entiers, l’expression a+b est un entier
[Link]@[Link] 17
Opérateur
● Un opérateur peut être unaire ou binaire
■ Unaire s’il n’admet qu’un seul opérande, par exemple l’opérateur non
■ Binaire s’il admet deux opérandes par exemple l’opérateur +
[Link]@[Link] 18
Opérateur
■ Par exemple l’opérateur + ne peut être utilisé qu’avec les types arithmétiques le type
chaîne de caractères
■ On ne peut pas additionner un entier et un caractère
■ Toute fois exceptionnellement dans certains cas on accepte d’utiliser un opérateur avec
deux opérandes de types différents, c’est par exemple le cas avec les types arithmétiques
(2+3.5)
[Link]@[Link] 19
Opérateur
● La signification d’un opérateur peut changer en fonction du type des opérandes
■ Par exemple l’opérateur + avec des entiers aura pour sens l’addition, mais avec de
chaîne de caractères aura pour sens concaténation
q 2+3 vaut 5
q «bonjour» + «tout le monde» vaut «bonjour tout le monde »
[Link]@[Link] 20
Opérateurs sur les types simples
Opérateur notation type des opérandes type du résultat
+ et – unaires +- entier ou réel celui de l'opérande
négation logique NON booléen booléen
Elévation à la entier ou réel entier ou réel
puissance
Multiplication * entier ou réel entier ou réel
Division entière DIV entier entier
Division / réel réel
Reste (modulo) MOD entier entier
Comparaison < <= >= entier ou réel entier ou réel
= ¹ tout type booléen
et logique ET booléen booléen
ou logique OU booléen booléen
[Link]@[Link] 21
Un exemple d’opérateur
● Pour les naturels et les entiers div et mod permettent respectivement de calculer une
division entière et le reste de cette division, par exemple:
■ 13 div 2 vaut 6
■ 13 mod 2 vaut 1
[Link]@[Link] 22
Priorité des opérateurs…
● Tout comme en arithmétique les opérations ont des priorités:
■ Par exemple * et / sont prioritaires sur + et –
● Pour les booléens, la priorité des opérateurs est non, et, ouExclusif et ou
[Link]@[Link] 23
Actions sur les variables
● On ne peut faire que deux choses avec une variable:
■ Obtenir son contenu (regarder le contenu du tiroir). Cela s’effectue simplement en
nommant la variable
■ Affecter un (nouveau) contenu (mettre une nouvelle information dans le tiroir)
[Link]@[Link] 24
Déclaration d’une variable
● Syntaxe
■ variables
■ Nom_variable : type;
[Link]@[Link] 25
Affectation
● L'affectation a pour rôle d'attribuer une valeur, résultat d'une évaluation, à une
variable. La valeur doit être compatible avec le type de la valeur à gauche de
l'affectation. Le symbole utilisé pour l'affectation est ¬
[Link]@[Link] 26
Affectation
● Syntaxe :
■ identifacteur_varaible ¬ valeur;
■ ou identifacteur_varaible : indique le nom de la variable
■ valeur : la valeur à affecter
■ Exemple : prix_total ¬ nb_kg * prix_du_kg
■ Si nb_kg est de type entier et prix_du_kg est de type réel alors prix_total doit être de
type réel.
[Link]@[Link] 27
Lecture et écriture
● Un algorithme peut avoir des interactions avec l’utilisateur
● Il peut afficher un résultat (du texte ou le contenu d’une variable) et demander à
l’utilisateur de saisir une information afin de la stocker dans une variable
[Link]@[Link] 28
Lecture et écriture
● En tant qu’informaticien on raisonne en se mettant « à la place de la machine »,
donc:
■ Pour afficher une information on utilise la commande écrire suivie entre parenthèses de
la chaîne de caractères entre guillemets et/ou des variables de type simple à afficher
séparées par des virgules, par exemple:
q Écrire (‘’la valeur de la variable a est’’,a)
[Link]@[Link] 29
Lecture et écriture
● Pour donner la possibilité à l’utilisateur de saisir une information on utilise la
commande lire suivie entre parenthèses de la variable de type simple qui va recevoir
la valeur saisie par l’utilisateur, par exemple :
■ lire (b)
[Link]@[Link] 30
Ce qu’il faut retenir
● Réaliser un algorithme, c’est exprimer, dans un langage précis (le langage
algorithmique), les règles de traitement d’un problème pour le soumettre à un
ordinateur (par un programme).
● Les données d’un programme sont mémorisées dans des variables qui sont des cases
mémoire.
● Une variable est un contenant, qui contient une et une seule valeur à un moment
donné.
[Link]@[Link] 31
Ce qu’il faut retenir
● Une variable est caractérisée par :
■ un identificateur (son nom)
■ une valeur (qui peut varier au cours du programme, sauf pour les constantes)
■ un type (qui détermine sa taille et les opérations possibles)
● Les instructions de base sont :
■ l'affectation permet de changer la valeur d'une variable.
■ la saisie permet d'assigner à une variable, une valeur entrée au clavier
■ l'affichage permet d'écrire le contenu d'une variable ou d'une expression à l'écran
[Link]@[Link] 32
Exemples de synthèse
● Exemple 1 : Calcul de la surface d’un rectangle
● Analyse :
■ Les trois étapes de cet algorithme :
q 1. Lecture de données, longueur et largeur
q 2. Calcul de la surface, longueur*largeur
q 3. Edition du résultat
[Link]@[Link] 33
Exemples de synthèse
Algorithme surface_rectangle;
Variables
longueur, largeur, surface : réel;
Début
Ecrire (‘’Donner les valeurs de la longueur et la largeur’’);
Lire (longueur, largeur);
surface ¬ longueur*largeur;
Ecrire (‘ la surface du rectangle est : ’, surface);
Fin
[Link]@[Link] 34
Exemples de synthèse
Algorithme surface_rectangle;
Variables
longueur, largeur : réel;
Début
Ecrire (‘’Donner les valeurs de la longueur et la largeur’’);
Lire (longueur, largeur);
Ecrire (‘ la surface du rectangle est : ’, longueur*largeur);
Fin
[Link]@[Link] 35
Exemples de synthèse
Exemple 1 : Calcul de la surface d’un rectangle
DIM longueur, largeur, surface as single
PRINT ’’Calcul de la surface d’un rectangle’’
INPUT ’’Donner la valeur de la longueur’’, longueur
INPUT ’’Donner la valeur de la largeur’’, largeur
surface = longueur*largeur
PRINT ‘’ la surface du rectangle est : ’’, surface
End
[Link]@[Link] 36
Exemples de synthèse
● Exemple 2 : euroVersDirham
● Analyse :
■ Les trois étapes de cet algorithme :
q 1. Lecture des données : VE, tauxC
q 2. Calcul du VD (valeur en dirham)
q 3. Edition du résultat
[Link]@[Link] 37
Exemples de synthèse
● Algorithme :
Algorithme euroVersDirham;
Variables VE, VD, tauxC : réel;
Début
Ecrire ( ‘’Donner les valeurs du VE et de tauxC’’);
Lire (VE, tauxC);
VD ¬ VE*tauxC;
Ecrire (‘ la valeur de VD est : ’,VD);
Fin
[Link]@[Link] 38
Commentaires
● Afin d'améliorer la lisibilité d'un algorithme, on peut utiliser des commentaires. Un
commentaire est une suite de caractères quelconques encadrée par les symboles /* et
*/
● Exemple : /* ceci est un commentaire */
[Link]@[Link] 39
Commentaires
/* le calcul du prix TTC */
Algorithme prix_ttc; /* entête de l ’algorithme */
Variables PH,TVA, PTTC : réel; /* déclaration des variables */
Début /* lecture des variables PH et TVA */
Ecrire (‘’ Donner les valeurs du PH et de la TVA’’);
Lire (PH, TVA);
PTTC ¬ PH*TVA; /* Calcul du PTTC */
Ecrire (‘’ le prix TTC est : ’’,PTTC); /* Edition du résultat */
Fin
[Link]@[Link] 40
Exercice
● Soient n et m deux entiers, écrire l ’algorithme qui permute les valeurs de n et m
(exemple : passer de n=10, m=15 à n=15, m=10)
[Link]@[Link] 41
Exercices
Algorithme permutation;
Variables X,Y : réel ;
Z : réel ; /* variable intermédiaire */
Début
Ecrire (‘ Donner les valeurs de X et de Y’); /* lecture des variables X et Y */
Lire (X, Y);
Ecrire (‘’ Avant permutation : X =’’,X, ‘’ Y=‘’ ,Y); /* permutation des valeurs des variables X et Y */
Z¬X;
X¬Y;
Y¬Z;
Ecrire (‘’ Après permutation : X =’’,X, ‘’ Y=‘‘ ,Y);
Fin
[Link]@[Link] 42
Université Mohammed V de Rabat
Ecole Supérieure de Technologie de Salé
Département Génie Urbain et Environnement
Licence Professionnelle Génie Civil
Chapitre 2 :
Les structures de contrôle
[Link]@[Link]
Objectifs
1. La structure alternative SI … ALORS …
SINON
2. La structure de choix multiple CAS ...
3. Les structures répétitives
– la boucle POUR
– la boucle TANT QUE
– la boucle REPETER
44
Objectifs
1. La structure alternative SI … ALORS …
SINON
2. La structure de choix multiple CAS ...
3. Les structures répétitives
– la boucle POUR
– la boucle TANT QUE
– la boucle REPETER
45
Enchaînement des actions
On utilisera cette structure lorsqu'une
e1 action doit succéder à une autre
T1
T Exemple : Calcul du prix TTC
s1
Algorithme :
Algorithme prix_ttc
e2 Variables PH,TVA, PTTC : réel;
Début
T2
T Ecrire(‘’Donner les valeurs du PH et de la TVA’’);
Lire (PH, TVA);
PTTC ¬ PH*TVA;
s2
Ecrire (‘’ le prix TCC est : ’’,PTTC);
Fin
46
Structure alternative ou conditionnelle
oui non
SI (Condition)
condition
Vraie
?
ALORS T1;
SINON T2;
T1 T2
FSI
suite du programme
La condition désigne une expression booléenne dont
la valeur est VRAI ou FAUX. T1 et T2 désignent
une suite d'instructions (pouvant elles mêmes être
des structures alternatives).
47
Structure alternative ou conditionnelle
Exemple 1 : A et B sont deux entiers. Écrire l ’algorithme qui
retourne la plus grande valeur de A et B ?
ALGORITHME MAXIMUM_DE_DEUX_NOMBRES;
VARIABLES
A, B : ENTIER; /* les deux nombres à comparer */
MAX : ENTIER; /* le plus grand */
DEBUT
ECRIRE(‘’Entrez les valeurs de A et B :’');
LIRE(A, B);
SI (A >= B)
ALORS MAX ¬ A;
SINON MAX ¬ B;
FSI /* Fin de la structure SI */
ECRIRE(‘’le maximum de ‘', A,’' et de ‘',B,’' est : ‘',MAX);
FIN
48
Structure alternative ou conditionnelle
Exemple 2 : Afficher la valeur absolue d ’un entier quelconque N
ALGORITHME Valeur_absolue
VARIABLES
N : ENTIER;
ABS : ENTIER; /* valeur absolue */
DEBUT
ECRIRE(‘’Entrez une valeur entière :’');
LIRE(N);
SI (N >=0)
ALORS ABS ¬ N;
SINON ABS ¬ -N;
FSI
ECRIRE( ’’la valeur absolue de ‘', N,’' est : ‘',ABS);
FIN
49
Structure alternative ou conditionnelle
Exercice 1 : L'utilisateur saisit un caractère, écrire l ’algorithme
qui teste s'il s'agit d'une lettre majuscule, si oui il renvoie cette
lettre en minuscule, sinon il renvoie un message d'erreur
Exercice 2: on veut résoudre, dans l’ensemble des nombres réels,
une équation du second degré à coefficients réels.
a, b et c sont des réels non nuls, écrire l ’algorithme qui retourne
les racines réelles de l équation suivante : ax2 + bx +c = 0
50
Objectifs
1. La structure alternative SI … ALORS …
SINON
2. La structure de choix multiple CAS ...
3. Les structures répétitives
– la boucle POUR
– la boucle TANT QUE
– la boucle REPETER
[Link]@[Link] 51
Structure alternative généralisée
Expression
T1 T2 T3 T4
Suivant la valeur de l'expression, un des traitements
T1, T2, T3 ou T4 est exécuté.
52
Structure alternative généralisée
En pseudo-langage, on écrira
CAS (expression)
valeur1 : T1;
valeur2 : DEBUT
T21;
T22;
FIN
valeur3 : T3;
valeur4 : T4;
AUTRE T_autre;
FIN CAS
53
Structure alternative généralisée
Exemple : On désire calculer le salaire net (SN) d'un employé en
tenant compte du nombre de personnes à charge. Le tableau des
déductions par rapport au nombre de personnes à charge est le suivant :
Nombre de Déductions du salaire
personnes à charge brut (SB)
0 20%
1 18%
2 15%
3 13%
4 ou 5 10%
6 et plus 08%
Ecrire l ’algorithme qui lit les données suivantes :
• le nombre de personnes à charge (pers_ch de type entier)
• le nombre d'heures de travail (nb_heur de type entier)
• le taux horaire (taux de type réel)
puis calcule le salaire net ?
54
Structure alternative généralisée
ALGORITHME exemple1_CAS
VARIABLES
SN, SB, Taux : réel;
nb_heur, pers_ch : entier;
déduction : réel;
DEBUT
ECRIRE( ’’le nombre de pers_ch ‘'); LIRE (pers_ch);
ECRIRE( ’’le nombre d heures ‘’); LIRE (nb_heur);
ECRIRE( ’’le taux horaire ‘'); LIRE (taux);
SB ¬ taux*nb_heur;
CAS (pers_ch)
0 : déduction ¬ 0.20*SB;
1 : déduction ¬ 0.18*SB;
2 : déduction ¬ 0.15*SB;
3 : déduction ¬ 0.13*SB;
4,5 : déduction ¬ 0.10*SB;
AUTRE déduction ¬ 0.08*SB;
FIN CAS
SN ¬ SB - déduction
ECRIRE(‘’ le salaire net est : ‘’ ,SN);
FIN
55
Structure alternative généralisée
Exercice : Écrire l ’algorithme qui lit un caractère et vérifie
s ’il est une lettre, un chiffre ou un caractère spécial.
ALGORITHME exemple2_CAS
VARIABLES
C : CARACTERE;
DEBUT
ECRIRE('Entrez un caractère :');
LIRE(C) ;
CAS (C)
‘ a ’ … ‘ z ’ , ‘ A ’ … ‘ Z ’ : ECRIRE(C , ’ est une lettre ’);
‘0’…‘9’ : ECRIRE(C , ’ est un chiffre ’);
AURTE : ECRIRE(C , ’ est un caractère spécial ’);
FIN CAS
FIN
56
Objectifs
1. La structure alternative SI … ALORS …
SINON
2. La structure de choix multiple CAS ...
3. Les structures répétitives
– la boucle POUR
– la boucle TANT QUE
– la boucle REPETER
[Link]@[Link] 57
Structures itératives
La notion d'itération est l'une des notions fondamentales de
l'algorithmique. Elle est utilisée lorsque l'on doit exercer
plusieurs fois le même traitement sur un même objet.
initialisation
Il existe trois structures de condition
répétition :
Vraie ?
non
oui
1. La boucle POUR bloc d'instructions
2. La boucle TANT QUE
3. La boucle REPETER
modification
suite du programme
58
La boucle POUR
Pour variable_contrôle = valeur_min jusque valeur_max Faire
Début
Bloc d ’instructions;
Fin
Ou
• variable_de_contrôle est la variable de contrôle
(compteur)
• valeur_min et valeur_max indique respectivement
la valeur minimale est la valeur maximale
59
La boucle POUR
Exemple 1 : Soit n un entier, afficher les valeurs 1,
2, …, n
ALGORITHME exemple1_POUR
VARIABLES
n : ENTIER;
i : ENTIER; /* variable de contrôle */
DEBUT
ECRIRE(‘’Entrez une valeur entière :’');
LIRE(n);
POUR i=1 jusque n FAIRE
début
ECRIRE(i);
Fin
FIN
60
La boucle POUR
Exemple 2 : Calculer n! (n!= 1*2*3* … *n)
ALGORITHME exemple2_POUR
VARIABLES
n, fac : ENTIER;
i : ENTIER; /* variable de contrôle */
DEBUT
ECRIRE('Entrez une valeur entière :');
LIRE(n);
fac ¬1
POUR i=1 jusque n FAIRE
début
fac ¬fac*i
Fin
ECRIRE( ’factoriel de ', n,' est : ',fac);
FIN
61
La boucle Tant que
TANT QUE Condition FAIRE
DEBUT e
T1; VRAI
FIN Condition
Lorsque la condition a pour valeur FAUX
VRAI, on exécute le traitement T1 T1
puis on revient tester la condition.
Il est donc nécessaire que l'action T1
s
modifie la condition sinon l'itération
ne s'arrêtera pas.
Lorsque la condition a pour valeur
FAUX, le traitement séquentiel
continue. L'itération est terminée
62
La boucle Tant que
Exemple : Une suite S de nombres non nuls est saisie au clavier.
La fin de S est marquée par un nombre nul. Écrire l’algorithme qui
ALGORITHME
affiche exemple_Tant-que
les variables (Pos) et (Neg) représentant respectivement le
nombreVARIABLES
de valeurs positives et le nombre de valeurs négatives
pos, neg ,n : ENTIER;
/* i : ENTIER; variable de contrôle */
DEBUT
pos ¬ 0 ; neg ¬ 0
ECRIRE(‘’Entrez une valeur entière : (0 pour terminer)‘’);
LIRE(n);
TANT QUE (n<>0) FAIRE
début /* début de tant que */
SI n<0 ALORS neg ¬neg +1
SINON pos ¬pos +1
ECRIRE(‘’Entrez une valeur entière : (0 pour terminer)‘’);
LIRE(n);
fin /* fin de tant que */
… /* afficher les valeurs de Pos et neg */
FIN
63
La boucle REPETER
REPETER
Bloc d ’instructions;
JUSQU’A CE QUE (expression soit Vraie)
b lo c d '
in s tru c tio n s
O ui
c o n d itio n
N on v ra ie
s u ite d u p ro g ra m m e
64
Exercices
Exercice 1: Calcul de la somme des n premiers entiers positifs
Calculer la somme des n premiers entiers positifs, par additions successives des
entiers : Somme = 1+2+…+N.
/* La structure Pour */
ALGORITHME Somme_v1
VARIABLES
somme ,N : ENTIER;
i : ENTIER; /* variable de contrôle */
DEBUT
Somme ¬ 0;
ECRIRE('Entrez la valeur de N');
LIRE(N);
Pour i=1 jusqu ’a N Faire
début /* début de Pour */
Somme ¬ Somme +i;
fin /* fin de Pour */
ECRIRE(‘ Somme = ’, Somme);
FIN
65
Exercices
/* La structure Tant que */
ALGORITHME Somme_v2
VARIABLES
somme ,N : ENTIER;
i : ENTIER; /* variable de contrôle */
DEBUT
Somme ¬ 0 ;
ECRIRE('Entrez la valeur de N');
LIRE(N);
i=1;
Tant que (i<=N) Faire
début /* début de Tant que */
Somme ¬ Somme +i;
i=i+1;
fin /* fin de Tant que */
ECRIRE(‘ Somme = ’, Somme);
FIN
66
Exercices
/* La structure Répéter */
ALGORITHME Somme_v2
VARIABLES
somme ,N : ENTIER;
i : ENTIER; /* variable de contrôle */
DEBUT
Somme ¬ 0 ;
ECRIRE('Entrez la valeur de N');
LIRE(N);
i=1;
Répéter
Somme ¬ Somme +i;
i=i+1;
Jusque ’a ce que (i>N)
ECRIRE(‘ Somme = ’, Somme);
FIN
67
Exercices
Exercice 1
Écrire l'algorithme qui calcule le carré d'un entier saisi au
clavier.
Exercice 2
Écrire l'algorithme qui saisie un prix unitaire, une quantité et
qui calcule le prix total.
Exercice 3
Écrire l'algorithme qui lit deux nombres et les imprime dans
l’ordre croissant de leurs valeurs.
Exercice 4
Soient trois nombres x, y et z. Écrire un algorithme qui
détermine et imprime le plus grand des trois.
68
Exercices
A partir d’un nombre lu en données, on détermine
un montant net par application d’une remise de :
§ 1.5 % si le montant est compris entre 2000 et
5000 DH
§ 2.5 % si le montant est compris entre 5001 et
10000 DH
§ 3 % si le montant excède 10000 DH
Écrire l'algorithme qui lit en entrée le montant et
fournit en sortie la remise net.
69
Exercices
Exercice 6
Donner la trace de l ’algorithme suivant :
Variables I, J : entier ;
Début
I ¬ 1 ;
Ecrire(‘Itération ‘,I);
Répéter
J ¬ 1 ;
Tant que (J<4) Faire Début de tant que
Ecrire(‘Itération ‘,J); J ¬ J+1 ;
Ecrire(I, J) ;
Fin tant que
I ¬ I+1 ;
Jusqu’à (I=5) ;
Fin
70