Vous êtes sur la page 1sur 14

Université 20 Aout 1955 – Skikda

Département de Technologie

1ère année LMD ST

Algorithmique
Et
Programmation Pascal

Module :Informatique1 H.Benasmane, K. Semassel 2019/2020


Cours algorithmique et programmation pascal

TABLE DES MATIERES

I. Introduction à l’algorithmique et à la programmation


1. Notions d’algorithme et de programme
2. Les étapes de programmation
3. Les étapes d’un algorithme
4. Structure générale d’un algorithme
5. Formalisme d’un algorithme

II. Notions de base en algorithmique


1. Les constantes et les variables
2. Les opérateurs et les expressions
3. Les instructions de base

III. Programmer en pascal


1. Le langage pascal
2. Structure générale d’un programme pascal
3. Traduire un algorithme en pascal
4. Les structures de contrôle.

2
Cours algorithmique et programmation pascal

I. Introduction à l’algorithmique et la programmation


Aujourd’hui avec l’utilisation des technologies et les applications informatique dans presque tous les domaines
de notre vie quotidienne ; la programmation et le développement des logiciels n’est pas devenu une tâche
dédiée à un informaticien mais n’importe quel spécialiste dans son domaine (chimie, automatique,
électronique……) doit apprendre à programmer pour résoudre ces problèmes.
Pour cette raison nous présentons à nos étudiants dans cette deuxième partie une petite initiation à la
programmation afin de motiver l’étudiant à programmer et préparer le pour les années prochaines dans son
spécialité.

1) Notions d’algorithme et programme : Les notions d’algorithme et de programme sont des


notions liées mais qu’il ne faut pas confondre.

 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é….

 Programme : Un programme est le résultat de la traduction d’un algorithme, en utilisant un langage


de programmation (exemple : Pascal) que l’ordinateur peut comprendre (compréhensible par la
machine).

3
Cours algorithmique et programmation pascal

2) Les étapes de programmation


Un programme se construit selon plusieurs étapes (voir figure 01).

Problème

Définition du problème
Analyse
Recherche de méthode de résolution

Etapes de
résolution

Formalisme

Algorithme

Traduction dans un langage de programmation

Programme

Compilation

Programme
Compilé

Exécution

Programme
Exécuté

Fig.1 : Etapes de programmation

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.3 La troisième étape : Est la traduction de l’algorithme en programme en utilisant un langage de


programmation choisi qui est un intermédiaire entre la langue naturelle et le langage machine. (C’est la phase
de programmation). Pour écrire un programme dans un langage donné, nous utilisons un environnement de
programmation. Dans notre cas c’est l’environnement du turbo pascal pour Windows.

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.

Fig. 2 – La compilation : transformation du code source en un programme

2.5 La cinquième étape : consiste en l’exécution du programme compilé et l’édition des résultats.

3) Les étapes d’un algorithme :


3.1 La préparation du traitement :
Cette phase, qui correspond à la partie déclaration des variables, consiste à indiquer les données nécessaires à
la résolution du problème posé. Elles peuvent être de nature :

 Numérique (des nombres entiers ou réels)


 Textuelle (des caractères, chaine de caractères)
 Booléenne (de type logique, à deux valeurs possibles « vrai » ou « faux »)

3.2 Le traitement de données


Cette phase, qui correspond au corps de l’algorithme, consiste à spécifier toutes les étapes des instructions à
donner pour une exécution automatique.

3.3 La sortie des résultats :


Les résultats obtenus, peuvent être :

 Affichés sur l’écran


 Imprimés sur papier
 Conservés dans un fichier
 Conservés en mémoire jusqu'à la prochaine exécution.

5
Cours algorithmique et programmation pascal

4) Structure générale d’un algorithme : Le schéma général est le suivant :

La partie Entête Algorithme Nom de l’algorithme

Constantes liste des constantes


La partie déclaration
Variables liste des variables
………

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 ?

Historiquement, deux façons pour représenter un algorithme :


 Représentation textuelle en utilisant un pseudo-code (langage algorithmique).
 Représentation graphique avec un Organigramme utilisant des symboles.

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.

5.2 Algorigramme : En algorithmique, on peut aussi utiliser un algorigramme, c'est-à-dire représenter


graphiquement l’algorithme à l’aide de symboles normalisés.

Symboles Désignation

Symbole de traitement (symbole général)

Symbole de test (symbole de branchement)

Symbole auxiliaire (symbole de début, fin ou


interruption d’algorithme)

Les caractéristiques d’un algorithme :

 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

II. Notions de base en algorithmique

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

 Une constante, peut représenter un chiffre, un nombre, un caractère, Toutefois, contrairement


à une variable la valeur d’une constante ne varie pas au cours de l’exécution du programme.
Format
Constantes Nom_Contante = Valeur
Exemple : Constantes A=10

2. Les opérateurs et les expressions :

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

