Rapport de projet. Loïc Ehre Olivier Versanne. Informatique de Base. 1 ère année groupe 3
|
|
- Basile Lemieux
- il y a 6 ans
- Total affichages :
Transcription
1 Rapport de projet Informatique de Base Création d un Master-Mind à six couleurs et quatre possibilités. Projet à réaliser en Java. La seconde partie intégrera une intelligence artificielle capable de résoudre sans intervention humaine le plus rapidement possible la combinaison entrée par un humain. Loïc Ehre Olivier Versanne 1 ère année groupe
2 Introduction Le projet est divisé en deux parties qui forment à terme un seul programme. La première partie consiste à la création de l interface du jeu de Master-Mind pour que l utilisateur puisse saisir des combinaisons de couleurs dans le but de trouver la combinaison proposée aléatoirement par l ordinateur. La seconde partie complète le jeu en ajoutant une intelligence artificielle qui doit trouver la combinaison choisie par un utilisateur en un minimum de coups. Cas d utilisation Structuration du projet Java étant un langage de programmation objet, nous avons décidé de tirer partie des avantages de cette méthode de programmation et avons découpé notre projet en différentes classes, comme vous pouvez le voir sur le schéma UML suivant. Diagramme UML 2007/ / 8 - ESIAL
3 Mastermind Le programme principal se trouve dans la classe «Mastermind». Celle-ci va définir deux instances de la classe abstraite Joueur qui seront de type ordinateur contre humain (à noter qu avec notre modèle de conception, il est possible de faire jouer deux humains ensemble ou deux ordinateurs ensemble). if(choix == 1){ // L'utilisateur recherche la combinaison this.cacheur = new Ordinateur(); this.chercheur = new Humain(); } else if(choix == 2) { // L'utilisateur crée la combinaison this.cacheur = new Humain(); this.chercheur = new Ordinateur(); } Grâce à la généralisation, il est très simple de définir les cas de jeu Joueur La classe Joueur généralise la conception et permet donc de programmer simplement la différence entre un Ordinateur et un Humain ce qui rend facile l alternance d un joueur humain avec un joueur informatique. abstract public class Joueur { /*Classe abstraite de généralisation utilisée dans Mastermind.java pour * définir un joueur (humain ou informatique) */ protected Combinaison combinaison; // Uniquement utilisé dans le cas où le joueur est celui qui cache public Combinaison get_combinaison() { return this.combinaison; } // Création de la combinaison abstract public void creer_combinaison(); } // Recherche de la combinaison abstract public void chercher_combinaison(combinaison c); Classe Joueur Combinaison La classe Combinaison représente les associations des quatre billes du Master-Mind. La classe gère les combinaisons avec un tableau d entier de longueur quatre. La classe est composée de plusieurs méthodes. La méthode bienplace qui retourne le nombre de billes bien placée, ou le nombre de témoins noirs, et la méthode malplace qui retourne le nombre de billes en mauvaise positions (témoins blancs). Nous avons dissocié ces méthodes afin de pouvoir utiliser leurs résultats directement dans des tests en optimisant ainsi le nombre de calculs effectués. Constante La classe Constante regroupe toutes les constantes utilisées dans le programme ; du nom du jeu au nombre de pion en passant par la valeur entière correspondante aux couleurs. Cette classe est aussi munie d une fonction indiquant si un entier correspond à une couleur. Console Nous avons créé une classe Console et n avons pas utilisé celle qui était disponible car celle-ci n avait ni les méthodes que nous attendions ni la gestion de l affichage souhaité. Cette classe est dotée de «fonctions raccourcies» comme println ou print qui permettent d éviter de saisir à chaque fois System.out.println(), de la fonction read qui récupère les caractères saisis, readint qui recueille un entier saisi en vérifiant qu il se trouve dans le bon intervalle et enfin readcouleur qui gère la saisie d une combinaison de couleur et retourne une combinaison. 2007/ / 8 - ESIAL
4 Deuxième phase : «l Intelligence Artificielle» Fonctionnement L algorithme que nous avons choisi commence par créer l ensemble des combinaisons possibles ( ). ArrayList<Combinaison> combin_dispo = new ArrayList<Combinaison> ((int)(math.pow(constante.nb_pion, Constante.NB_COULEUR))); for(int i = 1; i <= Constante.NB_COULEUR; i++) for(int j = 1; j <= Constante.NB_COULEUR; j++) for(int k = 1; k <= Constante.NB_COULEUR; k++) for(int l = 1; l <= Constante.NB_COULEUR; l++) combin_dispo.add(new Combinaison(i, j, k, l)); Création du tableau initial contenant toutes les combinaisons possibles Il élimine les combinaisons incohérentes avec les résultats des témoins récupérés, jusqu à obtenir un ensemble très petit dans lequel se trouvera la combinaison. L algorithme n a donc pas besoin de se rappeler les résultats et combinaisons précédentes puisque les combinaisons impossibles sont déjà supprimées de l ensemble. La suppression d une combinaison de l ensemble s effectue en analysant chaque combinaison de l ensemble par rapport à celle qui a été saisie et nous ne gardons que les combinaisons qui rendent exactement les mêmes témoins. for(int j = 0; j < combin_dispo.size(); j++){ if(combin_dispo.get(j).bienplace(saisie)!= good saisie.malplace(combin_dispo.get(j))!= bad){ // On supprime toutes celles qui n'ont pas le même nombre de billes bien placées // ou qui n'ont pas le même nombre de billes mal placées combin_dispo.remove(j); j--; // On reste sur la même combinaison : ArrayList effectue une compression des } } // indices après une suppression Boucle de suppression Robustesse Nous avons mis en place plusieurs systèmes de gestion d erreur. La classe Console gère toutes les mauvaises saisies de la part de l utilisateur : caractères spéciaux, lettres, espaces, chiffres incorrects Du côté de l ordinateur, pour vérifier son bon fonctionnement, nous avons testé toutes les combinaisons possibles plusieurs fois à l aide de la méthode «brute force», une grosse boucle qui passe d une combinaison à la suivante, de la première à la dernière. Cela nous a permis de corriger quelques problèmes et de vérifier la stabilité du programme. Statistiques et optimisations Nous avons ensuite profité de l état «test» du programme pour pouvoir réaliser des statistiques sur l intelligence de l algorithme quant aux résultats obtenus et l optimisation de ceux-ci. La première méthode que nous avons testée nous donnait un ensemble résultat unique. L algorithme en prenant le premier élément de l ensemble systématiquement, trouve la combinaison en un intervalle de 1 à 9 essais. 2007/ / 8 - ESIAL
5 L algorithme n était pas très performant, même s il était toujours plus rapide qu un algorithme aléatoire ou une méthode «Brutus». Nous avons émis l hypothèse en décortiquant les résultats que la lenteur venait du fait que l ordinateur testait toujours la première combinaison. Nous avons donc légèrement modifié notre algorithme afin de prendre une combinaison aléatoire dans l ensemble trié des combinaisons restantes. Sans Random Avec Random n 1 Avec Random n 2 Avec Random n 3 Moyenne 5,76 Moyenne 4,63 Moyenne 4,65 Moyenne 4,67 Ecart Type 1,05 Ecart Type 0,83 Ecart Type 0,88 Ecart Type 0,85 Médiane 6 Médiane 5 Médiane 5 Médiane 5 En 1 essai 1 En 1 essai 1 En 1 essai 2 En 1 essai 2 En 2 essais 8 En 2 essais 22 En 2 essais 22 En 2 essais 18 En 3 essais 75 En 3 essais 258 En 3 essais 303 En 3 essais 285 En 4 essais 432 En 4 essais 1732 En 4 essais 1644 En 4 essais 1532 En 5 essais 1525 En 5 essais 3010 En 5 essais 2910 En 5 essais 3175 En 6 essais 3612 En 6 essais 948 En 6 essais 1080 En 6 essais 960 En 7 essais 1372 En 7 essais 35 En 7 essais 63 En 7 essais 84 En 8 essais 392 En 8 essais 0 En 8 essais 0 En 8 essais 0 En 9 essais 54 En 9 essais 0 En 9 essais 0 En 9 essais 0 Statistiques obtenus lors de différents tests Les résultats ont été grandement améliorés puisque nous n avions pas eu de cas où l ordinateur trouvait en 8 et 9 essais, la moyenne était plus faible d un essai et l écart type était aussi plus proche de 0. A la vue de ces résultats, nous avons donc gardé la méthode de choix aléatoire. Jeux de tests Voici deux exemples pour montrer le bon fonctionnement des deux parties. Bienvenue sur Mastermind Sublime IA ''''''''''''''''''''''''''''''''''' Choisissez une option dans le menu suivant : 1 - Trouver la combinaison de Sublime IA (Partie 1) 2 - Laisser Sublime IA chercher votre combinaison (Partie 2) 3 - Sublime IA vs Sublime IA (Ajouts) 4 - Humain vs Humain (Ajouts) 0 - Quitter > 1 Accueil du programme 2007/ / 8 - ESIAL
6 Première partie L ordinateur a choisi aléatoirement la combinaison * Rouge, Blanc, Jaune, Jaune +. Suivons la méthode de «prendre la première combinaison valide de l ensemble». Tentative n 1 > 1111 Témoin(s) noir(s) : 1, Témoin(s) blanc(s) : 0 Tentative n 2 > 1222 Témoin(s) noir(s) : 0, Témoin(s) blanc(s) : 1 Tentative n 3 > 3133 Témoin(s) noir(s) : 2, Témoin(s) blanc(s) : 0 Tentative n 4 > 3144 Témoin(s) noir(s) : 2, Témoin(s) blanc(s) : 0 Tentative n 5 > 3155 Témoin(s) noir(s) : 2, Témoin(s) blanc(s) : 0 Tentative n 6 > 3166 Témoin(s) noir(s) : 4, Témoin(s) blanc(s) : 0 Félicitation, vous avez gagné Résolution humaine d une combinaison Nous trouvons la bonne combinaison en 6 essais. 2007/ / 8 - ESIAL
7 Deuxième partie Nous allons choisir une combinaison pour l ordinateur, prenons la même que celui qu il nous avait donné et voyons s il fait mieux. > 3166 Tentative n combinaison(s) possible(s) Combinaison : [ Vert Bleu Blanc Blanc ] Témoin(s) noir(s) : 0, Témoin(s) blanc(s) : combinaison(s) supprimée(s) Appuyez sur la touche Entrée pour continuer > Tentative n combinaison(s) possible(s) Combinaison : [ Noir Noir Rouge Vert ] Témoin(s) noir(s) : 0, Témoin(s) blanc(s) : combinaison(s) supprimée(s) Appuyez sur la touche Entrée pour continuer > Tentative n 3 40 combinaison(s) possible(s) Combinaison : [ Rouge Blanc Jaune Rouge ] Témoin(s) noir(s) : 3, Témoin(s) blanc(s) : 0 38 combinaison(s) supprimée(s) Appuyez sur la touche Entrée pour continuer > Tentative n 4 2 combinaison(s) possible(s) Combinaison : [ Jaune Blanc Jaune Rouge ] Témoin(s) noir(s) : 2, Témoin(s) blanc(s) : 2 1 combinaison(s) supprimée(s) Appuyez sur la touche Entrée pour continuer > Tentative n 5 1 combinaison(s) possible(s) Combinaison : [ Rouge Blanc Jaune Jaune ] Témoin(s) noir(s) : 4, Témoin(s) blanc(s) : 0 Sublime IA a trouvé la combinaison : [ Rouge Blanc Jaune Jaune ] Résolution d une combinaison par l ordinateur Nous nous apercevons que l ordinateur trouve en un essai de moins et aurait pu trouver en quatre coups s il avait eut plus de chance lors du quatrième essai (1 chance sur 2). Quoiqu il en soit, l ordinateur a trouvé notre combinaison avec succès. 2007/ / 8 - ESIAL
8 Extensions Nous avons apporté quelques améliorations à notre programme afin d augmenter ses fonctionnalités. Tout d abord, nous avons ajouté une limite au nombre de tours à jouer maximum. Comme dans les vrais Master-Minds, les joueurs doivent trouver en moins d un certains nombre de essais. Nous avons fixé la limite à 8. Celle-ci peut être modifiée en changeant la valeur dans la classe Constante. Grâce à la généralisation et à la conception par héritage, nous avons la possibilité de faire jouer un ordinateur contre un autre ou bien un humain contre un autre humain. Conclusion Le projet était intéressant grâce au fait d être totalement libre de concevoir du début à la fin l architecture complète du programme. Cela nous a ainsi incités à réfléchir sur les différentes manières de concevoir le problème afin d élaborer au mieux l organisation des classes, packages et méthodes à utiliser. Nous avons utilisé des méthodes qui n ont pas encore été vu en cours comme l héritage ou la conception via un diagramme UML. Cela nous a facilités grandement la tâche pour la suite du développement. Le plus difficile pour nous a été de réaliser la seconde partie avec la résolution du système algorithmiquement. Le duo mathématicien (Loïc) et informaticien (Olivier) que nous formions nous as permis de surmonter ce problème et aussi de partager nos connaissances dans nos différentes spécialités. Comme amélioration complémentaire nous avions pensé mettre une interface graphique en utilisant un MVC, mais les consignes au sujet des extensions n étaient pas très claires et par conséquent nous avons limité les développements supplémentaires afin de coller au mieux au cahier des charges fournis. 2007/ / 8 - ESIAL
Ecran : Processeur : OS : Caméra : Communication : Mémoire : Connectique : Audio : Batterie : Autonomie : Dimensions : Poids : DAS :
SMARTPHONE - DUAL-CORE - NOIR 3483072425242 SMARTPHONE - DUAL-CORE - BLEU XXXX SMARTPHONE - DUAL-CORE - BLANC 3483072485246 SMARTPHONE - DUAL-CORE - ROSE 3483073704131 SMARTPHONE - DUAL-CORE - ROUGE XXXX
Plus en détailLangage Java. Classe de première SI
Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les
Plus en détailDéroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009
Déroulement Algorithmes et structures de données Cours 1 et 2 Patrick Reuter http://www.labri.fr/~preuter/asd2009 CM mercredi de 8h00 à 9h00 (Amphi Bât. E, 3 ème étage) ED - Groupe 3 : mercredi, 10h30
Plus en détailTD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
Plus en détailResolution limit in community detection
Introduction Plan 2006 Introduction Plan Introduction Introduction Plan Introduction Point de départ : un graphe et des sous-graphes. But : quantifier le fait que les sous-graphes choisis sont des modules.
Plus en détailI. Introduction aux fonctions : les fonctions standards
Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons
Plus en détailCours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé. http://www.rzo.free.fr
Cours de Java Sciences-U Lyon Java - Introduction Java - Fondamentaux Java Avancé http://www.rzo.free.fr Pierre PARREND 1 Octobre 2004 Sommaire Java Introduction Java Fondamentaux Histoire de Java Machine
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détail4. Groupement d objets
Conception objet en Java avec BlueJ une approche interactive 4. Groupement d objets Collections et itérateurs David J. Barnes, Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0 Principaux
Plus en détailJava Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites
Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)
Plus en détailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Plus en détailEPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0
Plus en détailUML (Diagramme de classes) Unified Modeling Language
UML (Diagramme de classes) Unified Modeling Language Sommaire Introduction Objectifs Diagramme de classes Classe (Nom, attribut, opération) Visibilité et portée des constituants d une classe Association
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détailbasée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes
Plus en détailQuatrième partie IV. Test. Test 15 février 2008 1 / 71
Quatrième partie IV Test Test 15 février 2008 1 / 71 Outline Introduction 1 Introduction 2 Analyse statique 3 Test dynamique Test fonctionnel et structurel Test structurel Test fonctionnel 4 Conclusion
Plus en détailExamen Médian - 1 heure 30
NF01 - Automne 2014 Examen Médian - 1 heure 30 Polycopié papier autorisé, autres documents interdits Calculatrices, téléphones, traducteurs et ordinateurs interdits! Utilisez trois copies séparées, une
Plus en détailIntelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com
Intelligence Artificielle et Systèmes Multi-Agents Badr Benmammar bbm@badr-benmammar.com Plan La première partie : L intelligence artificielle (IA) Définition de l intelligence artificielle (IA) Domaines
Plus en détailVous incarnez un surdoué en informatique qui utilise son ordinateur afin de pirater des comptes bancaires un peu partout dans le monde et s en mettre
Vous incarnez un surdoué en informatique qui utilise son ordinateur afin de pirater des comptes bancaires un peu partout dans le monde et s en mettre plein les poches. Problème : vous n êtes pas seul!
Plus en détailPlan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Plus en détailPoker. A rendre pour le 25 avril
Poker A rendre pour le 25 avril 0 Avant propos 0.1 Notation Les parties sans * sont obligatoires (ne rendez pas un projet qui ne contient pas toutes les fonctions sans *). Celles avec (*) sont moins faciles
Plus en détailAlgorithmique 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étail1.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étailas Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
Plus en détailB B A C U C C U C G 2 E 0 B 0
Test psychotechnique ISI : Mastermind Test psychotechnique ISI : Mastermind Le Mastermind est un jeu de société, créé danss les années 70, opposant deux adversaires et dans lequel l un des joueurs doit
Plus en détailDé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étailCours 7 : Utilisation de modules sous python
Cours 7 : Utilisation de modules sous python 2013/2014 Utilisation d un module Importer un module Exemple : le module random Importer un module Exemple : le module random Importer un module Un module est
Plus en détailProbabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12
Probabilités. I - Rappel : trois exemples. Exemple 1 : Dans une classe de 25 élèves, il y a 16 filles. Tous les élèves sont blonds ou bruns. Parmi les filles, 6 sont blondes. Parmi les garçons, 3 sont
Plus en détailProjet 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étailTD/TP PAC - Programmation n 3
Université Paris Sud Licence d informatique/iup-miage2 Année 2004-2005 Auteur : Frédéric Vernier Semaine : 11-16 octobre 2004 Conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html
Plus en détailDossier projet isn 2015 par Victor Gregoire
Dossier projet isn 2015 par Victor Gregoire Plan: I) But du projet: créer un jeu de blackjack fonctionnel et le poster sur une page web mise en ligne. Le jeu sera developpé en C++ a l'aide de code blocks.
Plus en détailAnnexe 3. Le concept : exemple d une situation d apprentissage.
Annexe 3. Le concept : exemple d une situation d apprentissage. Le concept choisi ici comme exemple est une figure arbitrairement définie, appelée «WEZ», reprise d une expérience de Smoke cité dans un
Plus en détailBases Java - Eclipse / Netbeans
Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement
Plus en détailEnseignement secondaire technique
Enseignement secondaire technique Régime technique Division technique générale Cycle moyen Informatique 11TG Nombre de leçons: 2.0 Nombre minimal de devoirs: - Langue véhiculaire: / Remarque générale:
Plus en détailInformation utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/
Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailIndications pour une progression au CM1 et au CM2
Indications pour une progression au CM1 et au CM2 Objectif 1 Construire et utiliser de nouveaux nombres, plus précis que les entiers naturels pour mesurer les grandeurs continues. Introduction : Découvrir
Plus en détailCours Informatique Master STEP
Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions
Plus en détailGénéralités sur le Langage Java et éléments syntaxiques.
Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...
Plus en détailIntroduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
Plus en détailCours d algorithmique pour la classe de 2nde
Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage
Plus en détailProgrammation Par Objets
Programmation Par Objets Structures de données package java.util B. Carré Polytech Lille 1 Tableaux et structures de données Tableaux «Objets» taille fixe type des éléments : primitif (homogène) ou objets
Plus en détailCours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Plus en détailProgrammation en Java IUT GEII (MC-II1) 1
Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)
Plus en détailCours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
Plus en détailCalculs de probabilités avec la loi normale
Calculs de probabilités avec la loi normale Olivier Torrès 20 janvier 2012 Rappels pour la licence EMO/IIES Ce document au format PDF est conçu pour être visualisé en mode présentation. Sélectionnez ce
Plus en détailObjets et Programmation. origine des langages orientés-objet
Objets et Programmation origine des langages orientés-objet modularité, encapsulation objets, classes, messages exemples en Java héritage, liaison dynamique G. Falquet, Th. Estier CUI Université de Genève
Plus en détailInitiation à l algorithmique
Informatique S1 Initiation à l algorithmique procédures et fonctions 2. Appel d une fonction Jacques TISSEAU Ecole Nationale d Ingénieurs de Brest Technopôle Brest-Iroise CS 73862-29238 Brest cedex 3 -
Plus en détailINF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude
INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude
Plus en détailJean Dubuffet AUTOPORTRAIT II - 1966
Jean Dubuffet AUTOPORTRAIT II - 1966 MON VISAGE A LA MANIERE DE JEAN DUBUFFET OBJECTIFS - utiliser son expérience sensorielle visuelle pour produire une œuvre picturale. - réaliser une œuvre s'inspirant
Plus en détailBernard HAMM, Évelyne LAVOISIER
92 MAÎTRISE DE PROGICIELS DE GESTION DE BASES DE DONNÉES ET DE TRAITEMENT DE TEXTE Compte rendu d'un stage à l'usage des professeurs de sciences sociales. Ce stage a été programmé A la demande et avec
Plus en détailQuelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Plus en détailACTIVITÉ DE PROGRAMMATION
ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,
Plus en détailLangage 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étailPourquoi l apprentissage?
Pourquoi l apprentissage? Les SE sont basés sur la possibilité d extraire la connaissance d un expert sous forme de règles. Dépend fortement de la capacité à extraire et formaliser ces connaissances. Apprentissage
Plus en détailFiche pédagogique : ma famille et moi
Fiche pédagogique : ma famille et moi Tâche finale de l activité : Jouer au «Cluedo» Niveau(x) Cycle 3 Contenu culturel : - jeux de sociétés Connaissances : Connaissances requises : - cf séquences primlangue
Plus en détailTutoriel Sage One Edition Expert-Comptable. - Le cabinet d Expertise-Comptable doit appeler le Service Client Sage One au 0825 95 00 70.
Tutoriel Sage One Edition Expert-Comptable Sage One Edition Expert-Comptable : inscription et identifiants - Le cabinet d Expertise-Comptable doit appeler le Service Client Sage One au 0825 95 00 70. -
Plus en détailPrénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004
Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)
Plus en détailSTAGE IREM 0- Premiers pas en Python
Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer
Plus en détailFlux de données Lecture/Ecriture Fichiers
Flux de données Lecture/Ecriture Fichiers 1 Un flux de données est un objet qui représente une suite d octets d un programme pour une certaine destination ou issus d une source pour un programme flux d
Plus en détailManuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2
éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........
Plus en détailIFT2255 : Génie logiciel
IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti
Plus en détailLicence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Plus en détailLa programmation orientée objet et le langage C++
Cours précédents La programmation orientée objet et le langage C++ Pablo Rauzy rauzy @ enst fr pablo.rauzy.name/teaching.html#epu-cpp EISE4 @ Polytech UPMC 22 octobre 2014 Cours 5 Nouveautés du C++ par
Plus en détailLes nombres entiers. Durée suggérée: 3 semaines
Les nombres entiers Durée suggérée: 3 semaines Aperçu du module Orientation et contexte Pourquoi est-ce important? Dans le présent module, les élèves multiplieront et diviseront des nombres entiers concrètement,
Plus en détailEstimation des charges. «Le travail se dilate jusqu à remplir le temps disponible»
«Le travail se dilate jusqu à remplir le temps disponible» Le savoir faire du chef de projet Pas d excès d optimisme Retour sur expérience Toujours garder de la marge Identifier les points à risque Ne
Plus en détailProbabilités Loi binomiale Exercices corrigés
Probabilités Loi binomiale Exercices corrigés Sont abordés dans cette fiche : (cliquez sur l exercice pour un accès direct) Exercice 1 : épreuve de Bernoulli Exercice 2 : loi de Bernoulli de paramètre
Plus en détailCQP Développeur Nouvelles Technologies (DNT)
ORGANISME REFERENCE STAGE : 26572 20 rue de l Arcade 75 008 PARIS CONTACT Couverture géographique : M. Frédéric DIOLEZ Bordeaux, Rouen, Lyon, Toulouse, Marseille Tél. : 09 88 66 17 40 Nantes, Lille, Strasbourg,
Plus en détailAide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr
Aide mémoire UML & Java 1ère partie : Introduction marc.lemaire@u-cergy.fr 9 septembre 2014 1 2014 v1.11 Table des matières 1 Généralités 6 1.1 Notations utilisées.....................................
Plus en détailTEST 17 FORCE 2. gums. chewing gums. Russie : badge. rouge. trompé.
TEST 17 éclencher lee chronomètree pour 20 minutes FORCE 2 3 Lire le texte et répondre aux questions. 1 GLOP et GLUP collectionnent les chaussettes trouées et en possènt ensemble 216. Si GLUP donnait 3
Plus en détailDevenez un véritable développeur web en 3 mois!
Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web
Plus en détailPERSONNALISEZ VOTRE COMMUNICATION D ENTREPRISE! WWW.MANGERBOUGER.FR Pour votre santé, pratiquez une activité physique régulière.
PERSONNALISEZ VOTRE COMMUNICATION D ENTREPRISE! WWW.MANGERBOUGER.FR Pour votre santé, pratiquez une activité physique régulière. UN LARGE CHOIX DE PACKS POUR CRÉER VOS MY M&M S PERSONNALISÉS! OFFREZ UN
Plus en détailLogiciel Libre Cours 3 Fondements: Génie Logiciel
Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/
Plus en détailINGENIERIE DES SYSTEMES INFORMATIQUES - PARCOURS : MOBILITE ET CLOUD COMPUTING
INGENIERIE DES SYSTEMES INFORMATIQUES - PARCOURS : MOBILITE ET CLOUD COMPUTING Préparez ce diplôme à l école de d ingénierie de l IGA OBJECTIFS DE LA FORMATION Dans un contexte de mutation économique et
Plus en détailMATHEMATIQUES ET SCIENCES POUR L INGENIEUR
MASTER SCIENCES, TECHNOLOGIES, SANTE/STAPS MATHEMATIQUES ET SCIENCES POUR L INGENIEUR Informatique www.univ-littoral.fr OBJECTIFS DE LA FORMATION Le master Informatique se compose de deux parcours et se
Plus en détail1 Recherche en table par balayage
1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément
Plus en détailCours 1 : Introduction Ordinateurs - Langages de haut niveau - Application
Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un
Plus en détailMaster IMA - UMPC Paris 6 RDMM - Année 2009-2010 Fiche de TP
Master IMA - UMPC Paris 6 RDMM - Année 2009-200 Fiche de TP Préliminaires. Récupérez l archive du logiciel de TP à partir du lien suivant : http://www.ensta.fr/~manzaner/cours/ima/tp2009.tar 2. Développez
Plus en détailLeçon N 4 : Statistiques à deux variables
Leçon N 4 : Statistiques à deux variables En premier lieu, il te faut relire les cours de première sur les statistiques à une variable, il y a tout un langage à se remémorer : étude d un échantillon d
Plus en détail2. Comprendre les définitions de classes
Conception objet en Java avec BlueJ une approche interactive 2. Comprendre les définitions de classes Analyser le contenu des classes David J. Barnes, Michael Kölling version française: Patrice Moreaux
Plus en détailNavigation dans Windows
Cours 03 Navigation dans Windows Comme je le disais en introduction, notre souris se révèle plus maligne qu'elle n'en a l'air. À tel point qu'il faut apprendre à la dompter (mais c'est très simple, ce
Plus en détailProjet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :
CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 I. Objectif du TP TP1 : Initiation à Java et Eclipse Programmation Mobile Initiation à l environnement Eclipse et aux notions de base du langage Java. II. Environnement
Plus en détailwww.forex.eu MADE IN SWITZERLAND.
MADE IN SWITZERLAND. Airex AG, fondé en 1956, est leader dans le secteur du plastique expansé grâce à des innovations ciblées. En plus des fabrications de solutions techniques pour l industrie, Airex AG
Plus en détailAnne 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étailPackage Java.util Classe générique
Package Java.util Classe générique 1 Classe Vector La taille est dynamique: dès qu un tableau vectoriel est plein, sa taille est doublée, triplée, etc. automatiquement Les cases sont de type Object add(object
Plus en détailMANUEL UTILISATEUR SOPISAFE V 3.5
MANUEL UTILISATEUR SOPISAFE V 3.5 Sommaire PREMIERE PARTIE : INSTALLATION DE SOPISAFE... 3 INSTALLATION SOUS WINDOWS... 3 DEUXIEME PARTIE : L INTERFACE UTILISATEUR DE SOPISAFE V3.5... 5 PARAMETRAGE PAR
Plus en détailPolymorphisme, la classe Object, les package et la visibilité en Java... 1
Polymorphisme, la classe Object, les package et la visibilité en Java. Polymorphisme, la classe Object, les package et la visibilité en Java.... 1 Polymorphisme.... 1 Le DownCast... 4 La Classe Object....
Plus en détailTP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts
E3FI ESIEE Paris Systèmes et scripts B. Perret TP : Shell Scripts 1 Remarque générale Lorsque vous cherchez des informations sur Internet, n'oubliez pas que langage de shell script que nous avons vu correspond
Plus en détailUFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE 2014-2018
UFR d Informatique FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE 2014-2018 Objectif L UFR d informatique propose au niveau du master, deux spécialités sous la mention informatique
Plus en détailISFA INSTITUT DE SCIENCE FINANCIÈRE ET D ASSURANCES GRANDE ÉCOLE D ACTUARIAT ET DE GESTION DES RISQUES
ISFA INSTITUT DE SCIENCE FINANCIÈRE ET D ASSURANCES GRANDE ÉCOLE D ACTUARIAT ET DE GESTION DES RISQUES L ISFA et ses formations Focus sur S2IFA INSTITUT DE SCIENCE FINANCIÈRE ET D ASSURANCES L ISFA, CRÉÉ
Plus en détailINTRODUCTION 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étailCours de Génie Logiciel
Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes
Plus en détailUE C avancé cours 1: introduction et révisions
Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple
Plus en détailLangage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr
Plus en détailCours pratique Excel. Dans chacune des feuilles, les donnés sont déjà entrées afin de gagner du temps.
Cours pratique Excel Présentation du classeur cours.xls C est un classeur qui contient 7 feuilles Liste de personnes Calculs simples Solde Listes Auto Relatif Absolu Formats Paye Cours AFM Dans chacune
Plus en détailBenny Creppy Claudia Senardière
Benny Creppy Claudia Senardière Master 1. 2 Etudes et Analyses Marketing et Commerciales Quelles nouveautés sur Internet concernant les panels? Travail de synthèse effectué dans la cadre du master 2 Etudes
Plus en détailFormation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux
Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un
Plus en détailLMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour
LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections
Plus en détail