Vous êtes sur la page 1sur 13

Informatique. Conception de base de l'Algorithmique et de Programmation Pascal.

Conception de base de l'Algorithmique et


de Programmation Pascal.
I. NOTIONS GENERALES
L’algorithmique est un terme d’origine arabe (Mohamed Ibn Musa Al Khawarizmi).

I.1. Définition

1) Algorithmique:

C'est la science des algorithmes.

2) Algorithme:

C'est une suite ordonnée d’instructions qui indique la démarche à suivre pour résoudre
un problème ou une série de problèmes.

3) Programme:

C'est une suite d'instructions écrites dans un langage de programmation qui peut être
exécutées par la machine.

4) Langage de programmation:

C'est un langage permettant de formuler des algorithmes et de produire des programmes


informatiques qui appliquent ces algorithmes.

5) Compilateur:

Un compilateur est un programme informatique qui traduit le langage source, en un


autre langage, appelé le langage cible.

Un compilateur sert le plus souvent à traduire un code source écrit dans un langage de
programmation en un autre langage, habituellement le langage machine. Le programme en
langage machine produit par un compilateur est appelé code objet.

1ère Année ESM -Tlemcen- Page : 1 / 13


Informatique. Conception de base de l'Algorithmique et de Programmation Pascal.

I.2. Structure générale d'un algorithme/Programme Pascal.

Un Algorithme ou un programme Pascal doit avoir principalement deux parties: partie


entête et la partie Corps.

Le nom de l'Algorithme/Programme Pascal, les variables/constantes utilisées sont déclarées


dans l'entête alors que la partie corps contient les différents instructions.

La structure générale d’un algorithme est la suivante :

Algorithme Nom_algorithme
Const // Liste des constantes// Entête de l’Algorithme
Var // variables à utilisées// : Type

Debut
Corps de l’Algorithme
⋮ // Liste d’instructions
Fin.

La structure générale d’un Programme Pascal est la suivante :

Program Nom_du_programme ;
Uses // unités à utilisées // ;
Const // constantes à utilisées // ; Entête du Programme
Var // variables à utilisées // : Type ;

Begin
⋮ // Liste d’instructions //
Corps du Programme
End.

1ère Année ESM -Tlemcen- Page : 2 / 13


Informatique. Conception de base de l'Algorithmique et de Programmation Pascal.

I.3. Grammaire du Pascal :


• Un programme principal débute toujours par « Begin » et se termine par « End. »
(avec un point). Alors qu’un bloc d'instructions commence lui aussi par « Begin »
mais se termine par « End ; » (avec un point-virgule).
• Chaque instruction se termine avec un point-virgule. Il n'y a pas d'exception à la
règle hormis « Begin » et l'instruction précédant « End » ou « Else »
• il est recommandé d’écrire une seul instruction par ligne.
• Les noms de Programme, constantes, variables, procédures, fonctions, tableaux, etc.
(appelés identificateurs) doivent êtres des noms simples, Ils doivent impérativement
être différents de mots réservés du langage Pascal et ne doivent pas excéder 127
signes (une lettre au minimum). Ils ne doivent être composés que de lettres, de
chiffres et du caractère de soulignement « _ ». De plus, Pascal ne différencie
aucunement les majuscules des minuscules. Les chiffres sont acceptés hormis en
première place.
• Les commentaires sont représenter entre « {…} » ou bien entre « (* … *) ». Ils
peuvent tenir sur une seule ligne comme sur plusieurs.
• Mots réservés du langage Pascal:

AND, ARRAY, ASM, BEGIN, CASE, CONST, CONSTRUCTOR,


DESTRUCTOR,DIV, DO, DOWNTO, ELSE, END, EXPORTS, FILE,
FOR, FUNCTION,GOTO, IF, IMPLEMENTATION, IN, INHERITED,
INLINE, INTERFACE,LABEL, LIBRARY, MOD, NIL, NOT, OBJECT,
OF, OR, PACKED,PROCEDURE, PROGRAM, RECORD, REPEAT, SET,
SHL, SHR, STRING,THEN, TO, TYPE, UNIT, UNTIL, USES, VAR,
WHILE, WITH, XOR.

1ère Année ESM -Tlemcen- Page : 3 / 13


Informatique. Conception de base de l'Algorithmique et de Programmation Pascal.

I.4. Variables et constantes.

Un programme informatique traite toujours des informations introduites par l’utilisateur


(via le clavier) ou stockées dans un fichier, et fournie de sa part d’autres informations qui
soient intermédiaires ou définitives, ces informations sont appelées « variables » qui peuvent
être de différents types.

Une constante est une variable qui ne subite pas de changement au cours d’un
programme.

Les variables peuvent être de trois types : Numérique, Alphanumérique et booléen.

