1 KHAWARIZMI CENTRE Cours Pascal Premiers pas vers la programmation Orienté Obj
1 KHAWARIZMI CENTRE Cours Pascal Premiers pas vers la programmation Orienté Objet 2 INTRODUCTION Avant de commencer les grandes théories sur la programmation, voici un petit historique sur les différents langages informatiques, un petit rappel sur les processus de traduction des programmes informatiques... Le langage de chaque ordinateur est le langage machine où les instructions et les données sont représentées par des combinaisons de bits. Ce langage composé de 0 et de 1 est compliqué et confus. C'est pour cette raison que l'on a créé un langage symbolique appelé assembleur. La combinaison de bits d'une instruction est remplacée par deux à quatre caractères. Ces caractères sont souvent des abréviations anglaises qui décrivent l'instruction (abréviations mnémoniques). Chaque processeur à son propre langage assembleur. Comme ce genre de programmation demande des connaissances exactes du système à microprocesseur, on parle souvent de langage machine. Pour faciliter encore la programmation, des langages évolués ont étés développés. Ils sont orientés vers le problème à traiter et ne sont donc plus dépendants du microprocesseur employé. Voici un petit exemple. Langage machine Langage assembleur BASIC 00111110 00000001 00000010 00111110 00001111 00001100 01100010 00001111 MVI A, 9H MVI B, 3H SUB B CALL 0869H 10 PRINT 9-3 Quel est le langage que vous préférez ? le langage machine ? Arbre généalogique de quelques langages évolués 3 Nom Signification Domaine d'utilisation FORTRAN Formula Translation Mathématiques et sciences naturelles APL A Programming Language Essentiellement problèmes mathématiques LISP List Processing Language Langage dans le domaine de l'intelligence artificielle BASIC Beginners All- PurposeSymbolic Instruction Code Problèmes généraux ALGOL Algorithmic Language Mathématiques et sciences naturelles COBOL Common Buisness OrientedLanguage Commercial LOGO Emprunté au mot grec LOGOS = la raison Langage d'apprentissage développé principalement pour les enfants BCPL Basic Combined Programming Language Langage qui connaît un grand succès, intégrant la puissance de l'assembleur 4 SIMULA Langage développé à partir de l'ALGOL et contenant des nouveaux concepts PL/1 Programming Language n°1 Commercial / mathématiques et sciences naturelles PROLOG Programming in Logic Langage fortement orienté vers le problème C Successeur du langage B de AT&T Langage utilisé pour développer les systèmes d'exploitation. Par exemple UNIX ou MS-Windows. PASCAL Du célèbre mathématicien Pascal Langage structurel polyvalent ADA Du nom de la première programmeuse de l'histoire de l'ordinateur: Augusta Ada Byron, collaboratrice de Ch.Babbage Langage polyvalent dont le éveloppement a été commandé par le ministère américain de la défense MODULA-2 Modular Language n°2 Langage modulaire développé à partir du PASCAL Processus de traduction 5 Programme source Programme écrit dans un langage symbolique Programme de traduction Programme qui traduit la langage symbolique en langage machine Programme objet Programme en binaire exécutable par le microprocesseur Assembleur Le mot assembleur désigne aussi bien le langage de programmation que le programme de traduction. Chaque commande en langage assembleur est une expression symbolique qui remplace le code machine. Interpréteur To interpret = Interpréter. Lors de l'exécution d'un programme source, l'interpréteur traduit la première instruction en code machine, et s'il n'y a pas d'erreur de syntaxe, l'exécute. Il en fera de même pour les autres instructions jusqu'à la fin du programme. Un interpréteur est comparable à un traducteur qui fait une traduction simultanée. Le BASIC est un langage interprété. Compilateur L'ensemble du programme source est traduit en code machine puis mémorisé. les erreurs de syntaxe sont données sous forme d'une liste par l'ordinateur. Les erreurs doivent être corrigées dans le programme source. Le processus de traduction complet doit alors être répété. Le PASCAL est un langage compilé. 6 Comparaison Coût de programmation Connaissance du processeur Vitesse d'exécution Occupation mémoire Assembleur Grand Oui Très rapide --- Langage Interprété Petit Non Lente De 2 à 4 fois la place mémoire d'un programme en assembleur Langage compilé Rapide STRUCTURE DU LANGAGE PASCAL Un programme Pascal est un texte dont la structure est définie selon la figure suivante: PROGRAM NomDuProgramme; { Déclarations } BEGIN { Déclarations } END. En première analyse: PROGRAM, BEGIN et END sont des mots clés du langage PASCAL, et sont appelés des mots réservés. NomDuProgramme est un identificateur Premier petit programme Prenons comme exemple un petit programme PASCAL qui va afficher sur l'écran la somme de deux nombres obtenus par une lecture au clavier: 7 ENTETE PROGRAM Addition; SECTION DECLARATIVE VAR Somme : INTEGER; Nombre1, Nombre2 : INTEGER; BLOC D'INSTRUCTIONS BEGIN Write ('Premier nombre ? : '); ReadLn (Nombre1); { Lecture 1er nombre } Write ('Deuxième nombre ? : '); ReadLn (Nombre2); { Lecture 2ème nombre } Somme := Nombre1 + Nombre2; WriteLn ('La somme vaut: ', Somme); END. Quelques remarques: Il est facile de déduire de cet exemple la position de la zone utilisée pour les déclarations et celle utilisée pour les instructions. Ses commentaires peuvent être insérés dans le programme au moyen des délimiteurs "{" et "}" ou "(*" et "*)" Quelques règles de syntaxe Le pascal n'impose pas un format d'écriture rigide tel que le FORTRAN, le C ou l'ASSEMBLEUR, le programmeur est libre d'insérer des espaces et des fins de lignes dans tout son programme, excepté à l'intérieur des identificateurs et des chaînes de caractères. Exemple 1 - Excellent PROGRAM Exemple; BEGIN WriteLn ('Bonjour'); WriteLn ('Au revoir'); END. Exemple 2 - Ca s'exécute, mais la personne qui devra reprendre le programme ne vous dira pas merci ! :( PROGRAM Exemple; BEGIN WriteLn ('Bonjour'); WriteLn ('Au revoir'); END. Exemple 3 - Incorrect (Mais pourquoi ??) 8 PROGRAM Exemple; BEGIN WriteLn ('Bonjour'); WriteLn ('Au revoir'); END. Le format libre du PASCAL implique l'utilisation de séparateurs. En général, le point- virgule (;) est utilisé pour séparer les instructions et les sections principales, tandis que la virgule (,) est utilisée pour séparer les listes d'identificateurs ou paramètres. PROGRAM Exemple; VAR { Introduction des variables } Mult, Somme : REAL; Entier : INTEGER; Reel : REAL; BEGIN { Début du programme } Write ('Tapez un nombre entier > '); ReadLn (Entier); { Lit un nombre entier } Write ('Tapez un nombre réel >'); ReadLn (Reel); { Lit un nombre réel } Somme := Entier + Reel; { Calculs } Mult := Entier * Reel; WriteLn ('Somme:', Somme, ' Produit:', Mult); END. { Fin du programme } 9 REGLES DE FORMATAGE ET CONVENTIONS D'ECRITURE Comme nous l'avons-vu précédemment, il est très facile d'écrire un programme illisibleou très structuré. Pour vous aider lors de la rédaction de vos programmes, voici les quelques règles que j'essaie de respecter lors de l'écriture de programmes: IDENTIFICATEURS MOTS RESERVES ET IDENTIFICATEURS PRE-DECLARES Les mots réservés du langage (BEGIN, END, FOR, DO, ...) ainsi que tous les identificateurs prédéclarés (INTEGER, BYTE, CHAR, ...) sont écrits en majuscules. CONSTANTES Les identificateurs de constantes sont composés de minuscules uniquement. Les différents mots sont éventuellement séparés des "underline". Exemples: dimension_tableau, blanc, tva, ... VARIABLES Les identifiants de variables sont écrites en minuscules avec les initiales en majuscule. Les mots sont éventuellement séparés par des "underline". Exemples: Age_Du_Capitaine, Couleur_Fond_Ecran, Vitesse, Acceleration, ... TYPES Les identificateurs de type commencent toujours par "T_" puis sont écrits comme les variables, en minuscules avec des initiales en majuscules. Exemples: T_Couleur, T_Genre, T_Code_D_Erreur, ... PROCEDURES Les identificateurs de procédures sont écrits comme les noms des variables en minuscules avec des initiales en majuscules.Mais on utilisera un verbe à l'infinitif, car un appel de procédure décrit une action à réaliser: Afficher, Close, Effacer_Ecran, Rebedouler, ... FONCTIONS Les identificateurs des fonctions sont écrits comme les noms des variables en minuscules avec des initiales en majuscules.A l'inverse des procédures, un nom (ou une locution) sera utilisé pour l'identification, car un appel de fonction décrit le 10 résultat d'une action à réaliser. Exemples: Caractere_Lu, Sinus_Hyperbolique, ... En principe, une fonction ne devrait avoir qu'un seul paramètre de sortie: le résultat de la fonction. Si une routine doit avoir plusieurs paramètres de sortie, il est préférable d'utiliser une procédure. UNITES ET PROGRAMME PRINCIPAL Les identificateurs d'unités ou de programme principal sont également écrits comme les noms de variables en minuscule avec initiales en majuscules. DECLARATIONS Autant que possible, on ne déclarera qu'un objet par ligne (constante, type ou variable) afin de pouvoir commenter chacun de ces objets sur la même ligne. Exemple: CONST max_x = 100; { Bla Bla Bla } max_y = 200; { Patati Patata } TYPE T_Couleur = (rouge, vert, bleu); { Pfffffrrrt } T_Truc = [39..45]; { Tagada... } T_Chose = RECORD { ...Tsoin tsoin } Zorglad_Gauche : INTEGER; Cameleo : T_Couleur; END; {RECORD} VAR I, { Voilà voilà } J, { Ca nous rajeunit pas } K, { K comme Koala } Longueur : INTEGER; { En angström } Tableau : ARRAY [1..max_c, 1..max_y] OF BYTE; INDENTATION Un incrément d'indentation de 2 caractères sera utilisé à chaque niveau BOUCLES FOR, WHILE ET REPEAT Ces boucles sont présentées de la manière suivante: 11 Statment; Statment; FOR I := 1 TO 10 DO BEGIN Statment; Statment; END; {FOR} Statment; Statment; WHILE X < Y DO BEGIN Statment; END; {WHILE} Statment; Statment; REPEAT Statment; UNTIL X > Y; Statment; On commentera les END de façon à indiquer à quelle boucle ils appartiennent. On placera également un ";" après la dernière uploads/Industriel/ cours-pascal 1 .pdf
Documents similaires
-
26
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jul 14, 2022
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 0.5493MB