30.avr.10 Présentation miniprojet. 9.mars.10 Cours 3 4.mai.10 Cours C mars.10 Cours 4 11.mai.10 Cours C++ 2

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

Download "30.avr.10 Présentation miniprojet. 9.mars.10 Cours 3 4.mai.10 Cours C++ 1. 16.mars.10 Cours 4 11.mai.10 Cours C++ 2"

Transcription

1 2ème partie de cours: 23.fév.10 Cours 1 20.avr.10 TEST 24.fév.10 TP1 21.avr.10 miniprojet 26.fév.10 TP réserve 23.avr.10 miniprojet 2.mars.10 Cours 2 27.avr.10 Présentation miniprojet 3.mars.10 TP2 28.avr.10 Présentation miniprojet 5.mars.10 TP réserve 30.avr.10 Présentation miniprojet 9.mars.10 Cours 3 4.mai.10 Cours C mars.10 TP 5.mai.10 TP 12.mars.10 TP réserve 7.mai.10 TP réserve 16.mars.10 Cours 4 11.mai.10 Cours C mars.10 TP 12.mai.10 TP 19.mars.10 TP réserve jeudi ascension 23.mars.10 Cours 5 14.mai mars.10 TP 18.mai.10 Cours C mars.10 TP réserve 19.mai.10 TP 30.mars.10 Cours 6 21.mai.10 TP réserve 31.mars.10 TP 25.mai.10 Cours C avr.10 Vacances de Pâques > mai.10 TP 13.avr.10 Test à blanc 28.mai.10 TP réserve / test à blanc 14.avr.10 miniprojet 29.mai.10 Festival de robotique 16.avr.10 miniprojet 1.juin.10 TEST Introduction au C++ Francesco Mondada Laboratoire de systèmes robotiques IMT - STI - EPFL

2 But du cours: Aborder un language orienté objet: le C++ ce qui implique la compréhension de: concept d objet et de classes une série de concepts liés à la gestion des classes des améliorations du C et d un point de vue plus global: motivation du C++: quand et pourquoi l utiliser contrôle d un système réel depuis un PC Exemples: 1) Programmation du logiciel embarqué dans une souris d ordinateur (processeur 8 bits, quelques kbytes de mémoire) 2) Programmation d un traitement de données pour l analyse de la trajectoire d un robot afin d en déduire les erreurs de position et affiner le régulateur 3) Programmation d une interface utilisateur pour piloter un robot à travers d informations visuelles et sensorielles 4) Programmation d un simulateur de robots mobiles

3 Structure du cours: 1. Cours C++ But: assimiler les concepts principaux du C++ Période: 4 semaines 2. TP de C++ pur But: comprendre le C++ Période: 2 semaines 3. TP de C++ interface graphique But: appliquer le C++ aux interfaces graphiques Période: 2 semaines Contrôle: test Fonctionnement du cours: Cette partie du cours se base sur: Un livre sur le C++: Claude Delannoy, "Apprendre le C++", Eyrolles, "Best of", ISBN , Paris, 2008, disponible à la librairie "la fontaine" Le robot e-puck Un résumé d une page fait par deux étudiants Les TP indispensables pour la compréhension Utilisation de Qt Creator (IDE) Utilisation de Qt (interface graphique) Un corrigé du TP fait par 4 étudiants

4 Passage du C au C++ Par rapport au C: Le C++ est une extension du C qui apporte, entre autres, le concept d objet C++ est conceptuellement plus complet et propre, ce qui permet d écrire du code plus fiable C++ permet d écrire de façon plus compacte C++ est moins supporté pour des processeurs embarqués (dspic est un exemple) Les fonctionalités supplémentaires du C++ se payent parfois par un code plus gros C++ est plus complexe Passage du C au C++ Quelques apports du C++: L orienté objet et les concepts liés La surcharge des fonctions et des opérateurs Les références Les valeurs par défaut pour les paramètres des fonctions Les exceptions

5 Le concept d objet Données et fonctions en C: Main Données Fonctions Le concept d objet Données et fonctions en C: Main Données A Données B Fonctions A Fonctions B