1) Type Numérique :
Type numérique Plage
Octet, 8 bits (Byte) 0 à 255
Entier simple, 16 bits (Integer) -32768 à 32767
Entier long, 32 bits (LongInt) -2 147 483 648 à 2 147 483 647
38
-3,40×10 à -1,40×10-45 pour les valeurs négatives
Réel simple (Real)
1,40×10-45 à 3,40×1038 pour les valeurs positives
-1,79×10308 à -4,94×10-324 pour les valeurs négatives
Réel double (Double)
4,94×10-324 à 1,79×10308 pour les valeurs positives
Certains langages autorisent d’autres types numériques, notamment :
• le type monétaire (avec strictement deux chiffres après la virgule)
• le type date (jour/mois/année).

2) Type Alphanumérique :

Le type alphanumérique est le type caractère ou chaîne de caractères (char ou string).


Une chaîne de caractères est notée entre guillemets (ʺ ʺ) dans un Algorithme, et entre
apostrophes (' ') dans un Programme Pascal.

3) Type Booléen :

Le dernier type de variables est le type booléen : on y stocke uniquement les valeurs
logiques VRAI et FAUT (True, False).

1ère Année ESM -Tlemcen- Page : 4 / 13


Informatique. Conception de base de l'Algorithmique et de Programmation Pascal.

II. INSTRUCTIONS ELEMENTAIRES


Les Algorithmes comprennent fondamentalement quatre catégories d’instructions :
• Les opérations sur les variables.
• Les instructions de lecture / écriture (entrée / sortie).
• Les instructions de tests (alternatives).
• Les boucles (instructions de répétitions ou itératives).

II.1. Les opérations sur les variables :


Une variable peut subir des changements tout au long d’un programme par différents
opérations utilisant chacune un opérateur. On peut citer cinq types d’opérateurs :

• L’opérateur d’affectation.
• Les opérateurs numériques.
• L’opérateur alphanumérique « & ».
• Les opérateurs relationnels.
• Les opérateurs logiques ou booléens.

1) L’opérateur d’affectation :

Dans un Algorithme, l'instruction d'affectation se note avec le signe « ← », et dans un


programme Pascal avec « ꞉= », ainsi A ← 15, veut dire : la variable A reçoit le nombre 15.

2) Les opérateurs numériques :


Opérateur Opération
+ Addition
- Soustraction
* Multiplication
/ Division
Div Division entière
Mod Reste de la division entière

1ère Année ESM -Tlemcen- Page : 5 / 13


Informatique. Conception de base de l'Algorithmique et de Programmation Pascal.

Il existe d’autres fonctions pour les calcules numériques présentées par le tableau suivant:
Fonction Algorithme Langage Pascal
Valeur absolue de « x » Abs(x) Abs(x)
Partie entière de « x » Pas besoin Trunc(x)
L’arrondi de « x » Pas besoin Round(x)
Cosinus de « x » (en radians): cos(x) cos(x)
Sinus de « x » (en radians): sin(x) sin(x)
Tangente de « x » (en radians): tan(x) tan(x)
Exponentiel de « x » exp(x) exp(x)
Logarithme népérien de « x » Ln(x) Ln(x)
Racine carrée de « x » Sqrt (x) Sqrt (x)
Si n= 2 : « sqr(x) »
Puissance « n » du nombre « x » Pow (x,n) ou x^n
Si non : « exp(n*ln(x)) »
Le « π » mathématique est représenté par Pi que se soit pour l’Algorithme ou en Pascal.

3) L’opérateur alphanumérique « & »:

Cet opérateur permet de concaténer deux chaines de caractères, dans le langage Pascal
cet opérateur est remplacé par l’opérateur d’Addition (+).

Exemple :
A← ʺ Mohamedʺ
B← ʺHello ʺ & A
La valeur de B est : Hello Mohamed.

4) Opérateurs relationnels:
Opérateur Opération
= égale
<> Différent
> Strictement supérieur
< Strictement inférieur
>= Supérieur ou égale
<= Inférieur ou égale

5) Les opérateurs logiques :


Opérateur Opération Types opérandes Type résultat
Not Négation Logique Booléen Booléen
And Et Logique Booléen Booléen
Or Ou Logique Booléen Booléen
Xor Ou exclusif Booléen Booléen

1ère Année ESM -Tlemcen- Page : 6 / 13


Informatique. Conception de base de l'Algorithmique et de Programmation Pascal.

II.2. Les instructions de lecture / écriture :

1) Lire :

C’est une opération qui fait entrer une valeur dans une variable par l’intermédiaire d’un
périphérique d’entrée (clavier, souri, scanner …). En Pascal « read, readln » .

2) Ecrire :

C’est une opération qui affiche sur un périphérique de sortie (écran, imprimante,…) le
contenu d’une variable. En Pascal « write, writeln) ;

