L-Systèmes : Morphogénèse des plantes

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

Download "L-Systèmes : Morphogénèse des plantes"

Transcription

1 L-Systèmes : Morphogénèse des plantes November 17, 2009 Laurent Orseau <laurent.orseau@agroparistech.fr> Antoine Cornuéjols <antoine@lri.fr> 1 Introduction La récursion, qui est le principe de base des langages de programmation fonctionnels tels Scheme, Lisp ou Caml, est au coeur de nombreux systèmes vivants (notamment la plupart des organismes pluri-cellulaires). En effet, la duplication est une forme de récursion puisqu il s agit de "faire la même chose". Cette duplication peut être identique ou différer selon certaines caractéristiques, comme lorsqu une reine fourmi donne vie à différents types de fourmis. Il en va de même lors de la croissance d organisme multicellulaires : les cellules se répliquent localement, pour donner naissances à de nouvelles cellules qui se répliqueront aussi et ainsi de suite. La récursion est en fait une forme plus générale que l itération telle qu on la voit dans les langages de programmation impératifs comme le C ou le Pascal, avec les boucles for, while, reapeat until,... En effet, il est possible de faire toute itération en récursion, mais l inverse n est pas vrai. Les langages impératifs permettent d ailleurs de faire de la récursion, mais ils ne sont généralement pas créés pour cela. Les itérations (seules) ne permettent pas de prendre en compte que les cellules qui se répliquent peuvent donner naissances à plusieurs cellules qui vont toutes refaire la même opération. Une itération ne fait qu une seule chose à la fois. (Pour contourner ce problème, il est nécessaire de passer par une mémoire sous forme de tableau ou de liste.) En revanche, la modélisation d un tel processus est direct en récursion, car c est ce que fait exactement la récursion. Nous allons voir le lien très fort qui existe entre la morphogénèse des plantes et le principe de récursion. 1

2 2 L-Systèmes Le biologiste Aristid Lindenmayer ( ) a modélisé la croissance de plantes par un tel processus récursif. Avec un outil graphique adéquat, il est possible de représenter des plantes qui semblent "naturelles". Une feuille d érable. Une feuille générée par 10 lignes de Scheme. 2

3 Une fougère générée par L-système (une quinzaine de lignes de Scheme). 2.1 Turtle Graphics Commençons pour définir le langage de dessin : nous allons recréer le langage LOGO. C est un outil de dessin très simple à destination pédagogique, inventé par Seymourt Papert en Il est très simple à utiliser, mais parce qu il peut faire de la récursion, il peut générer des dessins très complexes. Le principe est de contrôler une "tortue" qui se déplace sur la fenêtre d affichage en avançant d une certaine distance, soit en laissant une marque au sol (tirer un trait) soit non, ou en tournant d un certain angle. Une tortue est donc définie par sa position en x et en y ainsi que par son angle (par défaut le 0 est l Est). Question 1 Commencez par créer une fenêtre graphique et affichez-la : (define monde (make-board )) (board-draw monde 0.1) 3

4 Question 2 Définissons maintenant une tortue initiale. Créez une fonction : (make-tortue) (list number? number? number?) qui renvoie une tortue, c est-à-dire une liste contenant la position en x et en y ainsi que l angle initial. Il est conseillé de placer la tortue vers (300, 400) mais vous pouvez et pourrez changer ces valeurs à votre convenance. Question 3 Comme dans les TP précédents, créez les accesseurs posx, posy et angle permettant d extraire d une tortue (une liste) la valeur correspondante. Question 4 Créez une fonction : (turn a t) tortue? a : number? t : tortue? qui renvoie la tortue t tournée d un angle a. Question 5 Créez une fonction : (move dist t) tortue? dist : number? t : tortue? qui renvoie la tortue t déplacée d une longueur dist dans la direction donnée par son angle. La tortue est déplacée sans rien dessiner. Attention, les fonctions prédéfinies cos et sin prennent des radians en entrée, mais il est plus confortable pour la suite du TP d utiliser des degrés. Il vous faudra donc les convertir. Il est conseiller de créer une fonction intermédiaire : (degres->radians deg) number? deg : number? qui permet d effectuer la conversion. Question 6 La fonction : (board-draw-line board x-src y-src x-dst y-dst) void? board : board? x-src : number? y-src : number? x-dst : number? y-dst : number? 4

