R&T 1 M Programmation Orientée Objet
|
|
- Quentin Chaput
- il y a 7 ans
- Total affichages :
Transcription
1 TABLE DES MATIÈRES 2 PRISE EN MAIN DE LA LIBRAIRIE PYGAME R&T 1 M Programmation Orientée Objet - TP3 : 2048, Une approche de pygame - 18 avril 2014 Table des matières 1 Présentation du sujet 1 2 Prise en main de la librairie pygame Présentation (très) rapide de pygame Premier programme La classe case Déclaration et constructeur La méthode update Programme de test de la classe case La classe quadrillage Déclaration et constructeur La méthode ajout_case La méthode actualiser_affichage La méthode PasFini Les méthodes touche_haut, touche_bas, touche_gauche et touche_droite Programme de test de la classe quadrillage Présentation du sujet Vous allez travailler sur le jeu Le résultat final est disponible dans le dossier But_Du_TP. Un extrait de code vous est fourni pour vous aider à démarrer. Le but du jeu est de faire glisser des tuiles sur une grille, pour les combiner et créer ainsi une tuile portant le nombre (Wikipedia) Pour créer votre jeu, vous allez créer les paquets et y implanter les classes nécessaires. 2 Prise en main de la librairie pygame 2.1 Présentation (très) rapide de pygame La librairie PyGame est une implémentation Python de la libraire SDL (Simple DirectMedia Layer). Elle permet la réalisation de jeux vidéo en 2D (comme les anciens jeux d arcade). Elle gère automatiquement toute la partie vidéo du programme, seule reste à écrire la partie «intelligente» du jeu. De la documentation est disponible sur le site : M Programmation Orientée Objet 1 TP3
2 2.2 Premier programme 2 PRISE EN MAIN DE LA LIBRAIRIE PYGAME 2.2 Premier programme Un premier programme (ci-dessous) vous est fourni comme base de travail pour l initialisation de la librairie. 1 #!/ usr / bin / env python 2 # -*- coding : utf -8 -*- 3 4 import sys 5 import os 6 import pygame 7 # from Quadrillage import * 8 9 def main (): 10 pygame. init () 11 size = width, height = 800, 600 # 1024, black = 0, 0, screen = pygame. display. set_mode ( size ) # Titre 17 pygame. display. set_caption (" 2048, Le jeu ") # Remplissage de l arrière - plan 20 background = pygame. Surface ( screen. get_ size ()) 21 background. fill ( black ) clock = pygame. time. Clock () 24 while 1: 25 clock. tick (15) 26 for event in pygame. event. get (): 27 # Une touche est appuyée 28 if event. type == pygame. KEYDOWN : 29 if event. key == pygame. K_ ESCAPE : 30 sys. exit () # Actualisation de l écran 33 pygame. display. flip () if name == main : 37 main () Le programme main_v0.py (recopié ci-dessus) permet d afficher une fenêtre de jeu et de préparer les interactions avec le joueur : La librairie est initialisée par la ligne 10. Plusieurs constantes (taille de la surface de jeu, couleur noire) sont initialisées dans les lignes 11 et 12. La surface de jeu est créée à la ligne 14. Il est possible (pour l instant ce n est pas le cas) de basculer l affichage en plein écran. Les lignes 20 et 21 sont utilisées pour créer un fond noir. Il est aussi possible de placer une image en fond. Un objet de la classe clock est nécessaire pour pouvoir régler la cadence de jeu. Il est crée en ligne 23. La cadence d affichage est fixée à la ligne 25. La partie principale du programme commence ensuite par une boucle while toujours vraie (ce peut être modifié par la suite pour détecter la fin du jeu). Les lignes 26 à 30 détectent l appui sur une touche (pygame.keydown) et quitte le programme si la touche est ESC (pygame.k_escape) est appuyé. M Programmation Orientée Objet 2 TP3
3 3 LA CLASSE CASE La fonction flip est appelée pour mettre à jour l affichage (pour l instant, elle n a rien à faire...). 3 La classe case La classe case doit être stockée dans le fichier Case.py. Cette classe représentent tous les éléments définissant la case telle qu elle sera affichée. Le schéma UML correspondant est le suivant. Les éléments publiques sont précédés par un un +. Les éléments privées sont précédés par un un -. Case + self.val :int + self.image :pygame.image + self.rect :pygame.rect case + init ( valeur :int, width :int, height :int,x :int,y :int) + update() 3.1 Déclaration et constructeur La classe hérite de pygame.sprite.sprite. La bibliothèque pygame étant très grosse elle est ellemême composée de plusieurs modules (dont sprite qui contient la classe Sprite). Le constructeur attend plusieurs arguments : valeur : la valeur de la case (2, 4, 8,...) width : la largeur de la case à créer height : la hauteur de la case à créer x : l abscisse de la case y : l ordonnée de la case Dans le constructeur de la classe case commencez par appeler le constructeur de la classe mère. Dans le constructeur, créez l attribut publics val initialisé avec l argument valeur. La classe Sprite (dont la classe case hérite) contient plusieurs attributs que nous allons utiliser dans la suite du projet. Pour l instant les 2 attributs sur lesquels vous allez travailler sont image et rect. L attribut public image stocke l image à afficher sur l écran. Cette image sera initialisée avec la valeur de retour de la fonction pygame.image.load. L argument utilisé pour cette fonction sera une chaîne de caractère définissant le nom de l image à charger (il faudra utiliser l argument valeur pour construire cette chaîne). Cette image peut être redimensionnée en utilisant les arguments width et height grâce à la fonction pygame.transform.scale. L attribut rect représente la position de l élément affiché ainsi que sa taille. Pour l instant initialisez le avec la valeur de retour de la méthode get_rect de l attribut image ( ref/rect.html). M Programmation Orientée Objet 3 TP3
4 3.2 La méthode update 4 LA CLASSE QUADRILLAGE Cet attribut peut être modifié pour prendre en compte la position donnée en argument (définit par x, y) grâce à son attribut topleft. 3.2 La méthode update La déclaration de cette méthode n est pas utile en elle-même, mais peut être pratique à la compréhension : c est la méthode qui sera appelé par pygame lorsqu un rafraichissement de l écran sera demandé. Dans cette méthode, il suffit d appeler la méthode du même nom de la classe mère. 3.3 Programme de test de la classe case Avant toutes choses, copiez le fichier main_v0.py vers main_v01.py. Création d un objet de la classe case Dans votre programme principal, après les 3 lignes de création du fond, créez un objet de la classe case (n oubliez pas d importer le module avec la commande from case import * au début de votre programme). Vous devez ensuite créer un objet de la classe pygame.sprite.group (ce sera nécessaire pour l affichage). Cet objet est un regroupement d éléments ayant le même «rôle» dans le jeu (même si le groupe ne contient qu un seul élément). Pour placer votre case dans le groupe utilisez la méthode add (de la classe pygame.sprite.group). Dans la boucle principale, après les tests liés aux touches et avant l appel à la fonction flip(), placez les opérations suivantes : Avant d afficher la nouvelle image, vous devez effacer l ancienne (vous pourrez tester votre programme sans cette commande pour voir la différence) en utilisant la méthode blit de l objet screen avec background comme premier paramètre et l attribut (0, 0) comme second paramètre. Appelez ensuite la méthode update de votre objet de la classe pygame.sprite.group. Elle permet de rafraichir tous les éléments du groupe. La méthode draw (toujours de cette objet) avec screen comme argument permet ensuite d afficher tous les éléments (même si pour l instant il n y en a qu un) du groupe. Vous pouvez ensuite tester votre programme, une case doit être affiché à la position que vous lui avez fournit lors de sa construction, appuyez sur ESC pour quitter le programme. 4 La classe quadrillage La classe quadrillage doit être stockée dans le fichier Quadrillage.py. Cette classe représentent tous les éléments définissant la case telle qu elle sera affichée. Le schéma UML correspondant est le suivant. Les éléments publiques sont précédés par un un +. Les éléments privées sont précédés par un un -. M Programmation Orientée Objet 4 TP3
5 4.1 Déclaration et constructeur 4 LA CLASSE QUADRILLAGE Quadrillage quadrillage + damier :list + width :int + height :int + groupecases :pygame.sprite.group() + fond :pygame.image + init ( taille=400 :int) + actualiser_affichage(parent :pygame.sprite) + int :touche_haut() + int :touche_bas() + int :touche_droite() + int :touche_gauche() - ajout_case() - int : PasFini() 4.1 Déclaration et constructeur Le constructeur attend un argument (taille) dont la valeur par défaut est 400 qui définit la taille total du quadrillage du jeu. Dans le constructeur, initialisez les attributs : damier initialisé avec une liste à deux dimensions rempli d éléments VIDE (définit dans le fichier des Constantes). Ce tableau servira à stocker les valeurs des cases à afficher. width initialisé en utilisant l argument taille et définissant la largeur des cases du quadrillage. height initialisé en utilisant l argument taille et définissant la hauteur des cases du quadrillage. groupecases initialisé en utilisant le constructeur de la classe pygame.sprite.group. Cet attribut sera utilisé pour stocker les cases à afficher à l écran. fond initialisée avec la valeur de retour de la fonction pygame.image.load(os.path.join( Images, background.png )).convert(). Cet attribut définit l image de fond du quadrillage. Elle peut être redimensionnée en utilisant l argument taille grâce à la fonction pygame.transform.scale. Pour terminer d initialiser le quadrillage du jeu, il faut ajouter une case. Pour cela, il suffit d appeler la méthode privée ajout_case() (même si pour l instant il n y a rien dedans...). 4.2 La méthode ajout_case Cette méthode permet d ajouter une case à une position aléatoire dans le quadrillage. Pour cela, il faut choisir une position aléatoirement. Si, à cette position, le tableau damier est VIDE alors on ajoute la valeur 2. Si la case n est pas VIDE, il faut en rechercher une autre La méthode actualiser_affichage Cette méthode prend en argument le parent graphique du quadrillage, c est à dire la fenêtre dans laquelle le quadrillage sera affiché (ici c est screen qui est définit dans le programme principal). M Programmation Orientée Objet 5 TP3
6 4.4 La méthode PasFini 4 LA CLASSE QUADRILLAGE Le but est ici de créer et d afficher les cases qui correspondent aux valeurs stockées dans le tableau damier. Pour écrire correctement cette méthode, il faut s inspirer du programme de test de la classe case. Il faut : 1. Initialiser le groupe groupecases grâce à la méthode empty() de la classe pygame.sprite.group. 2. Redessiner le fond du quadrillage (avec blit). 3. Pour chaque position du tableau, créer la case correspondante, à la bonne position, avec la bonne valeur (pour les cases VIDE, vous pourrez donner au constructeur la valeur "vide"). Une fois créée, vous devez ajouter cette case au groupe, avec la méthode add de la classe pygame.sprite.group. 4. Mettre à jour tous les objets du groupe grâce à la méthode update de la classe pygame.sprite.group. 5. Mettre à jour l affichage avec la méthode draw (toujours du même objet) avec parent comme argument. 4.4 La méthode PasFini Le but de cette fonction est de savoir si la partie peut continuer ou est finie (il existe une case 2048 ou il n y a plus de place sur le quadrillage). Cette méthode n a pas d argument d entrée mais a une sortie, l état du jeu : 1 : le jeu est terminé et l utilisateur a perdu (il n y a plus de place dans le quadrillage). 0 : le jeu n est pas terminé. 1 : le jeu est terminé et l utilisateur a gagné. Vous devrez légèrement réfléchir pour savoir quelles sont les actions à faire pour obtenir l état du jeu Les méthodes touche_haut, touche_bas, touche_gauche et touche_droite Elles sont presque identiques. Elles seront à appeler lorsque l utilisateur appuiera sur une touche directionnelle du clavier. Elle permettent de déplacer les valeurs des cases du tableau damier dans la bonne direction et de les fusionner lorsque deux cases se «percutent». Chacune de ces méthodes retourne l état du jeu une fois l opération effectué (voir définition de la méthode PasFini). 4.6 Programme de test de la classe quadrillage Avant toutes choses, copiez le fichier main_v0.py vers main_v1.py. Vous pourrez vous inspirer du fichier main_v01.py précédemment créé. Il vous faudra tout d abord importer et créer une instance de la classe quadrillage : ce sera l objet qui gérera le jeu Il faudra ensuite, dans la boucle principale, après les tests liés aux touches et avant l appel à la fonction flip(), placer les opérations suivantes : : 1. Effacez l ancienne image en utilisant la méthode blit. M Programmation Orientée Objet 6 TP3
7 4.6 Programme de test de la classe quadrillage 4 LA CLASSE QUADRILLAGE 2. Appelez ensuite la méthode qui permet d actualiser l affichage du quadrillage. Ensuite, à partir du test vérifiant la touche ESC, écrivez un test qui vérifie chaque flèche du clavier (K_RIGHT, K_LEFT, K_UP, K_DOWN). Après un appui sur une de ces flèches, la méthode correspondante de la classe quadrillage doit être appelée. Vous devez penser à récupérer l état du jeu fourni par les méthodes de déplacement et arrêter celui-ci lorsqu il est fini. Vous pouvez afficher l état du jeu grâce à une instance de l objet pygame.font.sysfont. Vous pouvez écrire un texte grâce à la méthode render de cet objet et l associer puis l afficher à la fenêtre graphique grâce aux méthodes blit et flip, que vous maîtrisez très bien maintenant... Une fois tout ce travail effectué, vous pouvez jouer à 2048 (modulo les bugs de code...). M Programmation Orientée Objet 7 TP3
Durée estimée :1 journée Date de la réalisation : 2011. Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ
001 Titre : Mesure de température interfacée par carte Arduino Type de réalisation : montage électronique, de surveillance de température Concepteur : C. Rouviere Coordonnées : Laboratoire lbv villefranche/mer
Plus en détailLe langage C. Séance n 4
Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de
Plus en dé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é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é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étailTP 1. Prise en main du langage Python
TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer
Plus en détail1. Base de données SQLite
Dans ce TP, nous allons voir comment créer et utiliser une base de données SQL locale pour stocker les informations. La semaine prochaine, ça sera avec un WebService. On repart de l application AvosAvis
Plus en détailInitiation à la programmation en Python
I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de
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é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é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étailOnce the installation is complete, you can delete the temporary Zip files..
Sommaire Installation... 2 After the download... 2 From a CD... 2 Access codes... 2 DirectX Compatibility... 2 Using the program... 2 Structure... 4 Lier une structure à une autre... 4 Personnaliser une
Plus en détailRACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.
S Vous n aimez pas la souris Les raccourcis clavier sont là pour vous faciliter la vie! INTRODUCTION : Vous avez du mal à vous habituer à la manipulation de la souris Des solutions existent : les raccourcis
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étailProjet Active Object
Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques
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étailInfo0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
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étailOCL - Object Constraint Language
OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object
Plus en détailTemps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Septembre 2011
Temps Réel Jérôme Pouiller Septembre 2011 Sommaire Problèmatique Le monotâche Le multitâches L ordonnanement Le partage de ressources Problèmatiques des OS temps réels J. Pouiller
Plus en détailL informatique en BCPST
L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité
Plus en détailLe 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étailPAGE 1. L écran du logiciel d Open Office Draw. Barre de menu: Les commandes du logiciel
PAGE L écran du logiciel d Open Office Draw Nom du document : Nom d enregistrement Barre de mise forme: Ligne, couleurs, fond,... Barre de menu: Les commandes du logiciel Barre d outils: Les boutons de
Plus en détailÉcole Polytechnique de Montréal. Département de Génie Informatique et Génie Logiciel. Cours INF2610. Contrôle périodique.
École Polytechnique de Montréal Département de Génie Informatique et Génie Logiciel Cours INF2610 Contrôle périodique Automne 2013 Date : 11 octobre 2013 de 18h à 20h Professeur : Boucheneb Hanifa Documentation
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étailIntroduction à 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étailINITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Plus en détailRéalisation d un portail captif d accès authentifié à Internet 10.10.10.1
Master 1 ère année UE Réseaux avancés I Projet Réalisation d un portail captif d accès authentifié à Internet Présentation du projet Le but du projet est de mettre en place un portail captif permettant
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étailGuide de démarrage rapide. (pour la version 5.0.)
Guide de démarrage rapide (pour la version 5.0.) 2 Table des matières Introduction Réglages de l application MyTalk Mobile 1. MODIFICATION 2. DEMARRER 3. AFFICHER 4. SYNTHETISEUR VOCAL 5. NOMBRE DE MOTS
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é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étailProblèmes liés à la concurrence
ENS Cachan Problématique Difficile de gérer la concurrence : Pas toujours facile d avoir des fonctions réentrantes. Risque de race condition : ex : x :=x+1 x :=x+1 On voudrait des blocs d instructions
Plus en détailDéveloppement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com
Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184 Frédéric BERTIN fbertin@neotilus.com Présentaion : Mobile 3D Graphics API JSR 184 M3G :présentation Package optionnel de l api J2ME. Prend
Plus en détailEvaluation et mise en place d un serveur de messages pour Chamilo 2.0
Evaluation et mise en place d un serveur de messages pour Chamilo 2.0 Descriptif Dans ce projet, on va montrer l évaluation et la mise en place d un serveur de message pour Chamilo. Le but est d améliorer
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étailTP, première séquence d exercices.
TP, première séquence d exercices. Benoît Valiron benoit.valiron@lipn.univ-paris13.fr 7 novembre 2010 Introduction Vous écrirez les réponses aux questions courtes sur une feuille à rendre à la fin de la
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étailTp 1 correction. Structures de données (IF2)
Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que
Plus en détailProgrammation 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étailCours de Systèmes d Exploitation
Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation
Plus en détailTraduction des Langages : Le Compilateur Micro Java
BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant
Plus en détailCours 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étailLicence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter
Plus en détailTP : Gestion d une image au format PGM
TP : Gestion d une image au format PGM Objectif : L objectif du sujet est de créer une classe de manipulation d images au format PGM (Portable GreyMap), et de programmer des opérations relativement simples
Plus en détail1/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étailUtilisation d objets : String et ArrayList
Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons
Plus en détailCours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
Plus en détailContrôle distant par liaison SSH Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille
Contrôle distant par liaison SSH Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille 1) TP Configuration client SSH sur PC Connaitre SSH, lire : http://fr.wikipedia.org/wiki/secure_shell
Plus en détail1 Lecture de fichiers
Programmation 1 Cours n 6 GB3, 2 nd semestre 2014-2015 Cours de Python Gilles Bernot 1 Lecture de fichiers Un fichier est une suite de caractères mémorisés sur le disque dur de la machine dans un endroit
Plus en détailExceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;
CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe
Plus en détailCours 14 Les fichiers
Cours 14 Les fichiers F. Gayral 1 Fichier : définition /media/travaux/documents/fgenseignement/java1/courstpsfgfc/14-fichiers/voirtypefichiers Fichier = ensemble d informations codées et stockées sur une
Plus en détailLes processus légers : threads. Système L3, 2014-2015 1/31
Les processus légers : threads Système L3, 2014-2015 1/31 Les threads Les threads sont des processus légers exécutés à l intérieur d un processus L exécution des threads est concurrente Il existe toujours
Plus en détailExercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT
Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,
Plus en détailDécouverte de Python
Découverte de Python Python est un des langages informatiques au programme des concours à partir de la session 2015. Ce tutoriel vous permettra de vous mettre à peu près à niveau de ce qui a été fait en
Plus en détailManuel de System Monitor
Chris Schlaeger John Tapsell Chris Schlaeger Tobias Koenig Traduction française : Yves Dessertine Traduction française : Philippe Guilbert Traduction française : Robin Guitton Relecture de la documentation
Plus en détailMATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.
Page 1 de 9 MATLAB : COMMANDES DE BASE Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */. Aide help, help nom_de_commande Fenêtre de travail (Command Window) Ligne
Plus en détailOpen-Sankoré. Mise en route. Guide utilisateur Février 2013 NTICE (E. S.)
Guide utilisateur Février 2013 NTICE (E. S.) Open-Sankoré Développé à l Université de Lausanne en 2003 sous le nom d Uniboard, ce logiciel combine la simplicité des outils d enseignements traditionnels
Plus en détailMapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15
MapReduce Malo Jaffré, Pablo Rauzy ENS 16 avril 2010 Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 Qu est ce que c est? Conceptuellement Données MapReduce est un framework de calcul distribué
Plus en détailQualité du logiciel: Méthodes de test
Qualité du logiciel: Méthodes de test Matthieu Amiguet 2004 2005 Analyse statique de code Analyse statique de code Étudier le programme source sans exécution Généralement réalisée avant les tests d exécution
Plus en détailProgrammation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle - 2012-2013 P. Bonnet
Programmation VBA Pierre BONNET 21 La programmation VBA Historiquement, la programmation sous Excel avait comme fonction d'automatiser une succession d'actions faites dans la feuille à l'aide de la souris.
Plus en détailChapitre 4 Pierre, papier, ciseaux
Python 3 : objectif jeux Chapitre 4 Chapitre 4 Pierre, papier, ciseaux (version graphique) 4.1. Thèmes abordés dans ce chapitre Le module tkinter : Label, Button Fenêtre Événements Réceptionnaire d'événements
Plus en détailDocumentation utilisateur. [EIP] TransLSF
Documentation utilisateur [EIP] TransLSF Henri HARDILLIER - Thomas MOREL - Florian JOUSSEAU Alexis MONNIER - Keo KHEMARA - Leo MARTIN Stéphane RICARDO Résumé Ce document présente la documentation destinée
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étail1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions
Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 4 : Fonctions La construction de fonctions dans un langage de programmation permet aux
Plus en détailLicence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
Plus en détailLes 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étailCREATION WEB DYNAMIQUE
CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de
Plus en détailExcel 2007 Niveau 3 Page 1 www.admexcel.com
Excel 2007 Niveau 3 Page 1 TABLE DES MATIERES UTILISATION DE LISTES DE DONNEES... 4 REMARQUES PREALABLES SUR LES LISTES DE DONNEES... 4 METTRE EN FORME LE TABLEAU... 6 METTRE LA LISTE A JOUR... 7 a/ Directement
Plus en détailDécouverte du tableur CellSheet
Découverte du tableur CellSheet l application pour TI-83 Plus et TI-84 Plus. Réalisé par Guy Juge Professeur de mathématiques et formateur IUFM de l académie de Caen Pour l équipe des formateurs T 3 Teachers
Plus en détailChapitre 4 : Édition de fichiers texte - Vi
Édition de fichiers texte - Vi ÉNONCÉSDUCHAPITRE4 33 Chapitre 4 : Édition de fichiers texte - Vi X Durée : 1heure30 X Mots-clés : Éditeur, texte, vi, vim. X Objectif À l'issue de ce chapitre, vous serez
Plus en détailAP1.1 : Montages électroniques élémentaires. Électricité et électronique
STI2D Option SIN Terminale AP1.1 : Montages électroniques élémentaires Électricité et électronique Durée prévue : 3h. Problématique : connaître les composants élémentaires de l'électronique Compétences
Plus en détailBUREAU VIRTUEL. Utilisation de l application sur ipad. Guide utilisateur. Sciences Po Utilisation du bureau virtuel sur ipad 1 / 6
BUREAU VIRTUEL Utilisation de l application sur ipad Guide utilisateur Sciences Po Utilisation du bureau virtuel sur ipad 1 / 6 Utilisation du bureau virtuel sur ipad Table des matières PREAMBULE...2 QU
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étailRapport de Projet Béatrice Frey et Cyril Crassin Printemps 2004. Projet Fourmis. Université de Technologie de Belfort-Montbéliard
Rapport de Projet LO43 Béatrice Frey et Cyril Crassin Printemps 2004 Projet Fourmis Université de Technologie de Belfort-Montbéliard GI02 Sommaire Béatrice Frey et Cyril Crassin Rapport Projet LO43 Introduction...
Plus en détailTable des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction
PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés
Plus en détailIntroduction à Expression Web 2
Introduction à Expression Web 2 Définitions Expression Web 2 est l éditeur HTML de Microsoft qui répond aux standard dew3c. Lorsque vous démarrez le logiciel Expression Web 2, vous avez le choix de créer
Plus en détailSupport de formation Notebook
Support de formation Notebook Guide de l utilisateur du tableau interactif SMART Board Table des matières Le Tableau Blanc Interactif... 1 Comprendre le fonctionnement du TBI... 1 Utiliser le plumier
Plus en détailLes chaînes de caractères
Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il
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étailVous avez cliqué sur le lien disponible sur le Site Uniformation. Vous venez d arriver sur cette page.
Vous avez cliqué sur le lien disponible sur le Site Uniformation. Vous venez d arriver sur cette page. Ce site vous permettra de faire votre demande d agrément en ligne. Première étape, vous identifier.
Plus en détailPremiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Plus en dé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étailL exclusion mutuelle distribuée
L exclusion mutuelle distribuée L algorithme de L Amport L algorithme est basé sur 2 concepts : L estampillage des messages La distribution d une file d attente sur l ensemble des sites du système distribué
Plus en détailPré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étailSuivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)
Modularité Extensions Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) généricité modules de première classe : peuvent être
Plus en détailInstallation et configuration du logiciel BauBit
Installation et configuration du logiciel BauBit Version Windows 2013 Version Date Description 1.0 11.2011 Gabriel Python 2.0 01.2013 Gabriel Python 3.0 09.2013 Gabriel Python 1 1 Configuration avant installation
Plus en détailUnity. Moteur de jeu 3D et 2D. Cross platform: Windows, Mac, Linux, ios, Android, Blackberry, Xbox, Playstation, Wii
Unity Moteur de jeu 3D et 2D Cross platform: Windows, Mac, Linux, ios, Android, Blackberry, Xbox, Playstation, Wii C# / Javascript (UnityScript) / Boo Possibilité de créer ses propres outils Programmation
Plus en détailGuide de formation EndNote Web Interface EndNote Web
Guide de formation EndNote Web Interface EndNote Web Document préparé par Marilou Bourque Dernière mise à jour : 2009-12-10 Se créer un compte Ouvrir l application Se créer un compte via Web of science
Plus en détailCOMMENT CREER SIMPLEMENT UN TABLEAU DE BORD AVEC SAS BI DASHBOARD 4.3?
COMMENT CREER SIMPLEMENT UN TABLEAU DE BORD AVEC SAS BI DASHBOARD 4.3? Les versions 4.3 et 4.31 du SAS BI Dashboard offrent de nouvelles fonctionnalités tant pour les utilisateurs finaux (nouvelle application
Plus en détailPROJECTEUR DE DONNEES XJ-A135/XJ-A145/XJ-A155/ XJ-A245/XJ-A255
PROJECTEUR DE DONNEES XJ-A135/XJ-A145/XJ-A155/ XJ-A245/XJ-A255 F Projecteur de données Guide des fonctions sans fil Veillez à lire les précautions dans le Mode d emploi (Opérations de base) fourni avec
Plus en détailUnix/Linux I. 1 ere année DUT. Université marne la vallée
Unix/Linux I 1 ere année DUT Université marne la vallée 1 Introduction 2 Fonctions et spécifité d Unix Architecture 3 4 5 Fichier Unix Arborescence de fichiers Quelques commandes sur les fichiers Chemins
Plus en détailAlgorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
Plus en détailAteliers Python+Qt : Premiers pas : Comment développez ses propres interfaces graphiques sur le RaspberryPi?
Ateliers Python+Qt : Premiers pas : Comment développez ses propres interfaces graphiques sur le RaspberryPi? par X. HINAULT www.mon-club-elec.fr Tous droits réservés 2013. Document gratuit. Ce support
Plus en détailCOMPTA. Description des Commandes
PARAM : Vous permet d entrer vos dates d exercices et de sélectionner l endroit où se trouvent vos factures à importer directement. En principe c:\agi3k\logiciel POUR LA FACTURATION ET LES SALAIRES Logiciel
Plus en détailTravaux Dirigés n 1 : chaînes de caractères
UE LE315 Travaux Dirigés n 1 : chaînes de caractères Exercice 1 Ecrire une fonction int nombre_caract(char *chaîne) qui retourne la taille d une chaîne de caractères. Exercice 2 Ecrire la fonction void
Plus en détail