Chapitre 4 R´ esum´ e syntaxique du langage Pascal Le Pascal est un langage pro

Chapitre 4 R´ esum´ e syntaxique du langage Pascal Le Pascal est un langage proc´ edural induisant une approche par les trai- tements pour r´ esoudre un probl` eme donn´ e. Cette approche peut ˆ etre descen- dante ou ascendante. Il supporte la notion de fonction ou de proc´ edure et des m´ ecanismes de passage d’arguments ` a ces fonctions ou proc´ edures ainsi qu’un m´ ecanisme de renvoi de valeur par les fonctions. 4.1 M´ ethode de d´ eveloppement d’un logiciel En g´ enie logiciel on utilise souvent la m´ ethodologie suivante pour r´ esoudre les probl` eme de programmation. Elle comporte cinq ´ etapes 4.1.1 Etapes de d´ eveloppement d’un logiciel 1. Formulation du probl` eme : Cette phase consiste ` a red´ efinir pr´ ecisement le probl` eme avec un gain de la compr´ ehension sur les parametres dont on a besoin pour la solution en ´ eliminant toutes les redondances. 2. Analyse : Cette ´ etape identifie les entr´ ees du probl` emes et les sorties d´ esir´ ees, ainsi que les contraintes. Elle identifie les informations ` a fournir comme donn´ es et les r´ esultats ` a calculer. Elle pr´ ecise egalement la forme sous laquelle les r´ esultats pourront ˆ etre pr´ esent´ es. 3. Conception : Ici on d´ eveloppe l’ algorithme pour r´ esoudre le probl` eme eton v´ erifie que l’algorithme r´ esoud bien le probl` eme comme attendu. C’est souvent l’aspect le plus difficile dans la r´ esolution du probl` eme. On doit donc mettre beaucoup de soin dans les v´ erifications inh´ erante ` a cette ´ etape. On utilise souvent la technique de diviser pour r` egner puis on r´ esoud s´ epar´ ement les sous probl` emes 24 4. Impl´ ementation : Ici on traduit l’algorithme en programme. Chaque ´ etape de l’algorithme va ˆ etre cod´ e en instruction dans un langage de pro- grammation. Il y a donc n´ ecessit´ e de la maˆ ıtriser un langage de program- mation. 5. Test et v´ erification : Dans cette phase on teste le programme complet afin de v´ erifier qu’il marche comme pr´ evu en utilisant diverses sortes de donn´ ees. Dans cette d´ emarche, les trois premi` eres phases sont critiques. De leurs bons d´ eroulements d´ epend la fiabilit´ e de toute la m´ ethode. 4.1.2 Analyse descendante Elle est bas´ ee sur la technique de diviser pour r` egner. En effet on d´ ecrit en pseudo-langage, l’algorithme en partant d’un niveau de description abstrait et en d´ ecomposant chaque traitement en sous-traitement jusqu’` a ce qu’il n’y ait plus de d´ ecomposition ` a faire. 4.1.3 Modularit´ e Un probl` eme est en g´ en´ eral d´ ecoup´ e en des sous-probl` emes ; chaque sous- probl` eme est r´ esolu s´ epar´ ement. Cette approche facilite la maintenance et la r´ eutilisation des codes grˆ ace aux m´ ecanismes de complilation s´ epar´ ee. 4.1.4 Programmation structur´ ee Une approche disciplin´ ee de programmation conduisant ` a des programmes faciles ` a lire et ` a comprendre, exempts d’erreurs de logique. Ce style de pro- grammation permet d’´ ecrire des codes clairs lisibles agr´ ement´ es de commentaires facilitant sa maintenance. 4.2 Structure g´ en´ erale d’un programme Pascal Selon la norme ANSI, tout programme Pascal comporte trois parties : l’entˆ ete, la partie d´ eclarative et le corps du programme (ou programme principale). L’entˆ ete (non obligatoire en Turbo-pascal) permet d’attribuer un identifica- teur (un nom) au programme. La partie d´ eclarative dit au compilateur la quantit´ e de m´ emoire qui doit ˆ etre r´ eserv´ ee au besoin du programme. Cette quantit´ e d´ epend des donn´ ees mises en oeuvre. Elle annonce ´ egalement tout ce qui va ˆ etre donc utilis´ e dans le corps du programme. Le corps du programme ou programme principal commence avec la ligne begin et se termine par la ligne end. 25 Elle contient les instructions (ex´ ecutables) qui, traduites par le compilateur, seront ensuite ex´ ecut´ ees. Sch´ ematiquement on a la structure suivante : Program nom ; } Entˆ ete const constante =valeur ; . constante =valeur ; type type = description ; . type = description ; var liste de variable : type ; . liste de variable : type ; Procedure pnom(liste de param` etres) ; var . begin . end ; . Function fnom(liste de param` etres) ; var . begin . end ;                                                                                            Corps du programme begin instruction ; . instruction ;    Programme principale end. Comme tout langage, le Pascal pess` ede un alphabet, un vocabulaire et une grammaire. L’alphabet du Pascal est form´ e des 26 lettres de l’alphabet anglais sans prise en compte de la casse, des 10 chiffres (du syst` eme d´ ecimal) et quelques symboles sp´ eciaux tels que les ponctuations etc. . .. Le vocabulaire est constitu´ e d’un certain nombre de mots r´ eserv´ es et des identificateurs standard. La grammaire est vue ` a travers les constructions syntaxiques autoris´ ees par le langage. Il est essentiel de retenir que chaque phrase en Pascal se termine par le point virgule ” ;” 26 Les commentaires (utiles ` a la maintenance mais non interprˆ et´ es par le com- pilateur) sont d´ elimit´ es par des couples d’accolades ”{. . .}”. Dans la suite nous donnons un aper¸ cu succint de la grammaire du Pascal. 4.3 Types de donn´ ees En pascal on a des donn´ ees simples et des donn´ ees structur´ ees. 4.3.1 Donn´ es simples Elles sont de deux sortes : les scalaires et les r´ eels. Les donn´ ees de type scalaire regroupent les entiers, les bool´ eens, les ca- ract` eres, les types ´ enum´ er´ es et les types intervalles. Types entiers Les types entiers du turbo pascal sont : Type Intervalle Exemple de d´ eclaration byte 0 .. 255 const beep=25 ; var x,y, a : byte ; shortint -128 .. 127 integer -32768 .. 32767 longint -2147483648 .. 2147483647 word 0 .. 65535 Types ´ enum´ er´ es Les types ´ enum´ er´ es d´ efinissent un ensemble ordonn´ e de valeurs en ´ enum´ erant les identificateurs qui r´ epresentent ces valeurs. L’ordre est celui de ´ enum´ eration. Syntaxe : type enumere = (element1, . . . , elementN) Exemple type Carte =(Trefle, Carreau,Coeur,Pique) 27 Types ´ enum´ er´ es C’est un type ´ enum´ er´ e particulier ayant deux valeurs False (vrai) ou True (faux) et utilis´ e pour les donn´ ees logiques (boolean). Types intervalles Un type intervalle est une portion de l’intervalle des valeurs d’un type sca- laire. Syntaxe : type intervalle = constantei..constantef Exemple type inf100=0..99 ; prime=trefle..coeur ; types r´ eels Les types r´ eels sont : Type Intervalle Exemple de d´ eclaration real 2.9 10−39 .. 1.7 1038 const pi=3.1416 ; var x,y : real ; single 1.5 10−45 .. 3.4 1038 double 5.0 10−324 .. 1.7 10308 extended 3.4 10−4932 .. 1.1 104932 comp −263 + 1 .. 263 −1 4.3.2 Donn´ es structur´ ees Types chaine de caract` eres Le type chaine de caract` eres (String) avec un attribut de longueur variable en cours d’ex´ ecution. Syntaxe : type chaine = string ou type chaine = string[N] ou N ∈1..255 la longueur prescrite 28 Exemple type chaine32= string[32] ; var nom, prenom : chaine32 ; commentaire : string ; note : string[3] ; Types tableaux le type tableau (array) est une structure form´ ee d’un nombre fixe d’´ el´ ements de mˆ eme type, le type composant. Syntaxe : type tableau = array[type d’indice ] of type composant Exemple array[boolean ] of array[1..10 ] of real Types enregistrements Le type enregistrement (record) est compos´ e d’un certain nombre d’´ el´ ements ou champs qui peuvent ˆ etre de diff´ erents types. Un enregistrement comporte une partie fixe et parfois une partie variable. Pour un enregistrement simple on a : Syntaxe : type enregistrement = record champ : type champ ; champ : type champ ; end ; Exemple type date = record An : integer ; mois : 1..12 ; jour : 1..31 ; end ; Pour un enregistrement ` avariante on a : Syntaxe : 29 type enregistrement = record champ : type champ ; . champ : type champ ; case type de selecteur of selecteur : (liste de champs) ; . selecteur : (liste uploads/s3/ resume-syntaxique-pascal-pdf.pdf

  • 29
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager