Académique Documents
Professionnel Documents
Culture Documents
1
Chapitre III. ALGORITHMIQUE ET PASCAL ESCF
Un algorithme est une méthode qui sert à résoudre un problème donné. C’est une suite
ordonnée d’opérations élémentaires écrites dans un langage proche du naturel et manipulant
un ensemble de données pour réaliser une tâche déterminée (Voir la figure ci-dessous).
Données
Opérations
élémentaires
Résultats
Exemple : Le traitement qui consiste à calculer l’aire S d’un cercle selon la formule S=
R2 nécessite l’entrée d’une information (le rayon R) et fournira après le calcul (une suite
d’opérations de multiplication) un résultat : l’aire S.
Un algorithme n’est pas directement utilisable par la machine. Il représente une phase intermédiaire
entre l’analyse du problème et le développement du programme (voir la figure ci-dessous).
D’une façon générale, un algorithme est une suite d’opérations (on parlera d’instruction
lorsqu’il s’agira de programmation) élémentaires devant être exécutés dans un ordre donné,
pour accomplir une tâche donnée.
Exemple :
Avez-vous déjà ouvert un livre de recettes de cuisine ?
2
Chapitre III. ALGORITHMIQUE ET PASCAL ESCF
Nous pouvons constater dans cet exemple simple que l’ordre des opérations a de
l’importance. En effet, on ne peut intervertir les opérations 1 et 2, ou encore 2 et 3 et ainsi de
suite.
1- En-tête : Elle est constitué du mot clé « Algorithme » suivi de son nom « Nom-
Algorithme »
2- Déclaration : Elle est réservée pour la déclaration des différentes constantes et variables
utilisées par le traitement. Les constantes seront nommés et initialisés et les variables
seront nommés et leurs types seront indiqués.
3- Suite d’opérations: Elle représente le traitement qui est encadré par les deux mots clés
« début » et « fin ».
Algorithme : nom-Algorithme
Déclaration :
Début
Opération 1 ;
Opération 2 ;
………..………..
Opération N ;
Fin
3
Chapitre III. ALGORITHMIQUE ET PASCAL ESCF
2 VARIABLES ET CONSTANTES
Il faut noter qu’une variable est un emplacement mémoire accessible par une adresse
(l’étiquette de la variable) qui contient une valeur qui varie durant l’exécution du programme
alors qu’une constante est un emplacement dont la valeur ne varie pas.
Une variable ou une constante doit toujours posséder un nom appelé identificateur qui doit
être aussi explicite que possible. La règle consiste à construire les noms de variables et de
constantes en n’utilisant que des caractères alphabétiques, des chiffres et le symbole de
soulignement « _ ». Un identificateur doit toujours commencer par une lettre et ne doit jamais
contenir d’espace.
Exemple :
Prix ttc, 27xyz sont des noms incorrects car le premier contient un espace et le deuxième
commence par des chiffres.
Les variables peuvent être de différents types, nous étudions seulement ceux les plus simples.
Voir le tableau suivant pour des exemples sur les types et leurs tailles dans la RAM.
Exemple :
Constantes
Pi= 3.14159 ;
Variables
4
Chapitre III. ALGORITHMIQUE ET PASCAL ESCF
3 OPÉRATIONS ET STRUCTURES
Syntaxe :
Variable ← expression ;
surface ← × rayon2 ;
Remarque : une instruction d’affectation ne modifie que la variable qui est situé à
gauche de la flèche.
Exercice 1 (avec solution) : Quelles seront les valeurs des variables A et B après
l’exécution des instructions suivantes?
Remarque : les instructions sont numérotées pour utiliser ces numéros dans le tableau
d’exécution.
Algorithme Exo1 ;
A, B : Entier ;
Début
1 A←1;
2 B←A+3;
3 A←A+1;
4 B←A–4;
Fin
Variables
Instructions A B
1 1 \
2 1 4
3 2 4
4 2 -2
5
Chapitre III. ALGORITHMIQUE ET PASCAL ESCF
Algorithme Exo2 ;
A, B, C : Entier ;
Début
A←5;
C←A+B;
A←2;
C←C–A;
A← 2.5 ;
Fin
Repense
Exercice 3 :
L’algorithme suivant est-il correct ? Si votre réponse est ‘non’, proposez les
corrections possibles.
Algorithme Exo3
Variable
A, B, C, D : chaine de caractères ;
Début
A ← ‘Bonjour’ ;
B ← ‘A’ ;
C←A;
D ← Bonjour ;
Fin
Dans n’importe quel programme, des échanges d’informations ont lieu entre l’utilisateur et la
machine. Ces échanges sont appelés opérations d’entrée-sortie. La saisie de données
6
Chapitre III. ALGORITHMIQUE ET PASCAL ESCF
correspond à une entrée d’information (lecture) faite généralement par le clavier. L’affichage
à l’écran des résultats du traitement de ces données correspond à une sortie (écriture).
Exemple :
A. Opération de lecture
Pour introduire des valeurs à l’ordinateur via le clavier, on utilise l’instruction de lecture qui
a la syntaxe suivante :
Syntaxe :
lire (liste-variables) ;
Où liste-variables est une variable ou une suite de variables séparées par des virgules.
Exemple :
Lire (x) ;
Lire (x, y) ;
B. Opération d’écriture
Pour afficher les résultats et les commentaires du programme, on fait appel à l’instruction
d’écriture dont la syntaxe est la suivante :
Syntaxe :
Ecrire (expression) ;
Où expression peut être une chaine de caractères (du texte), une constante, une variable,
ou une combinaison de ces derniers.
Exemple :
Ecrire (5) ;
L’écran affiche : 5.
7
Chapitre III. ALGORITHMIQUE ET PASCAL ESCF
Ecrire (x) ;
L’écran affiche le contenu de la variable x. Si x contient la valeur 12, l’écran affiche: 12.
Exercice 4 (avec solution): Quel résultat produit l’algorithme suivant en supposant que
l’utilisateur a entré le nombre 10?
Algorithme : test
Début
1 Lire (Val) ;
2 C ← Val * Val ;
3 Ecrire (Val) ;
Fin
If faut exécuter l’algorithme pour connaitre son résultat. Le tableau d’exécution doit
inclure la partie écran si l’algorithme contient des opérations de lecture/écriture.
Variables
Instructions Val C Écran
Saisi par l’utilisateur
1 10 \ 10
2 10 100 10 Affichés par
3 10 100 Le carré de 10 est 100 l’instruction écrire
8
Chapitre III. ALGORITHMIQUE ET PASCAL ESCF
4 10 100
Selon le tableau d’exécution l’algorithme ‘test’ affiche le carré d’un nombre entré par
l’utilisateur. Dans l’exécution ci-dessus il a affiché 100 car le nombre entré par l’utilisateur
est 10.
Exercice 5 : Ecrire un algorithme qui calcul la somme de deux nombres entiers entrés par
l’utilisateur .
Tous les langages de programmation possèdent des instructions permettant d’exécuter une
suite d’opérations (séquence) si une condition est vérifiée. Cette séquence est composée d’une
ou plusieurs instructions. La condition s’exprime sous la forme d’une expression logique
(booléenne) simple (avec des opérateurs relationnelles <, <=, >, >=, =, ) ou combinée
(plusieurs conditions composées avec des opérateurs logiques ET, OU, et NON).
Si la condition est vérifiée (vraie) alors la séquence s’exécute. Dans le cas contraire, ne
rien faire.
Exemple :
Si (x>y) alors
Ecrire (x, ‘est supérieur à’, y) ;
Fin si
Exercice 6 : Ecrire un algorithme qui lit un nombre puis vérifie s’il est positif, négatif
ou nul.
9
Chapitre III. ALGORITHMIQUE ET PASCAL ESCF
Syntaxe :
Si (condition) Alors
Séquence 1 ;
Sinon
Séquence 2 ;
Fin Si
Si la condition est vérifiée (vraie) alors la séquence 1 s’exécute. Dans le cas contraire,
c’est la séquence 2 qui s’exécute.
Exemple :
Si (x>y) alors
Ecrire (x, ‘est supérieur à ’, y) ;
Sinon
Ecrire (y, ‘est supérieur à’, x);
Fin si
3.4 Boucles
- Connu
- Fixé par l’utilisateur
- Dépendre d’une condition
10
Chapitre III. ALGORITHMIQUE ET PASCAL ESCF
3) Boucle Pour….faire
Syntaxe :
Cette structure permet la répétition d’une ou plusieurs instructions tant qu’une condition est
satisfaite.
Principe :
1) Évaluer la condition.
2) Si la condition est vraie alors :
a. Exécuter la séquence.
b. à la rencontre du mot clé « Fin Tant que », revenir à 1).
3) si la condition est fausse alors :
Syntaxe
Répéter
Séquence ;
Jusqu'a (condition)
Principe
1- exécuter -sans condition- la séquence.
2- évaluer la condition.
2-1- Si elle est fausse, revenir à 1.
2-2- Si la condition est vraie sortir de la boucle et exécuter l’instruction qui
vient après Jusqu’à (condition).
Remarque :
11
Chapitre III. ALGORITHMIQUE ET PASCAL ESCF
Exercice 9:
Ecrire un algorithme qui permet de calculer le factoriel d’un nombre entier positif N.
C. Boucle Pour…faire
Syntaxe :
Pour indice Val-Init à Val-fin faire
Séquence;
Fin Pour
Principe :
1- A la rencontre du mot clé Pour, la variable indice est initialisée à valeur initiale
(indice Val-Init).
2- Si indice <= Val-fin alors
2-1- la séquence est exécuté.
2-2- à la rencontre du mot clé Fin Pour, l’indice est incrémenté par 1
(indiceindice+1)
2-3- retourner à 2-
3- Sinon (indice > Val-Fin), sortir de la boucle et exécuter l’instruction qui vient après
fin pour.
Exercice 10:
Ecrire un algorithme qui permet d’afficher la table de multiplication par 7 comme suit :
1*7=7
2*7=14
………….
12
Chapitre III. ALGORITHMIQUE ET PASCAL ESCF
4 INTRODUCTION AU PASCAL
L’entête du programme pascal est défini par le mot clé « program » et le nom du
programme suivi d’un point virgule
2- La partie déclarative :
3- Partie traitement :
Commence par le mot clé ‘Begin’ et se termine par le mot clé ‘End.’
1- L’affectation :
2- La lecture :
- Readln (A) ; lire une valeur et la mettre dans la variable A et revenir à la ligne.
13
Chapitre III. ALGORITHMIQUE ET PASCAL ESCF
3- L’écriture :
Plusieurs choses peuvent s’afficher sur l’écran : la valeur d’une variable ou d’une
constante, un message, une ligne vide… selon ce qu’on veut afficher, il faut utiliser l’une
des manières suivantes :
14
Chapitre III. ALGORITHMIQUE ET PASCAL ESCF
Algorithmique Pascal
Remarque :
Exemple :
Remarque :
15
Chapitre III. ALGORITHMIQUE ET PASCAL ESCF
Exercice 12: écrire un programme pascal qui permet de résoudre une équation du
1er degré.
2- La boucle Pour :
3- La boucle Répéter:
Répéter Repeat
Bloc d’instruction Bloc d’instruction
Jusqu’à (condition) Until (condition) ;
Remarque :
Exercice 13: écrire un programme pascal qui permet de calculer la somme des N
premiers nombres entiers.
Références
1. Algorithmique et structures de données, S. graine, édition l'abeille, 2001
2. Algorithmique et programmation en Pascal. M.c Belaid, édition Pages Bleues, 2008
3. Cours d'algorithmique et exercices avec solutions. S. Bellout, 2008
16