6 Le concept d objet Encapsulation des données et des fonctions en C++: Main Fonctions Données Le concept d objet Encapsulation des données et des fonctions en C++: Données B Fonctions B Main Fonctions A Données A

7 Le concept d objet Exemple en C: struct Complex float r; /*real part*/ float i; /*imag part*/ ; struct Complex C_conj (struct Complex a) struct Complex result; result.r = a.r; result.i = -a.i; return(result); struct Complex C_add (struct Complex a, struct Complex b) struct Complex result; result.r = a.r + b.r; result.i = a.i + b.i; return(result); struct Complex C_sub (struct Complex a, struct Complex b) struct Complex result; result.r = a.r - b.r; result.i = a.i - b.i; return(result); Le concept d objet Exemple en C: main() struct Complex z1, z2, z3; z1.r = 0.0; z1.i = 0.5 z2.r = 0.0; z2.i = 3; z3 = C_add (z1, z2);

8 Le concept d objet Exemple en C++: #include <iostream> class Complex double real; double imaginary; Complex(double r,double i) real=r; imaginary=i; double GetReal() const return real; double GetImaginary() const return imaginary; Complex operator+(const Complex &z) return Complex(GetReal()+z.GetReal(), GetImaginary()+z.GetImaginary()); ; int main() Complex u = Complex(0,1); Complex v = Complex(1,0); Complex z = u+v; cout << "real = " << z.getreal() << ", imaginary = " << z.getimaginary() << endl; return 0; Quelques informations utiles: (ch. 5, p.63) En C++ les entrèes - sorties sont gérées par des streams - flots. C++: C: #include <iostream> #include <stdio.h> std::cout << Hello world\n ; printf( Hello world\n ); Pour comprendre ceci on ne va pas aborder la surcharge des opérateurs. Pour information, les opérateurs (+, <, >,... ), en C, sont réservés à des types prédéfinis. En C++ l utilisateur peut utiliser ces opérateurs pour ses propres classes. Dans le cas ci-dessus, l object std::cout, de type std::ostream, comporte un opérateur << qui prend des valeurs et les envoyes sur la sortie standard.

9 Classes, objets, private/public Francesco Mondada Laboratoire de systèmes robotiques IPR - STI - EPFL Introduction Le concept d object permet: De maintenir ensemble les méthodes et les données unies logiquement. D encapsuler les données. Ceci permet de limiter l accès à certaines données. Par ce mécanisme seulement les méthodes propres à l objet peuvent accéder à ses données privées. Ce filtrage garantit une meilleure stabilité des données. De dissocier la définition de l implémentation, de particulariser l implémentation, grâce l héritage et au polymorphisme.

10 Déclaration d une classe Nom de la classe int position_x,position_y; double angle; void ResetPos(); ; int status; void PlaceRobot(int xinit,int yinit) position_x = xinit; position_y = yinit; Données/méthodes privées (accès interne) // in mm // in rad Données/méthodes publiques (accès depuis l externe) Déclaration de données membres int position_x,position_y; // in mm double angle; /* in rad */ ; int status; Données privées (accès interne) Données publiques (accès depuis l externe) PS: en C il n y a pas de données privées struct en C++ = Classe avec tous les membres publics

11 Déclaration de méthodes int position_x,position_y; // in mm void ResetPos(); void PlaceRobot(int xinit,int yinit) position_x = xinit; position_y = yinit; ; Méthodes privées (accès interne) Méthodes publiques (accès depuis l externe) Implémentation de méthodes int position_x,position_y; double angle; void ResetPos(); ; int status; void PlaceRobot(int xinit,int yinit) position_x = xinit; position_y = yinit; void Robot::ResetPos() position_x = position_y = 0; // in mm // in rad

12 Variables objets: int main() Robot epuck1; // objet epuck1 déclarations static Robot epuck2; Robot epucks[10]; Robot *epuckptr; // objet statique // tableau avec 10 objets // pointeur sur un objet robot Accès aux données membres: int position_x,position_y; // in mm int status; void PlaceRobot(int xinit,int yinit) position_x = xinit; position_y = yinit; ; int main() Robot epuck; Robot *epuckptr; // objet epuck // pointeur sur un objet robot if(epuck.status == 1). epuckptr = &epuck; if(epuckptr->status == 1). if((*epuckptr).status == 1).

