Sou s-p r o g r a m m e s. Pr océ d u r e s
|
|
- Georgette Beaudoin
- il y a 7 ans
- Total affichages :
Transcription
1 Sou s-p r o g r a m m e s Les sous-programmes permettent de déclarer et d'implémenter des traitements réutilisables. Les sous-programmes travaillent sur des objets (instances de types) mais pas sur des types ou des sous-programmes (pas de méta-programmation). Les sous-programmes peuvent être paramétrés par des types ou des sous-programmes par le mécanisme de généricité. Possibilité de séparer déclaration et implémentation des sousprogrammes (utile pour des sous-programmes qui s'appellent mutuellement). Cela augmente la lisibilité des programmes. 1 Pr océ d u r e s Les procédures peuvent agir sur leurs paramètres et n'ont pas de valeur de retour. Spécification des procédures : procedure_specification ::= procedure defining_program_unit_name [ parameter_profile ] defining_program_unit_name ::= [ parent_unit_name. ] defining_identifier parameter_profile ::= ( parameter_specification { ; parameter_specification } ) parameter_specification ::= defining_identifier_list : mode [ null_exclusion ] subtype_mark [ := default_expression ] defining_identifier_list : access_definition [ := default_expression ] mode ::= [ in ] in out out Une procédure peut n'avoir aucun paramètre 2
2 Pa ssa g e d e s p a r a m è t r e s ADA propose 3 modes de passage des paramètre : in : passage par valeur, le paramètre effectif n'est pas modifié (c'est le mode par défaut) Exemples : out : la procédure affecte une valeur au paramètre effectif mais n'a pas accès à la valeur du paramètre effectif (qui n'a pas besoin d'être initialisée avant l'appel) in out : passage par variable, le paramètre effectif doit être initialisé avant l'appel et la procédure peut en modifier la valeur Spécifier une valeur par défaut n'est possible que pour les paramètres en mode in procedure ecrire_bonjour; procedure dessiner_ligne(x1,y1,x2,y2 : Integer); procedure lire_nombre(x : out Integer); procedure multiplie_par_2(x : in out Integer); procedure decremente(x : in out Integer; pas : in Integer := 1); 3 Fo n ct io n s ( 1 /2 ) Les fonctions ont une valeur de retour et des paramètres Spécification des fonctions : function_specification ::= function defining_designator parameter_and_result_profile defining_designator ::= defining_program_unit_name defining_operator_symbol defining_program_unit_name ::= [ parent_unit_name. ]defining_identifier defining_operator_symbol ::= operator_symbol parameter_and_result_profile ::= [ formal_part ] return [ null_exclusion ] subtype_mark [ formal_part ] return access_definition formal_part ::= ( parameter_specification { ; parameter_specification } ) parameter_specification ::= defining_identifier_list : mode [ null_exclusion ] subtype_mark [ := default_expression ] defining_identifier_list : access_definition [ := default_expression ] mode ::= [in] in out out 4
3 Fo n ct io n s ( 2 /2 ) Les paramètres d'une fonction sont en mode in par défaut et il n'est pas possible de spécifier un autre mode Langage Les ADA fonctions permettent de redéfinir les opérateurs Exemples : function aleatoire return Integer; function pgcd(a,b : Integer) return Integer; function "+" (a,b : Integer) return Integer; function aleatoire(domaine : in Integer := 1) return Integer; 5 Corp s d e s so u s-p r og r a m m e s Le corps d'un sous-programme est de même forme qu'un programme et comporte une partie déclarative et un ensemble d'instructions : subprogram_body ::= [ overriding_indicator ] subprogram_specification is declarative_part handled_sequence_of_statements end [ designator ] ; La plupart du temps, on écrit la déclaration et le corps du sousprogramme à la suite mais on peut séparer les deux. Le nom du sous-programme après le end est en général optionnel. Il est possible d'imbriquer des sous-programmes et alors il faut préciser le nom du sous-programme qui se termine. 6
4 Ex e m p le s d e sou s-p r o g r a m m e s procedure ecrire_bonjour is put("bonjour"); procedure decremente(x : in out Integer; pas : in Integer := 1); procedure decremente(x : in out Integer; pas : in Integer := 1) is x := x - pas; end decremente; function pgcd(a,b:integer) return Integer is c : Integer; c := a rem b; if c=0 then return b; else return pgcd(b,c); end if; 7 In t é r ê t d e la d é cla r a t ion sé p a r é e function pair(i : Integer) return Boolean; function impair(i : Integer) return Boolean; function pair(i : Integer) return Boolean is if i=0 then return True; else return impair(i - 1); end if; function impair(i : Integer) return Boolean is if i=0 then return False; else return pair(i - 1); end if; 8
5 Re d é fin it ion d 'op é r a t e u r s Il est possible de redéfinir les opérateurs prévus sur les types par des fonctions. Il est possible de définir les opérateur sur de nouveaux types. Exemple : Il est impossible de définir de nouveaux symboles d'opérateurs ni de modifier leur arité ni de changer les priorités des opérateurs! L'opérateur \= ne peut être redéfini. L'opérateur = ne peut être redéfini que sur les types limités et sa redéfinition entraine la redéfinition automatique de \=. function "+"(a,b : Integer) return Integer is return a+b; => la compilation génère un warning (récursivité infinie) 9 Ap p e ls d e so u s-p r og r a m m e s Les paramètres dans les appels de sous-programmes peuvent être indiqués par position ou par association Langage Exemples ADA : pgcd(2,3); pgcd(a => 2, b => 3); pgcd(2, b => 3); Les opérateurs peuvent être utilisés en notation fonctionnelle. Exemples : c := "+"(2,3); d := 2 + 3; 10
6 Re n om m a g e d e s so u s-p r og r a m m e s Le renommage d'un sous-programme doit utiliser le même profil que le sous-programme renommé. Seuls les noms des paramètres et les valeurs par défaut peuvent être modifiés. Exemples : Le nom d'origine est toujours utilisable avec les anciens noms de paramètre et les anciennes valeurs par défaut. function pgcd(a,b:integer) return Integer is c : Integer; c := a rem b; if c=0 then return b; else return pgcd(b,c); end if; function greatest_common_divisor(x : Integer; y : Integer := 2) return Integer renames pgcd; 11 Po ly m orp h ism e e n AD A Le sous-programme appelé par une instruction est déterminé à la compilation par : function pgcd(a,b : Integer) return Integer; le nom du sous-programme le type de sa valeur de retour (fonction) ou l'absence de valeur de retour (procédure) les types de ses paramètres Si le nombre de sous-programmes correspondant à ces critères est différent de 1 (0 ou plus de 1) la compilation échoue Le nom d'un sous-programme peut donc être surchargé si on modifie les types de ses paramètres ou de sa valeur de retour function pgcd(a : Integer; b : Float) return Integer; procedure pgcd(a,b : Integer); function pgcd(a,b : Integer) return Positive; -- duplication de fonction détecté à la compilation (même sans appel) 12
7 Po ly m orp h ism e t o t a l On pourrait en ADA faire du polymorphisme sur les variables et pas seulement sur les sous-programmes en autorisant l'utilisation du même identifiant pour 2 variables de types différent c'est possible en pratique grâce au typage fort qui permet de déterminer à tout moment le type d'une variable Ca n'a aucune utilité en pratique et cela diminuerait la lisibilité du code => ce n'est pas implémenté 13 Re n om m a g e d e s so u s-p r og r a m m e s Le renommage d'un sous-programme doit respecter les règles suivantes : Exemples : le nouveau sous-programme doit avoir le même nombre de paramètres ces paramètres doivent être compatibles avec les anciens (identiques ou dérivés ou sous-types) une procédure ne peut être renommée que par une procédure une fonction ou un opérateur peuvent être renommés indifféremment par une fonction ou opérateur function gcd(i,j : Integer) return Positive renames pgcd; procedure gcd(i : Positive; j : Positive :=1) renames pgcd; 14
8 Con v e r sion d e t y p e s La conversion de type est toujours explicite et fait appel à des fonctions dédiées Les conversions sont permises entre : les types numériques un type dérivé et son type de base les tableaux de même type d'indices, même dimension et même type d'éléments Exemples : i : Float := Float(pgcd(3,11)); type Vecteur is array(integer range <>) of Float; subtype Vecteur_10 is Vecteur(1..10); v : Vecteur(0..100); w : Vecteur( ); Vecteur(v); -- v ne change pas Vecteur_10(w); -- lève une CONSTRAINT_ERROR 15 Er r e u r s d 'e x é cu t io n s Dans tout programme, il y a des erreurs d'exécution possibles, des cas particuliers qui n'ont pas forcément été traités. On ne vise pas à les supprimer, mais à les controler (robustesse du code, tolérance aux erreurs) il s'agit d'erreurs d'exécution, pas d'erreur de programmation que le compilateur peut détecter. Exemple : un fichier que le programme essaie de lire est déjà utilisé par une autre application Quand il y a une erreur, on voudrait se retrouver dans un endroit du programme d où l on peut récupérer de l erreur : Exemple : une méthode utilise un nombre passé en paramètre, nombre par lequel on divise un autre nombre. Ce nombre est donné par l'utilisateur. Si ce nombre vaut 0, on veut que l'erreur qu'il déclenche soit traitée au niveau de l'interaction avec l'utilisateur, et non à l'intérieur de la méthode. L'erreur doit donc pouvoir être propagée et véhiculer une description pour être traitée en dehors du contexte où elle s'est produite => Exception 16
9 Ex ce p t ion Le mécanisme des exceptions permet de récupérer d'une erreur et de poursuivre l'exécution du programme. Il consiste Une exception non traitée se propage à identifier les erreurs possibles au moment de l'écriture du programme à déclencher des exceptions en cas d'erreur à traiter ces exceptions (récupération) Une exception lancée par une instruction dans une partie déclaration entraine l'abandon des déclarations suivantes Une exception lancée par une instruction dans un corps de programme entraine la sortie immédiate de ce corps 17 La g e st ion d u n e e x ce p t ion Le principe d endiguement : Un programme est une hiérarchie de contextes d exécution Une erreur n est visible qu à l intérieur d un contexte dans cette hiérarchie Une routine de récupération existe à l interface d un contexte d exécution, pour que l erreur ne se propage pas vers un niveau plus elevé saut Une erreur qui lève une exception Un contexte d exécution Le contexte d exécution qui attrape l exception Un programme qui rencontre une erreur doit en transférer le traitement à une autre partie ("exception handler") et lui donner une valeur qui décrit l erreur (l "exception" proprement dite) 18
10 D é cla r a t ion e t la n ce m e n t d 'e x ce p t io n Exception est un type particulier qui permet simplement de nommer des exceptions Le mot-clé permettant le lancement d'exception est raise : division_by_zero : Exception; file_not_found : Exception; raise Ada.IO_Exceptions.Name_Error; raise division_by_zero; raise; -- relance de l'exception courante -- (uniquement dans un exception handler) 19 Tra it e m e n t d 'e x ce p t ion Les exceptions sont traitées dans des blocs particuliers en fin de corps de programme. Dans ce bloc, différents traitements peuvent être menés en fonction des exceptions... open(file, in_file, "input.txt"); divise(a,b); exception when file_not_found => put("cannot open input file : ");raise; when e : division_by_zero => put_line(exception_message(e)); when others => put("unknown Error"); Une exception non traitée dans le bloc de traitement est propagée. Un exception lancée dans ce bloc de traitement est toujours propagée. 20
11 Pr op a g a t ion d 'e x ce p t ion procedure ExceptionExample is procedure p(i : Integer) is e0,e1,e2 : Exception; if i = 0 then raise e0; end if; if i = 1 then raise e1; end if; if i = 2 then raise e2; end if; exception when e0 => put_line("exception 0");raise; when e1 => put_line("exception 1"); -- p(0); -> écrit exception 0 et plante sur une exception e0 -- p(1); -> écrit exception 1 et se termine correctement -- p(2); -> plante sur une exception e2 end ExceptionExample; 21 Bloc Un bloc est une instruction particulière combinant des déclarations (optionnelles) et des instructions. Un bloc permet de traiter localement des exceptions block_statement ::= [ block_statement_identifier : ] [ declare declarative_part ] handled_sequence_of_statements end [ block_identifier ] ; procedure lire_fichiers(tab : array(integer range <>) of String) is for i in tab'first..tab'last loop bloc_lecture : lire_fichier(tab(i)); exception when file_not_found => put_line(tab(i) & " introuvable"); when others => put_line("pb de lecture sur " & tab(i)); end bloc_lecture; end loop; end lire_fichiers; 22
12 Ex ce p t ion s p r é d é fin ie s Les exceptions prédéfinies en ADA, lancées lorsqu'un contrôle prévu par le langage échoue, sont Constraint_Error, Program_Error, Storage_Error et Tasking_Error Il est possible de renommer les exceptions Le paquetage Ada.Exceptions contient plein d'autres exceptions et des méthodes pour les manipuler dont procedure Raise_Exception(E:in Exception_Id; Message:in String := ""); function Exception_Message(X : Exception_Occurrence) return String;... EOF : Exception renames Ada.IO_Exceptions.End_Error; Ada définit de nombreux autres paquetages... 23
P r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 )
P r ob lé m a t iq u e d e la g é n é r icit é les versions de Java antérieures à 1.5 permettaient de créer des classes de structures contenant n'importe quels types d'objet : les collections (classes
Plus en détailGé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é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é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étailChapitre 5 : Les procédures stockées PL/SQL
I. Introduction Une procédure ou une fonction stockée est un bloc PL/SQL nommé pouvant accepter des paramètres et être appelée. Généralement, on utilise une fonction pour calculer une valeur. Les procédures
Plus en détailSHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5
SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N
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étailExpression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e
P r o b l é m a t i q u e OCL : O b j e c t C o n s t r a i n t L a n g u a g e Le langage de contraintes d UML Les différents diagrammes d UML permettent d exprimer certaines contraintes graphiquement
Plus en détailPrésentation du langage et premières fonctions
1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en
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étailRecherche dans un tableau
Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6
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é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é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étailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
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é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étailProgrammation Objet - Cours II
Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à
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é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é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étailJava Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets
Licence Professionnelle CISII, 2009-2010 Cours 2 : Classes et Objets 1 Classes et Objets Objectifs des LOO : - Manipuler des objets - Découper les programmes suivant les types des objets manipulés - Regrouper
Plus en détailAlgorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
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étailACTIVITÉ DE PROGRAMMATION
ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,
Plus en détailGénéralités sur le Langage Java et éléments syntaxiques.
Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...
Plus en détailAlgorithmique et programmation : les bases (VBA) Corrigé
PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi
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étailChapitre VI- La validation de la composition.
Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions
Plus en détailMachines virtuelles fonctionnelles (suite) Compilation ML Java
Machines virtuelles fonctionnelles (suite) Compilation ML Java Cours de Compilation Avancée (MI190) Benjamin Canou Université Pierre et Maire Curie Année 2011/2012 Semaine 3 Machines virtuelles fonctionnelles
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étailSTAGE IREM 0- Premiers pas en Python
Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer
Plus en détailChapitre 2 Devine mon nombre!
Python 3 : objectif jeux Chapitre 2 Chapitre 2 Devine mon nombre! 2.1. Thèmes abordés dans ce chapitre commentaires modules externes, import variables boucle while condition : if... elif... else la fonction
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étailPlan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Plus en détailINF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30
Examen intra 20 février 2014 17:30 à 20:30 Nom, prénom : Code permanent : Répondez directement sur le questionnaire. Question #1 5% Quelle influence peut avoir le typage dynamique sur la maintenabilité
Plus en détailF. Barthélemy. 17 mai 2005
Typage de la généricité en Java F. Barthélemy 17 mai 2005 1 Le shéma général La g én éricit é en Java est un ajout r éalis é sur un langage existant depuis d éjà une dizaine d ann ées, avec des contraintes
Plus en détail.NET - Classe de Log
.NET - Classe de Log Classe permettant de Logger des données Text Dans tous les projets, il est indispensable de pouvoir stocker de l'information textuelle : Pour le suivi des erreurs Pour le suivi de
Plus en détailExamen Médian - 1 heure 30
NF01 - Automne 2014 Examen Médian - 1 heure 30 Polycopié papier autorisé, autres documents interdits Calculatrices, téléphones, traducteurs et ordinateurs interdits! Utilisez trois copies séparées, une
Plus en détailBernard HAMM, Évelyne LAVOISIER
92 MAÎTRISE DE PROGICIELS DE GESTION DE BASES DE DONNÉES ET DE TRAITEMENT DE TEXTE Compte rendu d'un stage à l'usage des professeurs de sciences sociales. Ce stage a été programmé A la demande et avec
Plus en détailOracle Le langage procédural PL/SQL
Oracle Le langage procédural PL/SQL Denis Roegel roegel@loria.fr IUT Nancy 2 1998/1999 Sommaire 1 Introduction 3 2 Création de packages 3 2.1 Procédures groupées.........................................
Plus en détailApplication 1- VBA : Test de comportements d'investissements
Application 1- VBA : Test de comportements d'investissements Notions mobilisées Chapitres 1 à 5 du cours - Exemple de récupération de cours en ligne 1ère approche des objets (feuilles et classeurs). Corps
Plus en détailLe langage procédural PL-PGSQL
Le langage procédural PL-PGSQL PL/pgSQL est un langage procédural utilisé dans le système de gestion de bases de données PostgreSQL. Objectifs : créer des fonctions standards et triggers, ajouter des structures
Plus en détailCours d algorithmique pour la classe de 2nde
Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage
Plus en détailI. Introduction aux fonctions : les fonctions standards
Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons
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é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é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é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é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é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étailProgrammation en Java IUT GEII (MC-II1) 1
Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)
Plus en détailSub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"
TD1 : traduction en Visual BASIC des exemples du cours sur les structures de contrôle de l'exécution page 1 'TRADUCTION EN VBA DES EXEMPLES ALGORITHMIQUES SUR LES STRUCTURES 'DE CONTROLE DE L'EXECUTION
Plus en détailJava 1.5 : principales nouveautés
Cours 6 - TEP - UPMC - 2008/2009 p. 1/34 Java 1.5 : principales nouveautés classes paramétrées : generics encapsulation des valeurs de types primitifs : auto[un]boxing itération sur les boucles types énumérés
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étailPrésentation du PL/SQL
I Présentation du PL/ Copyright Oracle Corporation, 1998. All rights reserved. Objectifs du Cours A la fin de ce chapitre, vous saurez : Décrire l intéret du PL/ Décrire l utilisation du PL/ pour le développeur
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étailJava c est quoi? Java pourquoi?
Grandes lignes du cours Cours JAVA : Le bases du langage Java. Version 3.02 Julien Sopena 1 1 julien.sopena@lip6.fr Équipe REGAL - INRIA Rocquencourt LIP6 - Université Pierre et Marie Curie Licence professionnelle
Plus en détailStructurer ses données : les tableaux. Introduction à la programmation
Structurer ses données : les tableaux Introduction à la programmation Plan du document Introduction Introduire la notion de type Types primitifs Types composés Tableaux de type primitif Page 2 Notion de
Plus en détail//////////////////////////////////////////////////////////////////// Administration bases de données
////////////////////// Administration bases de données / INTRODUCTION Système d informations Un système d'information (SI) est un ensemble organisé de ressources (matériels, logiciels, personnel, données
Plus en détailServeur d'application Client HTML/JS. Apache Thrift Bootcamp
Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/
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é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é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é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é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étailProgrammation par les Objets en Java
Programmation par les Objets en Java Najib TOUNSI Les classes en Java (TD 3) I. Notion de classe I.1 Classe, champs, méthodes, instanciation, this, private vs. public. Créer une classe Point (coordonnée
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é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étailHéritage presque multiple en Java (1/2)
Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen
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étailALGORITHMIQUE ET PROGRAMMATION En C
Objectifs ALGORITHMIQUE ET PROGRAMMATION Une façon de raisonner Automatiser la résolution de problèmes Maîtriser les concepts de l algorithmique Pas faire des spécialistes d un langage Pierre TELLIER 2
Plus en détailLes chaînes de caractères
Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il
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é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étailEncapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.
Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres
Plus en détailUtilisation d objets : String et ArrayList
Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons
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étailLambda! Rémi Forax Univ Paris-Est Marne-la-Vallée
Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée forax at univ-mlv dot fr - ParisJUG Java.next() - Mars 2012 What Else? Lambda == Inner class? Java a des lambdas depuis la version 1.1 Exemple utilisant
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é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étailLangage Java. Classe de première SI
Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les
Plus en détaillength : A N add : Z Z Z (n 1, n 2 ) n 1 + n 2
1 Univ. Lille1 - Licence info 3ème année 2013-2014 Expression Logique et Fonctionnelle... Évidemment Cours n o 1 : Introduction à la programmation fonctionnelle 1 Introduction La programmation fonctionnelle
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étailÉléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike
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étailInitiation à l algorithmique
Informatique S1 Initiation à l algorithmique procédures et fonctions 2. Appel d une fonction Jacques TISSEAU Ecole Nationale d Ingénieurs de Brest Technopôle Brest-Iroise CS 73862-29238 Brest cedex 3 -
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étailCours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan
Cours de C++ François Laroussinie Dept. d Informatique, ENS de Cachan 2 novembre 2005 Première partie I Introduction Introduction Introduction Algorithme et programmation Algorithme: méthode pour résoudre
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é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é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étailPL langage de programmation côté serveur. SQL à la base : types, expressions, requêtes
Introduction à PL langage de programmation côté serveur installation nécessaire : CREATE LANGUAGE ou createlang interprété : erreurs de syntaxe possibles à l exécution SQL à la base : types, expressions,
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é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étailREALISATION d'un. ORDONNANCEUR à ECHEANCES
REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6
Plus en détailInitiation à la programmation en Python
I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de
Plus en détailDiagramme de classes
Diagramme de classes Un diagramme de classes décrit les classes et leurs relations (associations, généralisation/spécialisation, ). classe association méthodes attributs héritage Diagramme de classes :
Plus en détailQuatrième partie IV. Test. Test 15 février 2008 1 / 71
Quatrième partie IV Test Test 15 février 2008 1 / 71 Outline Introduction 1 Introduction 2 Analyse statique 3 Test dynamique Test fonctionnel et structurel Test structurel Test fonctionnel 4 Conclusion
Plus en détail