Interface avec d autre langages
|
|
- Estelle Brousseau
- il y a 7 ans
- Total affichages :
Transcription
1 Séance 11 Interface avec d autre langages Objectifs : Être en mesure de comprendre comment un programme Ada peut s interfacer avec des bibliothèques écrites en d autre langages. Comprendre les conventions pour la communication avec d autres langages. Explorer la programmation bas niveau pour accéder directement au matériel Ingénierie du logiciel avec ADA N.KERZAZI 1
2 Interface avec d autre langages L'accès au langage machine et à d'autres langages est nécessaire pour Des questions d'efficacité Faire faire certaines opérations par le matériel Pouvoir communiquer avec les logiciels existants. 2
3 Conventions Les interfaces avec d autres langages ne sont pas optimisées pour un programme particulier mais pour des conventions. Convention pour la représentation des types. Convention pour l utilisation de la mémoire et des registres. État de la mémoire pendant et après l appel d une procédure Ingénierie du logiciel avec ADA N.KERZAZI 3
4 Exemple On veut communiquer avec une bibliothèque écrite en «C» qui gère la souris. En intercepte le clique de la souris pour appeler une procédure en Ada Type Reponse is access procedure (D:in Data); Pragma Conversion (C, Reponse); Procedure Set_Click (P: in Reponse); Pragma Import (C, Set_Click); indique que le corps de Set_Click est externe au programme Ada Procedure Action (D: in Data) is separate; Pragma Conversion (C, Action); Set_Click (Action Access); appel de la fonction C avec l adresse de notre procédure Ada comme paramètre Ingénierie du logiciel avec ADA N.KERZAZI 4
5 SOUS PROGRAMMES EN D'AUTRES LANGAGES On peut faire appel à un sous programme écrit en un autre langage en : écrivant une spécification en Ada, en utilisant le pragma Import dans le corps. Certains fabricants ont ajouté un pragma pour résoudre l'ambiguïté des noms à l'édition de liens. package Fort_Lib is function Sqrt ( X : Float ) return Float; function Exp ( X : Float ) return Float; private pragma Import ( Fortran, Sqrt, "SQRT"); pragma Import ( Fortran, Exp, "EXP" ); end Fort_Lib; 5
6 Interface avec d autre langages Ada fournit les paquetages Interfaces.C Interfaces.C.Strings Interfaces.FORTRAN Interfaces.COBOL et les pragma pragma Import ( Langage, Nom_En_Ada, Nom_Langage, Nom_Externe); pragma Export ( Langage, Nom_En_Ada, Nom_Langage, Nom_Externe); pragma Convention (Langage, Objet); 6
7 Interface avec d autre langages Interfaçage direct (appel à une fonction C); with Interfaces.C ; with System ; package gl is type GLfloat is new Interfaces.C.C_Float ; subtype Float is GLfloat ; type GLenum is new Interfaces.C.Unsigned ; subtype Enum is GLenum ; type GLboolean is new Interfaces.C.Unsigned_Char ; subtype Boolean is GLboolean; type GLbitfield is new Interfaces.C.Unsigned ; subtype Bitfield is GLbitfield; type GLbyte is new Interfaces.C.Signed_Char ; subtype Byte is GLbyte; type GLshort is new Interfaces.C.Short ; subtype Shortis GLshort;... end gl; 7
8 Interface avec d autre langages Interfaçage direct (appel à une fonction C); with gl; with System ; package glu is function gluunproject ( Winx, Winy, Winz: gl.gldouble; Modelmatrix : System.Address; Projmatrix : System.Address; Viewport : System.Address; Objx, Objy, Objz : Gl.Gldoublestar) return gl.glint; pragma Import ( C, GluUnProject, "gluunproject"); function UnProject ( Winx, Winy, Winz : gl.gldouble; Modelmatrix : System.Address; Projmatrix : System.Address; Viewport : System.Address; Objx, Objy, Objz : gl.gldoublestar) return gl.glint renames gluunproject... end Glu; 8
9 Interface avec d autre langages Interfaçage indirect (en bulle); package glut is procedure InitWindowSize( Width : in Integer := 300 ; Height : in Integer := 300); procedure InitWindowPosition( X : in Integer := 1 ; Y : in Integer := 1); end glut; with gl; package body glut is procedure InitWindowSize( Width : in Integer := 300 ; Height : in Integer := 300) is procedure glutinitwindowsize(width, Height : in GLint); pragma Import (C, glutinitwindowsize, "glutinitwindowsize"); glutinitwindowsize (GLint(Width), GLint(Height) ); end InitWindowSize ; procedure InitWindowPosition( X : in Integer := 1 ; Y : in Integer := 1) is procedure glutinitwindowposition(x, Y : in Glint); pragma Import (C, glutinitwindowposition, "glutinitwindowposition"); glutinitwindowposition (GLint(X), GLint( Y )); end InitWindowPosition ; end glut; 9
10 Interface avec d autre langages Convention (pragma Convention) Matrix : array ( Integer range , Integer range ) of Float; pragma Convention ( Fortran, Matrix); Appel de fonctions par un programme C (fonction de rappel) procedure MyReshape (W, H : in Glsizei); pragma Convention (Stdcall, MyReshape); procedure Display; pragma Convention (Stdcall, Display); glutreshapefunc (MyReshape'Unrestricted_Access); glutmainloop (Display'Unrestricted_Access); 10
11 Interface avec d autre langages Programme dont le programme principal est en C. Main program (m.c) void main() { adainit(); Header(); adafinal(); } Ada subroutine (header.adb) with Text_Io; use Text_Io; procedure Header is Put_Line ("Header"); end Header ; pragma Export (C, Header, "Header"); 11
12 Programme principal en C /* programme en C */ extern int F_en_C ( int Par ); main () { int P1; P1 = 2; P1 = F_En_C ( P1); printf ( " Valeur de P1 %d\n", P1); } 12
13 Appel depuis le programme Ada Fichier P_Interface Spécification du paquetage Ada contenant la fonction with Interfaces.C ; use Interfaces.C; package P_Interface is function F ( Par : Interfaces.C.Int ) return Interfaces.C.Int ; pragma Import ( C, F, "F_En_C"); end P_Interface; package body P_Interface is function F ( Par : Interfaces.C.Int ) return Interfaces.C.Int is return Interfaces.C.Int ( Integer ( Par) * 2 ); end F; end P_Interface; 13
14 Gestion de dispositifs Les E/S peuvent être considérées comme des processus externes. La façon la plus simple de traiter des E/S est le "polling", mais la plupart des périphériques utilisent des interruptions. Une interruptions en Ada peut être traitée comme une entrée d'une tâche. Exemple: (Ada 83) Supposons qu'un ordinateur à l'intérieur d'une machine à électro cardiogramme reçoit un vecteur d'interruption 10H à chaque battement du cœur. On peut écrire une fonction qui donne le nombre de battements depuis le dernier appel. 14
15 Gestion de dispositifs(suite) package Battement_Du_Cœur is function Nouveaux_Battements return Natural; end Battement_Du_Coeur; with System: pour utiliser ADDRESS package body Battement_Du_Cœur is task Gestion_Interruption_Battement is entry Interruption_Battement; entry Lire_Et_Restaurer_Compteur (Nombre_D_Interruption : out Natural); for Interruption_Battement Address use System.Storage_Elements.To_Address(16#10# ); for Interruption_Battement Address use System.Interrupts.Reference(Ada.Interrupts.Names.Capteur_A); end Gestion_Interruption_Battement; function Nouveaux_Battements return Natural is Résultat : Natural; Gestion_Interruption_Battement.Lire_Et_Restaurer_Compteur (Résultat); return Résultat; end Nouveaux_Battements; 15
16 Gestion de dispositifs (Suite) task body Gestion_Interruption_Battement is Compte_Non_Rapporté : Natural := 0; loop select accept Interruption_Battement; Compte_Non_Rapporté := Compte_Non_Rapporté + 1; or accept Lire_Et_Restaurer_Compteur ( Nombre_D_Interruption : out Natural) do Nombre_D_Interruption := Compte_Non_Rapporté; end Lire_Et_Restaurer_Compteur; Compte_Non_Rapporté := 0; end select; end loop; end Gestion_Interruption_Battement; end Battement_Du_Coeur; 16
17 Programme de gestion de périphériques ( analogue digital) package Adc_Device_Driver is Max_Measure : constant := (2**16) 1; type Channel is range ; subtype Measurement is Integer range 0.. Max_Measure; procedure Read(Ch: Channel; M : out Measurement); potentially blocking Conversion_Error : exception; private for Channel'Size use 6; indicates that six bits only must be used end Adc_Device_Driver; 17
18 Programme de gestion de périphériques ( analogue digital) with Ada.Interrupts.Names; use Ada.Interrupts; with System; use System; with System.Storage_Elements; package body Adc_Device_Driver is Bits_In_Word : constant := 16; bits Word : constant := 2; bytes in word type Flag is (Down, Set); type Control_Register is record Ad_Start : Flag; Ie : Flag; Done : Flag; Ch : Channel; Error : Flag; end record; for Control_Register'Size use Bits_In_Word; the register is 16 bits long for Control_Register'Alignment use Word; on a word boundary Unused Error Channel Done Ie Ad_Start 18
19 Programme de gestion de périphériques ( analogue digital) type Data_Register is range 0.. Max_Measure; for Data_Register'Size use Bits_In_Word; the register is 16 bits long Contr_Reg_Addr : constant System.Address := System.Storage_Elements.To_Address(8#150002#); Data_Reg_Addr : constant System.Address := System.Storage_Elements.To_Address(8#150000#); Adc_Priority : constant Interrupt_Priority := Interrupt_Priority First; Control_Reg : aliased Control_Register; for Control_Reg'Address use Contr_Reg_Addr; specifies the address of the control register Data_Reg : aliased Data_Register; for Data_Reg'Address use Data_Reg_Addr; specifies the address of the data register 19
20 Programme de gestion de périphériques ( analogue digital) protected type Interrupt_Interface( Int_Id : Interrupt_Id; Cr : access Control_Register; Dr : access Data_Register) is entry Read (Chan : Channel; M : out Measurement); private entry Done (Chan : Channel; M : out Measurement); procedure Handler; pragma Attach_Handler(Handler, Int_Id); pragma Interrupt_Priority(Adc_Priority); Interrupt_Occurred Next_Request end Interrupt_Interface; : Boolean := False; : Boolean := True; Adc_Interface : Interrupt_Interface(Names.Adc, Control_Reg'access, Data_Reg'access); this assumes that 'Adcl is registered as an Interrupt_Id in Ada.Interrupts.Names 20
21 Programme de gestion de périphériques ( analogue digital) protected body Interrupt_Interface is entry Read (Chan : Channel; M : out Measurement) when Next_Request is Shadow_Register : Control_Register; Shadow_Register := ( Ad_Start => Set, Ie => Set, Done => Down, Ch => Chan, Error => Down ); Cr.all := Shadow_Register; Interrupt_Occurred := False; Next_Request := False; requeue Done; end Read; procedure Handler is Interrupt_Occurred := True; end Handler; 21
22 Programme de gestion de périphériques ( analogue digital) entry Done (Chan : Channel; M : out Measurement) when Interrupt_Occurred is Next_Request := True; if Cr.Done = Set and Cr.Error = Down then M := Measurement(Dr.all); else raise Conversion_Error; end if; end Done; end Interrupt_Interface; procedure Read (Ch : Channel; M : out Measurement) is for I in loop Adc_Interface.Read(Ch, M); return; exception when Conversion_Error => null; end; end loop; raise Conversion_Error; end Read; end Adc_Device_Driver; 22
23 Accès aux arguments de la ligne de commande with Ada.Command_Line, Ada.Text_IO; use Ada.Command_Line, Ada.Text_IO; procedure Commande is Put_Line ( "Mon nom est " & Command_Name & " J'ai " & Integer'Image ( Argument_Count) & " arguments qui sont"); for i in 1.. Argument_Count loop Put_Line (" " & Argument(I)); end loop; end Commande; N:\Ada\ogl-glut-demo\glut>commande.exe Louis Granger Mon nom est commande.exe J'ai 2 arguments qui sont Louis Granger 23
24 Insertion d instructions machine Chaque instruction machine apparaît sous forme d'un agrégat d'un type article qui définit l'introduction correspondante. Le type doit être défini dans la bibliothèque prédéfinie MACHINE_CODE. with Machine_Code; M : Masque; procedure Positionner_Masque; pragma Inline (Positionner_Masque); procedure Positionner_Masque is use Machine_Code; Asm ("fsinx %1 %0", My_Float'Asm_Output ("=f", result), My_Float'Asm_Input ("f", angle)); end Positionner_Masque; 24
Génie Logiciel avec Ada. 4 février 2013
Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre
Plus en détailArbres binaires de recherche
1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de
Plus en détailAlgorithmique & programmation
Algorithmique & programmation Type structuré Article, Enregistrement, Structure Définition de nouveaux types!! On a vu les types simples "! entier, booléen, caractère, chaîne de caractères!! Comment gérer
Plus en détailNIVEAU D'INTERVENTION DE LA PROGRAMMATION CONCURRENTE
NIVEAU D'INTERVENTION DE LA PROGRAMMATION CONCURRENTE Une application se construit par étapes 1) CAHIER DES CHARGES + ANALYSE FONCTIONNELLE = organisation fonctionnelle (QUE FAIRE) 2) ANALYSE OPERATIONNELLE
Plus en détailInstructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00
Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00 HFFv2 1. OBJET L accroissement de la taille de code sur la version 2.0.00 a nécessité une évolution du mapping de la flash. La conséquence de ce
Plus en détail1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.
1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this
Plus en détailLangage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL
Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions
Plus en détailPackage Java.util Classe générique
Package Java.util Classe générique 1 Classe Vector La taille est dynamique: dès qu un tableau vectoriel est plein, sa taille est doublée, triplée, etc. automatiquement Les cases sont de type Object add(object
Plus en détailCours Bases de données 2ème année IUT
Cours Bases de données 2ème année IUT Cours Bilan : Des vues à PL/SQL corrigé Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Cas exemple 2 Les tables... 3 Vues et index 4 Privilèges 5 Fonctions
Plus en détailModule Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS
Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS 1. Introduction Nous allons aborder la notion de surcouche procédurale au sein des SGBDS relationnels tels que Oracle (PLSQL)
Plus en détailCours Informatique Master STEP
Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions
Plus en détailEnvironnements de développement (intégrés)
Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure
Plus en détailAuto-évaluation Programmation en Java
Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN
Plus en détailExceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;
CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe
Plus en détailSupervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14
Document FAQ Supervision et infrastructure - Accès aux EXP Page: 1 / 9 Table des matières Introduction... 3 Démarrage de la console JMX...4 I.Généralités... 4 II.WebLogic... 5 III.WebSphere... 6 IV.JBoss...
Plus en détailExercices sur SQL server 2000
Exercices sur SQL server 2000 La diagramme de classe : Exercices sur SQL server 2000 Le modèle relationnel correspondant : 1 Créer les tables Clic-droit on Tables et choisir «New Table» Créer la table
Plus en détailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Plus en détailJava Licence Professionnelle CISII, 2009-10
Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation
Plus en détailIntroduction à la programmation concurrente
Introduction à la programmation concurrente Moniteurs Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud This work is licensed under
Plus en détailStructure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
Plus en détailInstructions Mozilla Thunderbird Page 1
Instructions Mozilla Thunderbird Page 1 Instructions Mozilla Thunderbird Ce manuel est écrit pour les utilisateurs qui font déjà configurer un compte de courrier électronique dans Mozilla Thunderbird et
Plus en détailIntroduction au langage C
Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les
Plus en détailARDUINO DOSSIER RESSOURCE POUR LA CLASSE
ARDUINO DOSSIER RESSOURCE POUR LA CLASSE Sommaire 1. Présentation 2. Exemple d apprentissage 3. Lexique de termes anglais 4. Reconnaître les composants 5. Rendre Arduino autonome 6. Les signaux d entrée
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailDurée estimée :1 journée Date de la réalisation : 2011. Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ
001 Titre : Mesure de température interfacée par carte Arduino Type de réalisation : montage électronique, de surveillance de température Concepteur : C. Rouviere Coordonnées : Laboratoire lbv villefranche/mer
Plus en détail1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)
1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d
Plus en détailCours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation
Plus en détailChapitre 10. Les interfaces Comparable et Comparator 1
Chapitre 10: Les interfaces Comparable et Comparator 1/5 Chapitre 10 Les interfaces Comparable et Comparator 1 1 Ce chapitre a été extrait du document "Objets, Algorithmes, Patterns" de [René Lalement],
Plus en détailas Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
Plus en détailOnce the installation is complete, you can delete the temporary Zip files..
Sommaire Installation... 2 After the download... 2 From a CD... 2 Access codes... 2 DirectX Compatibility... 2 Using the program... 2 Structure... 4 Lier une structure à une autre... 4 Personnaliser une
Plus en détail4. Groupement d objets
Conception objet en Java avec BlueJ une approche interactive 4. Groupement d objets Collections et itérateurs David J. Barnes, Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0 Principaux
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailLe langage VHDL. Eduardo Sanchez EPFL
Le langage VHDL Eduardo Sanchez EPFL Livres conseillés: John F. Wakerly Digital design (4th edition) Prentice Hall, 2005 Peter J. Ashenden The designer's guide to VHDL (3rd edition) Morgan Kaufmann, 2008
Plus en détailEPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détailLangage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr
Plus en détailProgrammation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle - 2012-2013 P. Bonnet
Programmation VBA Pierre BONNET 21 La programmation VBA Historiquement, la programmation sous Excel avait comme fonction d'automatiser une succession d'actions faites dans la feuille à l'aide de la souris.
Plus en détailEnsimag 1ère année Algorithmique 1 Examen 2ième session 24 juin 2010. Algorithmique 1
Algorithmique 1 Durée : 2h Machines électroniques interdites Tous documents papiers autorisés Il est conseillé de traiter les deux parties dans l ordre du sujet. Veuillez respecter les notations introduites
Plus en détailTravaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES
TRAVAUX PRATIQUES Le présent travail vise à développer une interface visuelle de programmation des entrées- sorties du port LPT d un PC à l aide du logiciel VISUAL BASIC. I- EDITION ET TEST DU PROGRAMME
Plus en détailBases de données avancées
Bases de données avancées Jean-Yves Antoine LI - Université François Rabelais de Tours Jean-Yves.Antoine@univ-tours.fr UFR Sciences et Techniques IUP SIR Blois Master 1 Bases de Données avancées IUP Blois,
Plus en détailLe langage C. Séance n 4
Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de
Plus en détail1. Structure d'un programme FORTRAN 95
FORTRAN se caractérise par la nécessité de compiler les scripts, c'est à dire transformer du texte en binaire.(transforme un fichier de texte en.f95 en un executable (non lisible par un éditeur) en.exe.)
Plus en détailRappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme
Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation
Plus en détailCours de Programmation 2
Cours de Programmation 2 Programmation à moyenne et large échelle 1. Programmation modulaire 2. Programmation orientée objet 3. Programmation concurrente, distribuée 4. Programmation monadique 5. Les programmes
Plus en détailDOCUMENTATION - FRANCAIS... 2
DOCUMENTATION MODULE PRETTYSLIDER MODULE PRESTASHOP CREE PAR PRESTACREA INDEX : DOCUMENTATION - FRANCAIS... 2 INSTALLATION... 2 Installation automatique... 2 Installation manuelle... 2 Résolution des problèmes...
Plus en détailParis Airports - Web API Airports Path finding
Paris Airports - Web API Airports Path finding Hackathon A660 Version Version Date writer Comment 1.0 19/05/2015 Olivier MONGIN Document creation Rédacteur : Olivier.MONGIN@adp.fr Date : 19/05/2015 Approbateur
Plus en détailIN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
Plus en détailINITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Plus en détailRAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)
CLASSE RACINE Object ancêtre de toutes les classes RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) définit donc des méthodes héritées par toutes
Plus en détailLe prototype de la fonction main()
Le prototype de la fonction main() 1. Introduction...1 2. Paramètres et type de retour de la fonction main()...1 3. Exemple 1...2 4. La fonction exit() du C...2 5. Détecter le code de retour d un programme
Plus en détailLangage C. Patrick Corde. Patrick.Corde@idris.fr. 22 juin 2015. Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin 2015 1 / 289
Langage C Patrick Corde Patrick.Corde@idris.fr 22 juin 2015 Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin 2015 1 / 289 Table des matières I 1 Présentation du langage C Historique Intérêts
Plus en détailCours 1: Java et les objets
Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/
Plus en détaillundi 3 août 2009 Choose your language What is Document Connection for Mac? Communautés Numériques L informatique à la portée du Grand Public
Communautés Numériques L informatique à la portée du Grand Public Initiation et perfectionnement à l utilisation de la micro-informatique Microsoft Document Connection pour Mac. Microsoft Document Connection
Plus en détailRapport de Mini-Projet en ArcGIS Engine
Rapport de Mini-Projet en ArcGIS Engine Réalisée par : Asmae BENMESSAOUD 3ème Année Cycle d Ingénieur Géoinformation Année Universitaire 2010- Sommaire 1 Introduction L analyse géographique et la visualisation
Plus en détailDOCUMENTATION - FRANCAIS... 2
DOCUMENTATION MODULE SHOPDECORATION MODULE PRESTASHOP CREE PAR PRESTACREA INDEX : DOCUMENTATION - FRANCAIS... 2 INSTALLATION... 2 Installation automatique... 2 Installation manuelle... 2 Résolution des
Plus en détailApplication Form/ Formulaire de demande
Application Form/ Formulaire de demande Ecosystem Approaches to Health: Summer Workshop and Field school Approches écosystémiques de la santé: Atelier intensif et stage d été Please submit your application
Plus en détailL envoi d un formulaire par courriel. Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248
L envoi d un formulaire par courriel Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248 Chapitre 9 L envoi d un formulaire par courriel L envoi par courriel d informations
Plus en détailCours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Plus en détailPerl Console. Votre compagnon pour développer en Perl. Les Journées du Perl 2007 16, 17 novembre, Lyon. Alexis Sukrieh <sukria@sukria.
Perl Console Votre compagnon pour développer en Perl Les Journées du Perl 2007 16, 17 novembre, Lyon Alexis Sukrieh Plan Pourquoi une console? Le modèle «Read-Eval-Print-Loop» Dépendances
Plus en détailClasses et Objets en Ocaml.
Classes et Objets en Ocaml. Didier Rémy 2001-2002 http://cristal.inria.fr/ remy/mot/2/ http://www.enseignement.polytechnique.fr/profs/informatique/didier.remy/mot/2/ Cours Exercices Slide 1 1. Objets 2.
Plus en détailProgrammation Par Objets
Programmation Par Objets Structures de données package java.util B. Carré Polytech Lille 1 Tableaux et structures de données Tableaux «Objets» taille fixe type des éléments : primitif (homogène) ou objets
Plus en détailGestion mémoire et Représentation intermédiaire
Gestion mémoire et Représentation intermédiaire Pablo de Oliveira March 23, 2015 I Gestion Memoire Variables locales Les variables locales sont stockées: Soit dans un registre,
Plus en détailSurveillance de Scripts LUA et de réception d EVENT. avec LoriotPro Extended & Broadcast Edition
Surveillance de Scripts LUA et de réception d EVENT avec LoriotPro Extended & Broadcast Edition L objectif de ce document est de présenter une solution de surveillance de processus LUA au sein de la solution
Plus en détailUne introduction à Java
Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)
Plus en détailNouvelle version de Zonecheck, la 3.0, avec tests DNSSEC
Nouvelle version de Zonecheck, la 3.0, avec tests DNSSEC Stéphane Bortzmeyer Première rédaction de cet article le 22 juin 2010 Le 22 juin, une nouvelle version de Zonecheck
Plus en détailPremiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Plus en détailPaxton. ins-20605. Net2 desktop reader USB
Paxton ins-20605 Net2 desktop reader USB 1 3 2 4 1 2 Desktop Reader The desktop reader is designed to sit next to the PC. It is used for adding tokens to a Net2 system and also for identifying lost cards.
Plus en détailHow to Login to Career Page
How to Login to Career Page BASF Canada July 2013 To view this instruction manual in French, please scroll down to page 16 1 Job Postings How to Login/Create your Profile/Sign Up for Job Posting Notifications
Plus en détailInfo0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Plus en détailLes Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.
Les Triggers SQL Didier DONSEZ Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.fr 1 Sommaire Motivations Trigger Ordre Trigger Ligne Condition Trigger
Plus en détailCompilation (INF 564)
Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation
Plus en détailLicence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter
Plus en détailT. BLOTIN Lycée Paul-Eluard 93206 SAINT-DENIS
T. BLOTIN Lycée Paul-Eluard 93206 SAINT-DENIS SOMMAIRE I. Le VHDL pour qui, pourquoi, quand, comment? A. Le VHDL!...... 1 B. Pourquoi un langage de description?...... 1 C. Les limites actuelles...... 2
Plus en détailKL5121. Pour activer des sorties en fonction de la position d'un codeur
KL5121 Pour activer des sorties en fonction de la position d'un codeur VERSION : 1.0 / PH DATE : 07 Février 2006 Sommaire Ce manuel explique de manière pratique les étapes successives pour mettre en œuvre
Plus en détailUtilitaires méconnus de StrataFrame
Utilitaires méconnus de StrataFrame Voici quelques classes d utilitaires, parmi ceux qui se trouvent dans le NameSpace MicroFour.StrataFrame.Tools. Cette liste n est pas exhaustive, et les regroupements
Plus en détail27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s)
Propriétés du Document Source du Document SDK_accords.odt Titre du Document SDK Python et Java pour le développement de services ACCORD Module(s) PyaccordsSDK, JaccordsSDK Responsable Prologue Auteur(s)
Plus en détailOpenPaaS Le réseau social d'entreprise
OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3
Plus en détailConventions d écriture et outils de mise au point
Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette
Plus en détailLes structures de données. Rajae El Ouazzani
Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l
Plus en détailModule.NET 3 Les Assemblys.NET
Module.NET Chapitre 3 Les Assemblys.NET 2011/2012 Page 1 sur 13 Contenu Cours... 3 3.1 - Définition d un assembly.net... 3 3.2 - Private assembly ou assembly privé.... 3 3.3 - Shared assembly ou assembly
Plus en détailPaginer les données côté serveur, mettre en cache côté client
Paginer les données côté serveur, mettre en cache côté client Vous voulez sélectionner des lignes dans une table, mais celle-ci comporte trop de lignes pour qu il soit réaliste de les ramener en une seule
Plus en détailRemote Method Invocation (RMI)
Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe
Plus en détailLES TYPES DE DONNÉES DU LANGAGE PASCAL
LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.
Plus en détailBases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications
Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications P.-A. Sunier, HEG-Arc Neuchâtel avec le concours de J. Greub pierre-andre.sunier@he-arc.ch http://lgl.isnetne.ch/
Plus en détailDébuter avec EXPRESS. Alain Plantec. 1 Schema 2
Débuter avec EXPRESS Alain Plantec Table des matières 1 Schema 2 2 Entité 2 2.1 Attributs simples................................................ 2 2.2 Attributs collection...............................................
Plus en détailBill 69 Projet de loi 69
1ST SESSION, 41ST LEGISLATURE, ONTARIO 64 ELIZABETH II, 2015 1 re SESSION, 41 e LÉGISLATURE, ONTARIO 64 ELIZABETH II, 2015 Bill 69 Projet de loi 69 An Act to amend the Business Corporations Act and the
Plus en détailCorrigé des exercices sur les références
Corrigé des exercices sur les références Exercice 3.1.1 dessin Pour cet exercice, vous allez dessiner des structures de données au moyen de petits schémas analogues à ceux du cours, comportant la pile
Plus en détailSéance d ED n 5 : HTML et JavaScript
Séance d ED n 5 : HTML et JavaScript EXERCICE 1 1) le but de cet exercice est de construire l'interface suivante en html: une réponse : 1)
Plus en détailOCL - Object Constraint Language
OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object
Plus en détailBases Java - Eclipse / Netbeans
Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement
Plus en détailJava Licence Professionnelle CISII, 2009-2010
Licence Professionnelle CISII, 2009-2010 Cours 1 : Introduction à Java A. Belaïd abelaid@loria.fr Cours disponible sur le site : http://www.loria.fr/~abelaid puis Teaching 1 Fonctionnement 12 séances :
Plus en détailContrôle d'accès Access control. Notice technique / Technical Manual
p.1/18 Contrôle d'accès Access control INFX V2-AI Notice technique / Technical Manual p.2/18 Sommaire / Contents Remerciements... 3 Informations et recommandations... 4 Caractéristiques techniques... 5
Plus en détailArchitecture des ordinateurs
Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?
Plus en détailCette Leçon va remplir ces attentes spécifiques du curriculum :
Dev4Plan1 Le Plan De Leçon 1. Information : Course : Français Cadre Niveau : Septième Année Unité : Mes Relations Interpersonnelles Thème du Leçon : Les Adjectifs Descriptifs Date : Temps : 55 minutes
Plus en détailCorrigés des premiers exercices sur les classes
Corrigés des premiers exercices sur les classes Exercice 2.1.1 utilisation d une classe Voici le texte d une classe représentant de façon sommaire un compte bancaire et les opérations bancaires courantes.
Plus en détailIntroduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
Plus en détailMesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996]
Mesure de performances [Architecture des ordinateurs, Hennessy & Patterson, 1996] Croissance des performances des microprocesseurs Avant le milieu des années 80, le gain dépendait de la technologie. Après,
Plus en détailStakeholder Feedback Form January 2013 Recirculation
071 Stakeholder Feedback Fm January 2013 Recirculation A. How to Submit Your Comments 1. 2. 3. EMAIL: submissions@collegeofpsychotherapists.on.ca OR FAX: (416) 874-4079 OR MAIL: Consultations Transitional
Plus en détailProgrammation système de commandes en C
Programmation système de commandes en C Cours de Programmation système Tuyêt Trâm DANG NGOC Université de Cergy-Pontoise 2012 2013 Tuyêt Trâm DANG NGOC Programmation système de commandes
Plus en détailLMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour
LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections
Plus en détail