Chaînes de caractères

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Chaînes de caractères"

Transcription

1 1 Chaînes de caractères Je pense que tout le monde devrait avoir un fusil. Les citoyens devraient posséder des bazookas et des lanceurs de roquettes également. Ils devraient tous pouvoir choisir leurs armes. Cela dit, je pense aussi que moi seul devrais posséder les munitions. Parce que, franchement, je ne ferais pas confiance à tous ces beaufs à partir du moment où il tiendraient autre chose qu une chaîne. Scott Adams Lorsqu il s agit de manipuler des chaînes de caractères, XSLT ne dispose certainement pas de l artillerie lourde offerte par Perl. XSLT est un langage optimisé pour le traitement de documents XML, pas pour le traitement de chaînes de caractères. Toutefois, puisque XML est simplement une sorte de texte structuré, il est inévitable d avoir à traiter des chaînes de caractères, sauf peut-être dans les problèmes de transformation les plus simples. Malheureusement, XSLT n offre que neuf fonctions standard pour ce faire. Java, par contre, dispose d environ deux douzaines de fonctions spécialisées et Perl, joyau incontesté des langages modernes de traitement de texte, en a un nombre équivalent, ainsi qu un moteur puissant de traitement des expressions régulières. Les programmeurs XSLT ont deux solutions lorsqu ils ont besoin d appliquer des traitements complexes à des chaînes de caractères. Premièrement, ils peuvent appeler des fonctions d extension écrites en Java ou dans un autre langage accepté par leur processeur XSLT. C est le choix de la sagesse lorsque la portabilité est un critère mineur et que les besoins de traitement sont compliqués ou spécifiques. Deuxièmement, ils peuvent écrire les fonctions avancées directement en XSLT. Ce chapitre montre que la majorité des manipulations de chaînes de caractères peut s effectuer au sein même de XSLT. On y parvient en utilisant les fonctions de traitement de chaînes de caractères natives et en exploitant la puissance de la récursivité, qui est une partie intégrante de toutes les utilisations avancées de XSLT. De fait, la récursivité est une technique si importante en XSLT qu il est utile d examiner certaines de ces recettes même si vous n avez pas l intention d écrire des opérations de manipulation de chaînes de caractères directement en XSLT. Ce livre fait également référence à l excellent travail de EXSLT.org, une initiative communautaire dont le but est d aider à standardiser les extensions du langage XSLT. Vous pouvez visiter leur site web à

2 2 Chapitre 1 - Chaînes de caractères 1.1 Tester si une chaîne se termine par une chaîne donnée Vous devez tester si une chaîne se termine par une sous-chaîne donnée. substring($valeur, (string-length($valeur) - string-length($sousch)) + 1) = $sousch XSLT dispose d une fonction starts-with() native, mais n a pas de fonction ends-with(). Cependant, comme le montre le code ci-dessus, ends-with peut facilement s écrire à l aide de substring() et de string-length(). Le code extrait simplement les string-length ($sousch) derniers caractères de la chaîne à tester et les compare avec la sous-chaîne. Les programmeurs habitués aux langages dans lesquels la première position est numérotée 0 remarqueront que le premier caractère d une chaîne XSLT est numéroté Déterminer la position d une sous-chaîne Vous voulez déterminer la position d une sous-chaîne plutôt que le texte placé avant ou après la sous-chaîne. <xsl:template name="index-de"> <xsl:param name="sousch"/> <xsl:when test="contains($entrée, $sousch)"> <xsl:value-of select="string-length(substring-before($entrée, $sousch))+1"/> 0 La position d une sous-chaîne dans une chaîne donnée est simplement la longueur de la chaîne qui la précède plus 1. Si vous êtes certain que la chaîne cible contient la souschaîne, alors vous pouvez simplement utiliser string-length(substring-before ($entree, $sousch))+1. Cependant, en général, vous devez gérer le cas dans lequel la