5 permet de tracer à l écran une ligne dans la fenêtre graphique, de x-src,y-src à x-dst,y-dst. Créez une fonction : (draw dist t) tortue? dist : number t : tortue? similaire à move mais qui, en plus de renvoyer la nouvelle tortue, dessine un trait à l écran de son ancienne position à la nouvelle. 2.2 Appels imbriqués Puisque chacune des fonctions définies prend une tortue et retourne la nouvelle tortue, il faut imbriquer les appels à ces fonctions pour générer des séquences de dessin. Par exemple, prenons l appel : (draw 50 (turn 20 (draw 100 (make-tortue)))) En Scheme, ce sont les appels de fonction les plus profondément imbriqués qui sont exécutés en premier. Ici, on crée donc d abord une tortue, puis on la fait avancer de 100 tout en traçant une ligne, puis on la fait tourner de 20 degrés, puis on la fait avancer de 50 en dessinant. Vous pouvez dors et déjà vous amuser un peu avec ces primitives graphiques pour bien les prendre en main. 3 Un premier exemple récursif Tout l intérêt de ce système graphique réside dans la récursion. Définissez la fonction suivante : (define (escargot n tortue) (when (> n 1) (escargot (* n 0.97) (draw n (turn 15 tortue))))) Evidemment, lisez-là et comprenez-là. Le when permet de n exécuter une suite d expressions que si la condition donnée est vérifiée : (when condition expression1 expression2... expression-fin) La valeur de retour du when est la valeur de expression-fin. À la fin de votre programme, exécutez un appel à cette fonction : (board-draw monde 0 (escargot 20 (make-turtle))) Notez que cet appel est à l intérieur d un appel à board-draw, qui permet de préparer la fenêtre pour le dessin et de faire les pré-traitements et post-traitements nécessaires. 5

6 Modifiez la fonction escargot, essayez diverses choses, amusez-vous avec le langage graphique! 4 Quelques devinettes Question 7 Créez une fonction : (f1 n t) void? n : number? t : tortue? qui dessine un trait de longueur n (en avançant la tortue), appelle f1 avec la moitié de n et la tortue tournée d un angle de 90 vers la droite, puis appelle f1 avec la moitié de n et la tortue tournée d un angle de 90 vers la gauche. La récursion doit s arrêter lorsque n a une valeur inférieure à 1. Puis faites l appel suivant : (f1 100 (make-tortue)) Essayez ensuite de modifier les différentes valeurs (rapport et angle) pour voir le résultat. Question 8 Ecrivez une fonction : (f4 profondeur prof-max tortue) void? profondeur : number? prof-max : number? tortue : tortue? qui arrête le calcul à une profondeur maximale donnée et génère une image comme sur les exemples suivants. Initialement, profondeur est toujours égal à 1. (f4 1 2 (make-turtle)) (f4 1 5 (make-turtle)) (f (make-turtle)) Question 9 Trouvez la fonction qui génère la courbe suivante : 6

7 Le triangle de Sierpinski. Ou presque. Indice : la tortue est partie du centre. Essayez de voir ce qu elle a pu faire dans le premier appel de la fonction... Question 10 Trouvez la fonction qui génère la courbe suivante : 7

8 4.1 En Technicolor Pour ajouter un peu d épaisseur et de couleurs à vos traits, vous pouvez utiliser les fonctions suivantes : (board-set-pen-color board r g b) void? board : board? r : integer? g : integer? b : integer? Change la couleur courante du trait pour celle donnée en Red-Green-Blue. Les valeurs sont des nombres entiers de 0 à 255 inclus. Attention à ne pas dépasser de ces bornes. Vous pouvez paramétrer ces valeurs selon le paramètre de profondeur ou la longueur du trait. Par exemple : (board-set-pen-color monde ) changera la couleur pour du vert. La fonction : (board-set-pen-width board width) void? board : board? width : number? 8

