C++ 第四次附加实验参考答案 宋学辉 2014 年 6 月 20 日. 1.1 purec.h. 2 #i f n d e f PURE_C_H. 3 #d e f i n e PURE_C_H. 5 const double pi = ;

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

Download "C++ 第四次附加实验参考答案 宋学辉 2014 年 6 月 20 日. 1.1 purec.h. 2 #i f n d e f PURE_C_H. 3 #d e f i n e PURE_C_H. 5 const double pi = ;"

Transcription

1 C++ 第四次附加实验参考答案 宋学辉 2014 年 6 月 20 日 purec.h 1 2 #i f n d e f PURE_C_H 3 #d e f i n e PURE_C_H 4 5 const double pi = ; 6 7 s t r u c t CuboidI { 8 i n t id ; 9 i n t length, width, height ; 10 } ; s t r u c t CuboidD { 13 i n t id ; 14 double length, width, height ; 15 } ; s t r u c t SphereI { 18 i n t id ; 19 i n t radius ; 20 } ; s t r u c t SphereD { 23 i n t id ; 24 double radius ; 25 } ; 26 1

2 27 i n t GetCuboidIArea ( s t r u c t CuboidI cuboid ) { 28 return 2 * ( cuboid. length * cuboid. width + 29 cuboid. width * cuboid. height + 30 cuboid. height * cuboid. length ) ; 31 } double GetCuboidDArea ( s t r u c t CuboidD cuboid ) { 34 return 2 * ( cuboid. length * cuboid. width + 35 cuboid. width * cuboid. height + 36 cuboid. height * cuboid. length ) ; 37 } double GetSphereIArea ( s t r u c t SphereI sphere ) { 40 return 4 * pi * sphere. radius * sphere. radius ; 41 } double GetSphereDArea ( s t r u c t SphereD sphere ) { 44 return 4 * pi * sphere. radius * sphere. radius ; 45 } i n t GetCuboidIVolume ( s t r u c t CuboidI cuboid ) { 49 return cuboid. length * cuboid. width * cuboid. height ; 50 } double GetCuboidDVolume ( s t r u c t CuboidD cuboid ) { 53 return cuboid. length * cuboid. width * cuboid. height ; 54 } double GetSphereIVolume ( s t r u c t SphereI sphere ) { 57 return 4 * pi / 3 * sphere. radius * sphere. radius * sphere. radius ; 58 } double GetSphereDVolume ( s t r u c t SphereD sphere ) { 61 return 4 * pi / 3 * sphere. radius * sphere. radius * sphere. radius ; 62 } #e n d i f // PURE_C_H 1.2 main.c 1 #i n c l u d e "pure_c.h" 2

3 2 #i n c l u d e <s t d i o. h> 3 4 i n t main ( i n t argc, const char * argv [ ] ) 5 { 6 s t r u c t CuboidI cuboidi = {1, 1, 2, 3}; 7 s t r u c t CuboidD cuboidd = {2, 1. 0, 2.0, 3. 0 } ; 8 s t r u c t SphereI s p h e r e i = {3, 1}; 9 s t r u c t SphereD sphered = {3, 2. 0 } ; p r i n t f ( "id=%d\tarea=%6d\tvolume=%6d\n", cuboidi. id, 12 GetCuboidIArea ( cuboidi ), GetCuboidIVolume ( cuboidi ) ) ; 13 p r i n t f ( "id=%d\tarea =%6.3lf\tvolume =%6.3lf\n", cuboidd. id, 14 GetCuboidDArea ( cuboidd ), GetCuboidDVolume ( cuboidd ) ) ; 15 p r i n t f ( "id=%d\tarea =%6.3lf\tvolume =%6.3lf\n", s p h e r e i. id, 16 GetSphereIArea ( s p h e r e i ), GetSphereIVolume ( s p h e r e i ) ) ; 17 p r i n t f ( "id=%d\tarea =%6.3lf\tvolume =%6.3lf\n", sphered. id, 18 GetSphereDArea ( sphered ), GetSphereDVolume ( sphered ) ) ; return 0 ; 21 } cplusplus.hpp 1 #i f n d e f cplusplus_hpp 2 #d e f i n e cplusplus_hpp 3 4 #i n c l u d e <algorithm> 5 6 const double pi = ; 7 8 c l a s s SpatialObject { 9 public : SpatialObject ( ) { 12 id_ = ++instance_ counter ; 13 } i n t GetID ( ) { 16 return id_ ; 3