2.2 Types d’opérateurs :


Il existe plusieurs types d’opérateurs :
2.2.1 Les Opérateurs Arithmétiques (sur les entiers et les réels) : qui permettent d’effectuer des opérations
arithmétiques entre opérandes numériques (entier ou réel)
 Opérateurs élémentaires : « + », « - », « * », « / » (division réelle),
DIV (division entière exp 5 DIV 2 = 2)
 Changement de signe : « - », « + »
 Reste d’une division entière : « modulo » (ou « mod » exp 5 MOD 2 = 1)

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

A B NOT A A AND B A OR B A XOR B


True True False True True False
True False False False True True
False True True False True True
False False True False False False
Remarque :

 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.

Exemple: lire (a), lire (d,c)

3.2 L’affectation : Cette instruction utilise le symbole flèche orientée gauche

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

III. Programmer en pascal


1. Le langage Pascal : Le langage Pascal a initialement été créé par Nicklaus Wirth, un professeur suisse, à la
fin des années soixante-dix (70). Ce langage est devenu un outil d’enseignement pour les cours de programmation.

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 ;

Partie Déclarations : Déclaration des constantes,


des variables, des nouveaux types, ...
Begin

{Suite des instructions séparées par ;}

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 :

 Commencer par une lettre ;


 Ne comporter ni caractère spécial (comme l’espace) ni ponctuation ;
 Ne pas être un mot clé du langage (comme « begin », « end », « program », « var », « const»…..)
 En pascal, il n’y a pas de différence entre les majuscules et les minuscules, c’est-àdire que A et a désignent le
même objet.
 De préférence être significatif.

10
Cours algorithmique et programmation pascal

3. Traduire un algorithme en pascal


Pour traduire n'importe quel algorithme en langage Pascal, il suffit de respecter un certain nombre de règles de syntaxe
simples, la figure 3 montre la traduction des différentes parties d’un algorithme :la partie entête, la partie déclaration et
la partie corps ainsi que la traduction des différents types d’une variable (entier, réel…). La traduction instruction par
instruction est détaillée dans le tableau ci-dessous.

Langage algorithmique Langage Pascal

Entête Algorithme calculcarre Program calculcarre ;


Constantes p=3.14 Const p=3.14 ;
Variables nb, carre : entier Var nb,carre : integer ;
Déclaration Variables nb, carre : réel Var nb,carre : real ;
Variables c : caractère Var c : char ;
Variables message : chaine de caractère Var message : string ;
Variables paire : booléen Var paire : boolean ;
Debut Begin
Ecrire (’bonjour ’) Write (‘bonjour’) ;
Lire (nb) Read (nb) ;
carre←nb*nb carre :=nb*nb ;
Corps Ecrire (carre) Write(carre) ;
Fin End.

Tableau 1 : Traduction des différentes parties d’un algorithme en 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.

Algorithme Programme pascal

Algorithme Moyenne Program Moyenne;

Variables NoteTP,NoteExamen, Moy : réel Var NoteTP,NoteExamen, Moy :real ;

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.

Fig.3 : Traduction d’un algorithme en pascal

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

5. Les structures de contrôle : Le traitement de données est parfois conditionné et se réalise


de manière spécifique. On parle alors de structure de contrôle. Ces structures peuvent être organisées
suivant deux familles principales :

 Les structures alternatives


 Les structures répétitives

5.1 Les structures alternatives (ou conditionnelle) :


La résolution de certains problèmes nécessite parfois la mise en place d’une condition pour
effectuer une tâche

 La structure alternative simple (réduite) : si la condition est vraie, alors la


séquence d’instructions s’exécute sinon ne rien faire
La syntaxe Pascal :
If condition then
Séquence d’instructions; (instructions à effectuer si la condition est vraie)

 La structure alternative composée (imbriquée) : si la condition est vérifiée, alors


séquence1 sera exécutée, sinon, c’est la séquence2 qui le sera.
La syntaxe Pascal :
If condition then
Séquence1 d’instructions; (instructions à effectuer si la condition est vraie)
Else
Séquence2 d’instructions; (instructions à effectuer si la condition est fausse)

Exemple2 : proposons un programme pascal qui compare deux nombres

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

Then Instruction ou bloc d’instructions


de l’alternative faux
Instruction ou bloc d’instructions
de l’alternative vrai
Suite du programme

Suite du programme

Remarque:

o On ne mettra jamais de point-virgule avant le else.


o Une condition est une expression logique booléenne qui peut être simple (par exemple test d’égalité A=B)
ou composée (une combinaison logique de condition simples par exemple A=B and B < C), prenant la valeur
« vrai » ou « faux »
o L’écriture en pseudo langage (en algorithmique) de la structure alternative est la suivante :
Si Condition Alors
Suite d’instructions 1
Sinon
Suite d’instructions 1
FinSi

 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

Vous aimerez peut-être aussi