9 Modifie la taille du trait. 4.2 Visualisation en direct live Certaines figures peuvent prendre un certain temps avant d apparaître à l écran. Pour voir le développement en direct sans que cela prenne trop de temps sur le temps de calcul, on peut utiliser la technique suivante : Par exemple, pour la fonction f1, les deux lignes du premier when ont été ajoutée pour mettre le monde à jour uniquement lorsque n > 2 : (define (f1 n tortue) (when (> n 2) (board-redraw monde))...) En effet, puisque f1 s apelle récursivement 2 fois, il y a une explosion combinatoire du nombre d appels. Plus n est petit, plus le nombre d exécutions de f1 est grand. En forçant l affichage uniquement pour des "grandes" valeurs de n, cet affichage ne sera fait que peu de fois (et ne prendra donc pas beaucoup de temps de calcul). 5 À vous de jouer! Concours de celui qui fera la plus belle création! Envoyez-moi le code de vos trouvailles par ! 9

Qualité du logiciel: Méthodes de test

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

Fonctions de deux variables. Mai 2011

Fonctions de deux variables. Mai 2011 Fonctions de deux variables Dédou Mai 2011 D une à deux variables Les fonctions modèlisent de l information dépendant d un paramètre. On a aussi besoin de modéliser de l information dépendant de plusieurs

Plus en détail

Logiciel Libre Cours 2 Fondements: Programmation

Logiciel Libre Cours 2 Fondements: Programmation Logiciel Libre Cours 2 Fondements: Programmation 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étail

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

MATLAB : 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étail

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation. Université du Québec à Chicoutimi Département d informatique et de mathématique Plan de cours Titre : Élément de programmation Sigle : 8inf 119 Session : Automne 2001 Professeur : Patrice Guérin Local

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

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

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

Plus en détail

Objectifs du TP : Initiation à Access

Objectifs du TP : Initiation à Access Objectifs du TP : Initiation à Access I. Introduction Microsoft Access fait partie de l ensemble Microsoft Office. C est un SGBDR (système de gestion de bases de données relationnelles) présentant une

Plus en détail

Dérivation : Résumé de cours et méthodes

Dérivation : Résumé de cours et méthodes Dérivation : Résumé de cours et métodes Nombre dérivé - Fonction dérivée : DÉFINITION (a + ) (a) Etant donné est une onction déinie sur un intervalle I contenant le réel a, est dérivable en a si tend vers

Plus en détail

Intelligence Inventive & Mapping des réseaux de Recherche. Expernova & Active Innovation Management GFII 5 Mars 2015

Intelligence Inventive & Mapping des réseaux de Recherche. Expernova & Active Innovation Management GFII 5 Mars 2015 Intelligence Inventive & Mapping des réseaux de Recherche Expernova & Active Innovation Management GFII 5 Mars 2015 Identification d experts & Mapping des Réseaux de Recherche [ expernova, qui sommes nous?]

Plus en détail

Support de TD ArcGIS 10.1. Introduction à l automatisation et au développement avec ArcGIS 10.1 JEAN-MARC GILLIOT 2014-2015. 3 e année ingénieur

Support de TD ArcGIS 10.1. Introduction à l automatisation et au développement avec ArcGIS 10.1 JEAN-MARC GILLIOT 2014-2015. 3 e année ingénieur JEAN-MARC GILLIOT 2014-2015 Durée 1,5 heures Introduction à l automatisation et au développement avec ArcGIS 10.1 3 e année ingénieur Support de TD ArcGIS 10.1 Grande école européenne d'ingénieurs et de

Plus en détail

Géographie CM2. Guide pédagogique. Ressources vidéoprojetables & 14 animations interactives. Jacques Arnaud Nicole Darcy Daniel Le Gal