4 17 } v i r t u a l double GetArea ( ) { 20 return 0 ; 21 } v i r t u a l double GetVolume ( ) { 24 return 0 ; 25 } 26 p r i v a t e : 27 i n t id_ ; 28 s t a t i c i n t instance_counter ; 29 } ; i n t SpatialObject : : instance_counter = 0 ; template <typename T> 34 c l a s s Sphere : public SpatialObject { 35 public : Sphere (T radius ) : radius_ ( std : : max(t(0), radius ) ) { } double GetArea ( ) { 40 return 4 * pi * radius_ * radius_ ; 41 } double GetVolume ( ) { 44 return 4 * pi / 3 * radius_ * radius_ * radius_ ; 45 } T GetRadius ( ) const { 48 return radius_ ; 49 } void SetRadius (T radius ) { 52 i f ( radius >= 0) { 53 radius_ = radius ; 54 } 55 } 56 p r i v a t e : 57 T radius_ ; 4

5 58 } ; template <typename T> 61 c l a s s Cuboid : public SpatialObject { 62 public : Cuboid (T height, T width, T length ) 65 : height_ ( std : : max(t(0), height ) ), width_ ( std : : max(t(0), width ) ), 66 length_ ( std : : max(t(0), length ) ) {} double GetArea ( ) { 69 return 2 * ( height_ * width_ + width_ * length_ + length_ * height_ ) ; 70 } double GetVolume ( ) { 73 return height_ * width_ * length_ ; 74 } T GetHeight ( ) const { 77 return height_ ; 78 } void SetHeight (T height ) { 81 i f ( height >= 0) { 82 height_ = height ; 83 } 84 } T GetWidth ( ) const { 87 return width_ ; 88 } void SetWidth (T width ) { 91 i f ( width >= 0) { 92 width_ = max( 0, width ) ; 93 } 94 } T GetLength ( ) const { 97 return length_ ; 98 } 5

6 void SetLength (T length ) { 101 i f ( length >= 0) { 102 length_ = length ; 103 } 104 } 105 p r i v a t e : 106 T height_, width_, length_ ; 107 } ; #e n d i f // cplusplus_hpp 2.2 main.cpp 1 #i n c l u d e "cplusplus.hpp" 2 #i n c l u d e <iostream> 3 #i n c l u d e <vector> 4 i n t main ( ) { 5 Cuboid<int> cuboidi (1, 2, 3) ; 6 Cuboid<double> cuboidd ( 1. 0, 2.0, 3. 0 ) ; 7 Sphere<int> s p h e r e i (1) ; 8 Sphere<double> sphered ( 2. 0 ) ; 9 std : : vector<spatialobject*> o b j e c t s = {&cuboidi, &cuboidd, &spherei, & sphered } ; 10 f o r ( i n t i = 0 ; i < o b j e c t s. s i z e ( ) ; ++i ) { 11 std : : cout << o b j e c t s [ i ] >GetID ( ) << " " << o b j e c t s [ i ] >GetArea ( ) 12 << " " << o b j e c t s [ i ] >GetVolume ( ) << std : : endl ; 13 } 14 return 0 ; 15 } 3 面向对象与面向过程的比较 封装 C 语言的结构体只能认为是组装,id 作为区别对象 ( 结构体 ) 的标识, 程序可以任意修改 ; 并且球的半径, 长方体的长宽高可以设置为不合理的负数 C++ 语言的类才是真正的封装,id 由 SpatialObject 的构造函数自动分配保证唯一, 并且不可修改 ; 球的半径和长方体不可设置为不合理的负数 这个地方还可以使用异常处理不合理的数 当设置不合理的数字时, 抛出异常 6

