Réaliser par : Saad El Jaouhari & Zakaria Amchra Saad El Jaouhari & Zakaria Amc

Réaliser par : Saad El Jaouhari & Zakaria Amchra Saad El Jaouhari & Zakaria Amchra Université Ibn-Tofail Faculté des Sciences de Kénitra Département d’Informatique Sommaire  INTRODUCTION  LES LOGICIELS NECESSAIRES  STRUCTURE DU FICHIER DE CODE  SYNTAXES GÉNÉRALES  Généralités.  Conditions.  Boucles.  TYPES  Typage fort.  Construction de nouveaux types.  Attributs.  Tableaux et chaines de caractères.  PROCÉDURES ET FONCTIONS  EXEMPLE DE RÉCAPITULATION Introduction Ada est un langage de programmation conçu par l’équipe de CII-Honeywell Bull dirigée par Jean Ichbiah en réponse à un cahier des charges établi par le département de la Défense des États-Unis (DoD). Son développement a commencé au début des années 1980 pour donner Ada 83. Pour cela, l'équipe de Jean Ichbiah s'est inspirée de son précédent langage LIS (Langage d'Implémentation de Systèmes). Ada 83 a été ensuite repris et amélioré au milieu des années 1990 pour donner Ada 95, le premier langage objet normalisé de manière internationale. Sous les auspices de l’Organisation internationale de normalisation (ISO), le langage a bénéficié d'un amendement (Ada 2005) puis d'une nouvelle révision appelée Ada 2012. Le nom Ada a été choisi en l’honneur d’Ada Lovelace, qui est supposée avoir été la première femme informaticienne de l’histoire. Les logiciels nécessaires Nous allons au cours de ce chapitre, télécharger et installer les logiciels nécessaires à l'utilisation d'Ada. Eh bien non. Comme tout langage, Ada a besoin de deux types de logiciels: un éditeur de texte avancé (appelé IDE) et un compilateur. Nous utiliserons l'IDE appelé GPS (même si le logiciel Ada Gide pourra être utilisé) et ,le compilateur GNAT Téléchargement : Ada Gide : ici GPS : ici Après l’installation du programme GPS nous allons expliquer un peu comment travailler avec le logiciel . Comme le montre l’image ci-dessous La fenêtre est découpée en quatre zones. La première ne nous intéresse pas pour l'instant. La seconde, juste en dessous affichera les fichiers et programmes de votre La troisième zone de la fenêtre est la zone principale, celle où vous rédigerez votre programme. Enfin, la quatrième zone est celle réservée au compilateur et à la console. Pour créer un nouveau projet : 1. Choisissez "Create new project with wizard " et cliquez sur OK. 2. Choisissez l'option "Single project" puis cliquez sur Forward. 3. Choisissez un nom pour votre projet et précisez un répertoire où l'enregistrer. Note : créez un répertoire spécifique par projet. Structure du fichier de code la structure du code de Ada est toujours séparée en deux unité : Une spécification et un corps (la spécification pouvant être omise dans de très rare cas ). Sous GNAT , on sépare ces deux parties dans deux parties dans deux fichiers distincts un (.ads) pour la spécification et un (.adb) pour le corps. Il y a deux type d’unité de compilation : les paquetages et les sous-programmes. Un paquetage est une sorte de bibliothèque , que contient plusieurs procédures (mais pas de « main ») , alors qu’une procédure est une unité qui peut servir a créer un programme exécutable . Voila la syntaxe de la spécification d’un paquetage (.ads) : package Nom_Paquetage is -- code private -- code end Nom_Paquetage; Voila la syntaxe de l’implémentation d’un paquetage (.adb) : package body Nom_Paquetage is -- code end Nom_Paquetage; IMPORTANT : Vous remarquerez également qu'un mot clé private sépare en deux parties la spécification d'un paquetage. Il s'agit de la séparation entre les objets publics, c'est-à- dire accessibles par les fichiers utilisant ce paquetage, et les objets privés accessibles uniquement par le paquetage lui-même . Ada différencie ces parties au niveau du paquetage IMPORTANT : Le nom du fichier doit impérativement être le même que celui de l'unité de compilation. On aurait donc ici respectivement Nom_Paquetage.ads et Nom_Paquetage.adb. Pour utiliser les entités déclarées dans un paquetage. Il faut l'invoquer comme il suit : with Nom_Paquetage; D'un certain point de vue, on peut également considérer le paquetage comme un espace de nom (namespace) C++, c'est-à-dire que les unités décrites à l'intérieur sont à préfixer du nom de ce paquetage. En Ada, on utilise : use Nom_Paquetage; Parlons enfin des unités de compilation procédures. Ce sont elles qui peuvent servir de point d'entrée à un programme (fonction main), même si on peut les invoquer à partir d'un autre programme via une directive with. Comme pour les paquetages, le nom du ficher qui contient la procédure principale doit être le même que celui de la procédure suivi d'un (.adb) . Lorsque l'unité de compilation est une procédure, il n'y a pas besoin de fichier de spécifications (même si on peut en fournir un). Voici un exemple de procédure qui affiche" hello world " à l'écran : with Ada.Text_Io; use Ada.Text_Io; procedure Principale is begin Put_Line ("Hello World"); end Principale; Cette procédure utilise un paquetage prédéfini. le paquetage Ada.Text_I0 , qui réalise les opérations d'entrée /sortie sur texte directive d’entrée / sortie : Put(" chaine de caractère " ) : permet d’afficher un texte. Put_Line ("chaine de caractère ") : permet d’afficher un texte , avec un retour à la ligne. Get(valeur) : permet de récupérer une valeur entrée a partir du clavier. procedure Principale is Variable : Integer := 0; --partie réservée aux déclarations begin Variable := Variable + 1; end Principale; EXPLICATION DU CODE : EXPLICATION DU CODE : Pour les variable : on utilise son nom suivi de deux points et de son type , il est possible de déclarer plusieurs variables du même type en séparant leurs noms par des virgules, cependant, s'il y a une valeur initiale, elle sera la même pour toutes les variables de la déclaration en cours. Pour le commentaire : Les commentaires sont introduits par la chaîne et définissent le texte comme commenté jusqu'à la fin de la ligne. Exemple : Syntaxes Générales I. Généralités Comme en C++. l'indication de fin d'instruction est le point virgule. Un bloc ne se déclare pas avec deux accolades, mais entre deux mots clés begin et end. Les variables ne peuvent être déclarées que dans une partie déclarative ,avant un begin. mais il est possible de créer un bloc à l'intérieur d'un autre bloc. L'affectation est réalisée via le symbole := qui n'est pas un opérateur (on ne pourra donc ni le redéfinir, ni le mettre dans une condition, ni écrire quelque chose du genre A := B := C). Il n'y a pas d'incrémentation raccourcie (++). Les principaux types primitifs sont Integer. Boolean Float et Character. Prenons par exemple ce code qui réalise la déclaration d'un entier puis son incrémentation procedure Principale is Variable : Integer := 0; begin Variable := Variable + 1; end Principale; II. Conditions Une condition en Ada s'énonce if condition then instructions elsif condition then instructions else instruction end if;. Il n'y a pas besoin d'entourer la condition de parenthèses comme en C++. puisque le mot clef then (obligatoire!) marque la fin de la condition. Les opérateurs de comparaison sont les même qu'en C++. à l'exception de l'égalité (== devient =) et de la différence ( != devient /=). Les opérateurs booléens sont not, and et or. Voilà un petit exemple de code qui teste si une valeur est plus grande que zéro, et qui affiche un texte en conséquence : if Variable >0 then Put_Line (" > 0 "); else Put_Line (" <= 0 "); end if; Il existe un autre schéma de conditionnelles s'écrivent avec case. En Ada, on utilisera case when. on ne peut en Ada faire de case que sur des entiers ou des types énumératifs. Ada impose que tous les cas soient envisagés. Si on ne sait pas réagir à certaine valeurs, alors il faut mettre un choix par défaut s'écrit when others en Ada. Autre subtilité : lorsqu'un choix est validé, on ne cherche pas à exécuter les choix suivants, inutile donc de mettre d'instruction break. Dernière chose : Ada permet d'utiliser des plages de valeurs, ce qui permet de mettre un grand nombre de valeurs derrière un cas . Voici un exemple : case Variable is when 0 =>Put_Line (“Zéro”); when 1 .. 9 => Put_Line (“Chiffre positif”); when 10 | 12 | 14 | 16 | 18 => Put_Line (“Nombre pair entre 10 et 18”); when others => Put_Line (“Autre chose”); end case; en Ada, une boucle commence nécessairement pur le mot clef loop et se finit par le mot clef end loop. L'équivalent du break du C++ est l'instruction exit. Cette instruction peut également faire l'objet d'une condition, avec la syntaxe exit when condition. Le loop qui ouvre la boucle est éventuellement précédé d'une instruction for ou while. L'instruction while est la plus simple , elle est suivie d'une condition, la condition n'a pas besoin d‘être parenthèsée, Par exemple : while Variable < 10_000 loop Variable := Variable * 2; end loop; L’instruction for s'agit d’un parcoure incrémentale ou décrémentée entre deux borne discret . La syntaxe générale est : for variable in borne_inferieure borne_superieure loop. Les deux bornes doivent être mises dans l'ordre croissant, même si uploads/Management/ langage-ada.pdf

  • 20
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Nov 15, 2021
  • Catégorie Management
  • Langue French
  • Taille du fichier 1.9778MB