13 Accès aux méthodes: int position_x,position_y; // in mm int status; void PlaceRobot(int xinit,int yinit) position_x = xinit; position_y = yinit; ; int main() Robot epuck; Robot *epuckptr; // objet epuck // pointeur sur un objet robot epuck.placerobot(0,0); epuckptr = &epuck; epuckptr->placerobot(0,0); Accès aux méthodes: int position_x,position_y; // in mm void ResetPosX() position_x=0; int status; void PlaceRobot(int xinit,int yinit); ; void Robot::PlaceRobot(int xinit,int yinit) if(xinit==0) ResetPosX(); else position_x = xinit;

14 Mot clé this Francesco Mondada Laboratoire de systèmes robotiques IPR - STI - EPFL Le mot clé this, dans un fonction membre, désigne un pointeur sur l objet appelant: int position_x,position_y; int status; // in mm ; void PlaceRobot(int xinit,int yinit) this->position_x = xinit; this->position_y = yinit;

15 TP de cette semaine Utilisation de Qt Creator Création d un projet simple Outils de debug Définition d une classe pour gérer le robot par bluetooth Petite démo de déplacement

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

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

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 à la Programmation Orientée Objet

Introduction à la Programmation Orientée Objet Licence Sciences, Technologies, Santé Université de Perpignan Via Domitia Semestre 5 (L3) - Mention Mathématiques, Informatique Année universitaire 2011/2012 Programmation Orientée Objet Introduction à

Plus en détail

Microinformatique I. Bienvenue au cours. Francesco Mondada Laboratoire de systèmes autonomes I2S - STI - EPFL. Cours Microinformatique I.

Microinformatique I. Bienvenue au cours. Francesco Mondada Laboratoire de systèmes autonomes I2S - STI - EPFL. Cours Microinformatique I. Cours Bienvenue au cours Francesco Mondada Laboratoire de systèmes autonomes I2S - STI - EPFL Cours MicroInformatique I 1 But du cours: Apprendre à programmer un système embarqué en C ce qui implique la

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

Structure du compilateur C

Structure du compilateur C Structure du compilateur C Francesco Mondada Laboratoire de systèmes robotiques IMT - STI - EPFL Introduction Programme en C Programme asm encoding Exécution Exécution Introduction Introduction Programme

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

FORMATION VB.NET Visual Studio 2008

FORMATION VB.NET Visual Studio 2008 FORMATION VB.NET Visual Studio 2008 Livret 1 Introduction à Visuàl Studio Thierry TILLIER http://www.coursdinfo.fr Ce support de cours est réservé à un usage personnel. Toute utilisation et diffusion dans

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

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis Anne Tasso Un best-seller qui a déjà conquis des milliers d'étudiants! Java Le livre Java Le livrede de premier premier langage langage Avec 80 exercices corrigés Avec 80 exercices corrigés 5 e édition

Plus en détail

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

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

Plus en détail

Programmation Orientée Objet C++ Cours 1

Programmation Orientée Objet C++ Cours 1 Programmation Orientée Objet C++ Cours 1 P. Pesneau pierre.pesneau@math.u-bordeaux1.fr Université Bordeaux 1 Bât A33 - Bur 265 Ouvrages de référence B. W. Kernighan et D. M. Ritchie - Le langage C : Norme

Plus en détail

Programmation en C++ Fonctions

Programmation en C++ Fonctions Programmation en C++ Fonctions Déclaration et définition de fonctions Arguments Surcharge Arguments optionnels Fonctions constantes Fonctions opérateurs 1 Fonction Déclaration = spécification de l'identificateur

Plus en détail

Programmation I : Cours d introduction à la programmation Pointeurs

Programmation I : Cours d introduction à la programmation Pointeurs Programmation I : Cours d introduction à la programmation Pointeurs Laboratoire d Intelligence Artificielle Faculté I&C Programmation I Pointeurs 1 / 23 Rappel du calendrier Programmation I Pointeurs 2