Exemple :
Algorithme Hello
Var A : chaîne de caractère
Debut
Ecrire (ʺentrer votre nomʺ)
Lire (A)
Écrire ("Hello", A)
Fin.

II.3. Les structures de teste :

Il existe trois structures de teste :

1) La structure conditionnelle simple :

Dans un algorithme, la structure conditionnelle débute par « si » et se termine par


« Finsi ». Dans un programme pascal si la structure conditionnelle contient plusieurs
instructions on doit les mettre délimités par « Begin » et « end ; » :

Algorithme Langage Pascal

si condition alors If condition then


Instruction_1 Begin
Instruction_2 Instruction_1 ;
Finsi Instruction_2 ;
End ;

1ère Année ESM -Tlemcen- Page : 7 / 13


Informatique. Conception de base de l'Algorithmique et de Programmation Pascal.

2) La structure alternative :

La structure alternative est une structure conditionnelle contenant un bloc « sinon »,


dans le langage pascal l’instruction qui précède la commande « else » ne doit pas se terminer
par « ; » :

Algorithme Langage Pascal

si condition alors If condition then


Instruction_1 Begin
Instruction_2 Instruction_1 ;
sinon Instruction_2 ;
Instruction_3 End
Finsi Else
Instruction_3 ;

3) L’imbrication de « si » :

Dans cette structure on imbrique deux structure conditionnelles ou plus :

Algorithme Langage Pascal

si condition alors
si condition alors If condition then
Instruction_1 If condition then
sinon Instruction_1
Instruction_2 Else
Finsi Instruction_2
sinon Else
Instruction_3 Instruction_3;
Finsi

Remarque :

Dans une structure imbriquée la condition subséquente présente un bloc d’instruction de la


condition antécédente.

1ère Année ESM -Tlemcen- Page : 8 / 13


Informatique. Conception de base de l'Algorithmique et de Programmation Pascal.

Exemple :

Si la moyenne « moy » de l’étudiant est inferieur à 10, il est « ajourné », si elle est entre 10 et
15 il aura la mention « A.bien » si ça moyenne dépasse 15, la mention est « très bien ».

Algorithme Langage Pascal

si moy >= 10 alors


si moy >= 15 alors If moy >= 10 then
écrire (ʺ très bienʺ) If moy >= 15 then
sinon Writeln(' très bien')
écrire (ʺ A.bienʺ) Else
Finsi Writeln(' A.bien')
sinon Else
écrire (ʺ Ajournéʺ) Writeln(' Ajourné);
Finsi

II.4. Les boucles :

Ce sont des structures itératives dans lesquelles on doit répéter un traitement jusqu’à
une condition prédéfinie, nous étudierons trois types de boucles : « TantQue », « Répéter »
et « Pour ».

1) L’instruction « TantQue » :

« TantQue » est employée dans les situations où l’on doit procéder à un traitement
systématique sur les éléments d’un ensemble dont on ne connaît pas d’avance la quantité.

Algorithme Langage Pascal


while condition do
TantQue condition Faire begin
Instruction_1 Instruction_1;
Instruction_2 Instruction_2;
… …
Instruction_N Instruction_N;
FinTantQue End;

De même que précédemment plusieurs instructions dans le programme Pascal doivent


être représentées sous forme d’un bloc délimité par « Begin et end; ».

1ère Année ESM -Tlemcen- Page : 9 / 13


Informatique. Conception de base de l'Algorithmique et de Programmation Pascal.

Exemple :

Faire doubler un nombre « a » introduit par l’utilisateur et afficher le ; tant qu’il est
inferieur à 1000.
Algorithme Langage Pascal
while a< 1000 do
TantQue a < 1000 Faire begin
écrire (ʺLe double de ʺ, a , ʺest : ʺ, a*2) writeln('Le double de ', a, ' est ‘, a*2) ;
a ← a*2 a:=a*2;
FinTantQue End;

2) L’instruction « Répéter » :

L’instruction « Répéter » est utiliser dans le cas où le programme doit effectuer des
opérations jusqu’à ce qu’une condition soit réalisée.

Algorithme Langage Pascal


Répéter Repeat
Instruction_1 Instruction_1 ;
Instruction_2 Instruction_2 ;
… …
Instruction_N Instruction_N;
Jusqu’à condition Until condition
Remarque:

Les instructions entre « Repeat » et « Until » sont exécutées en séquence jusqu’à ce


qu’en fin de séquence, la condition booléenne « condition » soit vraie. Donc pas besoin de
regrouper les instructions dans un bloc (Begin … end;).

3) L’Instruction « Pour » :

On utilise la boucle « Pour » quand on sait exactement combien d’itération on doit


réaliser.

Algorithme Langage Pascal


