Cours pascal pdf langages d’écriture de systèmes

1. Présentation du langage
1.1 Deux exemples de programmes
1.1.1 Table de fréquences
1.1.2 Mise à jour de fichier
1.2 Caractéristiques du langage
1.3 Structure des programmes
2. Objets et opérateurs
2.1 Types simples
2.1.1 Types scalaires prédéfinis
2.1.2 Définition de types scalaires
2.1.3 Type réel
2.2 Types structurés
2.2.1 Tableaux
2.2.2 Articles
2.2.3 Ensembles
2.2.4 Fichiers
2.2.5 Objets dynamiques et pointeurs
3. Énoncés
3.1 Énoncés simples
3.1.1 Affectation
3.1.2 Appel de procédure
3.1.3 Branchement
3.2 Énoncés structurés
3.2.1 Groupement d’énoncés
3.2.2 Énoncés répétitifs
3.2.3 Énoncés conditionnels
4. Procédures et fonctions
4.1 Définition
4.2 Procédures et fonctions prédéfinies
5. Normalisation du langage
5.1 Pascal
5.2 Pascal étendu
6. Langages de programmation similaires à Pascal
6.1 Langages sans type : Bliss
6.2 Langages avec type : LIS
6.3 Relations entre Pascal et Ada
6.4 Pascal étendu
6.4.1 Modularité et compilation séparée
6.4.2 Schémas
6.4.3 Traitements de chaînes
6.4.4 Autres possibilités
6.5 Modula-2
6.5.1 Généralités
6.5.2 Différences entre Modula-2 et Pascal
6.5.3 Exemple de module

Présentation du langage

Deux exemples de programmes
Le langage Pascal pouvant être utilisé dans une gamme assez variée d’applications, il est difficile d’en donner une idée suffisante en un seul exemple. Les deux programmes présentés ici concernent donc deux domaines d’application bien différents. De même que la description du langage qui apparaît dans la suite de cet article, ces deux exemples utilisent la forme française des mots clés du langage proposée par le sous-groupe Pascal de l’AFCET. Ils utilisent également la forme de présentation du langage, où l’on ne tient pas compte des jeux de caractères restreints imposés par la plupart des matériels informatiques actuels. Cette forme est bien adaptée à la lecture et à l’écriture par des êtres humains, et la trans codification sous la forme acceptée par la plupart des compilateurs du langage se fait très simplement. À titre d’exemple, la figure 1montre la forme  d’utilisation des quatre dernières lignes du programme de la figure 2, pour un compilateur qui n’accepte que le sous-ensemble à 64 caractères du jeu ISO (ce sous-ensemble ne contient pas de lettres minuscules).

Table de fréquences
Le programme de la figure 2a pour données un texte quelconque, c’est-à-dire une suite de lignes qui sont elles-mêmes des suites de caractères. Il recopie ce texte et construit en même temps une table de la fréquence d’apparition de chaque lettre majuscule. Cette table est écrite après la recopie du texte. On peut remarquer en particulier l’utilisation d’un caractère comme indice d’un tableau (lignes 5, 8, 13 et 20), celle de la variable lettres qui représente l’ensemble des lettres majuscules (lignes 6, 7 et 13), les prédicats fdf (fin de fichier, ligne 9) et fdln (fin de ligne, ligne 11) qui permettent de reconnaître la structure du texte lu.

Mise à jour de fichier
Le programme de la figure 3a pour données un fichier d’articles qui représentent une série de modèles d’automobiles, identifiés par une clé numérique, et un fichier de modifications à effectuer. Il fournit comme résultats un fichier mis à jour, et éventuellement quelques messages d’erreurs. Les modifications possibles sont des adjonctions, des suppressions et des remplacements d’articles. On peut remarquer en particulier l’accès à l’article lu sur un fichier (ancien ↑, lignes 18 et 27 ; commandes ↑, lignes 21 et 29), la manipulation des articles de façon globale (lignes 16, 18, 27, 38 et 41) ou champ par champ (lignes 23, 31 et 34), l’énoncé de choix (lignes 36 à 43).