Géographie CM2. Guide pédagogique. Ressources vidéoprojetables & 14 animations interactives. Jacques Arnaud Nicole Darcy Daniel Le Gal CM2 Géographie RESSOURCES MULTIMÉDIA Guide pédagogique Atouts es n i l p i c s Di Jacques Arnaud Nicole Darcy Daniel Le Gal Ressources vidéoprojetables & 14 animations interactives Sommaire Présentation

Plus en détail

Cours No 3 : Identificateurs, Fonctions, Premières Structures de contrôle.

Cours No 3 : Identificateurs, Fonctions, Premières Structures de contrôle. Université Montpellier-II UFR des Sciences - Département Informatique - Licence Informatique UE GLIN302 - Programmation Applicative et Récursive Cours No 3 : Identificateurs, Fonctions, Premières Structures

Plus en détail

TP Blender n 2 : Importation d un modèle SketchUp et animation

TP Blender n 2 : Importation d un modèle SketchUp et animation TP Blender n 2 : Importation d un modèle SketchUp et animation Service de Conception Géométrique Université de Liège Aérospatiale et Mécanique Conçu avec Blender 2.66 et SketchUp 8 De SketchUp à Blender

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Jean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux

Jean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux Colonies de fourmis Comment procèdent les colonies de fourmi pour déterminer un chemin presque géodésique de la fourmilière à un stock de nourriture? Les premières fourmis se déplacent au hasard. Les fourmis

Plus en détail

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de

Plus en détail

Premiers pas avec Mathematica

Premiers pas avec Mathematica Premiers pas avec Mathematica LP206 : Mathématiques pour physiciens I Année 2010/2011 1 Introduction Mathematica est un logiciel de calcul formel qui permet de manipuler des expressions mathématiques symboliques.

Plus en détail

Initiation à LabView : Les exemples d applications :

Initiation à LabView : Les exemples d applications : Initiation à LabView : Les exemples d applications : c) Type de variables : Créer un programme : Exemple 1 : Calcul de c= 2(a+b)(a-3b) ou a, b et c seront des réels. «Exemple1» nom du programme : «Exemple

Plus en détail

Corrigé des TD 1 à 5

