Académique Documents
Professionnel Documents
Culture Documents
Département de Technologie
Algorithmique
Et
Programmation Pascal
2
Cours algorithmique et programmation pascal
Algorithme : Le mot algorithme tire son nom du mathématicien perse Mohammed Ibn Musa Abu
Djefar Al-Khawarismi (né vers 780- mort vers 850).
On appelle algorithme une suite d’instructions élémentaires, qui s’appliquent dans un ordre
déterminé à un nombre fini de données pour fournir un résultat. Et qui peut être écrite dans un langage
proche de notre langue naturelle, c’est-à-dire le français (compréhensible par l’être humain).
Exemple : Suivre une recette de cuisine, calculer une somme, solution équation deuxième degré….
3
Cours algorithmique et programmation pascal
Problème
Définition du problème
Analyse
Recherche de méthode de résolution
Etapes de
résolution
Formalisme
Algorithme
Programme
Compilation
Programme
Compilé
Exécution
Programme
Exécuté
2.1 La première étape : Consiste en l’analyse du problème posé. Le résultat de cette étape est la
décomposition du problème en ses composants élémentaires qu’on appelle aussi opérations.
Cette étape consiste à :
Expliquer ce qu’on veut réaliser exactement ;
Déterminer les données en sortie, c’est à dire les résultats qu’on veut obtenir après traitement ;
En déduire les données en entrées, c’est à dire les données dont la machine a besoin pour réaliser les
traitements voulus ;
Déterminer les traitements nécessaires pour obtenir les résultats en sortie à partir des données en
entrées ;
2.2 La deuxième étape : est l’établissement d’un algorithme qui n’est d'autre qu’une présentation des étapes
de résolution du problème analysé en suivant des règles bien déterminées (formalisme) ;
4
Cours algorithmique et programmation pascal
2.4 La quatrième étape : Une fois le programme écrit, il va falloir le vérifier et le corriger par le compilateur. Tout
langage, que ce soit une langue naturelle comme le français ou un langage de programmation comme Pascal,
possède deux aspects complémentaires qui sont :la syntaxe et la sémantique.
En informatique, un programme qui n’est pas syntaxiquement juste ne va pas être compilé par le compilateur
; ce dernier va avertir le programmeur qu’il y a une erreur. En revanche le compilateur ne peut pas avertir le
programmeur d’une erreur de sémantique : c’est à l’exécution que l’utilisateur s’en apercevra (c’est ce que
l’on appelle un bug).
Ainsi, puisque l’ordinateur ne comprend pas ces instructions écrites en utilisant un langage de programmation,
il faut les traduire en langage machine ; cette phase de traduction est appelée «compilation» (voir figure 2) et
est effectuée par le compilateur. Après la compilation, on obtient un fichier exécutable.
2.5 La cinquième étape : consiste en l’exécution du programme compilé et l’édition des résultats.
5
Cours algorithmique et programmation pascal
Début
La partie Corps
{Suite des instructions}
Fin
5) Formalisme d‘un algorithme : Mais comment écrire un algorithme pour qu’il soit
universellement compréhensible ?
5.1 Langage et règles d’écriture d’un algorithme : Un algorithme peut être écrit en utilisant un langage
de description d’algorithme (LDA). Ce langage utilise un ensemble de mots clés et de structures permettant
de décrire de manière complète et claire l’ensemble des opérations à exécuter sur des données pour obtenir
des résultats.
Symboles Désignation
Finitude : l’algorithme doit être fini c'est-à-dire toutes les actions doivent être exécutées en un temps
fini.
Déterministe : l’algorithme doit donner les mêmes résultats pour les mêmes données.
Généralité : l’algorithme doit traiter tous les cas particuliers
6
Cours algorithmique et programmation pascal
1. Les constantes et les variables : Les constantes et les variables sont des éléments fondamentaux,
indispensables au bon déroulement d’un programme, caractérisés par un identificateur, une valeur et un
type.
1.1 Définitions :
Une variable est une donnée (emplacement) stocké dans la mémoire de l’ordinateur. Elle est
repérée par un identificateur et contient une valeur dont le type (nature de la variable) peut
être un entier, un réel, un caractère, une chaine de caractères, un booléen …
Format
Variables liste_variables1: Nom_Type1
liste_variables2: Nom_Type2
…….
liste_variablesN: Nom_TypeN
entier
Type réel
caractère
chaine de caractère
booléen
Exemple : Variables x,y : entier ; a,b : réel
2.1 Définitions :
Un operateur est un outil qui permet d’agir sur une variable ou d’effectuer des calculs.
Un opérande est une donnée utilisée par un opérateur.
Exemple : Dans A And B : « A » et « B » sont les opérandes et And désigne l’opérateur.
Une expression est un ensemble d’opérandes reliés par des opérateurs.
7
Cours algorithmique et programmation pascal
Remarque : les expressions arithmétiques sont évaluées de gauche vers la droite en respectant les priorités
indiquées dans le tableau suivant:
Opérateurs priorité
*, /, DIV, MOD 1
+,- 2
2.2.2 Les opérateurs logiques (sur le type Booléen) : qui combinent des opérandes booléens pour former des
expressions logiques plus complexes :
Opérateurs unaire : la « négation » notée « NOT ».
Opérateurs binaires :la conjonction notée « AND », la disjonction notée « OR », la Disjonction
Exclusive notée « XOR ».
Les tables de vérité des opérateurs logiques : Soit A et B deux variables de type booléen
La parenthèse des opérandes est nécessaire en pascal. Exemple : (A >= 0) and (A <= 10)
Les opérations entre parenthèse sont prioritaires.
L’évaluation des expressions logiques se fait de gauche vers la droite en respectant l’ordre de priorité
décroissante des opérateurs logiques comme suite :
o « NOT »
o « AND »
o « OR »
o « XOR »
2.2.3 Les opérateurs de comparaison : qui permettent de comparer deux opérandes et produisent une valeur
booléenne.
Opérateurs en pascal Opération
< Inférieur
<= Inférieur ou égale
> Supérieur
=> Supérieur ou
égale
= Egalité
<> Différent ( = )
8
Cours algorithmique et programmation pascal
3. Les instructions de base : pour rédiger la partie corps d’un algorithme on a besoin des trois
instructions élémentaires suivantes :
3.1 La saisie (lecture des données) : Sa syntaxe est lire ( indentificateur_de_la_variable). Cette instruction
permettant de placer en mémoire les informations fournies par l’utilisateur pour qu’elles soient utilisées par le
programme.
Instruction permettant d’attribuer à la variable identifiée par l’élément placé à gauche du symbole d’affectation la
valeur de l’élément placé à droite de ce symbole.
Exemple : A 10 ; B C;
3.3 L’Affichage : Sa syntaxe est écrire (variable, constante, expression). Instruction permettant l’affichage à
l’écran des valeurs des variables après traitement.
Exemple: ecrire (a); ecrire (“bonjour”); ecrire (“le résultat est”, b);
Exemple complet qui contient les trois instructions de base : Le carré d’un nombre
Algorithme calculcarre;
Variables nb,carre: réels
Début
Ecrire(‘entrez un nombre’)
lire (nb)
carre← nb*nb
écrire ( carre)
Fin
9
Cours algorithmique et programmation pascal
Turbo Pascal, le compilateur de Borland mondialement connu, a été introduit en 1985. Il a été l’un des compilateurs les
plus vendus de tous les temps et a rendu le langage particulièrement populaire grâce à son équilibre entre simplicité et
puissance.
Turbo Pascal a introduit un Environnement de Développement Intégré (EDI) dans lequel on pouvait éditer du code, faire
tourner le compilateur, visualiser les erreurs et revenir aux lignes contenant ces erreurs.
En 1995, après neuf versions de compilateurs Turbo et Borland Pascal, qui ont progressivement étendu le langage,
Borland a lancé Delphi, faisant de Pascal un langage de programmation visuel.
2. Structure générale d’un programme Pascal : Le code ci-dessous montre la structure générale d’un
programme écrit en Pascal
Program Nom_Programme ;
End.
Tout programme pascal doit commencer par le mot-clé program suivi du nom que vous voulez donner à celui-ci : il est
impératif que ce soit la première ligne de votre fichier
Dans la partie appelée « déclarations », tous les objets (variables, constantes, fonctions, procédures,
etc . . .) qui seront utilisés dans le programme doivent être décrits.
Enfin, tout programme doit contenir un begin et un end. Entre lesquels seront placées les instructions séparées par ‘;’ .
Ce bloc est appelé « programme principal » et le end marque la fin de celui-ci (avec le point final).
Convention de nommage : Le nom d’un programme, d’une variable, ou d’une constante doit respecter les règles
suivantes :
10
Cours algorithmique et programmation pascal
Exemple Explicatif : Voici la traduction de l’algorithme moyenne qui demande de rentrer les notes (TP et Examen)
d’un étudiant puis calcule et affiche son moyenne dans le module informatique.
Debut Begin
Ecrire (’Entrer la note TP svp = ’) Write (’Entrer la note TP svp = ’) ;
Lire (NoteTP) Readln (NoteTP) ;
Ecrire (’Entrer la note Examen svp = ’) Write (’Entrer la note Examen svp = ’);
Lire (NoteExamen) Read (NoteExamen) ;
Moy NoteTP*0.4+NoteExamen*0.6 Moy := NoteTP*0.4 + NoteExamen*0.6 ;
Ecrire (’La moyenne est = ’,Moy) Writeln (’La moyenne est = ’,Moy ) ;
Fin End.
Remarque: lors de l’exécution de l’instruction writeln ou readln, il y a un « passage à la ligne », passage qui n’est
pas effectué lors du write ou read.
11
Cours algorithmique et programmation pascal
Program comparaison ;
var A,B : integer ;
begin
writeln ( 'En t r e z la valeur de A ') ;
readln (A) ;
writeln ( 'En t r e z la valeur de B ') ;
readln (B) ;
if (A>B) then
writeln ( 'La valeur de A est plus grande que B ')
Else
if (B>A) then
writeln ( ' La valeur de B est plus grande que A ')
Else
writeln ( 'A et B sont égaux ') ;
End.
12
Cours algorithmique et programmation pascal
Représentation schématique :
If
Else
Condition
Suite du programme
Remarque:
Structure de choix multiple : Cette instruction compare la valeur d'une variable de type scalaire à
d’autres valeurs constantes.
La syntaxe Pascal:
CASE Expression OF
valeur1 : Action1;
valeur2 : Action2;
valeur3 : Action3;
…
valeurn: Actionn;
else
Autres Instructions ;
END ;
13
Cours algorithmique et programmation pascal
Exemple1: proposons un programme pascal qui affiche la saison à partir du numéro du mois.
Program saison ;
Var mois : integer ;
Begin
write ('Entrez la valeur du mois = ') ;
read (mois) ;
Case mois of
1, 2, 12 : write (' la saison est l''hiver') ;
3..5 : write (' la saison est le printemps') ;
6..8 : write (' la saison est l''ete') ;
9..11 : write (' la saison est automne')
Else
write ('ce numéro du mois est faux') ;
End ;
End.
14