Plus en détail

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007 NFP 121 Java et les Threads Présentation : Thierry Escalarasse Mai 2007 Plan du cour Présentation de la notion de Threads La classe Thread L interface Runnable Les états d un thread La Synchronisation

Plus en détail

Programmation orientée objet avec C++

Programmation orientée objet avec C++ Programmation orientée objet avec C++ ACOO Analyse, Conception et développement Orientés Objet de logiciels de commande Thèmes abordés Présentation du langage C++ Principales différences par rapport au

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

Programmation Java. Redéfinition de méthode (masquage)

Programmation Java. Redéfinition de méthode (masquage) Programmation Java Programmation objet avec Java Concepts plus avancés Christelle Urtado & Sylvain Vauttier Janvier 2013 Redéfinition de méthode (masquage) Une sous-classe peut redéfinir le code de méthodes

Plus en détail

Concevoir un conteneur Exercice

Concevoir un conteneur Exercice Concevoir un conteneur Exercice Les conteneurs standards tels que std::vector respectent un ensemble de contraintes, que ce soit du point de vue des opérations, des noms ou de la rigueur. Pour nous familiariser

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 2014-2015 (1ere session) durée 3h Tous documents et calculatrices autorisés. Répondez aux questions sur une copie séparée Le sujet comporte 8 pages

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

PG208, Projet n 1 : Gestion d une bibliothèque

PG208, Projet n 1 : Gestion d une bibliothèque PG208, Projet n 1 : Gestion d une bibliothèque Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L

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

Tutoriel de création et d utilisation d une bibliothèque dynamique (dll)

Tutoriel de création et d utilisation d une bibliothèque dynamique (dll) Tutoriel de création et d utilisation d une bibliothèque dynamique (dll) Cette procédure démontre comment on crée une bibliothèque dynamique (Dynamic Link Library ou DLL) contenant des classes utiles pour

Plus en détail

Traduction des arbres programmatiques en C

Traduction des arbres programmatiques en C Traduction des arbres programmatiques en C Table des matières 1 Premier exemple : helloworld.c 1 2 Méthode de programmation 2 3 Déclaration de variables 2 4 Structures de contrôle 3 5 Opérateurs C 5 6

Plus en détail

Les structures. Chapitre 3

Les structures. Chapitre 3 Chapitre 3 Les structures Nous continuons notre étude des structures de données qui sont prédéfinies dans la plupart des langages informatiques. La structure de tableau permet de regrouper un certain nombre

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 2013-2014 (1ere session) durée 3h Tous documents et calculatrices autorisés. Répondez aux questions sur une copie séparée Le sujet comporte 12 pages

Plus en détail

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés) Introduction à la POO 1. Histoire de la POO 9 2. Historique du 12 La conception orientée objet 1. Approche procédurale et décomposition fonctionnelle 13 2. La transition vers l'approche objet 14 3. Les

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

Descriptif de module. Page Denis Prêtre. 10 septembre 2015

Descriptif de module. Page Denis Prêtre. 10 septembre 2015 RS430.100.15. 1/7 La description de module définit les conditions cadres du déroulement de l enseignement des matières du module. Filière(s) Informatique (INF) Option - Public Plein temps s Niveau d études

Plus en détail

Programmation Objet Java Correction

Programmation Objet Java Correction INSA - 4 AE 2007 2008 Durée : 1H00 Contrôle Programmation Objet Java Correction Consignes Tous les documents sont autorisés, mais ils seront peu utiles. Indiquez vos nom et prénom sur chaque feuille. Le

Plus en détail

C, seconde séance. le if then else n est pas une expression, mais une instruction ( Caml) se souvenir de:

C, seconde séance. le if then else n est pas une expression, mais une instruction ( Caml) se souvenir de: C, seconde séance le if then else n est pas une expression, mais une instruction ( Caml) se souvenir de: false, c est 0 ( \0 aussi) test d égalité: == pour printf: %d entier, %f flottant, %c caractère,