Corrigé des TD 1 à 5 Corrigé des TD 1 à 5 1 Premier Contact 1.1 Somme des n premiers entiers 1 (* Somme des n premiers entiers *) 2 program somme_entiers; n, i, somme: integer; 8 (* saisie du nombre n *) write( Saisissez un

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4 1 Introduction 1-1 Chaîne de développement Algorithm e C+ + Algorigramm e languag e machine binaire Le programme est écrit à l aide de Multiprog sous forme d algorigramme puis introduit dans le microcontrôleur

Plus en détail

Mathématiques I Section Architecture, EPFL

Mathématiques I Section Architecture, EPFL Examen, semestre d hiver 2011 2012 Mathématiques I Section Architecture, EPFL Chargé de cours: Gavin Seal Instructions: Mettez votre nom et votre numéro Sciper sur chaque page de l examen. Faites de même

Plus en détail

Maple: premiers calculs et premières applications

Maple: premiers calculs et premières applications TP Maple: premiers calculs et premières applications Maple: un logiciel de calcul formel Le logiciel Maple est un système de calcul formel. Alors que la plupart des logiciels de mathématiques utilisent

Plus en détail

Présentation du PL/SQL

Présentation du PL/SQL I Présentation du PL/ Copyright Oracle Corporation, 1998. All rights reserved. Objectifs du Cours A la fin de ce chapitre, vous saurez : Décrire l intéret du PL/ Décrire l utilisation du PL/ pour le développeur

Plus en détail

Chapitre 4 : Édition de fichiers texte - Vi

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

PIC EVAL Dev Board PIC18F97J60

PIC EVAL Dev Board PIC18F97J60 PIC EVAL Dev Board PIC18F97J60 2 TP1 : Prise en main de l environnement de programmation pour la carte PIC EVAL-ANFA Pour répondre aux questions et justifier vos réponses, vous pouvez faire des copies

Plus en détail

COURS WINDEV NUMERO 3

COURS WINDEV NUMERO 3 COURS WINDEV NUMERO 3 01/02/2015 Travailler avec un fichier de données Etude du gestionnaire d analyse, Manipulation des tables mémoires, Manipulation de données, Création d états, Pré requis : Cours WinDev

Plus en détail

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013 UML Diagramme de communication (communication diagram) 2013 Diagramme de communication (communication diagram) Utilisation / objectifs Sens Ce diagramme présente des objets, des acteurs, des liens et des

Plus en détail

Contrôle d accès UTIL TP N 1 découverte

Contrôle d accès UTIL TP N 1 découverte Contrôle d accès UTIL TP N 1 découverte A partir de : Documents sur CD TIL : \CD usesame\documentations\produits_til\modules\util_tillys fpr_utilv2.pdf FTe_UTiL_V2.pdf UTiL2_express.pdf \CD usesame\documentations\logiciels_til\tilman

Plus en détail

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite. Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite. Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs, relations,

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

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

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

Plus en détail

Algorithmique et structures de données I

Algorithmique et structures de données I Algorithmique et structures de données I Riadh Ben Messaoud Université 7 novembre à Carthage Faculté des Sciences Économiques et de Gestion de Nabeul 1ère année Licence Fondamentale IAG 1ère année Licence

Plus en détail

Chp. 4. Minimisation d une fonction d une variable

Chp. 4. Minimisation d une fonction d une variable Chp. 4. Minimisation d une fonction d une variable Avertissement! Dans tout ce chapître, I désigne un intervalle de IR. 4.1 Fonctions convexes d une variable Définition 9 Une fonction ϕ, partout définie

Plus en détail

Durée estimée :1 journée Date de la réalisation : 2011. Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ

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

Solutions du chapitre 4

Solutions du chapitre 4 Solutions du chapitre 4 Structures de contrôle: première partie 4.9 Identifiez et corrigez les erreurs (il peut y en avoir plus d une par segment de code) de chacune des proposition suivantes: a) if (

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

Image d un intervalle par une fonction continue

Image d un intervalle par une fonction continue DOCUMENT 27 Image d un intervalle par une fonction continue La continuité d une fonction en un point est une propriété locale : une fonction est continue en un point x 0 si et seulement si sa restriction

Plus en détail

SEANCE 2 : éléments de programmation

SEANCE 2 : éléments de programmation NETLOGO Étude et modélisation de phénomènes collectifs à l aide d un logiciel de développement dédié Netlogo SEANCE 2 : éléments de programmation 1 «Agents» Tortues Création de tortues : par l observateur,

Plus en détail

Module Planification

Module Planification 1 Module Planification Interface MS Project 2 a) Charge atelier OF selon délai ou début de fabrication Export charge atelier sous Excel Capacité machine pour la période prédéfinie Date de début et fin

Plus en détail

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Baccalauréat ES/L Amérique du Sud 21 novembre 2013 Baccalauréat ES/L Amérique du Sud 21 novembre 2013 A. P. M. E. P. EXERCICE 1 Commun à tous les candidats 5 points Une entreprise informatique produit et vend des clés USB. La vente de ces clés est réalisée

Plus en détail

Rappels sur les suites - Algorithme

Rappels sur les suites - Algorithme DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................

Plus en détail

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

Calcul Formel et Numérique, Partie I

Calcul Formel et Numérique, Partie I Calcul Formel et Numérique N.Vandenberghe nvdb@irphe.univ-mrs.fr Table des matières 1 Introduction à Matlab 2 1.1 Quelques généralités.......................... 2 2 Où trouver des informations 2 3 Opérations

Plus en détail

Chapitre I Notions de base et outils de travail

Chapitre I Notions de base et outils de travail Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement

Plus en détail

Trois entités forment notre groupe : Découvrez notre univers et rejoignez-nous. PARTN AIR GROUP 10 route des flandres 60700 St Martin Longueau

