Eléments de base du langage pascal Généralités Le langage Pascal est un langage

Eléments de base du langage pascal Généralités Le langage Pascal est un langage de programmation dit évolutif parce qu'il est proche du langage humain. Il est créé en 1969 à l'école polytechnique de Zurich par NWIRTH. Il a été conçu pour permettre d'enseigner la programmation comme une science. Sa conception présente beaucoup d'avantages:  Il est facile à enseigner et à apprendre.  Il permet d'écrie des programmes lisibles et structurés.  Il permet une manipulation facile des données et des fichiers. Caractéristiques d'un programme Pascal Un programme écrit en Pascal est constitué d'une suite d'instructions qui sont des phrases du langage. Un programme Pascal comprend deux parties: 1. L'en-tête: Qui comprend le nom du programme et éventuellement des paramètres. 2. Le corps du programme: Comprend les déclarations et les instructions. Les instructions sont séparées entre elles par les points virgule (;). Le programme Pascal se termine toujours par un point (.) et il a la forme suivante: En-tête [Programme nom([paramètres]) corps du programme: Déclaration; Begin; Instructions; End. Déclaration La déclaration permet à l'ordinateur de réserver un espace mémoire pour chaque objet. Elle n'est pas exécutable. On distingue:  La déclaration d'étiquette.  La déclaration de constante.  La déclaration de type.  La déclaration de variable.  La déclaration de procédure.  LA déclaration de fonction. Déclaration d'étiquette En pascal toute instruction peut être précédée par une étiquette qui identifie de façon unique chaque instruction. C'est un entier positif d'au plus 4 chiffres. Tout élément soit être suivi du caractère (:). On peut débrancher une instruction étiquette à l'aide de l'instruction goto étiquette. Exemple: goto 100 x :=1; 100:x:=x+4; y:=x-2 Pour déclarer une étiquette on fait: Label entier; Exemple: Label 10, 12, 10; Déclaration de constante Une constante est un objet qui ne peut pas changer de valeur lors de l'exécution d'un programme. Sa déclaration est: const identification = valeur Exemple: const Pi=3.14; onze=11.0; max=45; min=-max Déclaration de type Le type d'un objet est l'ensemble dans lequel cet objet prend ses valeurs. On distingue les types non standard. Les types non standard sont définis par le programme et ne sont valables dans le programme qui les utilise. La déclaration d'un type est le suivante: type identification=ensemble de valeur; Exemple: type semaine=(Lundi, Mardi, Mercredi, Jeudi, Vendredi, Samedi, Dimanche) sexe=(Masculin, Feminin); logique=(vraie, faux); entier=integer; Déclaration de variable Une variable est un objet qui peut changer de valeur lors de l'exécution d'un programme. On retrouve la déclaration des variables dans tous les programmes. On déclare une variable de la façon suivante: var identificateur: type; Exemple: var a: interger; jour: semaine; La partie exécutable C'est la partie la plus important, sans elle le programme ne s'exécute pas. Elle commence toujours par le mot Begin et se termine toujours part le mot End. Cette partie est constituée d'une séquence d'instruction exécutable (lecture, écriture, affectation ou structure de contrôle). Exemple de programme Pascal: program suite (*Ce programme affiche les nombres de 1 à 10*); var nombre: interger; (*compteur*) Begin for nombre := 1 to 10 do writeln(nombre); end. (*fin du programme*) Les types de base Ce sont les types standard (qui sont prédéfinis dans l'ordinateur). On a:  Le type entier.  Le type réel.  Le type caractère.  Le type booléen.  Le type chaîne de caractères. Le type entier Le mot utilisé est integer, tout élément de ce type appartient à l'intervalle [-max int, max int] où l'identificateur max int fournit la valeur du plus grand entier représentable. Les nombres que l'on peut représenter sont limités par la taille de l'emplacement mémoire utilisé pour les codes (2 octets=16bits). Avec 16 bits on peut représenter les nombres appartenant à l'intervalle [-215; 215-1]=[- 32768;32767]. En complément à 2. Ainsi donc Max int = 32 767 A partir de cette limitation du type entier le programme est toujours confronté au problème de dépassement de capacité. Exemple: program exemple; var a, ab: interger; begin a := 20000; b := 2*a; xriteln('b=', b); end. Lors de l'exécution de ce programme l'ordinateur affiche b=-25536. Ce mauvais résultat provient du fait que les dépassements de capacité dans le cas type entier ne sont jamais détectés. Par contre si vous cherchez à écrire une constante comme par exemple 125413 qui ne peut pas être représenté dans le type entier, vous serrez prévenu par le message de compilation approprié constant out of rang. Pour résoudre ce problème le Turbo Pascal dispose du type long int (32bit). Les opérations possibles avec les objets du type entier sont: l'addition (+); la soustraction (-); la multiplication (*); la division (div), le modulo (mod). Les fonctions relatives au type entier sont:  abs(x)= ; abs(-3)=3 : la valeur absolue  sqr(x)= ; sqr(3)=9 : le carré  sqrt(x)= ; sqrt(4)=2.0 : racine carrée Les types réels Le mot utilisé est real. Un élément de ce type peut s'écrire sous deux formes:  Sous forme décimal, exemple: 12.43  Sous forme exponentiel, exemple: 4.25E2 Les nombres réels sont codés sur 6 octets et la technique de codage utilisée permet de les représenter avec une précision de l'ordre de 1 chiffres significatifs. On distingue donc l'intervalle 2,9x10-3; 1,7x1038 valeur absolu. Avec le type réel le déplacement de capacité est détecté. On a un message overglow. Les opérations relatifs au type réel sont: l'addition (+); la soustraction (-); la multiplication (*); la division (/). Les fonctions relatives au type réel sont:  abs valeur absolue.  sqr élévation au carré.  sqrt racine carrée.  frac la partie fractionnelle, exemple frac(3.05)=0.05 Le type booléen Le mode utilisé est boolean. C'est un ensemble à deux valeurs true, false. Les opérations utilisées sont:  and  or  not  xor: le "ou exclusif" (faux lorsque les deux conditions ont la même valeur) Les opérateurs de comparaison sont:  = égal  < inférieur  > supérieur  <= inférieur ou égal  >= supérieur ou égal  <> différent Le type caractère Le mot utilisé est char. C'est un ensemble fini et ordonné de caractère. La nature des caractères dépend de la machine. Exemple: 'A' Les fonctions relatives aux caractéristique sont:  ord : qui donne la valeur numérique du code de caractère, exemple ord('A')=65  chr : Donne le caractère ayant le code indiqué, exemple: chr(65)='A' ; chr(66)='B' Exercice: Ecrire un programme qui affiche les caractéristiques des codes allant de 1 à 100 et l'affichage doit se faire de la manière suivant: le caractère de code 65 est: A le caractère de code 66 est: B Le type chaîne de caractère Le mode utilisé est string. Lors de la déclaration d'une chaîne de caractère la longueur de la chaîne doit être précisée. Elle varie de 1 à 255. Exemple: var mot : string[10]; mot := 'papa'; Les opérateurs sur les éléments du type chaîne sont: la concaténation (+ ou concat); length (qui permet d'obtenir la longueur d'une chaîne de caractère) copy : permet d'extraire une sous chaîne. Exemple: copy('Bonjours', 2,4) = 'onjo' lentgh('Bonjours') = 7 mot = 'Bonjours' mot[3] = 'n' mot[6] = 'u' Exercice: Ecrire un algorithme qui lit une chaîne de caractère, il lit la position à partir de laquelle on doit extraire une sous chaîne de caractère et lit enfin la taille de la sous chaîne obtenue. Instructions simples On distingue:  L'affectation :=  La lecture read, readln  L'écriture write, writeln Les structures de contrôle Les structures répétitives for compteur := 1 to n do instruction; for compteur := n down to 1 do instruction; Exemple: for i := 1 to 10 do write(i); Structure "tant que": while condition do instruction; Structure "répéter": repeat instruction; until condition; Procédures et fonctions Généralités En Pascal lorsqu'un programme devient beaucoup plus complexe il est nécessaire d'utiliser une écriture modulaire permettant de scinder en plusieurs parties ou module le programme correspondant. Chaque module peut également être décomposé en module plus élémentaire, il existe deux sortes de module: les procédures et les fonctions. Généralement une écriture modulaire permet:  D'éviter de recopier un segment de code plusieurs fois dans un même programme.  De décomposer un programme ou un module en petits modules, chacun effectuant un travail bien précis.  De constituer une bibliothèque de sous programme. Définitions Fonction: C'est une entité qui calcule un résultat unique en fonction d'un ou de plusieurs paramètres. La valeur calculée est mise à la disposition de l'utilisateur par l'intermédiaire du nom de la fonction, qui est une variable d'un type donné: celui de la valeur calculée. Procédure: C'est une entité pouvant calculer et mettre à la disposition de l'utilisateur plusieurs valeurs ou aucune. Une procédure ou une fonction peut comporter toutes les parties d'un programme principal. Déclaration Les fonctions et les procédures sont déclarées juste après la déclaration des variables. Déclaration d'une procédure procedure nom([liste des paramètres]); déclaration des variables locales; Begin corps de la procédure; end; Déclaration de la fonction function nom([paramètres]): type; déclaration des variables; begin corps de la fonction; nom := valeur calculée; end; Exemple 1: Ecrivons une procédure qui permet de lire un nombre strictement positif. procedure uploads/Philosophie/ le-pascal.pdf

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