Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Universit

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université de Relizane Département Informatique Année académique 2022/2023 Calcul Parallèle et Grilles de Calcul : M2 - RSD Responsable du module : S. Bella 1/1 TP N°1 : Premier pas avec ADA Objectif : le but de ce TP est de vous familiariser avec le langage ADA. 1. Présentation de langage :  Ada est l'aboutissement d'une longue lignée de langages impératifs et procéduraux (Pascal, C, Fortran, Algol, …).  Ada synthétise les meilleurs apports de ces langages et les intègre dans un ensemble cohérent.  Ada est une norme internationale. Aucun sur-ensemble ni sous-ensemble de compilateur n'est admis, afin de garantir la portabilité des applications.  Ada fournit des fonctionnalités de sécurité qui détectent les défauts à un stade précoce, généralement au moment de la compilation ou à l'aide d'outils d'analyse statique.  Ada est l’un des premiers langages à intégrer nativement le parallélisme en s’appuyant sur la notion de tâchee (fils de contrôle parallèle).  Ada permet la construction des tâches pour la programmation concurrente et permet l’exclusion mutuelle.  Des études économiques ont montré que les projets en Ada coûtaient moins cher en développement, que leur phase d'intégration était plus courte, et qu'il restait moins d'erreurs résiduelles que dans des projets équivalents développés dans d'autres langages. 2. Buts d’Ada : Les buts principaux sont :  Fiabilité : - Accent sur la lisibilité plutôt que sur la facilité d’écriture, - Constructions doivent avoir une sémantique simple et non ambiguë.  Simplicité : les constructions du langage sont intuitives pour l’utilisateur, …  Modularité : Ada doit supporter et favoriser les logiciels modulaires et réutilisables, et les unités de compilation séparées.  Efficacité : Ada a évité des constructions qui nécessitent : - Des compilateurs trop élaborés (complexes), - Une utilisation inefficace de la mémoire, ou du temps d'exécution, - Du matériel spécialisé. 3. Caractéristiques principales du Ada :  Fortement typé : le compilateur vérifie la cohérence des types et des données (valeurs) utilisées.  Modulaire (paquetages) Il possède une riche bibliothèque de modules prédéfinis.  Généricité (définir des algorithmes identiques opérant sur des données de types différents.)  Traitement des exceptions, Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université de Relizane Département Informatique Année académique 2022/2023 Calcul Parallèle et Grilles de Calcul : M2 - RSD Responsable du module : S. Bella 2/1  Gestion de la concurrence des taches.  Il s'interface avec d'autres langages comme C, fortran, cobol, ... 4. Un peu d’histoire :  Dans les années 1970, le Département de la Défense des États-Unis (DOD) a connu une explosion du nombre de langages de programmation (plus de 500 !), avec différents projets utilisant des langues différentes et non standard.  Le DOD a décidé de résoudre ce problème en lançant une demande de propositions pour un langage de programmation commun et moderne.  La proposition gagnante a été soumise par Jean Ichbiah de CII Honeywell-Bull.  La première norme Ada a été publiée en 1983; il a ensuite été révisé et amélioré en 1995, 2005 et 2012, chaque révision apportant de nouvelles fonctionnalités utiles. 5. Ada aujourd’hui :  Ada est le plus avancé des langages orientés objet.  Ada est le langage le plus populaire pour les applications critiques : - Mise en jeu des vies humaines (sécurité). - Importance des coûts liés aux pannes.  Domaines d’application : - Systèmes embarqués et temps réel (fortement utilisé mais nécessitant un haut niveau de fiabilité et de sécurité) ; - Programmation de jeux vidéo ; - Systèmes ferroviaires ; - Systèmes bancaires ; - Contrôle de trafic aérien ; - Conduite de centrales nucléaires ; - Technologie spatiale ; - Périphériques médicaux ; - … 6. Logiciels nécessaires : comme tout langage, Ada a besoin de deux types de logiciels : un éditeur de texte avancé (appelé IDE) et un compilateur. Il existe des différents éditeurs de texte comme Adagide, GPS, Emacs, etc., et des compilateurs tels que GNAT GPL, AdaMagic, AdaMulti, etc. aussi bien sous Windows que sous Linux. - L’IDE Adagide et le compilateur GNAT GPL sont utilisés dans ce TP et qui sont gratuits. - Le lien de téléchargement de Adagide : https://sourceforge.net/projects/adagide/files/ - Le lien de téléchargement de GNAT GPL : https://www.adacore.com/download Si vous êtes sous Windows, vérifiez que le système d'exploitation est bien «x-86 Windows» (à la ligne «Select your platform»). - L’installation de Adagide et GNAT GPL est simple, il suffit de suivre les étapes. 1. Premier pas en programmation ADA : Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université de Relizane Département Informatique Année académique 2022/2023 Calcul Parallèle et Grilles de Calcul : M2 - RSD Responsable du module : S. Bella 3/1 - Pour lancer Adagide, cliquez sur l’application trouvée dans le menu C:\Program Files (x86)\adagide. Nb : vous pouvez le copier ou créer un raccourci sur le bureau. - Une fois que vous avez démarré Adagide, une fenêtre s’ouvre et dont laquelle on peut lancer des programmes. - Pour créer un nouveau document (fichier), il suffit de cliquer sur File > New ou sur l'icône «New». - Tapez le programme suivant dans votre fichier crée : - Créez un répertoire que nous nommerons «Hello», et dans ce répertoire enregistrez notre document (appelons-le également «Hello»). Assurez-vous que dans la case type, il y a Ada files avec l’extension .adb. - Pour compiler ce programme, cliquer sur l'icône «Compile» (ou appuyer sur F2 avec Adagide, ou encore Compile > Compile File). Le compilateur vérifiera la syntaxe de votre code. S'il n'y a pas d'erreur, le compilateur devrait vous indiquer (dans la fenêtre du bas) «Completed successfully». Mais à ce stade, votre programme n'existe pas encore, vous devez construire l'exécutable. Pour cela cliquez sur l'icône «Build» (ou appuyez sur F3 avec Adagide ou cliquez sur Compile > Build). - Votre fichier exécutable est désormais créé. Vous pouvez soit aller le chercher dans le répertoire Hello que vous avez créé, soit cliquez sur l'icône « Execute » (ou appuyez sur F4 avec Adagide ou cliquer sur Run > Execute). - Vous devriez ainsi obtenir une fenêtre noire vous indiquant : Salut tout le monde ! - Il est possible de modifier la taille du texte du programme en cliquant sur le bouton «Taille». 7. Structure d’un programme ADA : Un programme Ada est composé de quatre parties principales : Parties Définition Exemple Clause de contexte (context clause) La clause doit contenir les outils Ada que le programmeur peut utiliser sans avoir à les construire lui-même, et indispensables au fonctionnement du programme. Ces outils sont regroupés en paquetages. Il est nécessaire de les indiquer pour que le compilateur puisse en tenir compte lors de la phase de vérification et de traduction en code machine. WITH Ada.Text_IO; USE Ada.Text_IO; WITH Ada.Integer_Text_IO; USE Ada.Integer_Text_IO ; En-tête L’entête du programme, où est spécifié le nom du programme. procedure Hello is Partie déclarative (declarative part) Elle comprise entre l’en-tête et le mot réservé begin, contenant : - Les déclarations des objets (constantes, variables, etc.) utilisés dans le programme. Ces objets représenteront des données traitées par le programme. Droite : constant := 1; Present : Boolean := True; Nombre : Integer := 5 ; Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université de Relizane Département Informatique Année académique 2022/2023 Calcul Parallèle et Grilles de Calcul : M2 - RSD Responsable du module : S. Bella 4/1 - Elle peut encore contenir des sous-programmes ou encore des types. Partie instructions Elle comprise entre les mots begin et end, appelée souvent corps (body). Elle contient les instructions (statements) du programme. Il faut encore relever le rappel du nom du programme après le end final. put("Salut tout le monde !") ; New_line ; Put_line("monde") ; 8. Constituants d’un programme ADA : Un programme Ada est composé de phrases appelées unités syntaxiques (syntactic units). Elles sont elles-mêmes constituées de mots, symboles, etc. appelés unités lexicales (lexical units). Chaque unité lexicale est une suite de caractères appartenant au jeu de caractères Ada. 8.1 Jeu de caractères en Ada: Le jeu de caractères en Ada comporte les caractères imprimables (lettres MAJ, lettres MIN, chiffres et les caractères spéciaux ( = # % & ‘ ( ) * + -/ ,…) et les caractères non imprimables (les espaces, les tabulations, le retour à la ligne, le saut de ligne, …). 8.2 Unités lexicales en Ada : Diverses unités lexicales existent en Ada : Unité Définition Exemple Identificateurs (identifiers) Un identificateur nomme les entités d’un programme et doit toujours être parlant pour les lecteurs du programme. Il est un mot composé de lettres, de chiffres et du caractère _ et commençant obligatoirement par une lettre. Le langage contient des identificateurs prédéfinis (predefined identifiers) comme Integer, Float, Text_IO, Constraint_Error, etc., que le programmeur peut éventuellement redéfinir dans son programme. Put, Put_line() , New_line() Mots réservés (reserved words) Les mots réservés sont des identificateurs restreints à un usage bien défini. procedure, is, begin Symboles (symbols) Les symboles formés uploads/Science et Technologie/ cpgc-tp1.pdf

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