Plus en détail

De Java (et C) à C++

De Java (et C) à C++ De Java (et C) à C++ Historique Syntaxe basée sur le langage C Bjarne Stroustrup 1979 : C with classes 1983 : renommé C++ 1985 : The C++ Programming Language, première édition 1998 : premier standard 2003

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

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

Précis de vocabulaire Orienté Objet

Précis de vocabulaire Orienté Objet Dernière Mise à jour : Mars 2007 Précis de vocabulaire Orienté Objet 1 Questions Expliquer et donner un exemple pour chacun des concepts suivants 1. Qu'est-ce qu'un objet? 2. Qu'est-ce qu'une classe? 3.

Plus en détail

Templates (ou patrons, ou génériques )

Templates (ou patrons, ou génériques ) Templates (ou patrons, ou génériques ) Francesco Mondada Stéphane Magnenat Laboratoire de systèmes robotique IMT - STI - EPFL Introduction aux templates Les templates (ou patrons) permettent un niveau

Plus en détail

Améliorer les Classes. Chapitre 5: Améliorer les Classes. Affectation Revisitée. Références. Alias. Affectation de Référence

Améliorer les Classes. Chapitre 5: Améliorer les Classes. Affectation Revisitée. Références. Alias. Affectation de Référence Chapitre : Améliorer les Classes Présentation pour Java Software Solutions Foundations of Program Design Deuxième Edition par John Lewis et William Loftus Java Software Solutions est publié par Addison-Wesley

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

Chapitre 1 Introduction

Chapitre 1 Introduction Chapitre 1 Introduction Jean Privat Université du Québec à Montréal INF7330 Construction de logiciels Diplôme d études supérieures spécialisées en systèmes embarqués Automne 2012 Jean Privat (UQAM) 01

Plus en détail

Cours client-serveur Web : Java et RMI (Remote Method Invocation)

Cours client-serveur Web : Java et RMI (Remote Method Invocation) Cours client-serveur Web : Java et RMI (Remote Method Invocation) 1 Java: Rappel sur les threads Cycle de vie d un thread (1) Né -> prêt appel de la méthode start du thread Prêt Exécution Distribution

Plus en détail

Objectifs. Concepts. Etude de cas. EPFL 2015 Jean-Cédric Chappelier & Jamila Sam. Programmation II Polymorphisme 2 1 / 17. Objectifs.

Objectifs. Concepts. Etude de cas. EPFL 2015 Jean-Cédric Chappelier & Jamila Sam. Programmation II Polymorphisme 2 1 / 17. Objectifs. de la leçon d aujourd hui Programmation II : Cours d introduction à la programmation orientée objet Polymorphisme, 2 re partie fondamentaux Étude de cas Laboratoire d Intelligence Artificielle Faculté

Plus en détail

Département GE1 MC S3. Programmation Orientée Objet Python

Département GE1 MC S3. Programmation Orientée Objet Python Département GE1 MC S3 Programmation Orientée Objet Python N. Liebeaux (c) IUT CACHAN 2008 Python en 1 diapo Règles de syntaxe langage interprété typage dynamique des données les «deux points» blocs découpés

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

Algorithmique - Techniques fondamentales de programmation Exemples en Python (nombreux exercices corrigés) - BTS, DUT informatique

Algorithmique - Techniques fondamentales de programmation Exemples en Python (nombreux exercices corrigés) - BTS, DUT informatique 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

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

PRESENTATION DE JAVA. Qu est-ce que java? Les caractéristiques du langage java Les outils Les API Références. Software Associates International

PRESENTATION DE JAVA. Qu est-ce que java? Les caractéristiques du langage java Les outils Les API Références. Software Associates International PRESENTATION DE JAVA Qu est-ce que java? Les caractéristiques du langage java Les outils Les API Références 1 Qu est-ce que java? Un langage de programmation orienté objets Une architecture de Virtual

Plus en détail

Principes de la programmation impérative

Principes de la programmation impérative Séquence d instructions Variables et types Types élaborés Procédures, arguments Gestion de la mémoire Langage compilé, interprété Principes de la programmation impérative Séquence d instructions Variables