7 继承 C 语言要使每一个对象都有一个 id, 需要在每一个结构体中添加 id C++ 语言在父类 SpatialObject 中添加 id 成员, 子类 Sphere 和 Cuboid 均含有 id 成员 GetID, GetArea, GetVolume 同样被继承 多态 C 语言几乎很难把整数 浮点数的球 长方体用同一个数据结构组织起来, 就算组成起来也很难统一的去求面积或者体积 C++ 只需要使用共同父类的指针, 就可把所有整数 浮点数和球 长方体组织在一起, 并且不做任何区分的直接调用 GetID, GetArea 等子类继承父类的虚函数 元编程 C 语言对于求整数和浮点数的长方体的面积使用同一个算法, 但由于类型不相同, 必须分别写, 长方形的体积以及球的面积 体积同样 这增加了代码编写和维护的复杂度 C++ 语言使用元编程 ( 模版 ) 编码时只关注算法流程, 并不在乎数据的类型 这个特性在标准模版库中用的非常多, 比如排序函数 sort 元编程并不是面向对象的基本特征 7

High School Section By Julia Brown

High School Section By Julia Brown High School Section rilassante. I miei genitori sempre dicono che la matematica è utile ma io penso che la matematica è molto noiosa e difficile. In una giornata tipica, io mi alzo alle sette e mezzo,

Plus en détail

INFO-F-105 Language de programmation I Séance VI

INFO-F-105 Language de programmation I Séance VI INFO-F-105 Language de programmation I Séance VI Jérôme Dossogne Année académique 2008 2009 Un grand merci à Yves Roggeman pour ses relectures et remarques des codes et commentaires qui ont contribuées

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

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan

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

Programmation stochastique

Programmation stochastique Programmation stochastique (Partie 1) IFT-6512 Hiver 2008 Présentation succinte COIN-OR? COmputational INfrastructure for Operations Research. Préalablement, COIN-OR tenait pour Common Optimization INterface

Plus en détail

Arguments d un programme

Arguments d un programme Arguments d un programme L2 SPI, Bruno Jacob 1 Arguments Quand on appelle un programme dans un environnement UNIX ou MS- DOS, on compose une ligne de commandes de la forme : nom-du-programme argument1

Plus en détail

Développement Logiciel

Développement Logiciel Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles

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

Programmation système de commandes en C

Programmation système de commandes en C Programmation système de commandes en C Cours de Programmation système Tuyêt Trâm DANG NGOC Université de Cergy-Pontoise 2012 2013 Tuyêt Trâm DANG NGOC Programmation système de commandes

Plus en détail

et Programmation Objet

et Programmation Objet FACULTE POLYTECHNIQUE DE MONS Service d Informatique et Programmation Objet Mohammed Benjelloun 2 ème Bachelier Année académique 2008-2009 Table des matières Avant-propos--------------------------------------------------------------------------

Plus en détail

Introduction à C++ et à wxwidgets

Introduction à C++ et à wxwidgets Introduction à C++ et à wxwidgets Master IGC 1ère année Année universitaire 2011/2012 Christophe Renaud Version 1.5 19/09/2011 Introduction Objectifs du cours Introduction au langage objet C++ Introduction

Plus en détail

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année 2003-2004 Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES Maude Manouvrier La reproduction de ce document par

Plus en détail

Programmation en C/C++

Programmation en C/C++ INSA de Lyon Département Génie Electrique Module IF1,IF3,IF4 Programmation en C/C++ Thomas Grenier Nicolas Ducros Tanneguy Redarce Lyon, le 3 mars 2015 2 / 63 Table des matières 1 Développement en C++

Plus en détail

1.6- Génération de nombres aléatoires

1.6- Génération de nombres aléatoires 1.6- Génération de nombres aléatoires 1- Le générateur aléatoire disponible en C++ 2 Création d'un générateur aléatoire uniforme sur un intervalle 3- Génération de valeurs aléatoires selon une loi normale

Plus en détail

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai. Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai. 1 Introduction On considère une grille de 20 lignes 20 colonnes. Une case de la grille peut être vide, ou contenir une et une

Plus en détail

Programmation système en C/C++

Programmation système en C/C++ Programmation système en C/C++ Jean-Baptiste Vioix (jb.vioix@free.fr) LE2I - ENESAD http://jb.vioix.free.fr 1-41 Programmation en C/C++ sous Unix Il existe des très nombreux outils de développement sous

Plus en détail

PROGRAMMATION PAR OBJETS

PROGRAMMATION PAR OBJETS PROGRAMMATION PAR OBJETS Java Environnement et constructions spécifiques Walter Rudametkin Maître de Conférences Bureau F011 Walter.Rudametkin@polytech-lille.fr B. Carré Polytech Lille 2 Java (Sun 1995)