Caractéristiques du langage
Pour clarifier les idées d’un lecteur familier avec d’autres langages de programmation, ce paragraphe effectue une comparaison rapide de Pascal avec Fortran, Algol 60 et PL/I (cf articles spécialisés dans le présent traité). Bien que Pascal permette de traiter des applications pour lesquelles on utilise d’ordinaire Cobol (§ 1.1.2), son apparence  extérieure en est trop différente pour qu’une comparaison soit utile.
Par rapport aux trois langages ci-dessus, les caractéristiques remar-quab les de Pascal sont donc les suivantes :
— les variables doivent obligatoirement être déclarées (comme en Algol 60, contrairement à Fortran et PL/I) ;
— les mots-clés, tels que début, tant que, alors, sont réservés à cet usage et ne peuvent pas servir d’identificateurs ;
— le point-virgule est un séparateur d’énoncés (comme en Algol 60), et non pas un terminateur (comme en PL/I) ;
— les types attribuables aux objets comprennent les nombres entiers et réels, les valeurs booléennes et les caractères imprimables ; ils peuvent être structurés en tableaux, articles (appelés structures en PL/I et enregistrements en Cobol), ensembles et fichiers(séquentiels) ; ces moyens de structuration peuvent être combinés pour fournir des tableaux d’ensembles, des fichiers d’enregistrements, etc. ; certains objets peuvent être alloués de façon dynamique et repérés par des pointeurs; comme ils peuvent eux-mêmes contenir des pointeurs, cela permet de construire des structures arborescentes quelconques.

Structure des programmes
Un programme est formé d’un en-tête et d’un bloc, lequel comprend un ensemble de déclarations et de définitions, suivi d’un groupe d’énoncés qui constituent le corps du programme. L’en-tête sert à fournir le nom du programme et à énumérer ses paramètres, qui sont en général les noms des fichiers qui permettent au programme de communiquer avec son environnement. L’ensemble de déclarations et de définitions comprend la déclaration des étiquettes utilisées dans le corps du programme, la définition des constantes, celles des types, la déclaration des variables, celle des procédures et des fonctions. Toutes ces parties sont facultatives ; mais tout identificateur utilisé doit avoir été déclaré ou défini au préalable (sauf certains identificateurs prédéfinis, que l’on peut supposer déclarés ou définis dans l’environnement du programme : § 2.1; § 4.2.

Objets et opérateurs

Un programme est constitué d’une suite d’actions, exprimées par des énoncés, qui manipulent des objets. Pour classer ces objets en fonction des actions auxquelles il est possible de les soumettre, on associe un type aux variables qui permettent d’accéder aux objets. Le type d’une variable définit donc à la fois l’ensemble des valeurs qu’elle peut prendre et la nature des opérations qui peuvent lui être appliquées. Cela permet de vérifier automatiquement, et en général avant l’exécution du programme, la légalité des opérations contenues dans les énoncés de celui-ci. Certains types sont prédéfinis par le langage, soit à cause de leur importance, soit parce qu’il n’est pas matériellement possible de les définir dans le programme. Quelle que soit leur complexité, tous les types sont finalement définis à partir de types non structurés. Nous étudierons donc successivement les types simples fournis par Pascal, puis les outils qu’il contient pour la construction de types structurés.

Types simples
Types scalaires prédéfinis
Le langage Pascal fournit trois types scalaires prédéfinis, et permet à l’utilisateur d’en définir de nouveaux.
Le type prédéfini booléen comprend les deux constantes prédéfinies faux et vrai. Les opérateurs possibles sont l’union logique (V), l’intersection logique (∧) et la négation (¬). De plus, les opérateurs de comparaison et certains prédicats prédéfinis (§ 4.2) fournissent un résultat booléen.
Le type prédéfini entier comprend un intervalle des nombres entiers dont l’étendue dépend de l’ordinateur utilisé. La constante prédéfinie ent max donne la limite supérieure de cet intervalle. Les opérateurs sur les entiers sont l’addition (+), la soustraction (–), la multiplication (∗), la division entière (div) et le reste de la division (mod). On peut de plus comparer des entiers (<, , =, ≠, et >) et calculer leur valeur absolue (fonction prédéfinie abs) et leur carré (fonction prédéfinie carré). Enfin, le prédicat impair s’applique à un entier.


Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Formation Pascal (865 KO) (Cours PDF)
Cours pascal

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *