Le langage Pascal Par Patrick Trau Date de publication : 1 janvier 1992 Dernièr

Le langage Pascal Par Patrick Trau Date de publication : 1 janvier 1992 Dernière mise à jour : 12 mai 2011 Durée : Ce document présente (de manière claire je crois, d'après ce qu'en ont dit certains) le langage Pascal. Il a été publié dans APTEP - INFO il y a quelques années. Depuis, bien que je maîtrisais bien ce langage et avais développé de nombreux programmes en Pascal, je suis passé au C. Le C est d'après moi plus souple et plus efficace à condition de bien en comprendre les mécanismes (il faut d'après moi comprendre à la fois l'Assembleur et les objets pour bien programmer en C). De plus, le C est plus utilisé dans mon environnement d'informaticiens. Néanmoins, le Pascal reste bien meilleur pour le débutant et le programmeur moyen : parfaitement structuré et clair, il conduit rapidement à un programme de bonne qualité et assez facilement maintenable (ce qui l'est moins en C, qui possède trop souvent trop de possibilités pour résoudre le même problème). De plus, on trouve des compilateurs Pascal très conviviaux, avec aide en ligne, déboguage, ... Ce document reste donc d'actualité : le Pascal est d'après moi une très bonne manière d'aborder la programmation. C'est pourquoi j'ai choisi de mettre à disposition ce document sur Internet, qu'il serve à qui en a besoin ! Commentez Le langage Pascal par Patrick Trau Introduction...................................................................................................................................................................4 Les logiciels............................................................................................................................................................ 4 Langages de programmation................................................................................................................................. 4 Un premier petit programme....................................................................................................................................... 5 Constantes................................................................................................................................................................... 7 Instruction d'affectation................................................................................................................................................ 8 Les types de variables standard simples et opérateurs associés...............................................................................9 Entiers..................................................................................................................................................................... 9 Réels....................................................................................................................................................................... 9 Booléens............................................................................................................................................................... 10 Caractères.............................................................................................................................................................10 Les fonctions standard...............................................................................................................................................11 Instruction...................................................................................................................................................................12 Structures de contrôle................................................................................................................................................13 Boucle WHILE - DO (tant que - faire)................................................................................................................. 13 Boucle REPEAT - UNTIL (répéter - jusqu'à ce que)........................................................................................... 13 Boucle FOR - DO (pour - faire)........................................................................................................................... 14 Instruction IF - THEN - ELSE (si - alors - sinon)................................................................................................ 14 La structure CASE - OF (cas - parmi).................................................................................................................15 Types énumérés non standards................................................................................................................................ 17 Les types intervalles.................................................................................................................................................. 18 Tableaux..................................................................................................................................................................... 19 Tableaux unidimensionnels...................................................................................................................................19 Les chaînes de caractères...................................................................................................................................19 Tableaux de tableaux........................................................................................................................................... 20 Tableaux compactés.............................................................................................................................................20 Enregistrements......................................................................................................................................................... 22 Déclarations.......................................................................................................................................................... 22 Utilisation des enregistrements............................................................................................................................ 22 La structure WITH - DO (avec - faire).................................................................................................................23 Enregistrements avec variantes........................................................................................................................... 23 Procédures et Fonctions............................................................................................................................................25 Généralités............................................................................................................................................................25 Structure d'une entité de programme (routine).............................................................................................. 25 Portées des déclarations......................................................................................................................................26 Arguments(ou paramètres)...................................................................................................................................26 Les fonctions.........................................................................................................................................................27 Récursivité............................................................................................................................................................ 27 Les entrées / sorties.................................................................................................................................................. 29 Sur la console.......................................................................................................................................................29 Sur fichier..............................................................................................................................................................29 Les fichiers texte.................................................................................................................................................. 30 Extensions non standard......................................................................................................................................30 Accès direct.....................................................................................................................................................30 Imprimante.......................................................................................................................................................30 Autres.............................................................................................................................................................. 31 Ensembles..................................................................................................................................................................32 Pointeurs.................................................................................................................................................................... 35 Les listes chaînées et arbres...............................................................................................................................35 Les pointeurs en Pascal.......................................................................................................................................35 Correction des exercices........................................................................................................................................... 37 Ex ex_puiss.......................................................................................................................................................... 37 Ex ex_jeu..............................................................................................................................................................37 Ex ex_moy............................................................................................................................................................37 Ex ex_jeu_bis....................................................................................................................................................... 37 Ex ex_calc............................................................................................................................................................ 38 Ex moy_a..............................................................................................................................................................38 Ex rot_b................................................................................................................................................................ 38 - 2 - Utilisation de ce document libre pour tout usage personnel. Utilisation autorisée pour tout usage public non commercial, à condition de citer son auteur (Patrick Trau, IPST, Université Louis Pasteur Strasbourg) et de me signaler tout usage intensif. Utilisation commerciale interdite sans accord écrit de ma part. https://pascal.developpez.com/cours/ptrau/ Le langage Pascal par Patrick Trau Ex clas_c.............................................................................................................................................................. 39 Ex ex_str...............................................................................................................................................................40 Ex mat...................................................................................................................................................................40 Ex tel.....................................................................................................................................................................41 Ex rec....................................................................................................................................................................41 Ex fichier...............................................................................................................................................................42 Ex pointeurs..........................................................................................................................................................43 - 3 - Utilisation de ce document libre pour tout usage personnel. Utilisation autorisée pour tout usage public non commercial, à condition de citer son auteur (Patrick Trau, IPST, Université Louis Pasteur Strasbourg) et de me signaler tout usage intensif. Utilisation commerciale interdite sans accord écrit de ma part. https://pascal.developpez.com/cours/ptrau/ Le langage Pascal par Patrick Trau Introduction Les logiciels Dans la majorité des cas, on achète des programmes (logiciels) tout faits qui correspondent plus ou moins au besoin : • Traitement de texte - P.A.O : avec mise en page, justification, numérotation chapitres-pages,table des matières, dictionnaire... • Tableur : tableau de nombres à 2 dimensions et calculs • Base de données : ensemble de fiches (nom, adresse...) et recherche par rubrique, publipostage... • C.A.O, Dessin par ordinateur : propre, modification aisée, archivage... • Gestion : paye, facturation, stock... • Communication : transfert de programmes par modem et ligne téléphonique, serveur minitel... Un Intégré regroupe plusieurs de ces possibilités. Soit on achète un logiciel général : très bon niveau, parfaitement testé, documentation, formation... mais trop général (fonctions inutiles, fonctions utiles avec trop de paramètres ou difficilement accessibles); soit on fait (ou fait faire) un logiciel particulier : plus pratique, mais plus hasardeux (erreurs, SAV, doc...). Le cahier des charges doit être très précis. Langages de programmation Un ordinateur est une machine bête, ne sachant qu'obéir, et à très peu de choses : • Addition, soustraction, multiplication en binaire, uniquement sur des entiers; • Sortir un résultat ou lire une valeur binaire (dans une mémoire par exemple); • Comparer des nombres. Sa puissance vient du fait qu'il peut être programmé, c'est à dire que l'on peut lui donner, à l'avance, la séquence (la suite ordonnée) des ordres à effectuer l'un après l'autre. Le grand avantage de l'ordinateur est sa rapidité. Par contre, c'est le programmeur qui doit tout faire. L'ordinateur ne comprenant que des ordres codés en binaire (le langage machine), des langages dits "évolués" ont été mis au point pour faciliter la programmation. Le Pascal, créé par Wirth au début des années 70, possède des instructions assez claires (si vous comprenez l'anglais) et favorise une approche méthodique et disciplinée (on dit "structurée"). Le Pascal est un langage compilé, c'est-à-dire qu'il faut : • Entrer un texte dans l'ordinateur (à l'aide d'un programme appelé éditeur); • Le traduire en langage machine (c'est-à-dire en codes binaires compréhensibles par l'ordinateur) : c'est la compilation et éventuellement l'édition de liens (Link); • L'exécuter. Contrairement à un Basic interprété, l'exécution sera beaucoup plus rapide puisqu'il n'y a plus de traduction à effectuer. Bien que le langage soit normalisé, un certain nombre de points dépendent de la machine et du compilateur utilisé (par exemple, comment appeler le compilateur). Ces indications ne seront pas données ici. Si vous avez le choix, je vous conseille Turbo Pascal, le plus pratique d'emploi (en particulier parce qu'il possède son propre éditeur de texte). (1) (1) Note de la rédaction : A l'heure actuelle, Turbo Pascal est devenu obsolète et peut avantageusement être remplacé par, par exemple, Free Pascal voire Lazarus. - 4 - Utilisation de ce document libre pour tout usage personnel. Utilisation autorisée pour tout usage public non commercial, à condition de citer son auteur (Patrick Trau, IPST, Université Louis Pasteur Strasbourg) et de me signaler tout usage intensif. Utilisation commerciale interdite sans accord écrit de ma part. https://pascal.developpez.com/cours/ptrau/ Le langage Pascal par Patrick Trau Un premier petit programme Un programme Pascal est composé d'une entête, des déclarations et des instructions (délimitées par BEGIN et END). PROGRAM cercle (input,output); (* entête *) VAR perimetre, diametre : REAL; (* déclarations *) BEGIN readln(diametre); (* instruction *) perimetre := 3.141592 * diametre; (* instruction *) writeln(diametre,perimetre) (* instruction *) END. L'entête est composée du mot PROGRAM, suivi du nom du programme (cercle), et d'indications sur les Entrées/ Sorties (ici le clavier et l'écran). La partie déclarative de notre programme est limitée à la déclaration de deux variables (mot-clef VAR). Une variable est une "case" mémoire de l'ordinateur, à laquelle on donne ici un nom. Chaque case peut contenir une valeur. On a précisé ici que nos deux variables perimetre et diametre contiendraient des réels. Les types simples connus en Pascal sont : • REAL; • INTEGER (entier naturel); • CHAR (contient un est un seul caractère); • BOOLEAN (booléen, c'est-à-dire qui peut valoir soit TRUE (vrai) soit FALSE (faux). En Turbo Pascal, les entiers admissibles sont compris entre -32768 et +32767. (2) Tous les compilateurs Pascal possèdent une constante prédéclarée MAXINT, qui donne le plus grand entier admissible. Les réels doivent être compris en Turbo Pascal entre + et -1.7E37 (c'est-à-dire 1,7 fois 10 puissance 37), avec 11 chiffres significatifs. (3) La virgule décimale est toujours représentée par un point en informatique. Un identificateur (tout nom que vous choisissez : variable, programme...) peut être formé de lettres (A à Z), de chiffres et (pas sur toutes les versions de Pascal) du signe _ (souligné). Turbo Pascal accepte des noms de 127 caractères maximum, certains Pascal sont plus limités (31 caractères par ex). Le premier caractère doit être une lettre. Par exemple, valeur1 ou prem_valeur sont possibles mais pas 1ere_valeur. En Pascal, les minuscules sont traitées comme des majuscules (SURface et surFACE désignent la même case mémoire). Je n'utilise les majuscules que pour faire ressortir les mots importants. Les accents et autres ç ne sont pas autorisés (var diamètre : real est interdit à cause de l'accent). Un blanc dans un identificateur est également interdit (utilisez _ pour séparer des mots dans un même identificateur). Toute variable utilisée dans un programme doit être déclarée. Les instructions de notre programme sont : • Lecture sur le clavier : le programme s'arrête, attend que l'on donne une valeur à l'aide du clavier, met cette valeur dans la case diametre et continue lorsque l'on appuie sur la touche "ENTREE" ou "RETURN". • Calcul et affectation : on multiplie le contenu de la case diametre par PI et on met uploads/s1/ debuter-en-pascal-pdf.pdf

  • 31
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Dec 12, 2021
  • Catégorie Administration
  • Langue French
  • Taille du fichier 0.4587MB