3 Supprimer certains caractères d une chaîne 3 sous-chaîne est absente. Ici, nous utilisons la valeur 0 pour indiquer ce cas, mais vous pourriez utiliser n importe quelle autre valeur, par exemple -1 ou NaN. 1.3 Supprimer certains caractères d une chaîne Vous désirez supprimer certains caractères (par exemple les espaces) dans une chaîne. Utilisez translate avec une chaîne de remplacement vide. Par exemple, le code suivant supprime les blancs d une chaîne : translate($entrée," &xd;", "") translate( ) est une fonction polyvalente, souvent utilisée pour compenser les capacités de traitement de texte manquant dans XSLT. Ici vous utilisez le fait que translate( ) ne copiera pas les caractères de la chaîne en entrée qui sont dans la chaîne from, mais n ont pas de caractère correspondant dans la chaîne to. Vous pouvez aussi utiliser translate pour supprimer tous les caractères à l exception de ceux qui apparaissent dans une chaîne donnée. Par exemple, le code ci-dessous supprime tous les caractères non numériques d une chaîne : translate($chaîne, translate($string,' ',''),'') L appel interne de translate() supprime les caractères auxquels on s intéresse (c est-àdire les chiffres) pour obtenir une chaîne from pour l appel externe de translate(), qui lui supprime ces caractères non numériques de la chaîne initiale. Quelquefois vous ne voudrez pas supprimer tous les blancs, mais seulement ceux qui se trouvent en tête et en queue de chaîne, ainsi que ceux qui sont redondants à l intérieur du texte. XPath offre une fonction normalize-space(), qui réalise exactement cela. Si vous avez besoin de normaliser selon des caractères autres que les blancs, vous pouvez utiliser le code suivant (dans lequel C est le caractère selon lequel on normalise) : translate(normalize-space(translate($entrée,"c "," C")),"C "," C") Cependant, cette transformation ne fonctionnera pas correctement si la chaîne d entrée contient des blancs autres que les espaces, c est-à-dire des tabulations (#x9), des fins de ligne (#xa) ou des retours chariot (#xd). La raison en est que le code intervertit l espace avec le caractère selon lequel on normalise, puis fait l opération inverse. Si des blancs différents de l espace subsistent après la première transformation, ils seront normalisés, ce qui est peut-être indésirable. Cela dit, les applications de la normalisation selon des caractères non blancs sont probablement rares. Dans l exemple suivant, on l utilise pour supprimer les caractères surnuméraires. <xsl:template match="/"> <xsl:variable name="entrée"

4 4 Chapitre 1 - Chaînes de caractères select=" '---voici --comment-- on normalise des caractères non blancs---' "/> <xsl:value-of select="translate(normalize-space( translate($entrée,'- ',' -')),'- ',' -')"/> Le résultat est : voici -comment- on normalise des caractères non blancs 1.4 Chercher des sous-chaînes en partant de la fin d une chaîne XSLT ne dispose pas d une fonction permettant de recherche des sous-chaînes en partant de la fin d une chaîne. En utilisant la récursivité, vous pouvez simuler une recherche inverse en effectuant une recherche de la dernière occurrence de sousch. Cette technique permet de créer des fonctions sous-chaîne-avant-dernier et sous-chaîne-après-dernier. <xsl:template name ="sous-chaîne-avant-dernier"> <xsl:param name="entrée" /> <xsl:param name="sousch" /> <xsl:if test="$sousch and contains($entrée, $sousch)"> <xsl:variable name="temp" select="substring-after($entrée, $sousch)" /> <xsl:value-of select="substring-before($entrée, $sousch)" /> <xsl:if test="contains($temp, $sousch)"> <xsl:value-of select="$sousch" /> <xsl:call-template name="sous-chaîne-avant-dernier"> <xsl:with-param name="entrée" select="$temp" /> <xsl:with-param name="sousch" select="$sousch" /> </xsl:if> </xsl:if> <xsl:template name="sous-chaîne-après-dernier"> <xsl:param name="sousch"/> <!-- Extraire la chaîne placée après la première occurrence --> <xsl:variable name="temp" select="substring-after($entrée,$sousch)"/> <!-- Si elle contient encore la chaîne recherchée alors appel récursif --> <xsl:when test="$sousch and contains($temp,$sousch)"> <xsl:call-template name="sous-chaîne-après-dernier"> <xsl:with-param name="entrée" select="$temp"/>

5 Chercher des sous-chaînes en partant de la fin d une chaîne 5 <xsl:with-param name="sousch" select="$sousch"/> <xsl:value-of select="$temp"/> Les deux fonctions de recherche de sous-chaînes de XSLT(substring-before et substring-after) débutent leur recherche au commencement de la chaîne de caractères. Il arrive que l on ait besoin de rechercher à partir de la fin. Le moyen le plus simple de faire cela en XSLT est d appliquer récursivement les fonctions de recherche standard jusqu à ce que la dernière occurrence de la sous-chaîne recherchée ait été trouvée. J ai rencontré un problème subtil pendant ma première tentative d écriture de ces fonctions, qu il vaut mieux garder à l esprit lorsqu on utilise la récursivité pour traiter des chaînes de caractères. Souvenez-vous que contains($quelque-chose,'') retournera toujours true! Pour cette raison, je m assure que je teste également l existence d une valeur non vide de $sousch dans les appels récursifs de sous-chaîne-avant-dernier et de sous-chaîneaprès-dernier. Sans ces tests, le code provoquerait une boucle infinie à la recherche d une chaîne vide, et probablement un débordement de pile avec les processeurs qui ne reconnaissent pas les récursivités terminales. Un autre algorithme se base sur une stratégie diviser pour régner. L idée de base est de couper la chaîne en deux parties. Si la chaîne recherchée est dans la deuxième partie, vous pouvez supprimer la première partie, et diviser par deux la taille du problème. Ce processus se répète récursivement. La partie délicate intervient quand la chaîne recherchée n est pas dans la deuxième moitié parce qu elle a été coupée en deux. Voici une solution pour sous-chaîne-avant-dernier : <xsl:template name="str:sous-chaîne-avant-dernier"> <xsl:param name="sousch"/> <xsl:variable name="mil" select="ceiling(string-length($entrée) div 2)"/> <xsl:variable name="temp1" select="substring($entrée,1, $mil)"/> <xsl:variable name="temp2" select="substring($entrée,$mil +1)"/> <xsl:when test="$temp2 and contains($temp2,$sousch)"> <!-- la chaîne recherchée est dans la seconde moitié, donc il --> <!-- suffit de conserver la premiere moitié et d'appeler --> <!-- récursivement sur la seconde moitié --> <xsl:value-of select="$temp1"/> <xsl:call-template name="str:sous-chaîne-avant-dernier"> <xsl:with-param name="entrée" select="$temp2"/>

6 6 Chapitre 1 - Chaînes de caractères <xsl:with-param name="sousch" select="$sousch"/> <!-- la chaîne est sur la frontière, donc un simple --> <!-- substring-before fera l'affaire --> <xsl:when test="contains(substring($entrée, $mil - string-length($sousch) +1), $sousch)"> <xsl:value-of select="substring-before($entrée,$sousch)"/> <!-- la chaîne est dans la première moitié, donc on oublie --> <!-- la seconde --> <xsl:when test="contains($temp1,$sousch)"> <xsl:call-template name="str:sous-chaîne-avant-dernier"> <xsl:with-param name="entrée" select="$temp1"/> <xsl:with-param name="sousch" select="$sousch"/> <!-- Pas d'occurrence de la chaîne, donc rien à faire --> <xsl:otherwise/> Il apparaît que la stratégie diviser pour régner n a pas ou peu d avantages sauf si vous cherchez dans un texte de grande taille (environ 4000 caractères). Vous pourriez écrire une fonction de plus haut niveau qui choisirait l algorithme approprié selon la longueur du texte, ou qui passerait de diviser pour régner à un algorithme plus simple lorsque le texte devient suffisamment court. 1.5 Répliquer N fois une chaîne Vous devez répliquer une chaîne de caractères N fois, où N est un paramètre. Par exemple, vous devez combler une chaîne avec des espaces pour produire du texte aligné. Une solution élégante consiste en une approche récursive qui double la chaîne en entrée jusqu à ce que la longueur voulue soit atteinte, en gérant les cas dans lesquels $nombre est impair : <xsl:template name="dup"> <xsl:param name="nombre" select="1"/> <xsl:when test="not($nombre) or not($entrée)"/> <xsl:when test="$nombre = 1"> <xsl:value-of select="$entrée"/> <!-- Si $nombre est impair ajouter une copie de entrée --> <xsl:if test="$nombre mod 2">

7 Répliquer N fois une chaîne 7 <xsl:value-of select="$entrée"/> </xsl:if> <!-- Appliquer récursivement après avoir doublé entrée et divise nombre par 2 --> <xsl:call-template name="dup"> <xsl:with-param name="entrée" select="concat($entrée,$entrée)"/> <xsl:with-param name="nombre" select="floor($nombre div 2)"/> La façon la plus simple de répliquer une chaîne $nombre fois est de trouver un moyen de concaténer la chaîne à elle-même $nombre-1 fois. Cela peut se faire récursivement avec le code ci-dessous, mais ce code sera coûteux sauf si la valeur de $nombre est faible. Cette méthode n est donc pas recommandée : <xsl:template name="dup-lent"> <xsl:param name="nombre" select="1"/> <xsl:param name="accu" select="$entrée"/> <xsl:when test="not($nombre) or not($entrée)"/> <xsl:when test="$nombre=1"> <xsl:value-of select="$accu"/> <xsl:call-template name="dup-lent"> <xsl:with-param name="entrée" select="$entrée"/> <xsl:with-param name="nombre" select="$nombre - 1"/> <xsl:with-param name="accu" select="concat($accu,$entrée)"/> On trouvera une meilleure solution dans la section. Cette solution limite le nombre d appels récursifs et de concaténations à une valeur de l ordre de log2($nombre), en doublant de façon répétée l entrée et en divisant la longueur par deux aussi longtemps que cette longueur est supérieure à 1. La solution ci-dessus est pénible parce qu elle nécessite un paramètre artificiel supplémentaire qui conserve la chaîne d entrée originale. Elle provoquera également une croissance importante de la pile, du fait de $nombre-1 appels récursifs, et nécessite $nombre-1 appels de concat(). Comparez cela à la duplication répétée, qui limite la taille de la pile à floor(log2($nombre)) et nécessite seulement ceiling(log2($nombre)) appels de concat().

8 8 Chapitre 1 - Chaînes de caractères La technique simplement répétitive a tout de même la qualité d être capable de répliquer la structure aussi bien que les chaînes de caractères, à condition d utiliser xsl:copy-of à la place de xsl:value-of. La technique rapide n offre pas d avantage dans ce cas, parce que les copies seraient passées en paramètres, ce qui est coûteux. Une autre solution basée sur le code de str:padding dans EXSLT, mais qui ne lui est pas identique, est la suivante : <xsl:template name="dup"> <xsl:param name="nombre" select="1"/> <xsl:when test="not($nombre) or not($entrée)" /> <xsl:variable name="temp" select="concat($entrée, $entrée, $entrée, $entrée, $entrée, $entrée, $entrée, $entrée, $entrée, $entrée)"/> <xsl:when test="string-length($temp) >= $nombre * string-length($entrée)"> <xsl:value-of select="substring($temp, 1, $nombre * string-length($entrée))" /> <xsl:call-template name="dup"> <xsl:with-param name="entrée" select="$temp" /> <xsl:with-param name="nombre" select="$nombre div 10" /> Cette version effectue 10 copies de la chaîne d entrée. Si le résultat de ces copies est plus long que ce qui est demandé, elle supprime ce qui est en trop. Sinon, elle applique la règle récursivement. Cette solution est plus lente parce qu elle fera souvent plus de concaténations que nécessaire, et parce qu elle utilise substring(), qui peut être lent dans certains processeurs XSLT. Voir «Remplacer du texte», page 12, pour une explication. Elle a cependant un avantage pour les processeurs qui n optimisent pas les récursivités terminales, parce qu elle réduit significativement le nombre d appels récursifs. Pour aller plus loin La méthode dite de Piez est également capable de répliquer une chaîne sans faire appel à la récursivité. Cette méthode est décrite à programming_techniques.pdf. Elle utilise une boucle xsl:for-each sur n importe quelle source de nœuds (le plus souvent sur la feuille de style elle-même). Bien que cette méthode puisse être très efficace en pratique, je la trouve défectueuse parce qu elle fait l hypothèse qu il y aura suffisamment de nœuds pour le nombre d itérations requis.

XSLT. extensible Stylesheet Language Transformations. deuxième partie

XSLT. extensible Stylesheet Language Transformations. deuxième partie XSLT extensible Stylesheet Language Transformations deuxième partie Plan Paramètres Instruction de contrôles Variables Tri Exemple de référence

Plus en détail

Programmation XSLT. PROGRAMMATION XSLT p.1/27

Programmation XSLT. PROGRAMMATION XSLT p.1/27 Programmation XSLT PROGRAMMATION XSLT p.1/27 Programmation avec XSLT Combinaison de deux modes de programmation : Déclaratif : on donne les règles, et le processeur fait le reste. Impératif : on utilise

Plus en détail

XSLT extensible Stylesheet Language Transformations

XSLT extensible Stylesheet Language Transformations XSLT extensible Stylesheet Language Transformations Sébastien Laborie Sebastien.Laborie@iutbayonne.univ- pau.fr Christian Sallaberry Christian.Sallaberry@univ- pau.fr Motivations On voudrait afficher des

Plus en détail

Module BD et Sites Web

Module BD et Sites Web Module BD et Sites Web Cours 6 XSLT Remerciements à Bernd Amann 1 Plan Axes XPath Introduction à XSLT : comprendre les mécanismes du langage Règles XSLT Instructions XSLT Application : de XML à HTML 2

Plus en détail

La spécification des chemins avec XPath XSLT avancé

La spécification des chemins avec XPath XSLT avancé La spécification des chemins avec BDISE XML Mathieu Sassolas IUT de Sénart Fontainebleau Département Informatique Année 2016-2017 Plan de la séance & 1 La spécification des chemins avec général Les axes

Plus en détail

Petit manuel de prise en main de XML

Petit manuel de prise en main de XML LE PROGRAMMEUR Petit manuel de prise en main de XML Kevin Howard Goldberg Traduit par Éric Jacoboni, avec la contribution technique de Gilles Hunault Table des matières Introduction...........................

Plus en détail

Le langage XPath. Le langage XPath p.1/??

Le langage XPath. Le langage XPath p.1/?? Le langage XPath Le langage XPath p.1/?? À quoi sert XPath? Le langage permet de désigner un ou plusieurs nœuds dans un document XML, à l aide d expressions de chemin. Exemples : Extraction de valeurs

Plus en détail

Module BD et Sites Web. Cours 7 XSLT

Module BD et Sites Web. Cours 7 XSLT Module BD et Sites Web Cours 7 XSLT 1 Plan Instructions XSLT (suite) Chemins complexes Exécution des règles Passage de paramètres Priorités 2 Copie de noeuds Copier des nœuds du document source vers le

Plus en détail

Unité d Enseignement M3103 : Algorithmique avancée. Cours 1 - Récursivité. Conservatoire National des Arts et Métiers D. Porumbel et E.

Unité d Enseignement M3103 : Algorithmique avancée. Cours 1 - Récursivité. Conservatoire National des Arts et Métiers D. Porumbel et E. Unité d Enseignement M3103 : Algorithmique avancée Cours 1 - Récursivité Conservatoire National des Arts et Métiers D. Porumbel et E. Soutil 2 UE M3103 Algorithmique avancée Plan du cours 1. Récursivité

Plus en détail

Récursivité en XSL. Pourquoi et comment utiliser la récursivité dans les transformations XSL?

Récursivité en XSL. Pourquoi et comment utiliser la récursivité dans les transformations XSL? Récursivité en XSL Pourquoi et comment utiliser la récursivité dans les transformations XSL? 1 Les limites de XSL La modification des variables est impossible Pas de boucle de type pour i de 1 à n Complexifie

Plus en détail

Plan... XSL-T extended Stylesheet Language Cours Document et Web Sémantique. Squelette d une feuille XSLT. extended Stylesheet Language

Plan... XSL-T extended Stylesheet Language Cours Document et Web Sémantique. Squelette d une feuille XSLT. extended Stylesheet Language Plan... XSL-T extended Stylesheet Language Cours Document et Web Sémantique Nicolas Malandain, Nicolas Delestre 1 Présentation 2 Utilisation des modes 3 Paramètres et variables XSL-T - v1.1.1 1 / 32 XSL-T

Plus en détail

Résumé XSL. TRANSFORMATION (application de la technologie feuille de style XSL ) XSL-FO

Résumé XSL. TRANSFORMATION (application de la technologie feuille de style XSL ) XSL-FO XSL, extensible Stylesheet Language 1-Définition de XSL XSL regroupe 3 technologies permettant la transformation et la présentation des données d un document XML : XSLT (XSL Transformation) : langage XML

Plus en détail

Les tours de Hanoï. DossierLogique. et la base trois

Les tours de Hanoï. DossierLogique. et la base trois Les tours de Hanoï et la base trois Au XIX e siècle, Édouard Lucas a inventé le jeu des «tours de Hanoï», une simple récréation mathématique qui s est révélée au fil des années une mine de réflexions.

Plus en détail

Université de Nice-Sophia Antipolis Jeudi 7 juin Création et Manipulation de documents

Université de Nice-Sophia Antipolis Jeudi 7 juin Création et Manipulation de documents Université de Nice-Sophia Antipolis Jeudi 7 juin 2007 Polytech CiP1 Durée: 3h Création et Manipulation de documents (Hélène Renard / Sylvain Schmitz) Travaux Dirigés Séance n o 13 1 Objectifs du TD L objectif

Plus en détail

Rapport pour le projet du Compilateur MISC

Rapport pour le projet du Compilateur MISC Rapport pour le projet du Compilateur MISC Nicolas Bonvin, Gilles Diacon, Xavier Perséguers École Polytechnique Fédérale de Lausanne 2 février 2003 1 Optimisations Le code généré par le compilateur n étant

Plus en détail

Organisation d un document XSLT

Organisation d un document XSLT Les comportements serveur XSLT CHAPITRE 6 375 tion, et générera un document résultat pouvant être une page XHTML, ou tout type de format selon le média visé (XML, WML, texte, etc.). Voir figure 6-5-a.

Plus en détail

À propos des variables C

À propos des variables C 2 À propos des variables C Au sommaire de ce chapitre Mémoire d un programme Objective-C Variables automatiques Variables externes Mots clés de déclaration Portée Allocation dynamique Lorsque vous développez

Plus en détail

Introduction aux algorithmes

Introduction aux algorithmes Introduction aux algorithmes 1. Introduction La programmation est une démarche qui se déroule en deux phases : - Phase d analyse du problème, c.à.d. la recherche d algorithme ; - Phase de programmation

Plus en détail

Maîtrise Info Année Examen Web/XML. Durée : 2 heures, Documents autorisés

Maîtrise Info Année Examen Web/XML. Durée : 2 heures, Documents autorisés Programmation Java avec le DOM (3 points) Vous êtes le meilleur programmeur d une entreprise qui vend des outils XML en Java. Le projet actuel consiste à réaliser un moteur XPath qui utilise le DOM comme

Plus en détail

Le langage de requête XPATH

Le langage de requête XPATH Le langage de requête XPATH Table des matières 1 Introduction 2 1.1 Présentation.............................................. 2 1.2 Structure d arbre d un document XML................................

Plus en détail

Fonctions et récursivité STS SIO

Fonctions et récursivité STS SIO Fonctions et récursivité STS SIO Alex Esbelin (Alex.Esbelin@math.univ-bpclermont.fr) Malika More (malika.more@u-clermont1.fr) IREM Clermont-Ferrand Stage du 29 Juin 2011 Contenu 1 Fonctions 2 Récursivité

Plus en détail

Java & Algorithme Test final

Java & Algorithme Test final Java & Algorithme Test final Nom & Prénom : Vous avez 90 minutes pour répondre à toutes les questions. Prenez votre temps, lisez attentivement l énoncé et tentez de bien le comprendre avant d écrire des

Plus en détail

Programmation fonctionnelle : feuille d exercices 3

Programmation fonctionnelle : feuille d exercices 3 Programmation fonctionnelle : feuille d exercices 3 María-Virginia Aponte 19 mars 2011 Exercice 1 Filtrage et premières listes Complétez le tableau suivant : Motif Valeur comparée Réussite Liaisons 3 1

Plus en détail

Enchaînement d entiers : analyse.

Enchaînement d entiers : analyse. Enchaînement d entiers : analyse. Cet exercice est proposé aux élèves de seconde en début d année. Il permet la mise en place progressive de différentes notions au programme : traitement conditionnel et

Plus en détail

Semaine 3 : Série d exercices sur les algorithmes [Solutions]

Semaine 3 : Série d exercices sur les algorithmes [Solutions] Information, calcul et communication EPFL MA/PH Automne 2016 Semaine 3 : Série d exercices sur les algorithmes [Solutions] 1 Quel est le bon algorithme? le retour Le bon algorithme est le c. Le a a deux

Plus en détail

Le langage XSLT. Transformation de fichiers XML

Le langage XSLT. Transformation de fichiers XML Le langage XSLT Transformation de fichiers XML 1 Présentation générale Règles élémentaires Construction du document résultat Structures itératives et conditionnelles Variables XSL Règles paramétrées, et

Plus en détail

Algorithmique et programmation 2 : Récursivité Corrigé

Algorithmique et programmation 2 : Récursivité Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 2 Cours C, Semaine 2 août-septembre 2005 Corrigé Résumé Ce document décrit l écriture dans le langage C des éléments vus en algorithmique. Table des matières 1 Définition

Plus en détail

Université de Bourgogne - UFR Sciences et Techniques - L2

Université de Bourgogne - UFR Sciences et Techniques - L2 Numéro d'anonymat : Examen de C et C++ Année 2013/2014 - Première session Université de Bourgogne - UFR Sciences et Techniques - L2 Vous devez répondre dans les cadres prévus à cet effet. Il sera tenu

Plus en détail

Extensible Style sheet Language for Transformation XSLT

Extensible Style sheet Language for Transformation XSLT Université de Reims Champagne-Ardenne Extensible Style sheet Language for Transformation XSLT F. Nolot Licence professionnelle CMSII 2004-2005 1 Introduction CSS peut s'utiliser pour afficher des documents

Plus en détail

Gestion de la mémoire. GIF-1001 Ordinateurs: Structure et Applications, Hiver 2016 Jean-François Lalonde

Gestion de la mémoire. GIF-1001 Ordinateurs: Structure et Applications, Hiver 2016 Jean-François Lalonde Gestion de la mémoire GIF-1001 Ordinateurs: Structure et Applications, Hiver 2016 Jean-François Lalonde Planification Vendredi: Vendredi Saint! TP5: 22 mars 4 avril 2 semaines, 1 atelier (pas d atelier

Plus en détail

Principes de Programmation Fiche de Révisions: Types Fonctionnels et Algébriques

Principes de Programmation Fiche de Révisions: Types Fonctionnels et Algébriques Principes de Programmation Fiche de Révisions: Types Fonctionnels et Algébriques 7 juin 2017 1 Types Fonctionnels 1.1 Comme Type d une Fonction Exemple 1. Le programme suivant (existant dans Haskell) prend

Plus en détail

Activité 7. Le plus léger et le plus lourd Algorithmes de tri. Résumé. Liens pédagogiques. Compétences. Âge. Matériel

Activité 7. Le plus léger et le plus lourd Algorithmes de tri. Résumé. Liens pédagogiques. Compétences. Âge. Matériel Activité 7 Le plus léger et le plus lourd Algorithmes de tri Résumé Les ordinateurs sont souvent utilisés pour classer des listes dans un certain ordre, par exemple des noms par ordre alphabétique, des

Plus en détail

Gestion dynamique de la mémoire

Gestion dynamique de la mémoire Gestion dynamique de la mémoire Martin Odersky 6 février 2006 version 1.1 Gestion dynamique de la mémoire Martin Odersky 1 de 19 Plan du cours 1 Mémoire dynamique 2 3 Gestion dynamique de la mémoire Martin

Plus en détail

Épreuve d Automatique et Informatique Industrielle

Épreuve d Automatique et Informatique Industrielle Épreuve d Automatique et Informatique Industrielle I Commentaires généraux Le sujet est articulé autour : - de trois parties indépendantes dont les questions sont progressives ; - d un équilibre entre

Plus en détail

1 Piles - Le cours. Chap 1 : Piles. Table des matières. 1.1 Introduction : les structures de données. MP1 Lycée Janson de Sailly

1 Piles - Le cours. Chap 1 : Piles. Table des matières. 1.1 Introduction : les structures de données. MP1 Lycée Janson de Sailly Table des matières Chap 1 : 1 - Le cours 1 1.1 Introduction : les structures de données........ 1 1.2 Mise en oeuvre d une pile avec un tableau....... 2 1.3 Opérations EMPILER et DEPILER.......... 3 1.4

Plus en détail

Représentation des nombres dans une Base. Le système décimal

Représentation des nombres dans une Base. Le système décimal Un système de numération est une convention de représentation des nombres. Cette notion apparaît lorsque vous utilisez la calculatrice, livrée dans les accessoires de Windows. Ce logiciel (dont nous avons

Plus en détail

Cours 2 : La récursivité. Principe Utilisation Exemples

Cours 2 : La récursivité. Principe Utilisation Exemples Cours 2 : La récursivité Principe Utilisation Exemples Le principe de récursivité Tout objet est dit récursif s il se définit à partir de lui-même Ainsi, une fonction est dite récursive si elle comporte,

Plus en détail

Guide : Graphiques interactifs par groupements

Guide : Graphiques interactifs par groupements Guide : Graphiques interactifs par groupements 03-01-CA-00-01 Quels types de graphiques peuvent être produits? La fonction des graphiques interactifs par groupements vous permet de regrouper les données

Plus en détail

Cours 4. Pointeurs et tableau

Cours 4. Pointeurs et tableau Cours 4. Pointeurs et tableau Dimitri Galayko 1 Pointeurs en langage C Un pointeur est une variable qui contient l adresse d une autre variable, ou plus généralement, d une cellule de mémoire. Un objet

Plus en détail

Aide-mémoire pour vous et votre ado sur facebook

Aide-mémoire pour vous et votre ado sur facebook Aide-mémoire pour vous et votre ado sur facebook Procédure sur Facebook Supprimer un ami Facebook Il existe deux méthodes pour supprimer un ami Méthode 1 : 2. Accédez au profil de cette personne. (Écrire

Plus en détail

INF600A: Laboratoire #6 Analyse (simplifiée) de fichiers XML

INF600A: Laboratoire #6 Analyse (simplifiée) de fichiers XML INF600A: Laboratoire #6 Analyse (simplifiée) de fichiers XML Jeudi 16 mars 2017 13h30 15h30 PK-S1535 Un premier objectif de ce laboratoire est de vous familiariser avec l utilisation des expressions régulières

Plus en détail

Rédaction d une fiche thématique Mutuelles étudiantes : Se grouper pour agir

Rédaction d une fiche thématique Mutuelles étudiantes : Se grouper pour agir Rédaction d une fiche thématique Mutuelles étudiantes : Se grouper pour agir Philippe Marcy (webmaster) Table des matières 1. QU EST-CE QU UNE FICHE THÉMATIQUE?... 2 2. FAIRE UNE PROPOSITION DE FICHE THÉMATIQUE...

Plus en détail

LES algorithmes arithmétiques

LES algorithmes arithmétiques LYCEE Moknine DISCIPLINE : PROGRAMMATION PROFESSEUR : Mr Grich Mourad LES algorithmes arithmétiques Objectifs : L élève sera capable de manipuler des algorithmes permettant de résoudre des traitements

Plus en détail

XSLT permet l utilisation de variables.

XSLT permet l utilisation de variables. XSLT permet l utilisation de variables. Les différentes manières de les déclarer sont illustrées par les exemples suivants

Plus en détail

Théorie des Langages Épisode 1 Langages et grammaires

Théorie des Langages Épisode 1 Langages et grammaires Langage Grammaires Expressions Régulières L-systèmes 1/ 28 Théorie des Langages Épisode 1 Langages et grammaires Thomas Pietrzak Université Paul Verlaine Metz Langage Grammaires Expressions Régulières

Plus en détail

Mise en forme XML avec XSLT XML schéma (XSD)

Mise en forme XML avec XSLT XML schéma (XSD) Mise en forme XML avec XSLT XML schéma (XSD) BOUALEM ABID & LEBCIR FAHIMA ENS KOUBA ALGER ÉÀ&( Introduction XSL : extensible Stylesheet Langage, ou langage extensible de feuille de style. XPath : un moyen

Plus en détail

1 Recherche de points dans un intervalle (17 points)

1 Recherche de points dans un intervalle (17 points) ALGORITHMIQUE ET PROGRAMMATION Durée h, tous documents autorisés. Examen de période 2, 14 mars 201 Le barème est indicatif (total sur 22 points). La rédaction de vos réponses devra contenir des commentaires

Plus en détail

Agrégation de Mathématiques option Informatique TP1

Agrégation de Mathématiques option Informatique TP1 Agrégation de Mathématiques option Informatique TP1 Loïg Jezequel loig.jezequel@irisa.fr Mardi 13 Septembre 2011 Ce TP largement inspiré des premiers chapitres du livre Le Langage Caml de Pierre Weis et

Plus en détail

Une nouvelle approche de la conjecture de Collatz Selon laquelle toute suite d entiers produite par l algorithme éponyme finit par atteindre 1

Une nouvelle approche de la conjecture de Collatz Selon laquelle toute suite d entiers produite par l algorithme éponyme finit par atteindre 1 Une nouvelle approche de la conjecture de Collatz Selon laquelle toute suite d entiers produite par l algorithme éponyme finit par atteindre 1 par Wilfrid Poulain wpoulain@aedifex.fr le 1er mars 2015 La

Plus en détail

Algorithmique Programmation FIP

Algorithmique Programmation FIP Algorithmique Programmation FIP Techniques de Programmation en Java ING39 Septembre 2016 Cours 1 : Introduction 1. Objectifs & organisation Objectifs Capacité à écrire des programmes Java de taille conséquente

Plus en détail

Math 5 Division de nombres entiers Tâche d évaluation

Math 5 Division de nombres entiers Tâche d évaluation Math 5 Division de nombres entiers Tâche d évaluation Résultat d apprentissage spécifique Le nombre (les opérations numériques) N 11 Estimer, calculer mentalement, calculer autrement et vérifier le produit

Plus en détail

Création de site : bases de programmation

Création de site : bases de programmation Leçon 05 Création de site : bases de programmation Partie 1 : Les bases de PHP Les variables 1. Qu est-ce qu une variable?... 1 Un nom et une valeur... 1 Les différents types de variables... 1 2. Affecter

Plus en détail

Chapitre 4 : Piles et Files

Chapitre 4 : Piles et Files Les piles et files ne sont pas de nouveaux types de données mais plutôt une manière de gérer un ensemble de données. Elles sont très souvent utiles et servent, entre autres, à mémoriser des évènements

Plus en détail

TP 7 : écriture en base deux et exponentiation rapide

TP 7 : écriture en base deux et exponentiation rapide TP 7 : écriture en base deux et exponentiation rapide 1 Ecriture en base deux On va écrire un algorithme itératif (boucle while) permettant d obtenir l écriture en base deux d un nombre entier n. Deux

Plus en détail

Remplissez ce cadre en MAJUSCULES et LISIBLEMENT, svp. Olympiades belges d Informatique (durée : 1h15 maximum)

Remplissez ce cadre en MAJUSCULES et LISIBLEMENT, svp. Olympiades belges d Informatique (durée : 1h15 maximum) OI 2010 Finale 12 Mai 2010 Remplissez ce cadre en MAJUSCULES et LISIBLEMENT, svp PRÉNOM NOM :..................................................... ÉCOLE :.............................................................

Plus en détail

Université de Reims Champagne-Ardenne. XSLT en détail. Les principaux éléments. F. Nolot Licence professionnelle CMSII

Université de Reims Champagne-Ardenne. XSLT en détail. Les principaux éléments. F. Nolot Licence professionnelle CMSII Université de Reims Champagne-Ardenne XSLT en détail Les principaux éléments F. Nolot Licence professionnelle CMSII 2004-2005 1 La première ligne Le premier élément XSL que l'on rencontre dans une feuille

Plus en détail

Introduction à Python

Introduction à Python Introduction à Python 0 Introduction à Python Durée 2h00 TP 1 : Creation variable - lecture - écriture -If - For - While TP 2 : gestion de liste TP 3 : création et utilisation de fonction source : http://www.scribd.com/doc/59231293/poly-td

Plus en détail

Techniques d'affichage des documents XML

Techniques d'affichage des documents XML SESSION 21 Techniques d'affichage des documents XML Programme de la session Appliquer des formats aux documents XML Utiliser XSLT et XPath pour la publication Web Introduction aux feuilles de styles CSS

Plus en détail

INFO 2014 Fichiers et base de données

INFO 2014 Fichiers et base de données INFO 2014 Fichiers et base de données Philippe Fournier-Viger Département d informatique, U.de Moncton Bureau D216, philippe.fournier-viger@umoncton.ca Hiver 2015 1 RAPPEL: LE TRI INTERNE 2 Le tri interne

Plus en détail

Université Paris Diderot Paris 7 Année , 1 er semestre. Devoir à la maison

Université Paris Diderot Paris 7 Année , 1 er semestre. Devoir à la maison Université Paris Diderot Paris L & EIDD Algorithmique Année 00-0, er semestre Devoir à la maison Ce devoir est à rendre la semaine du er novembre. Il est composé de cinq parties indépendantes, numérotées

Plus en détail

CONCOURS NATIONAL COMMUN d Admission aux Grandes Écoles d Ingénieurs Marocaines et Assimilées

CONCOURS NATIONAL COMMUN d Admission aux Grandes Écoles d Ingénieurs Marocaines et Assimilées ROYAUME DU MAROC Ministère de l Enseignement supérieur, de la formation des cadres et de la recherche scientifique CONCOURS NATIONAL COMMUN d Admission aux Grandes Écoles d Ingénieurs Marocaines et Assimilées

Plus en détail

Projet NFA032: Les robots

Projet NFA032: Les robots Projet NFA032: Les robots 2016 1 Présentation du sujet On veut dans ce programme simuler le comportement de robots programmables par l utilisateur dans un environnement minier. Il s agit de réaliser un

Plus en détail

LIFAP1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION

LIFAP1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION Licence STS Université Claude Bernard Lyon I LIFAP1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION 1 COURS 7 : Les chaînes de caractères OBJECTIFS DE LA SÉANCE Apprendre à manipuler les chaînes

Plus en détail

NFP119 : corrigé de la feuille d exercices 3

NFP119 : corrigé de la feuille d exercices 3 NFP119 : corrigé de la feuille d exercices 3 María-Virginia Aponte 20 mars 2010 Exercice 1 Tapez ces phrases en TP et expliquez les réponses données par Ocaml. # [1;2;3];; - : int list = [1; 2; 3] # [];;

Plus en détail

M1 MEEF Second Degré Maths option Info

M1 MEEF Second Degré Maths option Info M1 MEEF Second Degré Maths option Info Algorithmes de tri Benjamin Wack (Benjamin.Wack@univ-grenoble-alpes.fr) UFR IM2AG, Université Grenoble Alpes mars 2017 1 / 28 Plan Pourquoi trier Algorithmes simples

Plus en détail

Identificateurs. IFT1144 Programmation Internet. Types de données. Mots clés de JavaScript. Variables. Déclaration d une variable.

Identificateurs. IFT1144 Programmation Internet. Types de données. Mots clés de JavaScript. Variables. Déclaration d une variable. Identificateurs IFT1144 Programmation Internet Michel Reid Suite de caractères ( lettres, chiffres,? ou _ ) qui ne commence pas par un chiffre. Autres caractères sont interdits, par exemples : #, blanc

Plus en détail

UNIVERSITÉ DE SHERBROOKE DÉPARTEMENT D INFORMATIQUE. Devoir # 3 IFT 209 Programmation système

UNIVERSITÉ DE SHERBROOKE DÉPARTEMENT D INFORMATIQUE. Devoir # 3 IFT 209 Programmation système UNIVERSITÉ DE SHERBROOKE DÉPARTEMENT D INFORMATIQUE Devoir # 3 IFT 209 Programmation système Devoir à remettre au plus tard le lundi 6 mars 2017 à 23h59. Les nombres à précision infinie Noms : Ce devoir

Plus en détail

Devoir d informatique : tronc commun. 1 E3A 2015 : Déterminer le candidat élu lors d une élection

Devoir d informatique : tronc commun. 1 E3A 2015 : Déterminer le candidat élu lors d une élection Devoir d informatique : tronc commun Durée : trois heures. Le sujet comporte deux petits problèmes, issus des concours E3A et Polytechnique PC. Chacun traite d un sujet déjà étudié l an dernier, mais par

Plus en détail

Histoire des algorithmes

Histoire des algorithmes Histoire des algorithmes version du 20 avril 2004 10 h 03 à Balthazar Quatre étapes significatives 1 1800, les Babyloniens, les pionniers, 300, l algorithme d Euclide, le premier véritable algorithme,

Plus en détail

TP n 5 (1.5 séances)

TP n 5 (1.5 séances) Université de Versailles Vanessa Vitse IUT de Vélizy - Algorithmique 2007/2008 TP n 5 (1.5 séances) Pour vous éviter d avoir à recopier les programmes, tous les listings se trouvent dans l archive listingstp5.zip

Plus en détail

Informatique Générale Cours 3. Boucles Tant Que Boucles Pour

Informatique Générale Cours 3. Boucles Tant Que Boucles Pour Informatique Générale Cours 3 Boucles Tant Que Boucles Pour 1 2 La Boucle TantQue Les boucles, à quoi ca sert? Exemple du contrôle de saisie Dans le cas d une saisie au clavier (une lecture), où par exemple,

Plus en détail

CHAPITRE 2 GROUPAGE DES DONNÉES ET FONCTIONS ASSOCIÉES. Tableaux (arrays) Construction des tableaux

CHAPITRE 2 GROUPAGE DES DONNÉES ET FONCTIONS ASSOCIÉES. Tableaux (arrays) Construction des tableaux CHAPITRE 2 GROUPAGE DES DONNÉES ET FONCTIONS ASSOCIÉES Comme nous l avons vu dans le précédent chapitre, il existe divers types de données scalaires de base. Cependant, des données scalaires seules ne

Plus en détail

Formation Algorithmique STS SIO

Formation Algorithmique STS SIO Formation Algorithmique STS SIO Alex Esbelin (Alex.Esbelin@math.univ-bpclermont.fr) Malika More (malika.more@u-clermont1.fr) IREM Clermont-Ferrand Stage du 29 Juin 2011 Qu est-ce-qu un algorithme? Un objet

Plus en détail

Utilisation des fichiers texte en Java

Utilisation des fichiers texte en Java Utilisation des fichiers texte en Java NFA005 2 mars 2009 1 Introduction Les fichiers sont des structures de données stockées sur disque. A la différence des données gérées en mémoire par les programmes

Plus en détail

COURS INFORMATIQUE : PILES

COURS INFORMATIQUE : PILES COURS INFORMATIQUE : PILES PC PICON PICON COURS INFORMATIQUE : PILES 1 / 43 1 Structures de données : généralités 2 Rappels : quelques structures de données en Python tuples listes matrices 3 Empiler,

Plus en détail

Les Master-Minds dit aussi Carré Logique

Les Master-Minds dit aussi Carré Logique Les Master-Minds dit aussi Carré Logique Notation : Il est utile d adopter une convention pour noter au fur et à mesure les résultats de ses déductions. Nous vous proposons la suivante à inscrire directement

Plus en détail

Systèmes de numérotation

Systèmes de numérotation 1 ) Le système décimal. C est évidemment le système que l on connaît le mieux puisqu on l utilise tous les jours. Les caractéristiques de ce système vont permettre de mieux comprendre les autres systèmes.

Plus en détail

Nombres en informatique

Nombres en informatique Université Grenoble Alpes DLST UE MAP101 Année 2016-2017 Nombres en informatique Séance pratique (2 1h30) à faire par binôme. Dans cette séance, vous allez observer le codage des nombres en informatique,

Plus en détail

INF121 : Rappel des épisodes précédents... INF121: Algorithmique et Programmation Fonctionnelle. Rappels sur récursivité et types récursifs

INF121 : Rappel des épisodes précédents... INF121: Algorithmique et Programmation Fonctionnelle. Rappels sur récursivité et types récursifs INF121 : Rappel des épisodes précédents... Programmation fonctionnelle en OCaml : INF121: Algorithmique et Programmation Fonctionnelle Cours 6 : Listes types de base : booléens, entiers, réels, caractères,

Plus en détail

Informatique TP5 : Manipulations de chaînes et de listes CPP 1A

Informatique TP5 : Manipulations de chaînes et de listes CPP 1A Informatique TP5 : Manipulations de chaînes et de listes CPP 1A Frederic Devernay, Julie Dumas, Maxime Montoya, Matthieu Moy Mars - avril 2017 Pour commencer, veuillez télécharger l archive squelettes_tp5.zip

Plus en détail

COURS INFORMATIQUE : PILES

COURS INFORMATIQUE : PILES COURS INFORMATIQUE : PILES PC PICON PICON COURS INFORMATIQUE : PILES 1 / 43 1 Structures de données : généralités PICON COURS INFORMATIQUE : PILES 2 / 43 1 Structures de données : généralités 2 Rappels

Plus en détail

Concours Centrale-Supelec (Cycle International), Concours Mines-Télécom, Concours Commun TPE/EIVP. CONCOURS 2017 ÉPREUVE D INFORMATIQUE MP

Concours Centrale-Supelec (Cycle International), Concours Mines-Télécom, Concours Commun TPE/EIVP. CONCOURS 2017 ÉPREUVE D INFORMATIQUE MP A2017 INFO MP ÉCOLE DES PONTS PARISTECH, ISAE-SUPAERO, ENSTA PARISTECH, TELECOM PARISTECH, MINES PARISTECH, MINES SAINT-ÉTIENNE, MINES NANCY, IMT Atlantique (ex Télécom Bretagne), ENSAE PARISTECH. Concours

Plus en détail

Université de Nice-Sophia Antipolis Licence d Informatique - 3e année U.E. Analyses (semestre 6)

Université de Nice-Sophia Antipolis Licence d Informatique - 3e année U.E. Analyses (semestre 6) 1 Université de Nice-Sophia Antipolis Licence d Informatique - 3e année U.E. Analyses (semestre 6) 2005 2006 Examen de contrôle continu du jeudi 9 mars 2006 Durée : 2 heures Tous documents autorisés 1

Plus en détail

Les outils du XML. Xpath, XSL, XSLT, et autres trucs en X

Les outils du XML. Xpath, XSL, XSLT, et autres trucs en X Les outils du XML Xpath, XSL, XSLT, et autres trucs en X XPATH Un outil de sélection de nœud Document XML : vue arborescente Lemay Aurélien 5 Juin

Plus en détail

TS - Rappels d algorithmique. M. Lagrave. Algorithme et programme informatique. Algorithme Programmation. M. Lagrave.

TS - Rappels d algorithmique. M. Lagrave. Algorithme et programme informatique. Algorithme Programmation. M. Lagrave. et Lycée Beaussier Sommaire et et Définition et Définition : Un algorithme est une liste d instructions à suivre, qui à partir de données, permettent d obtenir des résultats clairement définis en un nombre

Plus en détail

INF-130 Travail pratique #2

INF-130 Travail pratique #2 École de technologie supérieure INF-30 Travail pratique # Par : Samuel Deslauriers-Gauthier Utilisé par : Francis Bourdeau, Samuel Deslauriers- Gauthier, Frédérick Henri et Hugues Saulnier Travail en équipe

Plus en détail

Multiplier et diviser

Multiplier et diviser Module 5 Multiplier et diviser Évaluation diagnostique...3 Stratégies de multiplication...7 Multiplier par des nombres à 1 chiffre... 11 Multiplier par des nombres à 2 chiffres...15 Relier multiplication

Plus en détail

Structure de boucle : for

Structure de boucle : for Chapitre 4 Structure de boucle : for Les structures de boucles (ou structures répétitives) constituent un élément important de la programmation : elles permettent d exécuter des instructions en boucles

Plus en détail

Distinction des majuscules et des minuscules

Distinction des majuscules et des minuscules Dans cet exemple, les valeurs Orange et Poire sont stockées dans la base de données avec 5 (0101). Vous pouvez, au plus, stocker 64 valeurs dans une colonne SET. Bien qu il soit possible d assigner plusieurs

Plus en détail

Introduction à la Programmation 1 Java

Introduction à la Programmation 1 Java Introduction à la Programmation 1 Java 51AE011F Séance 2 de cours/td Université Paris-Diderot Objectifs: Découverte du type String. Comprendre qu il y a des types différents. Maîtriser les expressions

Plus en détail

Notions d algorithme

Notions d algorithme DERNIÈRE IMPRESSION LE 6 septembre 2014 à 8:53 Notions d algorithme Table des matières 1 Introduction 2 1.1 Algorithme................................. 2 1.2 Conventions pour écrire un algorithme................

Plus en détail

Introduction à la programmation Travaux pratiques: séance introductive INFO0201-1

Introduction à la programmation Travaux pratiques: séance introductive INFO0201-1 Introduction à la programmation Travaux pratiques: séance introductive INFO0201-1 X. Baumans (xavier.baumans@ulg.ac.be) [Copyright F. Ludewig & B. Baert, ULg] Notes de TP Slides de TP accessibles à l adresse

Plus en détail

TP 1 COMPOSITION MUSICALE

TP 1 COMPOSITION MUSICALE TP 1 COMPOSITION MUSICALE Introduction Pour le premier devoir, vous allez construire un logiciel qui compose une mélodie. Ce logiciel va demander des informations de base sur la mélodie à composer : accord

Plus en détail

Jeux à un joueur et solutions optimales

Jeux à un joueur et solutions optimales ÉCOLE POLYTECHNIQUE ÉCOLES NORMALES SUPÉRIEURES CONCOURS D ADMISSION 2017 FILIÈRES MP SPECIALITÉ INFO COMPOSITION D INFORMATIQUE A (XULCR) (Durée : 4 heures) L utilisation des calculatrices n est pas autorisée

Plus en détail

NFP119 : feuille d exercices 4

NFP119 : feuille d exercices 4 NFP119 : feuille d exercices 4 María-Virginia Aponte 26 mars 2010 Exercice 1 Fonctionnelles Expliquez les réponses données par Ocaml. # let double_du_succ(f,y) = 2*f(y+1);; val double_du_succ : (int ->

Plus en détail

«Empilons les cubes!» en 5ème

«Empilons les cubes!» en 5ème Yannick DANARD groupe TraAM Maths et TICE de l académie de Nantes 2012 «Empilons les cubes!» en 5ème Compétence calculatoire travaillée ou en lien avec ces activités : Il s agit essentiellement de consolider

Plus en détail

ART OSE Catalogue Année 2003/2004 BUREAUTIQUE WORD BASE. Créer et mettre en forme des documents simples Gérer des documents créés dans Word

ART OSE Catalogue Année 2003/2004 BUREAUTIQUE WORD BASE. Créer et mettre en forme des documents simples Gérer des documents créés dans Word WORD BASE Créer et mettre en forme des documents simples Gérer des documents créés dans Word Connaître Windows et savoir manipuler la souris et le clavier 2 journées 1. Généralités Menus, barre d outils,

Plus en détail

Compte rendu du TP3 (XML/XSL)!: le CV

Compte rendu du TP3 (XML/XSL)!: le CV Angebault Baptiste le 30/11/2009 Licence professionnelle flux numérique Compte rendu du TP3 (XML/XSL)!: le CV Xml et xsl? XML est un langage de structuration des données, et non de représentation des données.

Plus en détail

Année Universitaire 2014/2015 DS 1

Année Universitaire 2014/2015 DS 1 Année Universitaire 2014/2015 DS 1 Parcours : Licence LIMI201 & LIMI211 Code UE : J1MI2013 Épreuve : Algorithmes et Programmes Date : Lundi 20 avril 2015, 8h30 10h Durée : 1 heure 30 Documents : non autorisés

Plus en détail

Algorithmique & Programmation (INF431) Contrôle classant CC1. 28 avril 2014

Algorithmique & Programmation (INF431) Contrôle classant CC1. 28 avril 2014 Algorithmique & Programmation (INF431) Contrôle classant CC1 28 avril 2014 Les parties I et II sont indépendantes l une de l autre. Elles peuvent être traitées dans l ordre de votre choix. Elles peuvent

Plus en détail