Types abstraits algébriques
|
|
- Aline Pinard
- il y a 6 ans
- Total affichages :
Transcription
1 Types abstraits algébriques On spécifie le type abstrait tabnat (tableau de naturels indexé par des naturels) de la manière suivante : sortes: nat, tabnat opérations: entrer : nat, nat, tabnat -> tabnat valeur : nat, tabnat -> nat vide : -> tabnat axiomes: valeur(j,entrer(v,i,t)) == V si I = J, valeur(j,t) sinon 1. Simplifiez (évaluez) les expressions suivantes : valeur(3, entrer(999, 3, vide())) valeur(2, entrer(999, 7, entrer(777, 2, vide()))) valeur(2, entrer(888, 2, entrer(999, 7, entrer(777, 2, vide())))) 2. On désire ajouter une opération remplir qui fait apparaître une même valeur dans tout le tableau p.ex. valeur(12, remplir(666, vide())) doit donner 666 valeur(12, remplir(666, entrer(999, 12,vide()))) doit donner 666 Donnez un axiome général qui décrive cette opération 3. On ajoute une opération échange qui a pour effet d échanger les valeurs des éléments se trouvant à deux positions différentes du tableau p.ex. valeur(1, echanger(1,2, entrer(10101, 2, entrer(78787,1,vide())))) doit donner valeur(1, echanger(3,2, entrer(10101, 2, entrer(78787,1,entrer(3, 90909,vide()))))) doit donner Complétez l axiome ci-desous pour qu il décrive bien l opération d échange valeur(i, echanger(k, L, T)) == si I = K si I = L sinon page 1/8
2 Implémentation Vous êtes chargé de l organisation d une grande course à la voile et plus particulièrement de la gestion des équipages des différents bateaux. Vous disposez déjà d une classe Personne définie comme suit : class Personne { String nom, prenom, adresse; Vous devez réaliser une classe Bateau dont chaque objet représente un bateau avec son nom, son skipper et les membres de l équipage. Vous avez déjà décidé que l interface de la classe Bateua sera composée des méthodes suivantes : class Bateau { void defnom(string unnom); // définit le nom du bateau void defskipper(personne p); // définit le skipper du bateau void ajoutermembreequipage(personne p); // ajoute une personne à l équipage void remplacermembreequipage(personne ancien, Personne nouveau); // remplace void retirermembreequipage(personne p); // retire boolean estmembre(string n, String p) // retourne vrai s il y a un membre de // l équipage qui a pour nom n et pour prénom p, retourne faux sinon 1. Pour chaque méthode énoncez en français une pré et une post condition qui définisse le sens de l opération. 2. Parmi les structures de données classiques (listes, piles, ensembles, fonctions, tableaux, etc.) laquelle choisiriez-vous pour représenter les membres de l équipage d un bateau? Argumentez votre réponse. 3. Vous décidez d utiliser la structure ci-dessous pour représenter un bateau : class Bateau { String nom; Personne skipper; Vector equipage; méthodes Ecrivez en Java ou en pseudo-code les algorithmes nécessaires à l implémentation des méthodes de la classe Bateau (y compris la vérification des pré-conditions) NOTE: une description partielle de la classe Vector est fournie en annexe; Types numériques de base 1. Lorsqu on effectue des calculs sur des valeurs numériques de type flottant (p.ex. des double page 2/8
3 ou float en C et Java) la précision n est pas absolue. Expliquez pourquoi. 2. Si l on calcule les sommes s1 = 1 + 1/2 + 1/ /n et s2 = 1/n + + 1/3 + 1/2 + 1 à l aide d un programme (C, Java, etc.), on obtient en général deux résultats différents. Laquelle des deux sommes est-elle la plus proche du résultat théorique? Justifiez votre réponse. Arbres multidimensionnels On a un ensemble de données formé de triplets (x, y, z), p.ex. des objets d une classe définie comme class Point3D {int x, y, z;. On décide de placer ces données dans un arbre 3-d. 1. Montrez comment l arbre 3-d se construit dans le cas où les données sont : (6,6,6), (3,8,12), (9,7,4), (2,12,15), (5,200,10), (1000,8,-5) et qu on les insère dans cet ordre dans l arbre. 2. Quel est l arbre binaire (standard) obtenu avec ces données si l on prend comme clé la composante y de chaque triplet. 3. Décrivez l algorithme à utiliser pour trouver tous les triplets qui ont une valeur donnée pour x (p.ex. x = 5) dans le cas où l on a utilisé un arbre 3-d dans le cas où l on a utilisé un arbree binaire standard construit sur la clé y. Que pouvez-vous en conclure quand aux mérites relatifs des deux structures de données? Annexe : description partielle de la classe Vector Un Vector est un tableau dynamique dont la taille varie en fonction des insertions ou retraits d éléments. Un même objet peut apparaître plusieurs fois dans le même Vector, à deux indices différents. On peut mettre des objets de n importe quelle classe dans un Vector. public class java.util.vector extends java.lang.object { // Constructeurs public Vector(); // crée un nouveau vecteur vide // Méthodes public final void addelement(object obj); // ajoute un élément à la fin du vecteur public final boolean contains(object elem); // vrai si l objet appartient au vecteur public final Object elementat(int index); // retourne l élément à l indice spécifié public final Object firstelement(); // retourne le 1er élément public final int indexof(object elem); // indice de la première occurence de l objet // dans le vecteur, -1 si l objet n appartient pas au vecteur page 3/8
4 public final void insertelementat(object obj, int index); // insère l objet à l indice spécifié public final boolean isempty(); // vrai si le vecteur est vide public final Object lastelement(); // dernier élément public final void removeallelements(); // retire tous les éléments public final boolean removeelement(object obj); // retire la première occurence de // obj du vecteur public final void removeelementat(int index); // retire l élément à l indice spécifié public final void setelementat(object obj, int index); // met obj dans le vecteur // à l indice spécifié public final int size(); // nombre d éléments du vecteur Types de base Dans de nombreux langages informatiques, tels C, C++, Java, ou SQL, les types numériques de base sont représentés par un nombre fixe de bits, p.ex. 16 bits pour les short ou 32 bits pour les int. Question 1 Citez les principaux avantages et inconvénients de cette représentation Question 2 Quel peut être l impact de cette représentation fixe au niveau de la conception des applications? Question 3 Les nombres flottants de taille fixe représentent des nombres réels avec une précision limitée, ce qui conduit à des imprécisions dans les calculs. Supposons que dans un logiciel commercial on traite des sommes d argent (francs et centimes). Comment s assurer que 4,30 Fr. + 2,30 Fr + 2,30 Fr. + 0,10 Fr donne bien 9,00 Fr. en pas 8, Fr.? Types abstraits algébriques Soit la spécification Arbre-Ternaire défini comme suit : spécification Arbre-Ternaire sortes: nat, arbre3, bool operations: // construire un arbre vide. * : -> arbre3 // construire un arbre en donnant la valeur de sa racine et // ses trois sous-arbres. cons : nat, arbre3, arbre3, arbre3 -> arbre3 // pour construire l arbre // 23 // / \ // / \ // // on fera donc: // page 4/8
5 // cons(23(cons(12,*,*,*), cons(5,*,*,*), cons(899,*,*,*)) // sélectionner les différents sous-arbres d un arbre. s1 : arbre3 -> arbre3 s2 : arbre3 -> arbre3 s3 : arbre3 -> arbre3 // sélectionner la racine d un arbre racine : arbre3 -> nat equations: racine(cons(n, A1, A2, A3)) == N s1(cons(n, A1, A2, A3)) == A1 s2(cons(n, A1, A2, A3)) == A2 s3(cons(n, A1, A2, A3)) == A3 Question 1 A l aide des équations ci-dessus simplifiez au maximum les expressions suivantes: a) racine(cons(345,*,cons(12,*,*,*),*)) b) racine(s2(cons(345,*,cons(12,*,*,*),*))) c) racine(s3(cons(345,*,cons(12,*,*,*),*))) Question 2 On veut définir une nouvelle opération rotation : arbre3 -> arbre3 dont l effet est de remplacer le premier sous-arbre par le second, le second par le troisième et le troisième par le premier et de laisser la racine inchangée. Si l arbre est vide la rotation donne un arbre vide. Complétez les équations ci-dessous pour qu elles décrivent l effet de l opération rotation. a) s1(rotation(a)) == s2(...) b) s2(rotation(a)) ==... c) s3(rotation(a)) ==... d)... == racine(a) e) rotation(*) ==... Question 3 On ajoute encore une opération taille : arbre3 -> arbre3 qui produit un arbre binaire en remplaçant le sous-arbre du milieu par l abre vide. Donnez trois équations qui décrivent cette opération. Interface et implémentation des types Une file d attente est décrite par la spécification suivante : specification FA page 5/8
6 sortes: element, file, bool operations: vide : -> file // ajoute un élément à l arrière de la file entrer : elem, file -> file // sort l élément se trouvant à l avant de la file sortir : file -> file // sélectionne le premier élément de la file (celui qui // se trouve à l avant) premier : file -> elem // teste si la file est vide est-vide : file -> bool équations: est-vide(vide) == vrai est-vide(entrer(e, F)) == faux premier(entrer(e, F)) == E si est-vide(f) == vrai == premier(f) si est-vide(f) == faux sortir(entrer(e, F)) == vide si est-vide(f) == vrai == entrer(e, sortir(f)))si est-vide(f) == faux Question 1 Spécifiez l interface d une classe File qui implémente la sorte file décrite ci-dessus. Pour chaque méthode donnez ses pré et post conditions (on suppose qu une classe Elem existe, qui implémente la sorte elem). class File File vide() // PRE... Elem premier() // PRE... void entrer(elem e) // PRE... void sortir() // PRE... boolean estvide() // PRE... Rappel: les pré et post conditions doivent se baser sur la spécification algébrique. page 6/8
7 Question 2 A l aide de quel type connu implémenteriez-vous le type File? Question 3 Etant donné le choix que vous avez fait, décrivez les algorithme nécessaires pour implémenter les opérations vide, entrer, sortir, premier et estvide. Vous pouvez décrire vos algorithmes en Java ou en pseudo-code. On désire introduire la notion de priorité, c est-à-dire que lorsqu un élément entre dans la file on le place devant tous les éléments qui ont une priorité inférieure. On supposera pour cela que la classe Elem possède une variable d instance publique priorite qui donne la priorité de tout élément. Question 4 Si vous conservez la même structure qu avant, comment devez-vous adapter les algorithmes de entrer, sortir et premier? Que devient leur complexité? Question 5 Pouvez-vous poposer une structure qui rende les opérations plus efficace? Si oui laquelle? page 7/8
8 1 Parcours de réseau Un réseau hydraulique est composé de stations et de lignes (canalisations) qui vont d une station à une autre station dite adjacente. Pour chaque ligne on a une capacité maximale (nombre de litre/minute). On dispose d une classe Reseau et d une classe Station dont les interfaces sont : class Reseau { /* fournit la capacité de la ligne entre deux stations adjacentes si s1 et s2 ne sont pas adjacentes, la méthode échoue */ int capacite(station s1, Station s2); /* fournit un tableau qui contient toutes les stations adjacentes à s1, c est-à-dire celles pour lesquelles il existe une ligne directe depuis s */ Station [] adjacentes(station s); class Station { public String nom; Question 1 Pour gérer ce réseau on doit développer différentes méthodes de la classe Reseau. Donnez pour chacune d elles un algorithme qui effectue le traitement décrit en commentaire (vous pouvez décrire les algorithmes en Java ou en pseudo-code). /* a. Met dans un tableau les stations adjacentes à s pour lesquelles la ligne a une capacité d au moins 100 [l/min.] */ Station [] adj100(station s); /* b. Retourne dans un tableau toutes les stations que l on peut atteindre directement (adjactentes ou en passante par une station intermédiaire à partir de s */ Station [] adistance2(station s) /* c. Trouve toutes les stations que l on peut atteindre depuis s en passant par au plus 3 stations intermédiaires et en n utilisant que des lignes d une capacité d au moins 100 [l/min] */ Station [] adistance4(station s); /* d. Teste s il existe un moyen de connecter la station s à la station t, retourne true si t est adjacente à s ou s il existe des stations s 1, s 2,, s k telles que s est adjacente à s 1, s 1 est adjacente à s 2, et s k est adjacente à t, retourne false sinon. */ boolean connectables(station s, Station t); page 8/8
TP 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é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é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étailPrénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004
Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)
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é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é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é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étailProgramme Compte bancaire (code)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; Programme Compte bancaire (code) namespace compte_bancaire /// Classe Program public
Plus en détailTD/TP PAC - Programmation n 3
Université Paris Sud Licence d informatique/iup-miage2 - Année 2004-2005 auteur : Frédéric Vernier semaine : 11-16 octobre 2004 conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html
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é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étailTD/TP PAC - Programmation n 3
Université Paris Sud Licence d informatique/iup-miage2 Année 2004-2005 Auteur : Frédéric Vernier Semaine : 11-16 octobre 2004 Conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html
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étailChapitre V. Les classes : Object, Vector, etc.
Chapitre V Les classes de base Les classes : Object, Vector, etc. Plan La classe Object Les collections La classe ArrayList La classe Vector Les classes Wrappers Les classes String et StringBuffer La classe
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é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étailPolymorphisme, la classe Object, les package et la visibilité en Java... 1
Polymorphisme, la classe Object, les package et la visibilité en Java. Polymorphisme, la classe Object, les package et la visibilité en Java.... 1 Polymorphisme.... 1 Le DownCast... 4 La Classe Object....
Plus en détailPlateforme PAYZEN. Définition de Web-services
Plateforme PAYZEN Définition de Web-services Ordre de paiement Version 1.1 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Lyra-Network
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étailNotions fondamentales du langage C# Version 1.0
Notions fondamentales du langage C# Version 1.0 Z 2 [Notions fondamentales du langage Csharp] [Date : 25/03/09] Sommaire 1 Tout ce qu il faut savoir pour bien commencer... 3 1.1 Qu est ce qu un langage
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étailL exclusion mutuelle distribuée
L exclusion mutuelle distribuée L algorithme de L Amport L algorithme est basé sur 2 concepts : L estampillage des messages La distribution d une file d attente sur l ensemble des sites du système distribué
Plus en détailTravaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
Plus en détailGOL502 Industries de services
GOL502 Industries de services Conception d un service Partie IIb Version 2013 Introduction Conception d un service partie IIb Nous verrons dans ce chapitre Modélisation d un service; Langage de modélisation
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étailProgrammation Orientée Objet Java
Programmation Orientée Objet Java Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 12 novembre 2014 Bertrand Estellon (DII AMU) Programmation Orientée Objet Java 12 novembre
Plus en détailPage 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>
Page 1 sur 5 TP3 Lectures préalables : l Java_II l tutorial Interfaces Thèmes du TP : l la classe Object l Vector l Stack Une pile d'objects Les éléments de la classe Pile sont maintenant des instances
Plus en détailLe langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie
Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis
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é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é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étailBases de programmation. Cours 5. Structurer les données
Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et
Plus en détailUEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
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é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étailCours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions
Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental
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é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étailIngénérie logicielle dirigée par les modèles
Ingénérie logicielle dirigée par les modèles Destercq Lionel & Dubuc Xavier 17 décembre 2009 Table des matières 1 Introduction 1 2 Diagrammes de classes 1 2.1 Principal..............................................
Plus en détailJava Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites
Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)
Plus en détailRMI le langage Java XII-1 JMF
Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine
Plus en détailTP 1. Prise en main du langage Python
TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer
Plus en détailCours de Systèmes d Exploitation
Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation
Plus en détailQuelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Plus en détailPHP. PHP et bases de données
Accés aux bases de données Une des raisons du succès de PHP Support d un grand nombre de bases - MySQL - Oracle - PostgreSQL - SQLite - Microso> Access - DBM - IBM Informix -... Accés aux bases de données
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étailExclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011
Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique
Plus en détailObjets et Programmation. origine des langages orientés-objet
Objets et Programmation origine des langages orientés-objet modularité, encapsulation objets, classes, messages exemples en Java héritage, liaison dynamique G. Falquet, Th. Estier CUI Université de Genève
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étailTP3 : Manipulation et implantation de systèmes de fichiers 1
École Normale Supérieure Systèmes et réseaux Année 2012-2013 TP3 : Manipulation et implantation de systèmes de fichiers 1 1 Répertoire de travail courant Le but de l exercice est d écrire une commande
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étailCREATION D UNE EVALUATION AVEC JADE par Patrick RUER (www.mathenvideo.comuv.com)
TABLE DES MATIERES I) Le logiciel JADE 2 II) Etablissements 3 1) Configuation de l établissement 3 2) Importation des classes avec SCONET 4 3) Les groupes d élèves 6 4) Les variables supplémentaires 6
Plus en détailUE Programmation Impérative Licence 2ème Année 2014 2015
UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative
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é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é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étailProgrammation avec des objets : Cours 7. Menu du jour
1 Programmation avec des objets : Cours 7 Menu du jour 1. Retour sur la classe Liste 2. Précisions sur l interface 3. Difficultés dans le cas d erreurs 4. Soulever des exceptions 5. Utilisation des Listes
Plus en détailDéfinition des Webservices Ordre de paiement par email. Version 1.0
Définition des Webservices Ordre de paiement par email Version 1.0 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Historique du document
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étailINTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores
INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN
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étailDéfinitions. Numéro à préciser. (Durée : )
Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.
Plus en détailVérification formelle de la plate-forme Java Card
Vérification formelle de la plate-forme Java Card Thèse de doctorat Guillaume Dufay INRIA Sophia Antipolis Cartes à puce intelligentes Java Card : Environnement de programmation dédié. Dernières générations
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étailCentre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :
Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de
Plus en détailCertificat Big Data - Master MAthématiques
1 / 1 Certificat Big Data - Master MAthématiques Master 2 Auteur : Sylvain Lamprier UPMC Fouille de données et Medias Sociaux 2 / 1 Rich and big data: Millions d utilisateurs Millions de contenus Multimedia
Plus en détailLogiciel de Base. I. Représentation des nombres
Logiciel de Base (A1-06/07) Léon Mugwaneza ESIL/Dépt. Informatique (bureau A118) mugwaneza@univmed.fr I. Représentation des nombres Codage et représentation de l'information Information externe formats
Plus en détailCette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :
Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens
Plus en détailA.P.I. Kuka Manuel de l utilisateur Version 0.0.5
A.P.I. Kuka Manuel de l utilisateur Version 0.0.5 Paul Chavent Kubrick 8 septembre 2003 1 kuka api 0.0.5 : Manuel de l utilisateur Table des matières 1 Utilisation sur le robot (serveur) 3 1.1 Installation............................................
Plus en détailP 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é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 par composants (1/3) Programmation par composants (2/3)
Programmation par composants (1/3) La programmation par composant vise le développement de logiciel par aggrégation de briques logicielles existantes est indépendante de la POO La programmation par composant
Plus en détailÉvaluation et implémentation des langages
Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation
Plus en détailIntroduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr
Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université
Plus en détailCours d Algorithmique et de Langage C 2005 - v 3.0
Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris
Plus en détailDE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51
DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de
Plus en détailCompte-rendu de projet de Système de gestion de base de données
Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison
Plus en détailSolutions du chapitre 4
Solutions du chapitre 4 Structures de contrôle: première partie 4.9 Identifiez et corrigez les erreurs (il peut y en avoir plus d une par segment de code) de chacune des proposition suivantes: a) if (
Plus en détailApplet pour visualiser les variables «automate» notifiées
Applet pour visualiser les variables «automate» notifiées Sommaire 1. Introduction...2 2. Lecture de variables «automate» notifiées...2 2.1. IHM servant au test :...2 2.2. Codage de l'applet :...2 3. Codage
Plus en détailIntroduction à JDBC. Accès aux bases de données en Java
Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity
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é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étailChapitre 2. Classes et objets
Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons
Plus en détailJava DataBaseConnectivity
Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage
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é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étailCours Base de données relationnelles. M. Boughanem, IUP STRI
Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),
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étailINITIATION AU LANGAGE JAVA
INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal
Plus en détailMANUEL D'INSTALLATION SUR WINDOWS 2003/2008 SERVER
Logiciels industriels et techniques VIGISOFT URBAIN.NET v4.0 MANUEL D'INSTALLATION SUR WINDOWS 2003/2008 SERVER Référence document : MAN-URBAIN-INST Date du document : vendredi 19 novembre 2010 Auteur
Plus en détailTD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
Plus en détailInformation utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/
Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/
Plus en détailComment créer un nouveau compte? 1/2- Pour le consommateur
Comment créer un nouveau compte? 1/2- Pour le consommateur Cette procédure va vous permettre de créer un compte. Tous les logiciels Photo & Book que vous allez créer, que ce soit pour un consommateur ou
Plus en détailLicence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Plus en détailCours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
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étailAlgorithmique, Structures de données et langage C
UNIVERSITE PAUL SABATIER TOULOUSE III Algorithmique, Structures de données et langage C L3 IUP AISEM/ICM Janvier 2005 J.M. ENJALBERT Chapitre 1 Rappels et compléments de C 1.1 Structures Une structure
Plus en détailAlgèbre binaire et Circuits logiques (2007-2008)
Université Mohammed V Faculté des Sciences Département de Mathématiques et Informatique Filière : SMI Algèbre binaire et Circuits logiques (27-28) Prof. Abdelhakim El Imrani Plan. Algèbre de Boole 2. Circuits
Plus en détailDiagramme de déploiement
Table des matières Table des matières... Diagramme de déploiement... 2 Diagramme de cas d utilisation global... 3 Sous-système : Gestion des utilisateurs... 4 Diagramme de cas d utilisations... 4 Diagramme
Plus en détail