Plus en détail

Présentation du PL/SQL

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

FSAB 1402 - Suggestions de lecture

FSAB 1402 - Suggestions de lecture FSAB 1402 - Suggestions de lecture 2006 Concepts, techniques and models of computer programming Cours 1 - Intro Chapitre 1 (sections 1.1, 1.2, 1.3, pages 1-3) Introduction aux concepts de base Chapitre

Plus en détail

Introduction à l héritage en C++

Introduction à l héritage en C++ Algorithmique/Langage 1ère année Introduction à l héritage en C++ Yacine BELLIK IUT d Orsay Yacine.Bellik@iut-orsay.fr 1 Bibliographie Ce cours est basé sur le livre suivant : Programmer en C++, 5ème édition

Plus en détail

La technologie Java Card TM

La technologie Java Card TM Présentation interne au CESTI La technologie Java Card TM sauveron@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages

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

ÉCOLE POLYTECHNIQUE DE MONTRÉAL DÉPARTEMENT DE GÉNIE INFORMATIQUE

ÉCOLE POLYTECHNIQUE DE MONTRÉAL DÉPARTEMENT DE GÉNIE INFORMATIQUE ÉCOLE POLYTECHNIQUE DE MONTRÉAL DÉPARTEMENT DE GÉNIE INFORMATIQUE LOG2410 Conception logicielle Solutionnaire examen final Automne 2008 Documentation : Aucune Calculatrice : Aucune Date : 13 décembre 2008

Plus en détail

INSTALLATION ET CONFIGURATION POUR LA PROGRAMMATION

INSTALLATION ET CONFIGURATION POUR LA PROGRAMMATION INSTALLATION ET CONFIGURATION POUR LA PROGRAMMATION PARALLELES SOUS WINDOWS I. PREPARATION DE L ENVIRONNEMENT Tous d abord il va vous falloir télécharger quelques logiciels afin de pouvoir commencer à

Plus en détail

RPC Remote Procedure Call. Benmoussa Yahia Université M hamed Bougara de Boumerdès yahia.benm@gmail.com

RPC Remote Procedure Call. Benmoussa Yahia Université M hamed Bougara de Boumerdès yahia.benm@gmail.com RPC Remote Procedure Call Benmoussa Yahia Université M hamed Bougara de Boumerdès yahia.benm@gmail.com Objectifs Le rôle de RPC comme middleware Positionner RPC dans le modèle OSI Développement d application

Plus en détail

Classes et templates C++

Classes et templates C++ Classes et templates C++ Ce TP propose une application des classes, des templates et du polymorphisme au travers du design de classes permettant de gérer des courbes de Bézier. Contents 1 Bézier unidimensionnelle

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

ITI 1521. Introduction à l informatique II

ITI 1521. Introduction à l informatique II ITI 1521. Introduction à l informatique II Marcel Turcotte École d ingénierie et de technologie de l information Version du 14 mars 2011 Résumé Listes chaînées (partie 2) Pointeur arrière Listes doublement

Plus en détail

Environnement algorithmique et conventions

Environnement algorithmique et conventions 1 Environnement algorithmique et conventions Un algorithme est un maillon de la chaîne de développement d une application. Il est le lien indispensable entre l analyse et le développement final. Ce chapitre

Plus en détail

Programmation De techniques d I3D. Frédéric DAVESNE (IGR UEVE) frederic.davesne@ibisc.univ-evry.fr

Programmation De techniques d I3D. Frédéric DAVESNE (IGR UEVE) frederic.davesne@ibisc.univ-evry.fr Programmation De techniques d I3D Frédéric DAVESNE (IGR UEVE) frederic.davesne@ibisc.univ-evry.fr Architecture générale d un système d I3D classique [Otmane, 2010] - 3 couches logicielles interconnectées

Plus en détail

Introduction à la Programmation 1

Introduction à la Programmation 1 Introduction à la Programmation 1 Séance de cours/td Université Paris-Diderot Objectifs: Découverte du type String. Comprendre qu il y a des types différents. Maîtriser les expressions booléennes dans

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