Plus en détail

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

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

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?

Plus en détail

Une introduction à Java

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

Programmation système I Les entrées/sorties

Programmation système I Les entrées/sorties Programmation système I Les entrées/sorties DUT 1 re année Université de Marne La vallée Les entrées-sorties : E/O Entrées/Sorties : Opérations d échanges d informations dans un système informatique. Les

Plus en détail

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

Compression de Données - Algorithme de Huffman Document de Conception

Compression de Données - Algorithme de Huffman Document de Conception ROLLET Samuel SALLE Jennifer Compression de Données - Algorithme de Huffman Document de Conception Projet d'algorithmique et Structure des Données 1 SOMMAIRE 1. Domaine d application....4 1.1 Objectifs

Plus en détail

Le prototype de la fonction main()

Le prototype de la fonction main() Le prototype de la fonction main() 1. Introduction...1 2. Paramètres et type de retour de la fonction main()...1 3. Exemple 1...2 4. La fonction exit() du C...2 5. Détecter le code de retour d un programme

Plus en détail

Rapport de stage d ingénieur

Rapport de stage d ingénieur 270 Boulevard Georges Clemenceau 59700 Marcq-en-Barœul, France Rapport de stage d ingénieur Création d'une prototype pour gérer images satellitaires sur le cloud Élève : Pere Cortés Manyanic Diplôme: Ingénieur

Plus en détail

Utilisation de la Kinect

Utilisation de la Kinect Utilisation de la Kinect Antoine Lejeune Sébastien Piérard Marc Van Droogenbroeck Jacques Verly Juillet 2012 Résumé Fin 2010, Microsoft lançait la Kinect pour Xbox 360, la première caméra 3D destinée au

Plus en détail

Cours d Algorithmique et de Langage C 2005 - v 3.0

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

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2 Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

3IS - Système d'exploitation linux - Programmation système

3IS - Système d'exploitation linux - Programmation système 3IS - Système d'exploitation linux - Programmation système 2010 David Picard Contributions de : Arnaud Revel, Mickaël Maillard picard@ensea.fr Environnement Les programmes peuvent être exécutés dans des

Plus en détail

Introduction au C++ et à la programmation objet

Introduction au C++ et à la programmation objet Introduction au C++ et à la programmation objet Version 1.12b (Mars 2013) par Emmanuel Courcelle emmanuel.courcelle@toulouse.inra.fr 1 Cours C++ - Emmanuel Courcelle / CUTIS / Formation permanente du C.N.R.S.

Plus en détail

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

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

Introduction au pricing d option en finance

Introduction au pricing d option en finance Introduction au pricing d option en finance Olivier Pironneau Cours d informatique Scientifique 1 Modélisation du prix d un actif financier Les actions, obligations et autres produits financiers cotés

Plus en détail

Informatique III: Programmation en C++

Informatique III: Programmation en C++ Informatique III: Programmation en C++ Listes haînées Lundi 9 Janvier 2006 1 2 Introdution Les listes hainées permettent de stoker un nombre d objets qui n a pas besoin d être spéifié a priori. Rajouter

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

Bases de programmation. Cours 5. Structurer les données

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

LEs processus coopèrent souvent pour traiter un même problème. Ces

LEs processus coopèrent souvent pour traiter un même problème. Ces Chapitre 5 Communication interprocessus LEs processus coopèrent souvent pour traiter un même problème. Ces processus s exécutent en parallèle sur un même ordinateur (monoprocesseur ou multiprocesseurs)

Plus en détail

Programmation C++ (débutant)/instructions for, while et do...while

Programmation C++ (débutant)/instructions for, while et do...while Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de

Plus en détail

Le Modèle de Sécurité dans JAVA

Le Modèle de Sécurité dans JAVA Le Modèle de Sécurité dans JAVA $Id : javasecurity.lyx 1565 2008-10-22 13 :57 :30Z phil $ 22 octobre 2008 Université de Cergy-Pontoise, 2 rue A. Chauvin 95302 Cergy-Pontoise cedex e-mail laroque@u-cergy.fr

Plus en détail

OS Réseaux et Programmation Système - C5

OS Réseaux et Programmation Système - C5 OS Réseaux et Programmation Système - C5 Rabie Ben Atitallah rabie.benatitallah@univ-valenciennes.fr RPC - XDR Rappel RPC: Remote Procedure Call Besoin d un environnement de haut niveau pour le développement

