LIFAP1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION

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

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java


Le langage C. Séance n 4

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Procédure de sauvegarde pour AB Magique

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

Eclipse atelier Java

Sélection du contrôleur

Pop-Art façon Roy Liechtenstein

Mise en route de Cobian Backup

Silhouette Studio Leçon N 2

PAGE 1. L écran du logiciel d Open Office Draw. Barre de menu: Les commandes du logiciel

Premier cours d informatique

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

TUTORIEL IMPRESS. Ouvrir Impress cocher «présentation vierge», «suivant» cocher «écran», «suivant» cocher «standard», «créer»

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Introduction à la présentation graphique avec xmgrace

BUREAU VIRTUEL. Utilisation de l application sur ipad. Guide utilisateur. Sciences Po Utilisation du bureau virtuel sur ipad 1 / 6

Utiliser le service de messagerie électronique de Google : gmail (1)

Guide d installation de MySQL

Tux Paint. 1. Informations générales sur le logiciel. Auteur : Bill Kendrick et l équipe de développement de New Breed Software

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

Gérer ses fichiers et ses dossiers avec l'explorateur Windows. Février 2013

Utilisation du client de messagerie Thunderbird

Introduction à Windows 8

Fiche n 14 : Import / Export avec PlanningPME

Tutoriel code::blocks

Support de formation Notebook

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

TP : Gestion d une image au format PGM

Guide de démarrage rapide. (pour la version 5.0.)

Club informatique Mont-Bruno Séances du 05 octobre et du 24 octobre 2012 Présentateurs : Réjean Côté

Installation d un manuel numérique 2.0

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

Algorithmique et Programmation, IMA

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Introduction à l informatique en BCPST

Enregistrement de votre Géorando Maxi Liberté

TP1 : Initiation à Java et Eclipse

FICHIERS ET DOSSIERS

TP1. Outils Java Eléments de correction

Dropbox par un nul et pour des nuls

Création d une SIGNATURE ANIMÉE avec PHOTOFILTRE 7

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)

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Découvrir l'ordinateur (niveau 2)

Introduction à Eclipse

Open-Sankoré. Mise en route. Guide utilisateur Février 2013 NTICE (E. S.)

Anne Tasso. Java. Le livre de. premier langage. 6 e édition. Groupe Eyrolles, 2000, 2002, 2005, 2006, 2008, 2010, ISBN :

Ecran : Processeur : OS : Caméra : Communication : Mémoire : Connectique : Audio : Batterie : Autonomie : Dimensions : Poids : DAS :

Les 18 icônes du poste de pilotage (Salle Tecnilab)

Installation d un ordinateur avec reprise des données

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

TP1 : Initiation à Java et Eclipse

Opérations de base sur ImageJ

Mini_guide_Isis.pdf le 23/09/2001 Page 1/14

Introduction au langage C

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

Cours 1 : Qu est-ce que la programmation?

INSTALLATION CONFIGURATION D OWNCLOUD. La réponse informatique

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Virtual Universe aperçu numéro 1

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

Guide de l utilisateur. Faites connaissance avec la nouvelle plateforme interactive de

Organiser vos documents Windows XP

Constituer et gérer une bibliographie avec le logiciel zotero. Support de cours et liens utiles

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Assistant d e tablissement de Tableaux

Structure du format BMP, sa lecture, sa construction et son écriture

Avertissement : Nos logiciels évoluent rendant parfois les nouvelles versions incompatibles avec les anciennes.

La Clé informatique. Formation Excel XP Aide-mémoire

Outils pour la pratique

Manuel de mise en page de l intérieur de votre ouvrage

Sommaire. Images Actives Logiciel libre développé par le CRDP de l académie de Versailles 2 Rue Pierre Bourdan Marly le Roi

Dans l idéal, ceci devrait être fait en amont pour chaque image envoyée sur l espace de stockage de votre site internet.

Table des matières. F. Saint-Germain / S. Carasco Document réalisé avec OpenOffice.org Page 1/13

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

Récupération de données perdues

ENVOI SIMPLE (SMS)...

Exporter des écritures. Importer des écritures. Depuis EBP Comptabilité.

Utilisation de la Plateforme Office365 et d Oultlook Web App

Connecteur Zimbra pour Outlook 2007 et 2010 (ZCO) w

Initiation à Excel. Frédéric Gava (MCF)

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Installation et utilisation de Cobian Backup 8

Club informatique Mont-Bruno Séances du 20 février et du 11 mars 2009 Présentateurs : Réjean Côté et André Charest