Concept de classes (1) Classes et objets en Java Master Informatique 1 ère année. Concept de classes (2) Concept de classes (3)

Concept de classes (1) Classes et objets en Java Master Informatique 1 ère année. Concept de classes (2) Concept de classes (3) Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Classes et objets en Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

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

Algorithmique Programmation

Algorithmique Programmation Algorithmique Programmation 2ème partie DUT en alternance CNAM 2007-2008 2 Table des matières 1 Premiers Pas en Programmation Objet : les Classes et les Objets 7 1.1 Définir une Classe........................................

Plus en détail

Stéphane Gobron Interventions directes Ouerhani Nabil, Génie Logiciel Atchade Kolawolé, rôle du «client» et conseils en mathématiques Encadrement

Stéphane Gobron Interventions directes Ouerhani Nabil, Génie Logiciel Atchade Kolawolé, rôle du «client» et conseils en mathématiques Encadrement Stéphane Gobron Interventions directes Ouerhani Nabil, Génie Logiciel Atchade Kolawolé, rôle du «client» et conseils en mathématiques Encadrement directement lié Cédric Bilat, Java Qui, pourquoi, quoi,

Plus en détail

TP1 - Introduction au langage C

TP1 - Introduction au langage C ENS Lyon L-Info PROJ1 2014-2015 TP1 - Introduction au langage C Sujet à terminer pour le dimanche 20 à 2h59, sous forme d une archive.zip contenant votre code source, par email à aurelien.cavelan@ens-lyon.fr.

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

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

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

PG208, Projet n 3 : Serveur HTTP évolué

PG208, Projet n 3 : Serveur HTTP évolué PG208, Projet n 3 : Serveur HTTP évolué Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif

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

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

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

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

UE1 : Architecture. Travaux Dirigés. Programmation de la liaison série. A. Programmation au niveau du composant

UE1 : Architecture. Travaux Dirigés. Programmation de la liaison série. A. Programmation au niveau du composant Licence Pro SIRI Année 2010 2011 UE1 : Architecture Travaux Dirigés Programmation de la liaison série A. Programmation au niveau du composant 1. Définition des adresses des différents registres Si l adresse

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

Modèle Client-Serveur Partage du serveur entre clients

Modèle Client-Serveur Partage du serveur entre clients Modèle Client-Serveur Partage du serveur entre clients Un serveur peut servir plusieurs clients Vu d un client particulier client requête réponse serveur Vu du serveur Gestion des requêtes (priorité) Exécution

Plus en détail

Exercice 1 : Questions diverses (5 points)

Exercice 1 : Questions diverses (5 points) Université Claude Bernard Lyon 1 Licence Sciences, Technologies, Santé L2 Année 2010-2011, 2ème semestre LIF5 Algorithmique & Programmation procédurale Contrôle final du 20 juin 2011 Durée : 1h30 Note

Plus en détail

IFT-2900 Algorithmes de l'ingénieur 1. Notions avancées de programmation en C/C++

IFT-2900 Algorithmes de l'ingénieur 1. Notions avancées de programmation en C/C++ IFT-2900 Algorithmes de l'ingénieur 1 Notions avancées de programmation en C/C++ Notions avancées de programmation 1. Compilation et édition de liens Fichiers impliqués Exemple Dépendances entre les fichiers

Plus en détail

MEUTER Cédric / LEVY Eythan. Université Libre de Bruxelles 23/09/2005

MEUTER Cédric / LEVY Eythan. Université Libre de Bruxelles 23/09/2005 Développement en C sous LINUX MEUTER Cédric / LEVY Eythan Université Libre de Bruxelles 23/09/2005 Développement en C sous LINUX p. 1 Comment écrire son programme? Principaux éditeurs : XEmacs Emacs vi

Plus en détail

Java Remote Method Invocation

Java Remote Method Invocation Java Remote Method Invocation Ce support est très largement inspiré du livre et du cours de S. Krakowiak S. Krakowiak Java Remote Method Invocation 1 / 25 Intérêt des objets pour la construction d applications