Plus en détail

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/??

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/?? Algorithmique I Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement

Plus en détail

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

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

Plus en détail

COMPARAISONDESLANGAGESC, C++, JAVA ET

COMPARAISONDESLANGAGESC, C++, JAVA ET REPUBLIQUE DU BENIN *******@******* MINISTERE DE L ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE(MESRS) *******@******* UNIVERSITE D ABOMEY CALAVI(UAC) *******@******* ECOLE POLYTECHNIQUE D ABPOMEY

Plus en détail

Programmation Orientée Objet - Licence TIS CM8/9. Rappel sur la séance précédente. Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers.

Programmation Orientée Objet - Licence TIS CM8/9. Rappel sur la séance précédente. Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers. Programmation Orientée Objet - Licence TIS CM8/9 Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers.fr Poitiers, le 13/03/2006 Rappel sur la séance précédente La fois précédente, nous avons vu : 1 UML

Plus en détail

AWS avancé. Surveiller votre utilisation d EC2

AWS avancé. Surveiller votre utilisation d EC2 10 AWS avancé Dans ce chapitre, nous bâtirons sur les bases que nous avons apprises jusqu ici. Nous étudierons des sujets plus avancés tels que la surveillance de votre utilisation d AWS, l utilisation

Plus en détail

Introduction à l algorithmique et à la programmation M1102 CM n 3