For Compteur := initial To final Do
Pour Compteur Initial à Final Pas ValeurDuPas (*For Compteur:=final DownTo initial Do*)
Instruction_1 Begin
Instruction_2 Instruction_1 ;
… Instruction_2 ;
Instruction_N …
FinPour Instruction_N ;
end ;

1ère Année ESM -Tlemcen- Page : 10 / 13


Informatique. Conception de base de l'Algorithmique et de Programmation Pascal.

Remarque :
• Dans l’absence de « ValeurDuPas » ; l’Algorithme utilise la valeur par défaut « 1 ».
• La commande « To » incrémente tendit que « DownTo » décrément de « 1 » la
valeur du compteur.

Exemple :

Faire la multiplication du nombre « a » par les nombres 0 à 10 et afficher les résultats.

Algorithme Langage Pascal


Pour i := 0 à 10 For i := 0 To 10 Do
écrire (i, ʺ* ʺ, a , ʺ= ʺ, i*a) (*For i:=10 DownTo 0Do*)
FinPour writeln(i,' * ', a, ' = ‘, i*a) ;

1ère Année ESM -Tlemcen- Page : 11 / 13


Informatique. Conception de base de l'Algorithmique et de Programmation Pascal.

III. LES TABLEAUX A UNE ET A DEUX DIMENSIONS


Jusqu'à présent, nous avons manipulé des types de données qui ne stockaient qu'une
valeur à la fois (entière, réelle, . . .). Il est pourtant souvent utile de stocker d'un seul coup
plusieurs valeurs. C'est le cas des vecteurs ou bien des matrices, pour cela nous utilisons ce
qu'on appel des tableaux.

Dans notre cours nous allons étudier les tableaux à une et à deux dimensions.

III.1. Tableaux à une dimension:


Un tableau, tout comme une variable quelconque, doit être déclaré dans la partie
déclarative du programme. On doit toujours spécifier le type des variables qui seront
introduites dans le tableau.

La déclaration d'un tableaux sous Pascal se fait comme suite:

var table_name:array[dim_init..dim_fin] of type;

• table_name: le nom du tableau.


• dim_init: l'indice du premier terme du tableau.
• dim_fin: l'indice du dernier terme du tableau.
• type: le type des variables du tableau (entier reel,...).

Exemple:

var Vect:array[1..5] of Integer;

"Vect" est un tableau à 5 variables de type entier.

La lecture ou l'écriture des termes du tableau se fait via une boucle, pour notre exemple:

for i:=1 to 5 do read(Vect[i]);

En générale l'accès à un terme du tableau se fait par son indice (Vect[i]).

1ère Année ESM -Tlemcen- Page : 12 / 13


Informatique. Conception de base de l'Algorithmique et de Programmation Pascal.

III.2. Tableaux à deux dimension:

On peut faire des tableaux avec des composantes de tous types, y compris de tableaux.
et par conséquence nous pouvons créer des tableaux de plusieurs dimension, pour notre cours
nous allons se limiter par les tableaux à deux dimensions.

par exemple; on peut voir une matrice comme un tableau de lignes qui sont elles-mêmes
des tableaux de composantes.

Exemple : matrice 3 lignes, 4 colonnes se déclare de la manière suivantes:

var Mat:array[1..3] of array[1..4] of Integer;

ou

var Mat:array[1..3,1..4] of Integer;

l'accès aux termes de la matrice se fait par ces indices (Mat[i,j]):

𝑀𝑀𝑀𝑀𝑀𝑀(1.1) 𝑀𝑀𝑀𝑀𝑀𝑀(1.2) 𝑀𝑀𝑀𝑀𝑀𝑀(1.3) 𝑀𝑀𝑀𝑀𝑀𝑀(1.4)


𝑀𝑀𝑀𝑀𝑀𝑀 = �𝑀𝑀𝑀𝑀𝑀𝑀(2.1) 𝑀𝑀𝑀𝑀𝑀𝑀(2.2) 𝑀𝑀𝑀𝑀𝑀𝑀(2.3) 𝑀𝑀𝑀𝑀𝑀𝑀(2.4)�
𝑀𝑀𝑀𝑀𝑀𝑀(3.1) 𝑀𝑀𝑀𝑀𝑀𝑀(3.2) 𝑀𝑀𝑀𝑀𝑀𝑀(3.3) 𝑀𝑀𝑀𝑀𝑀𝑀(3.4)

pour la lecture ou l'affichage des valeurs des termes de la matrice, il est préférable
d'utiliser deux boucles:

for i:=1 to 3 do
begin
for j:=1 to 4 do write(Mat[i,j], ' ');
writeln;
end;

III.3. Fonctions utiles


Nom de la fonction Explication
length Renvoie la longueur du tableau ou de la chaîne de caractère
low Renvoie l'indice minimum du tableau
high Renvoie l'indice maximum du tableau

1ère Année ESM -Tlemcen- Page : 13 / 13

Vous aimerez peut-être aussi