Programmation stochastique

Dimension: px
Commencer à balayer dès la page:

Download "Programmation stochastique"

Transcription

1 Programmation stochastique (Partie 1) IFT-6512 Hiver 2008

2 Présentation succinte COIN-OR? COmputational INfrastructure for Operations Research. Préalablement, COIN-OR tenait pour Common Optimization INterface for Operations Research. Le projet a été lancé par IBM, et les codes sont fournis en open-source (http://www.opensource.org). Beaucoup de projets sont sous licence CPL (Common Public Licence). Il existe à présent une fondation COIN-OR, indépendante de IBM. Où commencer? En visitant le site

3 De quoi aurons-nous besoin? Le projet COIN-OR regroupe de nombreuses librairies et outils de recherche opérationnelles. Nous ne pourrons pas tous les explorer et encore moins les utiliser dans ce cours! Nous étudierons ici la libraire Smi. Pourquoi? Smi is an open-source interface for modeling stochastic linear programming problems. Currently it supports : a scenario tree structure for multiperiod stochastic data, an implementation of a Stochastic MPS (SMPS) reader, direct interfaces for generating scenario trees from paths and from discrete random variables, generating the deterministic equivalent problem for OSI compatible solvers, and parsing the solutions by stage and scenario. Présupposition : environnement de travail de type Unix, compilateur C/C++ installé.

4 Télécharger SMI La page principale du projet est : https://projects.coin-or.org/smi Le package SMI est disponible sur un serveur subversion, et peut être téléchargé grâce à la ligne de commande svn co https://projects.coin-or.org/svn/smi/stable/0.9 coin-smi_0.9 Cela suppose évidemment que vous disposiez d un client subversion. Alternativement, des versions précédentes sont disponibles à l adresse Une copie locale de la version 0.9 est disponible sur la page du cours : bastin/coin-or/smi/smi.tgz

5 Installation de SMI Sous Windows, il est possible d émuler un environnement Unix avec Cygwin (http://www.cygwin.com) La librairie a aussi été testée sous Visual C++. Expérience personnelle de Visual C++ : nulle. Je me concentrerai par conséquent sur l approche Unix. Si SMI a été téléchargé sous forme d archive, commencez par décompresser l archive, par exemple : tar zxvf smi.tgz Placez dans le répertoir créé (coin-smi_0.9), et entrez./configure make make test make install Cette séquence de commandes vous dit-elle quelque chose?

6 Et maintenant...? Découvrons SMI. Ce qui suit est basé sur la présentation Stochastic modeling software in the open-source COIN-OR repository, Alan King (IBM Research), INFORMS, Seattle, Qu est-ce que Coin-SMI? Une interface pour des problèmes dans lesquels apparaissent conjointement de l incertitude et des questions d optimisation. Traite des questions de programmations non triviales : implémente des distributions de probabilité multi-étapes, interagit avec des solveurs,... Beaucoup de modèles *pourraient* être supportés : programmation avec recours, programmation contrainte en chance, contrôle stochastique et programmation dynamique, optimisation robuste, queues,...

7 Possibilités actuelles Encore limité, mais c est un des rares projets actifs actuellement. Approche orientée objet (C++), classe SmiScnModel : programme linéaire stochastique multi-étapes avec recours : lecteur de fichiers SMPS ; méthodes directes d entrée pour des scénarios et des distributions directes. supporte *tous* les solveurs compatibles OSI ; prépare un objet OSI avec le programme linéaire déterministe équivalent ; traverse l arbre de scénarios et retrouve les données de solution étape par étape ; implémentation entièrement native pour le projet COIN. Il devrait être facile d ajouter des variables entières et des objectifs quadratiques.

8 Documentation Pour l heure... assez limitée. Transparents de présentation : https://projects.coin-or.org/smi/attachment/wiki/wikistart/ coin-or_smi_2007_11_04.pdf Il est possible de générer une documentation des fonction implantées dans Smi et les projets associés en utilisant la commande make doxydoc à partir du répertoire racine de Smi. Cette commande nécessite la présence de l outil doxygen. Le processus de génération de documentation est similaire à javadoc pour Java.

9 Exemples Je n ai pas doxygen! Facile à installer sous les distributions Linux courantes. Une copie de la documentation est disponible sur ma page : bastin/coin-or/smi/doc/html/ Le fichier source Smi/Examples/Stoch/stoch.cpp propose différents exemples d utilisation. SmpsIO(../../Mps/Stochastic/wat 10 C 32 ) ; résout un problème SMPS tiré de Dempster et al. : problème solves ModelScenario(); génération de scénarios pour le problème d allocation de flotte aérienne, Dantzig-Ferguson s. ModelDiscrete(); version en distribution discrète du problème d allocation de flotte aérienne.

10 C++ La majeure partie des outils repris dans le répertoire COIN-OR sont écrits en C++. C++ en deux mots. langage dérivé du C ; le code C peut le plus souvent être directement utilisé avec un compilateur C++ (quelques précautions doivent toutefois être prises) ; langage orienté-objet (comme Java). Un Hello World en C++. #include <iostream> using namespace s td ; i n t main ( ) { cout << Hello World! << endl ; } return 0;

11 Hello World! Syntaxe similaire à Java. Le programme commence par une série de déclarations, puis suit le code principal. Tout programme doit contenir une fonction main, qui est le point d entrée du programme. A la différence de Java, cette fonction n est pas à l intérieur. Java ne travaille qu avec des objets, C++ non. On peut écrire un programme C++ sans objets. iostream est une libraire servant aux entrées-sorties. Le mot-clé #include sert à indiquer que les fonctions utilisées sont décrites dans le fichier iostream.h (.h pour header). using namespace std; sert à indiquer que les entrées-sorties se feront sur le canal standard (i.e. le clavier et l écran).

12 Types de variables prédéfinis void : type vide ; char : caractère ; int : entier ; bool : booléen ; float : réel simple précision ; double : réel double précision ; wchar t : caractère long. Les types entiers (int) peuvent être caractérisés d un des mots clés long ou short. Ces mots clés permettent de modifier la taille du type, c est-à-dire la plage de valeurs qu ils peuvent couvrir. De même, les réels en double précision peuvent être qualifiés du mot clé long, ce qui augmente leur plage de valeurs. Note, sur les architectures habituelles, double et long double ont même place de valeur.

13 Classes #include <iostream> using namespace s td ; class CRectangle { i n t x, y ; public : void s e t v a l u e s ( int, i n t ) ; i n t area ( ) { return ( x y ) ; } } ; void CRectangle : : s e t v a l u e s ( i n t a, i n t b ) { x = a ; y = b ; }

14 Classes (2) i n t main ( ) { CRectangle r e c t ; r e c t. s e t v a l u e s ( 3, 4 ) ; cout << area : << r e c t. area ( ) ; return 0; } Syntaxe. Chaque intruction est terminée par le symbole ; et un bloc d instructions est délimité par une accolade ouvrante ({) et une accolade (}) fermante. Une classe est un objet, qui contiendra des variables et des fonctions, appelées méthodes. Similaire à Java. On construit ici une classe rectangle, qui sera spécifié en indiquant sa largeur et sa longueur, et qui dispose d une méthode permettant d en calculer l aire.

15 On ne partage pas tout! Les éléments (variables et méthodes) peuvent être privés, publics ou protégés : private les membres privés d une classe sont seulement accessible à partir des autres membres de la même classe ou de leurs amis ; protected les membres protégés sont accessibles pour les membre de la même classe et de leurs amis, mais aussi pour les membres des classes dérivées. public les membres publics sont accessible par n importe qui pouvant voir l objet. Dans l exemple, les variables sont privées (comportement par défaut), et on utilise le setter set_values pour les initialiser.

16 Classes : constructeurs et destructeurs On voudrait pouvoir initialiser certains éléments de l instance d une classe lors de sa création. C est possible grâce à la fonction spéciale appelée constructeur, qui est automatiquement appelée quand une nouvelle instance est créée. Cette fonction doit avoir même nom que la classe, et ne peut avoir aucun type de retour, même void. #include <iostream> using namespace s td ; class CRectangle { i n t width, height ; public : CRectangle ( int, i n t ) ; i n t area ( ) { return ( width height ) ; } } ;

17 Constructeurs : exemple CRectangle : : CRectangle ( i n t a, i n t b ) { width = a ; height = b ; } i n t main ( ) { CRectangle r e c t ( 3, 4 ) ; CRectangle r e c t b ( 5, 6 ) ; cout << r e c t area : << r e c t. area ( ) << endl ; cout << r e c t b area : << r e c t b. area ( ) << endl ; return 0; } Dans l exemple, on passe la largeur et la longueur comme arguments lors de la création d une instance.

18 Destructeur Le destructeur remplit la fonctionnalité opposée : il est automatiquement appelé quand un objet est détruit. Le desctructeur doit avoir le même nom que la classe, mais précédé d un signe tilde ( ), et il ne doit retourner aucune valeur. L utilisation de destructeurs est particulièrement adaptée quand un objet affecte de la mémoire dynamique au cours de durée de vie, et qu au moment de sa destruction, nous souhaitons libérer la mémoire qui avait été allouée. Allocation dynamique? Utilisateur de pointeurs. Chaque variable est stockée en mémoire. On peut connaître l adresse mémoire grâce à l opérateur de référence : &.

19 Pointeurs De la même manière qu on peut connaître mémoire associée à une variable, on peut créer une variable dont le contenu est une adresse : pointeur. La déclaration d un pointeur se fait en placant une astérisque entre le type et le nom de variable. Exemple : int a; int *b = &a; Pour connaître le contenu de la mémoire dont l adresse est donnée par le pointeur, on effectuera une opération de déférencement, en plaçant le symbole astérisque devant le nom de variable : a = *b;

20 Allocation mémoire Le mot-clé new permet de requérir de la mémoire dynamique. new sera suivi de l identifiant de type, et éventuellement du nombre d éléments entre crochets ([]) pour allouer un tableur. L appel à new retourne un pointeur au début du bloc mémoire nouvellement alloué. Par exemple, i n t semaine ; semaine = new i n t [ 7 ] ; Le premier élément pointé par semaine peut être accédé soit avec l expression semaine[0] ou l expression *semaine. Le second élément peut être accédé avec semaine[1] ou *(semaine + 1), et ainsi de suite. Contrairement à Java, il n y a pas de garbage collector : la mémoire alloué restera alloué tant qu aucune instruction indiquant qu elle doit être libérée n est rencontrée.

21 Désallocation mémoire En C++, il est à la charge du programmeur de libérer le mémoire allouée dynamiquement pour la rendre à nouveau disponible. Cela se fait avec l instruction delete, dont le format est : delete p o i n t e r ; delete [ ] p o i n t e r ; La première expression devrait être utilisée pour supprimer la mémoire alloué à un seul élément, et la seconde pour la mémoire allouée à un tableau d éléments. Note : en C, on utilise les instructeurs de plus bas niveau malloc et free. Les instructions new et delete permettent cependant de profiter des constructeurs et destructeurs. Revenons aux destructeurs...

22 Destructeur : exemple #include <iostream> using namespace s td ; class CRectangle { i n t width, height ; public : CRectangle ( int, i n t ) ; CRectangle ( ) ; i n t area ( ) { return ( width height ) ; } } ; CRectangle : : CRectangle ( i n t a, i n t b ) { width = new i n t ; height = new i n t ; width = a ; height = b ; }

23 Destructeur : exemple (2) CRectangle : : CRectangle ( ) { delete width ; delete height ; } i n t main ( ) { CRectangle r e c t ( 3, 4 ), r e c t b ( 5, 6 ) ; cout << r e c t area : << r e c t. area ( ) << endl ; cout << r e c t b area : << r e c t b. area ( ) << endl ; return 0; } Plutôt que de déclarer l instance CRectangle de cette manière, on put utiliser un pointeur : CRectangle r e c t = new CRectangle ; [... ] delete r e c t ;

24 Environnements de développement Différents environnements sont disponibles. Solution basique, mais efficace : un éditeur de texte (par exemple emacs ou vim), compilateur gnu g++. Environnement de développement. Un exemple open-source (téléchargeable gratuitement) : Eclipse (http://www.eclipse.org). Supporte à la base le Java, mais gère le C/C++ grâce au plugin CDT (http://www.eclipse.org/cdt/). Un tutorial d utilisation d Eclipse CDT : os-eclipse-stlcdt/index.html

25 Pour aller plus loin... Ce cours n étant pas destiné à apprendre un langage de programmation, il n en sera pas dit d avantage sur le C++. Différents tutoriaux existent sur internet, par exemple Vous pouvez aussi consulter les notes et exemples du cours IFT1166 : dift1166/ Un livre de référence (parmi d autres) : Stanley B. Lippman, Josée LaJoie, Barbara E. Moo, C++ Primer, 4th Edition, Addison Wesley, Leitmotiv : Read the Source, Luke. On apprend énormément en lisant du code source. Pour Smi, profitez des exemples repris dans le code distribué!!!

26 SMPS Format permettant de décrire des problèmes stochastiques (linéaires) avec recours. Référence principale : Gassmann et Schweitzer, Proposed Extensions to the SMPS Input Format for Stochastic Linear Programs, Dalhousie School of Business Administration Working Paper WP 96 1, Based on the MPS standard for linear programs, data conventions for the description of multistage stochastic linear programs were described by Birge et al. This paper proposes extensions to the so-called SMPS standard, in order to address shortcomings identified by researchers around the world in several years of working with the standard.

27 Autres références J.R. Birge, M.A.H. Dempster, H.I. Gassmann, E.A. Gunn, A.J. King and S.W. Wallace, A standard input format for multiperiod stochastic linear programs, COAL Newsletter 17, pp. 1-19, H.I. Gassmann and E. Schweitzer, A comprehensive input format for stochastic linear programs, Annals of Operations Research 104, pp , Un goût de bon vieux temps Les outils modernes utiliseront plutôt des langages de modélisation algébrique. Auparavant, les formats étaient beaucoup plus lourds : MPS, SIF. Le format SMPS est une extension du MPS pour la programmation stochastique.

28 Pourquoi utiliser SMPS alors? 1 Collection de problèmes test : 2 Possibilité d utiliser des solveurs connus et fiables, y compris des solveurs commerciaux... sans délier sa bourse! Comment? Soumettre ses problèmes à NEOS! Pour les problèmes en SMPS : NEOS dispose d un large éventail de logiciels d optimisation, et peut être utilisé dans d autres contextes. 3 Les solutions comme AMPL sont souvent payantes, avec des licences parfois très coûteuses.

Utiliser NDK dans un projet Android

Utiliser NDK dans un projet Android Introduction NDK est une suite d outils permettant de compiler puis d utiliser du code natif dans une application Android. Ce code natif est ensuite appelé via JNI (Java Native Interface), fournissant

Plus en détail

Une introduction au langage C++ Marc Jachym, Lurpa

Une introduction au langage C++ Marc Jachym, Lurpa Une introduction au langage C++ Marc Jachym, Lurpa Janvier 2008 À l origine, le langage C Langage procédural créé dans les années 1970 aux laboratoires Bell (ATT : télécoms américains) en vue d écrire

Plus en détail

Informatique III: Programmation en C++ Introduction. Examens. Chargé de cours François Fleuret francois.fleuret@epfl.ch

Informatique III: Programmation en C++ Introduction. Examens. Chargé de cours François Fleuret francois.fleuret@epfl.ch Informatique III: Programmation en C++ Lundi 24 Octobre 2005 Chargé de cours François Fleuret francois.fleuret@epfl.ch Assistant Mathieu Salzmann mathieu.salzmann@epfl.ch Assistants étudiants Ali Al-Shabibi

Plus en détail

Claude Delannoy. Exercices C++ en langage. 3 e édition. Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5

Claude Delannoy. Exercices C++ en langage. 3 e édition. Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5 Claude Delannoy Exercices en langage C++ 3 e édition Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5 Chapitre 3 Les fonctions Rappels Généralités Une fonction est un bloc d instructions éventuellement

Plus en détail

Programmation PHP Septembre 2010

Programmation PHP Septembre 2010 IFT1147 Programmation Serveur Web avec PHP Plan La POO en PHP Lecture du chapitre 20. Programmation par objets Introduction à la POO Objets et classes Propriétés Méthodes Private Héritage Polymorphisme

Plus en détail

Chapitre 3 : Pointeurs et références

Chapitre 3 : Pointeurs et références p. 1/18 Chapitre 3 : Pointeurs et références Notion de pointeur L adresse d une variable est une valeur. On peut donc la stocker dans une variable. Un pointeur est une variable qui contient l adresse d

Plus en détail

Projet 1 ENS Lyon L3IF

Projet 1 ENS Lyon L3IF Projet 1 ENS Lyon L3IF Génération de code Sébastien Briais 8 janvier 2008 Dans cette partie, vous allez devoir implémenter le générateur de code pour l émulateur DLX risc-emu. À rendre pour le 18 janvier

Plus en détail

IN104. Programmation orientée objet Introduction aux objets

IN104. Programmation orientée objet Introduction aux objets IN104 Programmation orientée objet Introduction aux objets Séance de Travaux Dirigés du 24 septembre 2009 B. Monsuez, F. Védrine Exercice 1 Notre compteur en C++ Nous étudions dans cet exercice l exemple

Plus en détail

Langage de programmation C++

Langage de programmation C++ Langage de programmation C++ Mohamed Tounsi Institut Supérieur d'informatique et Mathématiques Monastir Janvier 2013 Mohamed Tounsi (ISIMM) Langage de programmation C++ Janvier 2013 1 / 14 La notion de

Plus en détail

Entraînement au concours ACM-ICPC

Entraînement au concours ACM-ICPC Entraînement au concours ACM-ICPC Déboguage et profilage de programmes C++ Page 1 / 11 Avec un IDE (environnement de développement intégré) Eclipse CDT, NetBeans, Visual C++, XCode, KDeveloper... Fonctionnalités

Plus en détail

Bases de la programmation orientée objet en Java

Bases de la programmation orientée objet en Java Bases de la programmation orientée objet en Java Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-33 Avant propos Difficultés...

Plus en détail

Langage C/C++ TD 3-4 : Création dynamique d objets. Hubert Godfroy. 27 novembre 2014

Langage C/C++ TD 3-4 : Création dynamique d objets. Hubert Godfroy. 27 novembre 2014 Langage C/C++ TD 3-4 : Création dynamique d objets Hubert Godfroy 7 novembre 014 1 Tableaux Question 1 : Écrire une fonction prenant un paramètre n et créant un tableau de taille n (contenant des entiers).

Plus en détail

Introduction au langage C

Introduction au langage C Organisation du cours Introduction au langage C Premier cours Notions générales Aurélien Max aurelien.max@limsi.fr 12 séances de cours de 1h: mercredi 16-17h, salle A203 12 séances de TD de 1h: mercredi

Plus en détail

Le langage C. Séance n 4

Le 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étail

1 Pointeurs, références, alias et tableaux

1 Pointeurs, références, alias et tableaux 1 Pointeurs, références, alias et tableaux 1 1.1 Définitions Un pointeur est une variable contenant l'adresse d'un objet en mémoire. Un pointeur est déni par le couple (type, adresse) de l'objet pointé.

Plus en détail

C++ / MC-II1 - Cours n o 3 Allocation Mémoire et Constructeurs

C++ / MC-II1 - Cours n o 3 Allocation Mémoire et Constructeurs C++ / MC-II1 - Cours n o 3 Allocation Mémoire et Constructeurs Sebastien.Kramm@univ-rouen.fr IUT GEII Rouen 2010-2011 S. Kramm (IUT Rouen) MCII1 - Cours 3 2010-2011 1 / 47 Sommaire 1 Rappels de C et définitions

Plus en détail

C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement

C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement des objets d'une classe Utilisation d'une classe Droit

Plus en détail

1.1- Compiler et exécuter un premier programme en C++

1.1- Compiler et exécuter un premier programme en C++ 1.1- Compiler et exécuter un premier programme en C++ 1- Un premier programme en C++ 2- Compilation et exécution 1- Un premier programme en C++ Le premier programme que propose le cours consiste à afficher

Plus en détail

ENSI. Visual C++ Initiation

ENSI. Visual C++ Initiation ENSI Visual C++ Initiation Tables des matières 1. LES MFC (MICROSOFT FOUNDATION CLASSES)...3 1.1 DÉFINITION... 3 1.2 L ESPACE DE TRAVAIL... 3 2. CRÉER UN NOUVEAU PROJET...5 2.1 ETAPE 1 : CHOISIR LE TYPE

Plus en détail

Avant-propos. 1. Introduction

Avant-propos. 1. Introduction Avant-propos Les sections ou sous-sections marquées d un astérisque (*) ne font pas partie de la matière du cours IFT1969. Elles sont destinées à définir complètement le langage C (ANSI-C99) et à en préciser

Plus en détail

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.be Qu est-ce que la programmation? Programmer Ecrire un

Plus en détail

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 1 : Eclipse

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 1 : Eclipse iut ORSAY DUT Informatique Département Informatique 2008 / 2009 Travaux Pratiques n o 1 : Eclipse Nom(s) : Groupe : Date : Objectifs : Apprendre à se servir du logiciel Eclipse pour le développement d

Plus en détail

Cours Langage C/C++ Mémoire et allocation dynamique

Cours Langage C/C++ Mémoire et allocation dynamique Cours Langage C/C++ Mémoire et allocation dynamique Thierry Vaira BTS IRIS Avignon tvaira@free.fr v0.1 La pile et le tas La mémoire La mémoire dans un ordinateur est une succession d octets (soit 8 bits),

Plus en détail

1 : 1 er programmes & prise en main de l environnement

1 : 1 er programmes & prise en main de l environnement 1 : 1 er programmes & prise en main de l environnement 1 Introduction 1.1 Rappel : gestion d arborescence et de fichiers sous UNIX Pour la manipulation de répertoire et de fichier à partir d un terminal

Plus en détail

Introduction au langage C

Introduction 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étail

Programmer 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) 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étail

Cours d Analyse, Algorithmique Elements de programmation

Cours d Analyse, Algorithmique Elements de programmation 1 de 33 Cours d Analyse, Algorithmique Elements de programmation Florent Hivert Mél : Florent.Hivert@lri.fr Adresse universelle : http://www.lri.fr/ hivert 2 de 33 Données et instructions Un programme

Plus en détail

Le «thread local storage» et son utilisation

Le «thread local storage» et son utilisation Résumé Les allocations mémoire sont généralement plus coûteuses que d ordinaire en environnement multi-thread. En effet, la majorité des algorithmes d allocation en usage dans les systèmes d exploitation

Plus en détail

Cours 1: Java et les objets

Cours 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étail

C ellules. Gestion et récupération automatique de mémoire. Principes des lang. de progr. INE 11. Allocation dynamique de mémoire.

C ellules. Gestion et récupération automatique de mémoire. Principes des lang. de progr. INE 11. Allocation dynamique de mémoire. Principes des lang. de progr. INE 11 Michel Mauny ENSTA ParisTech Prénom.Nom@ensta.fr Michel Mauny (ENSTA ParisTech) INE 11 Prénom.Nom@ensta.fr 1 / 37 Gestion et récupération automatique de mémoire lanage

Plus en détail

Mode d emploi pour la P-machine utilisée lors des TPs et des projets du cours INFO010 Théorie des langages et de la compilation.

Mode d emploi pour la P-machine utilisée lors des TPs et des projets du cours INFO010 Théorie des langages et de la compilation. Mode d emploi pour la P-machine utilisée lors des TPs et des projets du cours INFO010 Théorie des langages et de la compilation. Sébastien COLLETTE et Gilles GEERAERTS 1 Introduction Ce document décrit

Plus en détail

Systeme d'exploitation

Systeme d'exploitation Introduction au dévellopement de Methodes Natives Partie I : appelle de methodes C++ sous windows Auteur: Frank Sauvage. 1 \ introduction aux methodes natives : Les methodes natives sont des methodes devellopées

Plus en détail

Eléments de syntaxe du langage Java

Eléments de syntaxe du langage Java c jan. 2014, v3.0 Java Eléments de syntaxe du langage Java Sébastien Jean Le but de ce document est de présenter es éléments de syntaxe du langage Java : les types primitifs, les opérateurs arithmétiques

Plus en détail

Algorithmique Partie 1

Algorithmique Partie 1 Algorithmique Partie 1 IUT Informatique de Lens, 1ère Année Université d Artois Frédéric Koriche koriche@cril.fr 2011 - Semestre 1 Modalités Sommaire 1 Modalités 2 Programmation 3 Données 4 Opérateurs

Plus en détail

Notion d indirection (1) 1

Notion d indirection (1) 1 Notion d indirection (1) 1 Illustration 1: Pourquoi garder une copie des fichiers postscript du cours dans mon répertoire, si je sais où se trouve l original sur le web? pour accéder à l original au cas

Plus en détail

TP Interface graphique et C++ numéro 1

TP Interface graphique et C++ numéro 1 TP Interface graphique et C++ numéro 1 Master IGC - 1 re année année 2010-2011 Ce premier TP a pour objectif de vous familiariser avec le compilateur C++, les entréessorties du langage et l utilisation

Plus en détail

Programmation C++ Utilisation de QtCreator pour la gestion de projet TD 0

Programmation C++ Utilisation de QtCreator pour la gestion de projet TD 0 Programmation C++ Utilisation de QtCreator pour la gestion de projet TD 0 B. Raymond and R. Pacanowski September 25, 2014 1 Motivation Ecrire dans un fichier hello_word.cpp, un programme qui affiche «Hello

Plus en détail

KDevelop Tour d horizon et retour d expériences (C++)

KDevelop Tour d horizon et retour d expériences (C++) KDevelop Tour d horizon et retour d expériences (C++) 2e rencontre DevelopR6 25 mars 2010 F. Langrognet F. Langrognet () KDevelop Mars 2010 1 / 27 PLAN 1 Introduction 2 Principales fonctionnalités 3 KDevelop

Plus en détail

Allocation dynamique en c++

Allocation dynamique en c++ Allocation dynamique en c++ *tableau; tableau * tableau = tableau = new [ no_max ]; tableau = new * [ no_max ] tableau[i] = new int[ 5 ]; tableau tableau[i] = new int[5]; * tableau[0] int int int int int

Plus en détail

S. Laporte C# mode console DAIGL TS1

S. Laporte C# mode console DAIGL TS1 Bases du langage C# I. C# en mode console (mode texte) Avantages par rapport au mode graphique (Application Windows): - C'est un mode plus proche de l'approche algorithmique (pas de notions de composants,

Plus en détail

420KEL Petite révision v. 1,65. Petite révision

420KEL Petite révision v. 1,65. Petite révision Petite révision Quelques petits exercices pour vous rafraîchir la mémoire et vous remettre en forme. Dans les exercices pour lesquels on vous demande de programmer, cherchez à produire un résultat à la

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure 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

Programmation Orientée Objet Java

Programmation Orientée Objet Java Programmation Orientée Objet Java Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 29 octobre 2015 Bertrand Estellon (DII AMU) Programmation Orientée Objet Java 29 octobre

Plus en détail

1 Hello world. 2 Sorties en C. DUT Informatique M3101 Système S3 2015 / 2016. Travaux Pratiques n o 0 : Rappels de programmation C

1 Hello world. 2 Sorties en C. DUT Informatique M3101 Système S3 2015 / 2016. Travaux Pratiques n o 0 : Rappels de programmation C DUT Informatique 2015 / 2016 Travaux Pratiques n o 0 : Rappels de programmation C Nom(s) : Groupe : Date : Objectifs : renouer avec les notions, la manipulation et l écriture de programmes C, en particulier

Plus en détail

Les tableaux. Programmation Orientée Objet Java. Références et Garbage Collector. Les tableaux

Les tableaux. Programmation Orientée Objet Java. Références et Garbage Collector. Les tableaux Les tableaux Déclaration d une variable de type référence vers un tableau : Programmation Orientée Objet Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 29 octobre 2015

Plus en détail

Introduction à la programmation

Introduction à la programmation Chapitre 2 Introduction à la programmation Nous avons vu, dans le chapitre précédent, ce qu est un algorithme et un certain nombre de façons pour exécuter les algorithmes à la main. Nous allons voir, dans

Plus en détail

Initialisation des attributs (1)

Initialisation des attributs (1) Initialisation des attributs (1) Initialiser les attributs d une instance en leur affectant individuellement une valeur, après l instanciation, n est pas une technique satisfaisante: a) elle est fastidieuse,

Plus en détail

Utilisation de SVN. 1 Introduction. 2 Architecture. 3 Références et aide en ligne

Utilisation de SVN. 1 Introduction. 2 Architecture. 3 Références et aide en ligne N7 1IMA TECHNOLOGIE OBJET TP 3 18/02/2015 (Séance TP 2) Objectifs : Comprendre le principe d un outil de gestion de configuration Savoir utiliser SVN (subversion) 1 Introduction Pour travailler en groupe

Plus en détail

Les entrées et les sorties sont considérées comme des flots. Un flot est associé à un fichier ou à un périphérique.

Les entrées et les sorties sont considérées comme des flots. Un flot est associé à un fichier ou à un périphérique. Le langage C++ Master Actuariat Séance 5 : Les flots C++ - F.CHAKER- M1 Actuariat 2014/2015 1 Les entrées sorties en C++ Les entrées et les sorties sont considérées comme des flots. Un flot est associé

Plus en détail

Introduction au langage C++

Introduction au langage C++ Introduction au langage C++ But Programmer une classe en C++ permettant de faire du calcul par intervalles L utiliser pour résoudre un problème de localisation «range only» (EX : plusieurs émetteurs et

Plus en détail

La programmation Impérative par le Langage C

La programmation Impérative par le Langage C La programmation Impérative par le Langage C 1. Introduction 1.1 Qu est-ce que la programmation impérative? Un programme est constitué de plusieurs lignes d instructions. Chaque instruction permet d effectuer

Plus en détail

INITIATION A LA PROGRAMMATION ORIENTEE OBJET (POO)

INITIATION A LA PROGRAMMATION ORIENTEE OBJET (POO) Objectifs INITIATION A LA PROGRAMMATION ORIENTEE OBJET (POO) Bertrand Vandeportaele IUT GEII TOULOUSE 2015 Objectifs Connaître les possibilités offertes par la POO Comprendre les concepts Savoir utiliser

Plus en détail

Plateforme de capture et d analyse de sites Web AspirWeb

Plateforme de capture et d analyse de sites Web AspirWeb Projet Java ESIAL 2A 2009-2010 Plateforme de capture et d analyse de sites Web AspirWeb 1. Contexte Ce projet de deuxième année permet d approfondir par la pratique les méthodes et techniques acquises

Plus en détail

ACTIVITÉ DE PROGRAMMATION

ACTIVITÉ 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étail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Développement collaboratif (CVS), automatisation de la compilation (Ant), documentation (Javadoc) Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/

Plus en détail

Chap. III : Le système d exploitation

Chap. III : Le système d exploitation UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Le système d exploitation (ou O.S. de l anglais Operating System ) d un ordinateur est le programme qui permet d accéder

Plus en détail

Introduction au langage C - types et variables

Introduction au langage C - types et variables Chapitre 2 Introduction au langage C - types et variables 1 Le Langage C Le langage C est un langage de bas niveau dans le sens où il permet l accès à des données que manipulent les ordinateurs (bits,

Plus en détail

Introduction à Make et aux fonctions pseudo-aléatoires

Introduction à Make et aux fonctions pseudo-aléatoires Introduction à Make et aux fonctions pseudo-aléatoires 1 Introduction à Make Support de TP C Make est un outil de programmation, dont une version est disponible pour les systèmes Unix sous la licence GNU

Plus en détail

Java. Partie 1 : QCM. Consignes pour le bons déroulement du devoir

Java. Partie 1 : QCM. Consignes pour le bons déroulement du devoir Consignes pour le bons déroulement du devoir - Ce document comporte un QCM et une partie où il faut écrire du code en - Marquez vos réponses au QCM sur la feuille de réponses fournie (notez que certaines

Plus en détail

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

1. Eléments de base du langage C

1. Eléments de base du langage C 1 1. Eléments de base du langage C Généralités Programme et sous-programme Fonction C Structure d un programme C Vocabulaire de base et syntaxe Exemples 2 Généralités Crée en 1972 par D. Ritchie pour écrire

Plus en détail

3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon

3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 2012-2013 (2eme session) durée 2h Tous documents et calculatrices autorisés. Le sujet comporte 6 pages Le temps approximatif ainsi que le barème

Plus en détail

Éléments de base en Java (suite et fin)

Éléments de base en Java (suite et fin) Éléments de base en Java (suite et fin) P.O.O. LMI 2 Semestre 4 Option Info Année 2008-09 1/33 Éléments de base en Java (suite et fin) Année 2008-09 Plan du cours Les chaînes de caractères Retour vers

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 +Cours 2 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

Plus en détail

Héritage en java : Calculatrice SDC

Héritage en java : Calculatrice SDC Programmation orientée objet L3 MIAGE Héritage en java : Calculatrice SDC Travail à rendre : le code complet du projet SDC sous forme d une archive tar.gz. L archive comportera trois répertoires : un répertoire

Plus en détail

Catégories, extensions et sécurité

Catégories, extensions et sécurité 11 Catégories, extensions et sécurité Au sommaire de ce chapitre Catégories Extensions Contrôle des accès aux variables d instance Contrôle des accès aux méthodes Espaces de noms Sécurité Appeler des fonctions

Plus en détail

Programmation impérative

Programmation impérative Programmation impérative Cours 4 : Manipulation des fichiers en C Catalin Dima Organisation des fichiers Qqs caractéristiques des fichiers : Nom (+ extension). Chemin d accès absolu = suite des noms des

Plus en détail

Programmation Impérative 2006-2007

Programmation Impérative 2006-2007 Programmation Impérative 2006-2007 Licence Physique-Applications, Phisique-Chimie Université Jean Monnet Ruggero G. PENSA ruggero.pensa@univ-st-etienne.fr Définition de nouveaux types En pseudo-langage

Plus en détail

module SIN21 Rendre un syste me communicant Analyse UML et algorithmie 1 Modification du cahier des charges

module SIN21 Rendre un syste me communicant Analyse UML et algorithmie 1 Modification du cahier des charges Module SIN221 Rendre un syste me communicant Analyse UML et algorithmie Objectifs : Modifier des diagrammes UML suite à la modification du cahier des charges. Caractériser et valider une classe en C++.

Plus en détail

Installation des outils du CD-Rom

Installation des outils du CD-Rom Installation des outils du CD-Rom Installer le JDK Pour installer Java2 SDK, exécutez le programme d'installation en double-cliquant sur l icône j2sdk-1_4_0-win.exe située dans le répertoire Java2 du CD-Rom.

Plus en détail

Familiarisation avec Eclipse / Netbeans

Familiarisation avec Eclipse / Netbeans Institut Galilée LEE Année 011-01 Master T.P. 0 Familiarisation avec Eclipse / Netbeans Lien important contenant le pdf du cours et du TP, et ensuite des sources : http://www-lipn.univ-paris13.fr/~fouquere/mpls

Plus en détail

GL / C++ Chapitre 7. Lien Dynamique Méthodes Virtuelles

GL / C++ Chapitre 7. Lien Dynamique Méthodes Virtuelles GL / C++ Chapitre 7 Lien Dynamique Méthodes Virtuelles 1. Pointeur sur un objet d'une classe dérivée Considérons les classes écrites précédemment : Personne Etudiant // dérive de personne Salarie // dérive

Plus en détail

L3 Info & Miage. TP-Projet SGF

L3 Info & Miage. TP-Projet SGF TP-Projet SGF 1. Introduction L objectif de ce mini-projet est de réaliser un Système de Gestion de Fichiers simplifié capable de gérer des accès à des fichiers séquentiels de type flot. L idée est ici

Plus en détail

Formation C++ avancée

Formation C++ avancée Formation C++ avancée ou comment être les stars du C++ Raffi Enficiaud INRIA 16-18 février 2009 INRIA - IMEDIA Formation C++ avancée Organisation générale Enficiaud (INRIA) C++ 16-18/02/2009 2 / 201 À

Plus en détail

Introduction à UNIX et Windows

Introduction à UNIX et Windows 1/39 à UNIX et Windows Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017 Bobigny

Plus en détail

renforcer le contrôle de type :

renforcer le contrôle de type : renforcer le contrôle de type : définitions, prototypes de fonctions surcharge références conversions de void * préférer le compilateur au préprocesseur considérer les entrées/sorties opérations abstraites

Plus en détail

Ecrire un Makefile, sans douleur et en quelques leçons.

Ecrire un Makefile, sans douleur et en quelques leçons. Ecrire un Makefile, sans douleur et en quelques leçons. M. Billaud Département Informatique Institut Universitaire de Technologie Université Bordeaux 1 Mai 2010 Résumé Ce document montre comment écrire

Plus en détail

Simulation Numérique

Simulation Numérique Ecole Nationale de Techniques Avancées Simulation Numérique Chapitre 4 Surcharge des opérateurs Eric Lunéville Surcharge des opérateurs Le C++ utilise des opérateurs prédéfinis tels que + - * / sur les

Plus en détail

3 Lien entre pointeurs et tableaux.

3 Lien entre pointeurs et tableaux. programme sont dit dynamiques. On se limite ici aux tableaux statiques à une seule dimension, analogue aux vecteurs manipulés en mathématiques. Ils se déclarent sous la forme : type_d_élément variable_tableau[taille];

Plus en détail

Introduction. À qui s adresse cet ouvrage?

Introduction. À qui s adresse cet ouvrage? Introduction Pourquoi ce livre? Dans le classement Tiobe, classement des langages les plus populaires, Python est placé huitième avec une augmentation de son utilisation en entreprise par rapport à l année

Plus en détail

Premiers exemples de traitements

Premiers exemples de traitements #include #include Premiers exemples de traitements void main() float b(0.0); float c(0.0); float delta(0.0); cin >> b >> c; delta = b*b - 4*c; if (delta < 0.0) cout

Plus en détail

Cours d initiation à la programmation en C++ Johann Cuenin

Cours 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étail

3 ElementsdeprogrammationJava 15 3.1 Premierspas... 15

3 ElementsdeprogrammationJava 15 3.1 Premierspas... 15 Tabledesmatières 1 IntroductionaulangageJava 1 1.1 EnvironnementJava... 1 1.1.1 Compilation... 2 1.1.2 Interprétation... 2 1.2 Programmationorientée-objet... 2 1.2.1 Classe... 3 1.2.2 Objet... 4 2 Syntaxedulangage

Plus en détail

Projet de cryptographie. Algorithme de cryptage de type Bluetooth

Projet de cryptographie. Algorithme de cryptage de type Bluetooth Projet de cryptographie Algorithme de cryptage de type Bluetooth Le but de ce projet est de créer une application qui crypte et décrypte des fichiers en utilisant le principe de cryptage du Bluetooth.

Plus en détail

Entraînement au concours ACM-ICPC

Entraînement au concours ACM-ICPC Entraînement au concours ACM-ICPC Concours ACM-ICPC : format et stratégies Page 1 / 16 Plan Présentation Stratégies de base Page 2 / 16 Qu est-ce que c est? ACM-ICPC : International Collegiate Programming

Plus en détail

Avant de programmer en Java DOS Set Path=C:\JDK\bin Path=C:\JDK\bin C:\JDK\bin Set Path=%Path%;C:\JDK\bin C:\JDK\bin C:\JDK\

Avant de programmer en Java DOS Set Path=C:\JDK\bin Path=C:\JDK\bin C:\JDK\bin Set Path=%Path%;C:\JDK\bin C:\JDK\bin C:\JDK\ Exercices corrigés de programmation OO Java Préparés par : Mlle Imene Sghaier Année Académique : 2006-2007 Premiers Pas I. Avant de programmer en Java Le JDK de Sun (Java Development Kit) est l outil essentiel

Plus en détail

Introduction à 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 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étail

TP1. Outils Java Eléments de correction

TP1. Outils Java Eléments de correction c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par

Plus en détail

Windows Forms. 1 Introduction. 1.1 Objectifs. 1.2 Le C# 1.3 Visual Studio. C# tp 0 Octobre 2013. Epita

Windows Forms. 1 Introduction. 1.1 Objectifs. 1.2 Le C# 1.3 Visual Studio. C# tp 0 Octobre 2013. Epita Windows Forms 1 Introduction 1.1 Objectifs Durant ce TP, vous allez découvrir un nouveau langage, le C#. Vous serez confrontés à une nouvelle façon de coder, avec un nouveau langage, sous un nouvel environnement.

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 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étail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à 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étail

Introduction aux exercices en Java

Introduction aux exercices en Java Introduction aux exercices en Java Avant de commencer les séries proprement dites, nous allons voir quelques informations utiles concernant le langage de programmation principal de ce cours d'informatique

Plus en détail

Fiche n 12 : classes et objets (initiation au C++)

Fiche n 12 : classes et objets (initiation au C++) Fiche n 12 : classes et objets (initiation au C++) Nous entrons maintenant dans l'univers de la programmation objet et de C++. Une classe peut être vue comme une évolution d'une structure qui comporte

Plus en détail

Cours 1. Contenu du cours : " Premières applications. " Compilation, Exécution, Chemin. " Affichage et saisie. " Types de données. " Flux de contrôle

Cours 1. Contenu du cours :  Premières applications.  Compilation, Exécution, Chemin.  Affichage et saisie.  Types de données.  Flux de contrôle Cours 1 1 Contenu du cours : " Premières applications " Compilation, Exécution, Chemin " Affichage et saisie " Types de données " Flux de contrôle " Applets " Arrays " OO de base Edition Le fichier texte

Plus en détail

Introduction à Eclipse

Introduction à Eclipse Introduction à Eclipse Eclipse IDE est un environnement de développement intégré libre (le terme Eclipse désigne également le projet correspondant, lancé par IBM) extensible, universel et polyvalent, permettant

Plus en détail

1. Les fondements de l informatique 13

1. Les fondements de l informatique 13 Introduction à l'algorithmique 1. Les fondements de l informatique 13 1.1 Architecture de Von Neumann 13 1.2 La machine de Turing 17 1.3 Représentation interne des instructions et des données 19 1.3.1

Plus en détail

CTRAVAUX PRATIQUES INTRODUCTION À LA PROGRAMMATION 2EBAC BIOLOGIE - 2 ND QUAD- 2010-2011 TP 0 BELGIQUE 04/366.90.43

CTRAVAUX PRATIQUES INTRODUCTION À LA PROGRAMMATION 2EBAC BIOLOGIE - 2 ND QUAD- 2010-2011 TP 0 BELGIQUE 04/366.90.43 PROFESSEUR CTRAVAUX PRATIQUES INTRODUCTION À LA PROGRAMMATION 2EBAC BIOLOGIE - 2 ND QUAD- 2010-2011 TP 0 PR. PETER SCHLAGHECK BÂT. B5 PHYSIQUE QUANTIQUE STATISTIQUE ALLÉE DU 6 AOÛT 17 4000 LIÈGE 1 BELGIQUE

Plus en détail

Comment se documenter?

Comment se documenter? Comment se documenter? Olivier Aubert 1/26 RTFM Réfère-Toi au Fameux Manuel Read The Fine Manual Read The F...ing Manual Variantes RTFS : Read The F...ing Source UTSL : Use The Source, Luke.... 2/26 Le

Plus en détail

INF 201 - TP 2 - Programmation C T. Grandpierre 12/2008

INF 201 - TP 2 - Programmation C T. Grandpierre 12/2008 INF 201 - TP 2 - Programmation C T. Grandpierre 12/2008 Ce qu il faut rendre : A la fin du TP il faudra archiver et compresser l ensemble de votre travail (y compris le rapport avec vos noms) avec la commande

Plus en détail