Construire des plug-ins pour SAS Management Console SAS 9.1

Securexam pour le programme CPA,CGA

Conventions d écriture et outils de mise au point

Découverte de Python

Utiliser Dev-C++ .1Installation de Dev-C++ Table des matières

Présentation du langage et premières fonctions

Manuels numériques et bibliothèque Didier Guide pratique

Documentation Technique du programme HYDRONDE_LN

Rechercher et supprimer les doublons!

Transcription:

Licence STS Université Claude Bernard Lyon I LIFAP1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION 1 COURS 5 : Programmation graphique

OBJECTIFS DE LA SÉANCE Commencer à faire de la programmation graphique Créer des fenêtres pour dessiner dedans Dessiner des formes de bases Faire évoluer ces formes dans l espace Apprendre à utiliser une bibliothèque Savoir comment l installer Trouver les fonctions qu elle propose 2

PLAN Qu est-ce qu une bibliothèque? Dessiner sur une console «graphiquement» GrAPic : Graphics for Algo/Prog in C/C++ Les formes de bases Les couleurs Les chaines de caractères Les images Les évènements Et en TP Comment l installer Créer un nouveau projet 3

LES LIBRAIRIES / BIBLIOTHÈQUES 1 bibliothèque est Ensemble de fonctions programmées par d autres Mises à disposition pour tous Constituée Du code source des fonctions D une documentation listant les fonctions et décrivant les paramètres d entrée et de sortie Beaucoup de bibliothèques disponibles Dans chacun des langages de programmation En C/C++ : stdlib, math, iostream 4

PLAN Qu est-ce qu une bibliothèque? Dessiner sur une console «graphiquement» GrAPic : Graphics for Algo/Prog in C/C++ Les formes de bases Les couleurs Les chaines de caractères Les images Les évènements Et en TP Comment l installer Créer un nouveau projet 5

DESSINER DANS LA CONSOLE Jusque là pour dessiner, nous avons utilisé la console 6

DESSINER DANS LA CONSOLE C est contraignant On commence toujours en haut à gauche Il faut dessiner ligne par ligne On ne change pas de couleur On ne peut pas «lisser» les dessins 7

NOUS ON VOUDRAIT FAIRE 8

POUR CELA IL FAUT Créer une fenêtre graphique Savoir dessiner dedans Savoir gérer les évènements clavier et souris Donc connaître / savoir programmer beaucoup de choses ou utiliser une bibliothèque pour nous simplifier le travail! 9

PLAN Qu est-ce qu une bibliothèque? Dessiner sur une console «graphiquement» GrAPic : Graphics for Algo/Prog in C/C++ Les formes de bases Les couleurs Les chaines de caractères Les images Les évènements Et en TP Comment l installer Créer un nouveau projet 10

GRAPIC: GRAPHICS FOR ALGO/PROG IN C/C++ Bibliothèque pour ajouter des fonctionnalités graphiques à votre code C / C ++ Fournit des fonctions graphiques faciles à utiliser http://liris.cnrs.fr/alexandre.meyer/grapic/ 11

CRÉER UNE FENETRE ET L AFFICHER int main(int, char** ) { bool stop=false; wininit : crée un fenêtre avec un nom et une taille donnée wininit("lifap1 TP3", 500, 500); backgroundcolor( 100, 50, 200 ); while(!stop ) { winclear(); draw(); stop = windisplay(); } backgroundcolor : indique la couleur de cette fenêtre winclear : vide l affichage windisplay : rafraichit l affichage } winquit(); return 0; winquit : ferme la fenêtre 12

CRÉER UNE FENETRE ET L AFFICHER int main(int, char** ) { bool stop=false; wininit("lifap1 TP3", 500, 500); backgroundcolor( 100, 50, 200 ); while(!stop ) { winclear(); draw(); stop = windisplay(); } winquit(); return 0; } windisplay : Rafraichit l affichage Boucle TANTQUE pour attendre une action de l utilisateur Si l utilisateur clique sur la croix pour fermer de la fenêtre, alors la fonction renvoie stop draw : Fonction dans laquelle nous allons mettre ce que nous voulons dessiner 13

CRÉER UNE FENETRE ET L AFFICHER int main(int, char** ) { bool stop=false; wininit : crée un fenetre avec un nom et une taille donnée wininit("lifap1 TP3", 500, 500); backgroundcolor( 100, 50, 200 ); while(!stop ) { winclear(); draw(); stop = windisplay(); } backgroundcolor : indique la couleur de cette fenêtre winclear : vide l affichage windisplay : rafraichit l affichage } winquit(); return 0;!!! coordonnées x=0 ; y=0!!! 14