Trois entités forment notre groupe : Découvrez notre univers et rejoignez-nous. PARTN AIR GROUP 10 route des flandres 60700 St Martin Longueau La philosophie de Partn air Group est simple : créer des pôles de compétences dans tous les domaines autour de l aéronautique. Chaque collaborateur possède une fibre «aéro», qu il soit créatif, développeur

Plus en détail

La programmation en première année basée sur l enrichissement progressif de micromondes multi-agents

La programmation en première année basée sur l enrichissement progressif de micromondes multi-agents UNIVERSITÉ CATHOLIQUE DE LOUVAIN FACULTÉ DES SCIENCES APPLIQUÉES DÉPARTEMENT D INGÉNIERIE INFORMATIQUE La programmation en première année basée sur l enrichissement progressif de micromondes multi-agents

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

Logiciel de gestion pour restaurants et Bars

Logiciel de gestion pour restaurants et Bars http://www.easy-sarl.com Logiciel de gestion pour restaurants et Bars Guide de démarrage rapide - 01/11/2010 Sommaire Présentation générale...3 Premier démarrage...3 Les articles...4 Configuration des

Plus en détail

LES TYPES DE DONNÉES DU LANGAGE PASCAL

LES TYPES DE DONNÉES DU LANGAGE PASCAL LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.

Plus en détail

TP 1. Prise en main du langage Python

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

Problèmes liés à la concurrence

Problè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étail

3 : créer de nouveaux onglets dans Netvibes Cliquer sur le bouton «+» et renommer le nouvel onglet (par exemple Encyclopédies en ligne)

3 : créer de nouveaux onglets dans Netvibes Cliquer sur le bouton «+» et renommer le nouvel onglet (par exemple Encyclopédies en ligne) Créer son portail d information privé et public avec Netvibes 1 : création d un compte : 2 2 : nommer votre espace Netvibes personnel 2 3 : créer des onglets pour classer les informations en ligne : 2

Plus en détail

Présentation du logiciel

Présentation du logiciel Chapitre A Présentation du logiciel R Pré-requis et objectif La lecture du chapitre sur l installation de R dans les Annexes peut se révéler utile. Ce chapitre présente les origines, l objectif et les

Plus en détail

Principes de mathématiques 12 SÉRIE DE PROBLÈMES. Septembre 2001. Student Assessment and Program Evaluation Branch

Principes de mathématiques 12 SÉRIE DE PROBLÈMES. Septembre 2001. Student Assessment and Program Evaluation Branch Principes de mathématiques 12 SÉRIE DE PROBLÈMES Septembre 2001 Student Assessment and Program Evaluation Branch REMERCIEMENTS Le Ministère de l Éducation tient à remercier chaleureusement les professionnels

Plus en détail

TUTORIEL PAINTPOT. Louise Henninot - Anne- Cécile Patou - Julie Roquefort

TUTORIEL PAINTPOT. Louise Henninot - Anne- Cécile Patou - Julie Roquefort TUTORIEL PAINTPOT Le joueur customise au gré de ses envies images et photos! Faire des points et des courbes aux couleurs de l arc en ciel, voilà une application ludique pour laisser cour à sa créativité!

Plus en détail

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

Procédure de sauvegarde pour AB Magique

Procédure de sauvegarde pour AB Magique Procédure de sauvegarde pour AB Magique Importance de la copie de sauvegarde : Il est très important de saisir l utilité d une copie de sauvegarde de votre logiciel AB Magique. Si un problème informatique

Plus en détail

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

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

Plus en détail

Examen Médian - 1 heure 30

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

Utilitaires méconnus de StrataFrame

Utilitaires méconnus de StrataFrame Utilitaires méconnus de StrataFrame Voici quelques classes d utilitaires, parmi ceux qui se trouvent dans le NameSpace MicroFour.StrataFrame.Tools. Cette liste n est pas exhaustive, et les regroupements

Plus en détail

Date : 24/09/12 Cours introduction SISR1 Greta Lycée La Tournelle La Garenne Colombes

