Université des frères Mentouri Faculté des sciences de la technologie Tronc commun ST Année universitaire 2016-2017 TP 3 : PASCAL (NOTIONS 1re année licence ST FONDAMENTAUX ET TURBO PASCAL) Module : Informatique1 1. PROGRAMME ET LANGUAGE DE PROGRAMMATION Un programme est un ensemble d'opérations (actions ou instructions consécutives) destinées à être exécutées par un ordinateur afin de fournir la solution à un problème donné. Il est écrit dans langage de programmation. Langage machine : Le langage utilisé par le processeur est appelé langage machine. Il s'agit des données telles qu'elles arrivent au processeur, constituées d'une suite de 0 et de 1 (données binaire). Langage naturel : représente les possibilités d'expression partagée par un groupe d'individus (par exemple l'anglais ou le français). Un langage de programmation est un langage permettant de formuler des algorithmes et de produire des programmes informatiques qui appliquent ces algorithmes. Il a plusieurs avantages : o o Il est plus facilement compréhensible que le langage machine ; Il permet une plus grande portabilité, c'est-à-dire une plus grande facilité d'adaptation sur des machines de types différents ; On distingue habituellement deux grandes familles de langages de programmation, selon la manière de laquelle les instructions sont traitées : o les langages impératifs organisent le programme sous forme d'une série d'instructions, regroupées par blocs. o les langages fonctionnels. dans lequel le programme est construit par fonctions, retournant un nouvel état en sortie et prenant en entrée la sortie d'autres fonctions Il y a une grande variété de langages de programmation selon le domaine d’application. Voici quelques exemples de langages couramment utilisés : 1 Langage Domaine d'application principal BASIC Programmation basique à but éducatif C Programmation système Cobol Gestion Fortran Calcul MATLAB Calcul mathématique LISP Intelligence artificielle Pascal Enseignement PHP Développement de sites web dynamiques Module Informatique 1 : TP3 Enseignante : Bendiab Keltoum 2. APPLICATION ET LOGICIEL Une application est (en informatique) « un programme ou ensemble de programmes destiné(s) à aider l’utilisateur d’un ordinateur pour le traitement d’une tâche précise ». Un logiciel est « un ensemble de programmes procédés et règles, et éventuellement de la documentation, relatifs au fonctionnement d’un ensemble de traitement de données ». En fait le terme logiciel est plus « ancien » et historique et le terme application est plus récent (2013) et se réfère souvent à des applications mobiles. On utilisera plus facilement les termes "programme" ou "logiciel" pour un ordinateur et le terme "application" pour un Smartphone ou une tablette. 3. ANALYSE PREALABLE L'écriture d'un programme ne doit pas se faire sans une phase d'analyse préalable. Cette phase d'analyse se termine par un algorithme. Elle permet d’inventorier toutes les informations dont le programme a besoin au départ et toutes les informations dont il aura besoin en sortie. Quand on possède toutes ces données, il faut décrire l’algorithme pour passer des informations disponibles en entrée aux informations disponibles en sortie. Par exemple, l’algorithme pour trouver si un nombre entier est pair ou non : 1. Il faut diviser le nombre entier par 2 2. Si le reste de la division est 0, le nombre est pair, 3. Sinon, le nombre est impair. 2 Module Informatique 1 : TP3 Enseignante : Bendiab Keltoum 4. ERREURS SYNTAXIQUES ET ERREURS SEMANTIQUES Un langage de programmation peut être décrit par les mêmes 3 niveaux : le vocabulaire, appelé lexique ; la grammaire, appelée syntaxe ; le sens, appelé sémantique. Les unités lexicales d'un langage décrivent ses composants de base, les "mots" de son vocabulaire (identificateurs et les mots-clés). La plupart des langages sont fondés sur des vocabulaires très proches (begin, end, while, if, repeat, etc.). La syntaxe d'un langage décrit les façons correctes d'assembler des unités lexicales pour écrire des programmes. Un programme syntaxiquement correct peut encore être erroné s'il contient des erreurs sémantiques. La sémantique d'un langage de programmation est la description du sens des constructions du langage. Exemple « utiliser une variable vide dans les traitements ». Une erreur syntaxique est découverte lors de la phase de compilation, par exemple si tu écris "Wihle" a la place de "while", alors que l'erreur sémantique est découverte lors de l'exécution. Le compilateur est un logiciel qui lit (analyse) un programme et le traduit en code machine, directement exécutable par le processeur de l'ordinateur. 5. LE LANGAGE PASCAL Pascal est un langage de programmation impératif, conçu pour le domaine éducatif, il se caractérise par une syntaxe claire et facilitant la structuration des programmes. Ce langage a été inventé par Niklaus Wirth dans les années 1970. En général, on reconnaît un programme en Pascal par l’extension du fichier qui le contient : .pas, .p ou .pp, les deux dernières étant plus fréquentes sur les systèmes de type UNIX. A. LA STRUCTURE GENERALE D’UN PROGRAMME ECRIT EN PASCAL Un programme Pascal est composé d’un : 1. 2. 3. En-tête : L'entête est composé du mot clés PROGRAM, suivi du nom du programme (cercle). Les déclarations des variables et des constantes: Le corps de programme: Contient les instructions (délimitées par les mots clés BEGIN et END). PROGRAM cercle; (* entête *) Const P=3.141592; (* déclarations *) VAR perimetre, diametre : REAL; (* déclarations *) BEGIN readln(diametre);(* instruction *) perimetre := p * diametre; (* instruction *) writeln(diametre, perimetre) (* instruction *) END. 3 Module Informatique 1 : TP3 Enseignante : Bendiab Keltoum Une variable est une case mémoire où est stockée une donnée dont la valeur susceptible de changer au cours de l'exécution du programme. 1. Un nom : est l’identificateur de la variable dans le programme. 2. Un type : Pour distinguer les uns des autres les divers contenus possibles, on utilise différents types de variables (entiers, réels, chaîne de caractères ...). 3. Une valeur : Une fois la variable définie, une valeur lui est assignée, ou affectée. Une constante est une donnée dont leur valeur ne peut pas être modifiés au cours de l'exécution de programme (c-à-d fixée pour tout le programme). Exemple : Pi, la constante de gravitation, etc. CONST nom = valeur; Exemples : CONST taux_tva = 18.6; P=3.141592 ; VAR nom : Type; Exemples : var age = Integer; Couleur_voiture : String ; B. LES COMMENTAIRES Dans un programme pascal on place un {commentaire} au-dessus ou à coté d'une instruction. Il sert à rendre le programme plus clair à la lecture, à noter des remarques, etc. Le commentaire n'est pas pris en compte à la compilation. 4 Module Informatique 1 : TP3 Enseignante : Bendiab Keltoum C. LES TYPES DE VARIABLES 1. Types prédéfinis : Un type décrit un ensemble de valeurs et un ensemble d'opérateurs sur ces valeurs. Les types prédéfinis sont : Integer, Real, Char, String, Boolean. 2. Type intervalle : C'est un sous-ensemble de valeurs consécutives d'un type hôte. Syntaxe Identificateur : N..M ; 3. Type énuméré : permet de coder plusieurs cas à l'aide d'une variable. Syntaxe Identificateur : (N, x, y, z, w) ; D. EXPRESSION ARITHMETIQUE Une expression désigne une valeur, exprimée par composition d'opérateurs appliqués à des opérandes, qui sont : des valeurs, des constantes, des variables, etc. Les opérateurs dépendent du type de l'opération, ils peuvent être : 1. 2. 3. 4. Des opérateurs arithmétiques (mathématiques) Des opérateurs relationnels Des opérateurs logiques Des opérateurs sur les chaînes de caractères. 1- OPERATEURS MATHEMATIQUES 5 Abs(x) valeur absolue de |x| Pred(x) x-1 Succ(x) X+1 Odd(x) vrais si x est impair, faux sinon. Sqr(x) Le carré de x. x+y Addition. x-y Soustraction. x*y Multiplication. x/y Division, fournissant un résultat de type réel. x div y Dividende de la division entière de x par y. Module Informatique 1 : TP3 Enseignante : Bendiab Keltoum x mod y Reste de la division entière, avec y non nul. x=y Egalité Opérateurs prioritaires : *, /, DIV et MOD. Opérateurs secondaires : + et -. Vous pouvez utiliser des parenthèses. Exemple : G = 5 + 5 x 4 - (179 + 4 - 4 x 45) + (45 + 75) G = 5 + 5 x 4 - (179 + 4 - 180) + 120 G = 5 + 5 x 4 - (183 - 180) + 120 G = 5 + 5 x 4 - 3 + 120 G = 5 + 20 - 3 + 120 G = 25 - 3 + 120 G = 22 + 120 G = 142 2- OPERATEURS RELATIONNELS x<y Inferieur strict x<=y Inférieur ou égale x>y Supérieur strict x>=y Supérieur ou égale. <> Différent = égalité 3- OPERATEURS LOGIQUES (BOOLEENS) x AND y Le « et » logique x OR y Le « ou » logique x XOR y Le « ou exclusif » NOT Le « non » logique Opérateur ultra-prioritaire : NOT. Opérateur semi-prioritaire : AND. Opérateur non prioritaires : OR et XOR. Tables de vérité 6 Module Informatique 1 : TP3 Enseignante : Bendiab Keltoum Exemple: soit les variables m , n de type entier et a de type booléen, tel que n := 1, a := True et m = 2 * (n+1) – 1 ; la valeur de l’expression logiques suivantes est calculer comme suit : P:= (n+1 <= m) And ( a Or (2 * n > m) Or (3 * n <> m) ) P:=(2<= m) And ( a Or (2 > m) Or (3 <> m) ) P:= (vrais) And ( a Or (faux) Or (faux) ) P:= (vrais) And ( (vrais) Or (faux) ) P:= (vrais) And ( vrais ) P :=Vrais 7 Module Informatique 1 : TP3 Enseignante : Bendiab Keltoum