Ada langage de programmation pour le temps réel
Ada langage de programmation pour le temps réel. Laurent Pautet. Jérôme Hugues. Laurent. Pour être qualifié de compilateur Ada
Le langage Ada Introduction Ada en quelques mots Ada en
Instruction autoris ee seulement dans la d efinition d'une fonction. Le langage Ada. ISIM-DIG1 95/96. 46. <. Les instructions sp eciales.
Typage Contrôle de type
Langage ADA. Types en ADA (2/2) s ADA définit peu de types de base : q Character q String q Boolean q Integer q Float q Access (pointeur).
ADA Ressources en ligne sur ADA
nouveau langage pour remplacer les centaines de langages utilisés jusque là dans les logiciels militaires. Ce langage devra être le plus sur possible dans
Généricité en ADA Paquetage générique (1/2)
Langage ADA. Généricité en ADA s La notion de sous-programme permet la réutilisation de code s Les paquetages et la POO permettent de réutiliser du code de.
Premiers pas
Ada. -- imports procedure nom_proc is. -- spécification des données est une suite de caractères (texte écrit dans le langage Ada).
Paquetages (1/3) Paquetages (2/3)
Langage ADA. Paquetages (3/3) s Un paquetage est constitué obligatoirement d'une partie spécification où sont déclarés les types variables
Développement de systèmes embarqués temps réel avec Ada
Architecture en couches : Bibliothèque langage (ou runtime) constituant l'environnement d'exécution d'un programme (C Ada). Portabilité de l
Sous-programmes Procédures
Langage ADA. Procédures s Les procédures peuvent agir sur leurs paramètres et n'ont pas de valeur de retour. s Spécification des procédures :.
QUELQUES N0TI0NS SUR A D A
LE BULLETIN DE L'EPI. Un langage algorithmique modulaire
Chapitre 2
2 withAda.Integer_Text_io;
withAda.Text_io;
procedure exemple1 is maNote:Natural; beginAda.Integer_Text_io.get( maNote
maNote:=maNote+2;Ada.Text_io.put( "Nouvelle note :"Ada.Integer_Text_io.put( maNote
end exemple1; 3Ce program
m e reflète la structure générale d e tout programmeAda. On remarque 3 parties distinctes:
1. la première permet d'importer d e s objets externes with 2. la second e permet de créer d e s objets localement procedure begin 3. la troisiè m e est une suite d'in structions qui opère sur ces objets begin end 4 withAda.Integer_Text_io;
withAda.Text_io;
procedure exemple1 is maNote:Natural; beginAda.Integer_Text_io.get( maNote
maNote:=maNote+2;Ada.Text_io.put( "Nouvelle note :" );Ada.Integer_Text_io.put( maNote end exemple1; 5 withAda.Integer_Text_io;
withAda.Text_io;
procedure exemple1 is maNote:Natural; beginAda.Integer_Text_io.get( maNote
maNote:=maNote+2;Ada.Text_io.put( "Nouvelle note :" );Ada.Integer_Text_io.put( maNote end exemple1; 6 withAda.Integer_Text_io;
withAda.Text_io;
procedure exemple1 is maNote:Natural; beginAda.Integer_Text_io.get( maNote
maNote:=maNote+2;Ada.Text_io.put( "Nouvelle note :"Ada.Integer_Text_io.put( maNote
end exemple1; 7 imports procedure nom_proc is spécification des données begin-- suite d'instructions qui implantent l'algorithme end nom_proc;Les lignes de texte commençant par
permettent d'introduire des commentairesIls peuvent être placés n'importe où dans le programme. 8Tous les objets (locaux ou externes) ont un
typeUn type définit l'ensemble de
s valeurs que peut prendre un objet informatique ainsi que le s opérations permises sur ces valeurs.Exemple de type :
Ensemble de valeurs :
+Ensemble d'opérations sur ces valeurs 9Chaque type possède un
nomEn Ada, le type défini
précédemment se nommeNatural
On associe un objet à
s on type au moyen d'une déclarati o nDans le programme précédent, la
d claration associe l'objet d e nom maNote (qui est ici une variab le) au typeNatural :
maNote:Natural; 10 withAda.Text_io;
withAda.Integer_Text_io;
procedure exemple2 is subtype Note isNatural
range0..20;
maNote:Note; car:Character; beginAda.Text_io.put_line(
"debut du programme"Ada.Text_io.put(
"Tapez un caractère : "Ada.Text_io.get(car);Ada.Text_io.put(
"Le caractère tapé est : "Ada.Text_io.put(car);
Ada.Text_io.new_line;
lecture d'une note à partir du clavierAda.Text_io.put(
"Tapez une note : "Ada.Integer_Text_io.get( maNote
on ajoute un bonus maNote:=maNote+2;Ada.Text_io.new_line;
Ada.Text_io.put(
"maNote=" affichage de la nouvelle note sur l'écranAda.Text_io.put( Note'image( maNote
Ada.Text_io.new_line;Ada.Text_io.put(
"fin du programme" end exemple2; 11Les 3 parties du pro
g ramme appa raissent de nouveau : L a première permet d'impo rter des objets ( get,put,. ..) destinés p ermettre la lecture et l'écriture de valeurs textuelles. L a seconde permet de déclarer 3 objets : -2 v a r i a b l e s maNote et car ) et u n nouveau type de données appelé Note dont l'ensemble des valeurs est le sous-ensemble des valeurs du typeNatural
limité l 'intervalle 0..20 . Les opérations possibles sur ce nouveau type sont les mêmes que celles du typeNatural
On notera l'apparition d'un autre type de données (Character
) dont l'ensemble des valeurs est l'ensemble des caractères ASCII 7 bits (caractères usuels à l 'exception des caractères accentués). 12La troisièm
e partie est une suite d'instructions qui a p o ur but : d e saisir à p artir du clavier puis d'afficher sur l'écran un caractère unique compa t ible avec le typeCharacter
d e lire une valeur co mpa t ible avec le type maNote , de l'augmenter de 2 puis de l'afficher sur l'écran.L'attribut image
Ada.Text_io.put(Note'image(maNote));
Il traduit la valeur entière à
a fficher ( maNote )e n u n e représentation sous la forme d'une chaîne de caractères. En effet, on se rappelle que les objets importés ( put,get ) ne manipulent que des données textuelles. 13Ada.Text_io.put(
"maNote="Ada.Integer_Text_io.put( maNote
Ada.Text_io.new_line;Ada.Text_io.put(
"maNote="Ada.Text_io.put( Note'image( maNote
résultat de l'affichagemaNote= 15 maNote= 15 14 Text Text _ _ io ioElle regroupe un Ensemble d'obje
ts qui permettent de réaliser des opérations d'Entrée/Sortie de caractères simples ou de chaînes de caractères. withAda.Text_io;
Cette clause importe le paquetag
e (sorte d e boite à o utils)Text_io
L'ensemble des objets (outils)
contenus dans ce paquetage devien nent alors utilisables dans le programme. 15 Text Text _ _ io ioExemple d'outils disponibles dans
Text_io
get, put, put_line, new_linePréfixage
p arAda.Text_io
Généralement, plusieurs boites
o utils peuvent être importées.Pour spécifier sans ambiguïté
o e st localisé l'outil voulu, il faut préfixé s on nom par le nom de l'unité a uquel il appartient. 16 withAda.Text_io;
withAda.Integer_Text_io;
procedure exemple3 is subtypeEntier
isInteger
range -100..100;I:Entier:=0;car:Character;
beginAda.Text_io.put_line(
"debut du programme"Ada.Text_io.put(
"Tapez un caractère : "Ada.Text_io.get(car);Ada.Text_io.put(
"Le caractère tapé est : "Ada.Text_io.put(car);Ada.Text_io.put(
"Tapez un entier : " "I=" "fin du programme" end exemple3; 17Le programme utilise les objets
(procédures) de 2 bibliothèques (paquetages Ada),Text_io
etInteger_Text_io
quotesdbs_dbs46.pdfusesText_46[PDF] langage c somme de 2 entiers
[PDF] langage c++
[PDF] langage calculatrice ti-83 plus
[PDF] langage de programmation pdf
[PDF] langage de texto
[PDF] Langage des fonctions, algébrique et lié au graphique
[PDF] langage et mathématiques
[PDF] langage javascript cours
[PDF] langage javascript debutant
[PDF] langage mathématique de base
[PDF] langage naturel maths
[PDF] langage pascal exercices corrigés pdf
[PDF] langage pascal informatique
[PDF] langage pascal pour debutant