Introduction à l algorithmique et à la programmation M1102 CM n 3 Introduction à l algorithmique et à la programmation M1102 CM n 3 DUT Informatique 1 re année Eric REMY eric.remy@univ-amu.fr IUT d Aix-Marseille, site d Arles Version du 2 octobre 2013 E. Remy (IUT d

Plus en détail

WASD en environnement haute disponibilité Jean-Pierre PETIT WASD Le produit WASD WASD signifie Wide Area Surveillance Division C est le nom d une division de la défense australienne qui a accepté en 1996

Plus en détail

Corrigés des premiers exercices sur les classes

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

Introduction à la programmation concurrente

Introduction à la programmation concurrente Introduction à la programmation concurrente Moniteurs Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud This work is licensed under

Plus en détail

Cours 6 : Tubes anonymes et nommés

Cours 6 : Tubes anonymes et nommés Cours 6 : Tubes anonymes et nommés Mécanisme de communications du système de fichiers I-node associé. Type de fichier: S_IFIFO. Accès au travers des primitives read et write. Les tubes sont unidirectionnels

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

Cours de C. Petits secrets du C & programmation avancée. Sébastien Paumier

Cours de C. Petits secrets du C & programmation avancée. Sébastien Paumier Cours de C Petits secrets du C & programmation avancée Sébastien Paumier paumier@univ-mlv.fr Illustrations provenant du site http://tux.crystalxp.net/ 1 Affectations étendues a+=expression a=a+expression

Plus en détail

CHAPITRE V. Recherche et tri

CHAPITRE V. Recherche et tri Cherchez et vous trouverez,... car qui cherche trouve. Matthieu 7 7-8 et Luc 11 9-10 CHAPITRE V Recherche et tri Objectif. Comprendre les techniques de base pour organiser des données ordonnées. Ce chapitre

Plus en détail

Hadoop, Spark & Big Data 2.0. Exploiter une grappe de calcul pour des problème des données massives

Hadoop, Spark & Big Data 2.0. Exploiter une grappe de calcul pour des problème des données massives Hadoop, Spark & Big Data 2.0 Exploiter une grappe de calcul pour des problème des données massives Qui suis-je? Félix-Antoine Fortin Génie info. (B. Ing, M. Sc, ~PhD) Passionné de Python, Data Analytics,

Plus en détail

Depuis des années, les films de science fiction

Depuis des années, les films de science fiction Steffen Nissen Création d'un réseau de neurones c'est facile Ressources en ligne : Sur le CD vous trouverez les fi chiers codes décrits dans l'article ainsi que la bibliothèque. Depuis des années, les

Plus en détail

ARCHOS Activity Tracker

ARCHOS Activity Tracker ARCHOS Activity Tracker «Archos Connected Self» Application Connecté pour votre confort L'ARCHOS Activity Tracker synchronise automatiquement votre activité quotidienne à votre smartphone ou votre tablette

Plus en détail

Composants génériques de calcul scientifique

Composants génériques de calcul scientifique Composants génériques de calcul scientifique T. Géraud et A. Duret-Lutz RAPPORT TECHNIQUE 9901 MARS 1999 Laboratoire de Recherche et Développement d EPITA 14-16, rue Voltaire 94276 Le Kremlin-Bicêtre cedex

Plus en détail

Génération de scripts automatiques pour la sécurité des cartes bancaires nouvelle génération (EMV)

Génération de scripts automatiques pour la sécurité des cartes bancaires nouvelle génération (EMV) SETIT 2007 4 th International Conference: Sciences of Electronic, Technologies of Information and Telecommunications March 25-29, 2007 TUNISIA Génération de scripts automatiques pour la sécurité des cartes

Plus en détail

Claude Delannoy. 3 e édition C++

Claude Delannoy. 3 e édition C++ Claude Delannoy 3 e édition Exercices Exercices C++ en en langage langage delc++ titre 4/07/07 15:19 Page 2 Exercices en langage C++ AUX EDITIONS EYROLLES Du même auteur C. Delannoy. Apprendre le C++.

Plus en détail

Vers un nouveau modèle 中 国 的 新 发 展 模 式? L entretien : Laurence Parisot, «Investir en Chine reste primordial»

Vers un nouveau modèle 中 国 的 新 发 展 模 式? L entretien : Laurence Parisot, «Investir en Chine reste primordial» NO.64 hiver NO.64 / 冬 HIVER 2012冬 / 2012 NO.56 MARS 201 LE MAGAZINE DE LA CHAMBRE DE COMMERCE ET D INDUSTRIE çaise FRAN EN CHINE Le magazine de la Chambre de Commerce et d Industrie Française en Chine

Plus en détail

IUT ANNECY Département Mesures Physiques Cours d informatique Initiation au langage C

IUT ANNECY Département Mesures Physiques Cours d informatique Initiation au langage C IUT ANNECY Département Mesures Physiques Cours d informatique Initiation au langage C myriam.chesneau@univsavoie.fr Mots clefs : Initiation à la programmation Langage C Variables Opérations Structures

Plus en détail

Généralités sur le Langage Java et éléments syntaxiques.

Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...

Plus en détail

Programmation MacOSX / ios

Programmation MacOSX / ios Programmation MacOSX / ios Master Ingénierie Informatique 2011-2012 Jean-Baptiste.Yunès@liafa.jussieu.fr deux extensions objets de C : C++ (Stroustrup) Objective-C (Cox & Love) ajout de constructions à

Plus en détail

Les arbres binaires de recherche

Les arbres binaires de recherche Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s

Plus en détail

Programmation Par Objets

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

INFO-F-404 : Techniques avancées de systèmes d exploitation

INFO-F-404 : Techniques avancées de systèmes d exploitation Nikita Veshchikov e-mail : nikita.veshchikov@ulb.ac.be téléphone : 02/650.58.56 bureau : 2N8.213 URL : http://student.ulb.ac.be/~nveshchi/ INFO-F-404 : Techniques avancées de systèmes d exploitation Table

Plus en détail

Plan Pédagogique du cours

Plan Pédagogique du cours Plan Pédagogique du cours Module: Programmation Orientée Objet Section : informatique Niveau : 3 ème niveau (gestion, industriel, réseau) Volume Horaire : 22,5 heures Cours Intégrés + 45 Travaux Pratiques

Plus en détail

TP7 Newsletter et plateforme de gestion

TP7 Newsletter et plateforme de gestion MMI1 M2106 1 TP7 Newsletter et plateforme de gestion Newsletter/E-mailing : définition par Wikipédia L e-mailing, le publipostage en ligne ou le publipostage électronique est une méthode de marketing direct

Plus en détail

Les processus. Système L3, 2014-2015 1/39

Les processus. Système L3, 2014-2015 1/39 Les processus Système L3, 2014-2015 1/39 Les processus Processus = Instance d un programme en cours d exécution plusieurs exécutions de programmes plusieurs exécutions d un même programme plusieurs exécutions

Plus en détail

Implémentation parallèle de certains algorithmes de fouille de données avec le framework MapReduce

Implémentation parallèle de certains algorithmes de fouille de données avec le framework MapReduce Implémentation parallèle de certains algorithmes de fouille de données avec le framework MapReduce Algorithmes : K-means et Apriori Maria Malek LARIS-EISTI maria.malek@eisti.fr 1 Cloud Computing et MapReduce

Plus en détail

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr . Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le

Plus en détail

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Seance 2: Complétion du code de jeu. (durée max: 2h) Mot clé const et pointeurs: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Implémentez jeu_recupere_piece

Plus en détail

Introduction au langage Java

Introduction au langage Java Introduction au langage Java 1 Introduction : Langage développé par Sun et purement orienté objet. N a pas de rapport direct avec Javascript développé par Netscape. Les applications java peuvent être des

Plus en détail

INF 104 (SELC) 2012-2013 Introduction au langage C

INF 104 (SELC) 2012-2013 Introduction au langage C INF 104 (SELC) 2012-2013 Introduction au langage C Plan Première partie C après Java Structure d un programme Préprocesseur Variables Types de base Types composés Pointeurs(1) Instructions Deuxième partie

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java Info0604 Programmation multi-threadée Cours 5 Programmation multi-threadée en Java Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 18 février 2015 Plan

Plus en détail

Introduction au calcul parallèle avec OpenCL

Introduction au calcul parallèle avec OpenCL Introduction au calcul parallèle avec OpenCL Julien Dehos Séminaire du 05/01/2012 Sommaire Introduction Le calculateur du CGR/LISIC/LMPA Généralités sur OpenCL Modèles Programmation Optimisation Conclusion

Plus en détail

Cours Programmation Système

Cours Programmation Système Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda m.daoudi@fso.ump.ma Février

Plus en détail

Introduction à CUDA. gael.guennebaud@inria.fr

Introduction à CUDA. gael.guennebaud@inria.fr 36 Introduction à CUDA gael.guennebaud@inria.fr 38 Comment programmer les GPU? Notion de kernel exemple (n produits scalaires): T ci =ai b ( ai, b : vecteurs 3D, ci for(int i=0;i

Plus en détail

Cours de Programmation Impérative: Zones de mémoires et pointeurs

Cours de Programmation Impérative: Zones de mémoires et pointeurs Cours de Programmation Impérative: Zones de mémoires et pointeurs Julien David A101 - david@lipn.univ-paris13.fr Julien David (A101 - david@lipn.univ-paris13.fr) 1 / 1 Z`o n`e s `d`e m`é m`o i r`e Julien

Plus en détail

Bases du langage. Historique Applications et applets Éléments de base du langage Classes et objets Les exceptions

Bases du langage. Historique Applications et applets Éléments de base du langage Classes et objets Les exceptions Langage JAVA Bases du langage Opérations sur les fichiers Réseau Multi-tâche Logiciel: interfaces... Gestion des périphériques (méthodes natives) Accès aux bases de données Bases du langage Historique

Plus en détail

Programmation client-serveur sockets - RPC

Programmation client-serveur sockets - RPC Master Informatique M Plan de la suite Programmation client-serveur sockets - RPC Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/people/krakowia

Plus en détail

Programmation Orientée Objet

Programmation Orientée Objet 1A 2010 / 2011 Programmation Orientée Objet 4ème Partie Gérald Oster Plan du cours Introduction Programmation orientée objet : Classes, objets, encapsulation, composition 1. Utilisation

Plus en détail

Programmation Classique en langage C

Programmation Classique en langage C DI GALLO Frédéric Programmation Classique en langage C Cours du Cycle d Approfondissement CNAM ANGOULEME 2000-2001 DI GALLO Frédéric Page 1 01/04/01 PROGRAMMATION CLASSIQUE : LANGAGE C DI GALLO Frédéric

Plus en détail

C++ Programmer. en langage. 8 e édition. Avec une intro aux design patterns et une annexe sur la norme C++11. Claude Delannoy

C++ Programmer. en langage. 8 e édition. Avec une intro aux design patterns et une annexe sur la norme C++11. Claude Delannoy Claude Delannoy Programmer en langage C++ 8 e édition Avec une intro aux design patterns et une annexe sur la norme C++11 Groupe Eyrolles, 1993-2011. Groupe Eyrolles, 2014, pour la nouvelle présentation,

Plus en détail

Projet de programmation (IK3) : TP n 1 Correction

Projet de programmation (IK3) : TP n 1 Correction Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public

Plus en détail

Informatique I. Sciences et Technologies du Vivant (Semestre 1)

Informatique I. Sciences et Technologies du Vivant (Semestre 1) Informatique I Sciences et Technologies du Vivant (Semestre 1) Vincent Lepetit vincent.lepetit@epfl.ch http://cvlabwww.epfl.ch/~lepetit/courses/sv https://www.coursera.org/course/intro-cpp-fr 1 Cours 1

Plus en détail

API REST COLLABORATORS TITLE : API REST ACTION NAME DATE SIGNATURE. WRITTEN BY http://dev.efixo.net 08 juin 2012 REVISION HISTORY

API REST COLLABORATORS TITLE : API REST ACTION NAME DATE SIGNATURE. WRITTEN BY http://dev.efixo.net 08 juin 2012 REVISION HISTORY API REST i API REST API REST ii COLLABORATORS TITLE : API REST ACTION NAME DATE SIGNATURE WRITTEN BY http://dev.efixo.net 08 juin 2012 REVISION HISTORY NUMBER DATE DESCRIPTION NAME 20120608 08 juin 2012

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

Chapitre 10. Les interfaces Comparable et Comparator 1

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

1. Installation d'un serveur d'application JBoss:

1. Installation d'un serveur d'application JBoss: EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 4 EJB3, Serveur d'application JBoss 1. Installation d'un serveur d'application JBoss: télécharger l'archive du serveur JBoss à l'adresse: http://sourceforge.net/projects/jboss/files/jboss/jboss-5.0.0.ga/jboss-5.0.0.ga.zip/download

Plus en détail

Le langage C++ (partie I)

Le langage C++ (partie I) Master Informatique des Organisations 1 ère et 2 ème années Spécialité ID/MIAGE-IF/MIAGE-SITN Le langage C++ (partie I) Maude Manouvrier Qu est ce que le C++? Rappels sur la gestion de la mémoire Premiers

Plus en détail

HEFBESLAG 20 ARMATURE RABATTABLE 20 TOONBANKEN COMPTOIRS KENMERKEN CARACTÉRISTIQUES

HEFBESLAG 20 ARMATURE RABATTABLE 20 TOONBANKEN COMPTOIRS KENMERKEN CARACTÉRISTIQUES HEFBESLAG 20 ARMATURE RABATTABLE 20 KENMERKEN CARACTÉRISTIQUES - Hefbeslag voor gebogen glas - Met lamp - Met gasveer in steun - Afwerking in aluminium geanodiseerd naturel - Armature rabattable pour verre

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

Didacticiel Bases de programmation en C++

Didacticiel Bases de programmation en C++ Université Joseph Fourier, Grenoble. Didacticiel Bases de programmation en C++ Dernière modication du chier cours_1.lyx : 17 sept 2014 Auteur :Frédéric Faure Table des matières 1 Introduction 3 2 L'environnement

Plus en détail

Manuel d'installation

Manuel d'installation CyberMUT P@iement P@iement CIC P@iement OBC SERVICE SECURISE DE PAIEMENT INTERNET PAR CARTE BANCAIRE (Sécurisé par le protocole SSL) Manuel d'installation (Document 2/2) EURO Sp.Tech. 1.2.8 Octobre 2001

Plus en détail

Rapport final de stage. ScatterTangram. Damien Sendner. Sous la direction de. Lorna Mcknight, Brendan Cassidy et

Rapport final de stage. ScatterTangram. Damien Sendner. Sous la direction de. Lorna Mcknight, Brendan Cassidy et Rapport final de stage ScatterTangram Réalisé par Damien Sendner Sous la direction de Lorna Mcknight, Brendan Cassidy et Serge-André Mahé Année universitaire 2009-2010 Avant-propos Ce projet a été mené

Plus en détail

RFC 7011 : Specification of the IP Flow Information export (IPFIX) Protocol for the Exchange of Flow Information

RFC 7011 : Specification of the IP Flow Information export (IPFIX) Protocol for the Exchange of Flow Information RFC 7011 : Specification of the IP Flow Information export (IPFIX) Protocol for the Exchange of Flow Information Stéphane Bortzmeyer Première rédaction de cet article le

Plus en détail