Date : 24/09/12 Cours introduction SISR1 Greta Lycée La Tournelle La Garenne Colombes SISR1 Maintenance des accès utilisateurs Contenu du cours et déroulement pédagogique 9h-9h15 Appel des stagiaires. Feuille d'émargement à faire signer par les élèves. 9h15-9h30 Contenu pédagogique du module

Plus en détail

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

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

Cours Informatique Master STEP

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

Programmer 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) 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étail

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

Tux Paint. 1. Informations générales sur le logiciel. Auteur : Bill Kendrick et l équipe de développement de New Breed Software 1. Informations générales sur le logiciel Auteur : Bill Kendrick et l équipe de développement de New Breed Software Version : 0.9.13 Licence : GPL Date de parution : octobre 2004 Environnement requis :

Plus en détail

Gnuplot. Chapitre 3. 3.1 Lancer Gnuplot. 3.2 Options des graphes

Gnuplot. Chapitre 3. 3.1 Lancer Gnuplot. 3.2 Options des graphes Chapitre 3 Gnuplot Le langage C ne permet pas directement de dessiner des courbes et de tracer des plots. Il faut pour cela stocker résultats dans des fichier, et, dans un deuxième temps utiliser un autre

Plus en détail

GUIDE D UTILISATION DE I-PHOTO

GUIDE D UTILISATION DE I-PHOTO GUIDE D UTILISATION DE I-PHOTO 1 INTRODUCTION Objectif du tutoriel : Il doit vous permettre de faire le tri parmi les photos que vous avez obtenues lors d une phase de terrain et de les «traiter» avant

Plus en détail

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2 Débuter avec EXPRESS Alain Plantec Table des matières 1 Schema 2 2 Entité 2 2.1 Attributs simples................................................ 2 2.2 Attributs collection...............................................

Plus en détail

Continuité et dérivabilité d une fonction

Continuité et dérivabilité d une fonction DERNIÈRE IMPRESSIN LE 7 novembre 014 à 10:3 Continuité et dérivabilité d une fonction Table des matières 1 Continuité d une fonction 1.1 Limite finie en un point.......................... 1. Continuité

Plus en détail

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

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

Plus en détail

AP1.1 : Montages électroniques élémentaires. Électricité et électronique

AP1.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étail

Exo7. Limites de fonctions. 1 Théorie. 2 Calculs

Exo7. Limites de fonctions. 1 Théorie. 2 Calculs Eo7 Limites de fonctions Théorie Eercice Montrer que toute fonction périodique et non constante n admet pas de ite en + Montrer que toute fonction croissante et majorée admet une ite finie en + Indication

Plus en détail

Initiation à l algorithmique

Initiation à 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étail

Peut-on imiter le hasard?

Peut-on imiter le hasard? 168 Nicole Vogel Depuis que statistiques et probabilités ont pris une large place dans les programmes de mathématiques, on nous propose souvent de petites expériences pour tester notre perception du hasard

Plus en détail

Logiciel Libre Cours 3 Fondements: Génie Logiciel

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

L ALGORITHMIQUE. Algorithme

L ALGORITHMIQUE. Algorithme L ALGORITHMIQUE Inspirée par l informatique, cette démarche permet de résoudre beaucoup de problèmes. Quelques algorithmes ont été vus en 3 ième et cette année, au cours de leçons, nous verrons quelques

Plus en détail

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

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions

Plus en détail

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

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

Cours d Algorithmique et de Langage C 2005 - v 3.0

Cours d Algorithmique et de Langage C 2005 - v 3.0 Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris

Plus en détail

EXERCICES UML. Modéliser cette situation par un diagramme de cas d utilisation. Consulter planning

EXERCICES UML. Modéliser cette situation par un diagramme de cas d utilisation. Consulter planning EXERCICES UML 1 ) Dans un établissement scolaire, on désire gérer la réservation des salles de cours ainsi que du matériel pédagogique (ordinateur portable ou/et Vidéo projecteur). Seuls les enseignants