LES FORMES DE BASES Une ligne entre le point (x1, y1) et le point (x2, y2) void line (int x1, int y1, int x2, int y2) Un rectangle (vide ou plein) entre le point (xmin,ymin) et le point (xmax,ymax) void rectangle (int xmin, int ymin, int xmax, int ymax) void rectanglefill (int xmin, int ymin, int xmax, int ymax) Un cercle (vide ou plein) de centre (xc, yc) et de rayon r void circle (int xc, int yc, int r) void circlefill (int xc, int yc, int r) 15

PAR EXEMPLE // Si on définit la taille de // notre fenetre à 500*500 const int DIMW = 500; // On peut dessiner ainsi : void draw() { color( 150, 10, 50); rectangle( DIMW/2-200, DIMW/2, DIMW/2, DIMW/2 + 200 ); rectanglefill( DIMW/2, DIMW/2, DIMW/2 + 200, DIMW/2 + 200 ); } 16

LES COULEURS Une couleur est définie par ses composantes Rouge-Verte-Bleue Chaque composante est un nombre entre 0 et 255 Par exemple : Noir = 000 Blanc = 255 255 255 Rouge = 25500 La couleur du pinceau void color (int rouge, int vert, int bleu) La couleur du fond de la fenêtre void backgroundcolor (int rouge, int vert, int bleu) 17

Les chaines de caractères Ecrire un texte commençant aux coordonnées (x,y) print( int x, int y, const char *txt); print( 10, 20, "Bonjour"); print( int x, int y, float nb); print( 10, 20, 3.14); Définir la taille de la police d écriture void fontsize (int s) 18

LES IMAGES struct Data{ }; Image im; Elles sont stockées dans une structure particulière Data void init(data& d) { } d.im = image("data/grapic.bmp", true, 255, 255, 255, 255); image( ) : permet de charger l image se trouvant à l endroit data/grapic.bmp void draw(data& d) { image_draw(d.im, 0, 255); } image_draw( ) : permet d afficher l image aux coordonnées (x, y) 19

LES ÉVÈNEMENTS : LA SOURIS Savoir quand l utilisateur a cliqué avec la souris bool ismousepressed (int button) Il faut préciser quel bouton on regarde : DL_BUTTON_LEFT / DL_BUTTON_RIGHT Connaître la position de la souris quand l utilisateur clique void mousepos (int &x, int &y) int x,y; mousepos(x,y); // sauve la position de la souris if ((ismousepressed(sdl_button_left)) // si l utilisateur a cliqué // sur le bouton gauche && (x>10) && (y>10) && (x<50) && (y<50)) // et que la souris se trouve // dans cet endroit de l écran {... } // alors

PLAN Qu est-ce qu une bibliothèque? Dessiner sur une console «graphiquement» GrAPic : Graphics for Algo/Prog in C/C++ Les formes de bases Les couleurs Les chaines de caractères Les images Les évènements Et en TP Comment l installer Créer un nouveau projet 21

COMMENT INSTALLER GRAPIC? Si vous travaillez de chez vous, il faut installer CodeBlocks Version codeblocks-16.01mingwsetup.exe Télécharger GrAPic http://liris.cnrs.fr/alexandre.meyer/grap ic/html/index.html Le décompresser Ouvrir le fichier Grapic/build/windows/grapic_w orkspace avec Codeblocks Vous avez accès à tous les projets de l archive

COMMENT ACTIVER UN PROJET Pour choisir quel projet compiler et exécuter, il faut l activer Vous pouvez ouvrir et modifier plusieurs projet en même temps Mais un seul est actif et donc compilable / executable à la fois Les sources des projets Dans grapic/apps Les executables des projets Dans grapic/bin

Comment créer un nouveau projet Sous Windows (en TP) Copier le dossier apps/start dans un nouveau dossier apps/myproject Remplacer MYPROJECT par le nom que vous voulez. Renommer apps/myproject/main_start.cpp en main_myproject.cpp Editer le fichier Grapic/premake4.lua et ajouter à la fin make_project( "MYPROJECT", "apps/myproject/main_myproject.cpp" ) Exécuter le script 'premake.bat Sous Linux et Mac : regarder la documentation sur le site

COMMENT TROUVER UNE FONCTION Regarder la documentation Specifications des fonctions, Explication de leur fonctionnement, exemples d utilisation

Comment s entrainer Faire les tutoriels

A VOUS DE JOUER!