Plus en détail

UE Programmation Impérative Licence 2ème Année 2014 2015

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

Systèmes répartis : les Remote Procedure Calls p.1/25

Systèmes répartis : les Remote Procedure Calls p.1/25 Systèmes répartis : les Remote Procedure Calls Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Systèmes répartis : les Remote Procedure Calls p.1/25 Les Remote Procedure Calls

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

IRL : Simulation distribuée pour les systèmes embarqués

IRL : Simulation distribuée pour les systèmes embarqués IRL : Simulation distribuée pour les systèmes embarqués Yassine El Khadiri, 2 ème année Ensimag, Grenoble INP Matthieu Moy, Verimag Denis Becker, Verimag 19 mai 2015 1 Table des matières 1 MPI et la sérialisation

Plus en détail

Compte en banque : Exemple de conception et implantation par raffinement successif

Compte en banque : Exemple de conception et implantation par raffinement successif Compte en banque : Exemple de conception et implantation par raffinement successif 11 octobre 2014 1 Énoncé On veut écrire un programme qui fait la mise à jour de votre compte en banque. Le programme traite

Plus en détail

Corrigé des exercices sur les références

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

X. Juvigny. Septembre 2007

X. Juvigny. Septembre 2007 De C à C++ X Juvigny Septembre 2007 1 Introduction Outre les nouvelles possibilités en programmation orienté objet, le C++ offre de plus de nouvelles caractéristiques par rapport au langage C dont il est

Plus en détail

LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS

LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS 1. PRÉSENTATION. Le langage C a fait son apparition en 1972 pour le développement du système d exploitation Unix. Il est devenu un standard de la norme ANSI en 1983.

Plus en détail

Janvier 2015. Licence 3 info Université de Lille 1. Vers C++ venant de C et de Java. Adrien Poteaux et Alexandre Sedoglavic.

Janvier 2015. Licence 3 info Université de Lille 1. Vers C++ venant de C et de Java. Adrien Poteaux et Alexandre Sedoglavic. Vers C++ venant Licence 3 info Université de Lille 1 Janvier 2015 Généralités Le C++ est un langage de programmation développé à partir de 1980 par Bjarne Stroustrup. Nous utiliserons la normalisation

Plus en détail

liblapin Documentation

liblapin Documentation liblapin Documentation Version 1.5 The liblapin Hackers 27 November 2015 Table des matières 1 Introduction 1 1.1 Exemples................................................. 1 2 Installation 3 2.1 Téléchargement.............................................

Plus en détail

Introduction. Le logiciel Flowcode vous permet de développer rapidement et facilement des systèmes électroniques et électromécaniques complexes.

Introduction. Le logiciel Flowcode vous permet de développer rapidement et facilement des systèmes électroniques et électromécaniques complexes. Introduction Le logiciel vous permet de développer rapidement et facilement des systèmes électroniques et électromécaniques complexes. est un des environnements les plus avancés au monde pour le développement

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE 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é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

LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION

LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION Licence STS Université Claude Bernard Lyon I LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION 1 COURS 7 : Structures et Fichiers OBJECTIFS DE LA SÉANCE Deux notions abordées dans ce cours Celle

Plus en détail

Fiche Programme CSC4002 Conception et programmation orientées objet. Coordonnateurs : Christian Bac et Denis Conan Octobre 2012

Fiche Programme CSC4002 Conception et programmation orientées objet. Coordonnateurs : Christian Bac et Denis Conan Octobre 2012 Fiche Programme CSC4002 Conception et programmation orientées objet Coordonnateurs : Christian Bac et Denis Conan Octobre 2012 1 Mots-clés : conception orientée objet, programmation orientée objet, UML,

Plus en détail

INF3105 Arbres binaires de recherche

INF3105 Arbres binaires de recherche INF3105 Arbres binaires de recherche Éric Beaudry Université du Québec à Montréal (UQAM) Été 2015 Éric Beaudry (UQAM) INF3105 Arbres binaires de recherche Été 2015 1 / 37 Sommaire 1 Introduction 2 Arbre

Plus en détail