Plus en détail

CAC, DAX ou DJ : lequel choisir?

CAC, DAX ou DJ : lequel choisir? CAC, DAX ou DJ : lequel choisir? 1. Pourquoi cette question Tout trader «travaillant 1» sur les indices s est, à un moment ou un autre, posé cette question : «je sais que la tendance est bien haussière

Plus en détail

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

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

Note de cours. Introduction à Excel 2007

Note de cours. Introduction à Excel 2007 Note de cours Introduction à Excel 2007 par Armande Pinette Cégep du Vieux Montréal Excel 2007 Page: 2 de 47 Table des matières Comment aller chercher un document sur CVMVirtuel?... 8 Souris... 8 Clavier

Plus en détail

Mesure d angles et trigonométrie

Mesure d angles et trigonométrie Thierry Ciblac Mesure d angles et trigonométrie Mesure de l angle de deux axes (ou de deux demi-droites) de même origine. - Mesures en degrés : Divisons un cercle en 360 parties égales définissant ainsi

Plus en détail

CAHIER DES CLAUSES TECHNIQUES PARTICULIERES CONCERNANT LA REFECTION DES APPARTEMENTS Dans le cadre des procédures liées aux MARCHES PUBLICS

CAHIER DES CLAUSES TECHNIQUES PARTICULIERES CONCERNANT LA REFECTION DES APPARTEMENTS Dans le cadre des procédures liées aux MARCHES PUBLICS E.H.P.A.D. «Foyer Bellevue» 16 Bis Boulevard Bellevue 05000 GAP Tél : 04.92.52.02.30 Fax / 04.92.52.32.71 CAHIER DES CLAUSES TECHNIQUES PARTICULIERES CONCERNANT LA REFECTION DES APPARTEMENTS Dans le cadre

Plus en détail

MANUEL UTILISATEUR. Application 4trip

MANUEL UTILISATEUR. Application 4trip * MANUEL UTILISATEUR Application 4trip Table des matières 1. Introduction... 1 1.1. Description globale du produit... 1 1.2. Description de la finalité du manuel... 1 2. Manuel d utilisation... 2 2.1.

Plus en détail

Once the installation is complete, you can delete the temporary Zip files..

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

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

Fibonacci et les paquerettes

Fibonacci et les paquerettes Fibonacci et les paquerettes JOLY Romain & RIVOAL Tanguy Introduction Quand on entend dire que l on peut trouver le nombre d or et la suite de Fibonacci dans les fleurs et les pommes de pin, on est au

Plus en détail

Initiation à la programmation en Python

Initiation à 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étail

TP, première séquence d exercices.

TP, 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étail

Commission Polydog Règlement de compétition SportPlaisir Catalogue des disciplines catégorie adresse niveau B

Commission Polydog Règlement de compétition SportPlaisir Catalogue des disciplines catégorie adresse niveau B 1 FAIRE UNE PIROUETTE SUR UNE PALETTE Description des installations Une estrade plane (palette) est placée au sol à environ 7 pas du point de départ. Pour le CCh, une ligne de démarcation est tracée un

Plus en détail

BIRT (Business Intelligence and Reporting Tools)

BIRT (Business Intelligence and Reporting Tools) BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»

Plus en détail

Installation et configuration du serveur syslog sur Synology DSM 4.0

Installation et configuration du serveur syslog sur Synology DSM 4.0 Installation et configuration du serveur syslog sur Synology DSM 4.0 Préambule Avoir un NAS équipé avec la version 4.0 ou ultérieure du DSM de Synology. Installation Pour installer le paquet Syslog Server,

Plus en détail

Etape 1 : Récupération de la clé d installation

Etape 1 : Récupération de la clé d installation DESINSTALLATION REINSTALLATION DU LOGICIEL SOLID Avant de procéder à la désinstallation et réinstallation du logiciel, s assurer que vous avez Solid avec la dernière mise à jour. Exemple : Si la version

Plus en détail

4. Groupement d objets

4. 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étail