Algorithmique et Analyse d Algorithmes

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

Download "Algorithmique et Analyse d Algorithmes"

Transcription

1 Algorithmique et Analyse d Algorithmes L3 Info Cours 8 : Arbres partiellement ordonnés Benjamin Wack / 1

2 La dernière fois Structure dynamique Arbre Binaire de Recherche (ABR) Opérateurs de base Coûts des opérateurs Aujourd hui Arbre partiellement ordonné, tassé Structure de tas Application à la FAP Algorithmes gloutons 2 / 1

3 Plan 3 / 1

4 Arbre partiellement ordonné, tassé Arbre partiellement ordonné Définition Les clés des nœuds sont munies d un ordre total. Arbre ordonné Un arbre est ordonné si tout nœud a une clé supérieure ou égale à celles de chacun de ses fils (s ils existent). On convient qu un arbre vide est ordonné. J H B F D F E On se limite ici à des arbres binaires : les algorithmes et propriétés présentées ici restent valables mais l implantation est facilitée (cf TD) 5 / 1

5 Arbre partiellement ordonné, tassé Arbre partiellement ordonné Propriétés E H R K N B Les sous-arbres d un arbre ordonné sont eux-mêmes des arbres ordonnés. (par définition) Dans tout chemin de l arbre, les clés sont en ordre décroissant (de père en fils). (par définition) La clé de la racine d un arbre ordonné a la valeur maximum des clés de l arbre. (récurrence structurelle sur l arbre) On parle parfois d arbre tournoi. 6 / 1

6 Arbre partiellement ordonné, tassé Arbre tassé Définition Rappels La hauteur d un arbre est la longueur maximum d un chemin. Le niveau d un nœud est la longueur de son chemin d accès. Arbre tassé Un arbre binaire de hauteur h est tassé si : Tous les nœuds internes ont deux fils, sauf éventuellement le dernier dans l ordre par niveaux. Les feuilles de niveau h sont «tassées à gauche». Ce qui équivaut (presque) à dire : que les feuilles de niveau h 1 sont «tassées à droite» ou que les nœuds internes de niveau h 1 sont «tassés à gauche». Quand l arbre a toutes ses feuilles au niveau h, l arbre binaire est complet. 8 / 1

7 Arbre partiellement ordonné, tassé Arbre tassé Propriétés Structure Tous les niveaux sont complets, sauf éventuellement le dernier. Un arbre tassé contient au max. un nœud unaire et dans ce cas : ce nœud n a qu un fils gauche ; n est pair. Hauteur et nombre de nœuds Le nombre de nœuds du niveau (complet) i est 2 i. Le nombre total de nœuds est n = 2 h 1 (niveaux complets) + x où 0 < x 2 h (dernier niveau) Par conséquent h = log 2 n. 9 / 1

8 Structure de tas Définition et applications Définition Tas binaire Un tas (heap en anglais) est un arbre binaire tassé et ordonné. T B F E P K N R H Il s agit d une structure de données «intermédiaire» : ce n est pas un type abstrait (en particulier il sert à réaliser une FAP efficace) mais on a encore le choix de la représentation de l arbre en mémoire. (pas forcément sous forme chaînée notamment) Remarque Ne pas confondre avec la zone d allocation dynamique en mémoire. 11 / 1

9 Structure de tas Définition et applications Applications Réalisation d une file à priorités efficace On ordonne les nœuds de l arbre par priorité Nœud de priorité maximale (racine) est accessible en temps constant Pas d information superflue à maintenir On retrouvera donc un tas dans tous les algorithmes qui demandent de gérer des priorités : Algorithme de Huffman Algorithmes de graphes (Prim, Dijkstra) Application «évidente» : tri par tas (heapsort) Insérer les éléments à trier dans un tas, puis les extraire un par un. Version plus efficace en place avec un bon choix de représentation. 12 / 1

10 Structure de tas Opérations Ensemble minimal d opérations Tas_Vide : () Tas Est_Vide : Tas bool Insérer : Element Tas () Ajoute (par effet de bord) l élément à ceux déjà présents. Au besoin, réorganise les éléments pour conserver un tas. Trouver_Max : Tas Element Permet de consulter l élément maximum sans modifier le tas (pas d effet de bord). Extraire_Max : Tas () Supprime (par effet de bord) l élément de clé maximale. Au besoin, réorganise les éléments pour conserver un tas. S il y a plusieurs maximums, un seul est supprimé. Dans toute la suite, on manipule des tas de caractères qui sont leur propre clé. 14 / 1

11 Structure de tas Opérations Insertion B F E P K T N R H Idée générale : il faut que l arbre reste tassé et ordonné. Tassé. On ne peut ajouter le nouveau nœud que : au dernier niveau, après la dernière feuille ; ou si le dernier niveau est complet, au tout début du prochain niveau. Ordonné. On procède par échange de clés sans modifier la structure de l arbre, le long du chemin de la nouvelle feuille à la racine. INSERER( e, t ) Créer une nouvelle feuille n de clé e après la dernière feuille de t p := Père(n) while n n est pas la racine et clé(p) < clé(n) Échanger les clés de p et de n n := p p := Père(n) (Percolation vers le haut) 15 / 1

12 Structure de tas Opérations Insertion B F E P S K T N R H Idée générale : il faut que l arbre reste tassé et ordonné. Tassé. On ne peut ajouter le nouveau nœud que : au dernier niveau, après la dernière feuille ; ou si le dernier niveau est complet, au tout début du prochain niveau. Ordonné. On procède par échange de clés sans modifier la structure de l arbre, le long du chemin de la nouvelle feuille à la racine. INSERER( e, t ) Créer une nouvelle feuille n de clé e après la dernière feuille de t p := Père(n) while n n est pas la racine et clé(p) < clé(n) Échanger les clés de p et de n n := p p := Père(n) (Percolation vers le haut) 15 / 1

13 Structure de tas Opérations Insertion B F E P K S T N R H Idée générale : il faut que l arbre reste tassé et ordonné. Tassé. On ne peut ajouter le nouveau nœud que : au dernier niveau, après la dernière feuille ; ou si le dernier niveau est complet, au tout début du prochain niveau. Ordonné. On procède par échange de clés sans modifier la structure de l arbre, le long du chemin de la nouvelle feuille à la racine. INSERER( e, t ) Créer une nouvelle feuille n de clé e après la dernière feuille de t p := Père(n) while n n est pas la racine et clé(p) < clé(n) Échanger les clés de p et de n n := p p := Père(n) (Percolation vers le haut) 15 / 1

14 Structure de tas Opérations Insertion B F E S K P T N R H Idée générale : il faut que l arbre reste tassé et ordonné. Tassé. On ne peut ajouter le nouveau nœud que : au dernier niveau, après la dernière feuille ; ou si le dernier niveau est complet, au tout début du prochain niveau. Ordonné. On procède par échange de clés sans modifier la structure de l arbre, le long du chemin de la nouvelle feuille à la racine. INSERER( e, t ) Créer une nouvelle feuille n de clé e après la dernière feuille de t p := Père(n) while n n est pas la racine et clé(p) < clé(n) Échanger les clés de p et de n n := p p := Père(n) (Percolation vers le haut) 15 / 1

15 Structure de tas Opérations Extraction du maximum B F E P K T N R H Même principe : Tassé. On doit supprimer la dernière feuille du dernier niveau. Cependant le maximum est à la racine : on commence par échanger. Ordonné. On procède par échange de clés sans modifier la structure de l arbre, en descendant cette fois vers les feuilles. EXTRAIRE_MAX( t ) f := Dernière feuille de t n := Racine de t Échanger les clés de f et de n Supprimer f while n n est pas une feuille et clé(n) < clé d un fils de n m := Fils de n de clé maximale Échanger les clés de m et de n n := m (Percolation vers le bas) 16 / 1

16 Structure de tas Opérations Extraction du maximum B F P K E N R H Même principe : Tassé. On doit supprimer la dernière feuille du dernier niveau. Cependant le maximum est à la racine : on commence par échanger. Ordonné. On procède par échange de clés sans modifier la structure de l arbre, en descendant cette fois vers les feuilles. EXTRAIRE_MAX( t ) f := Dernière feuille de t n := Racine de t Échanger les clés de f et de n Supprimer f while n n est pas une feuille et clé(n) < clé d un fils de n m := Fils de n de clé maximale Échanger les clés de m et de n n := m (Percolation vers le bas) 16 / 1

17 Structure de tas Opérations Extraction du maximum B F P K R N E H Même principe : Tassé. On doit supprimer la dernière feuille du dernier niveau. Cependant le maximum est à la racine : on commence par échanger. Ordonné. On procède par échange de clés sans modifier la structure de l arbre, en descendant cette fois vers les feuilles. EXTRAIRE_MAX( t ) f := Dernière feuille de t n := Racine de t Échanger les clés de f et de n Supprimer f while n n est pas une feuille et clé(n) < clé d un fils de n m := Fils de n de clé maximale Échanger les clés de m et de n n := m (Percolation vers le bas) 16 / 1

18 Structure de tas Opérations Extraction du maximum B F P K R E N H Même principe : Tassé. On doit supprimer la dernière feuille du dernier niveau. Cependant le maximum est à la racine : on commence par échanger. Ordonné. On procède par échange de clés sans modifier la structure de l arbre, en descendant cette fois vers les feuilles. EXTRAIRE_MAX( t ) f := Dernière feuille de t n := Racine de t Échanger les clés de f et de n Supprimer f while n n est pas une feuille et clé(n) < clé d un fils de n m := Fils de n de clé maximale Échanger les clés de m et de n n := m (Percolation vers le bas) 16 / 1

19 Structure de tas Opérations Complexité Les opérations potentiellement coûteuses sont la comparaison et l échange de clés. Les deux opérations Insérer et Extraire_max sont constituées d une boucle effectuant à chaque itération : une comparaison un échange le long d un seul chemin : leur coût est majoré par la hauteur de l arbre. Celui-ci étant tassé : Complexité de la mise à jour du tas La complexité des opérations Insérer et Extraire_max est en O(log 2 n). 17 / 1

20 Structure de tas Opérations Opérations supplémentaires Pour certains algorithmes, on a besoin d une opération supplémentaire Modifier_priorité (Noeud n, Priorité p) Priorité(n) := p if clé(n) > clé( Père(n) ) Percolation vers le haut else if clé(n) < clé d un fils de n Percolation vers le bas On peut également définir des opérations dérivées des précédentes : Créer_tas ( Tableau t de taille n ) Version naïve par n insertions successives en O(n log n) Version efficace procédant des feuilles vers la racine en O(n) Tri_Par_Tas ( Tableau t ) cf TD 18 / 1

21 Algorithmes gloutons Principe Définition On considère un problème dont la solution est une séquence, un ensemble... On cherche la «meilleure» séquence parmi toutes celles possibles. Algorithme glouton Un algorithme glouton est un algorithme qui construit une telle solution : élément par élément sans jamais revenir en arrière en se basant sur des considérations locales. La séquence construite est un optimum global ; ses sous-séquences sont des optimums des sous-problèmes. Il s agit d une caractéristique de l algorithme mais surtout de la structure du problème (notamment c est impossible s il existe des optima locaux). 20 / 1

22 Algorithmes gloutons Principe Premier exemple : rendu de monnaie Problème : fournir une somme d argent S en monnaie Solution : une suite de (valeurs de) pièces ayant pour total S Meilleure solution : celle utilisant le moins possible de pièces Algorithme glouton 1. Tant que S > 0 : 2. Choisir la pièce de plus grande valeur v inférieure à S 3. Recommencer avec S v. Exemple correct S = 16 avec pièces de 10, 5, 2, 1 : = = = 0 3 pièces Exemple incorrect S = 16 avec pièces de 9, 8 et 1 : 16 9 = = pièces alors que = 16 en 2 pièces 21 / 1

23 Algorithmes gloutons Principe Algorithme générique Utilisables := E Sol := // ensemble vide ou suite vide ou... while Sol non complète et Utilisables non vide Sélectionner x dans Utilisables // selon critère glouton if x compatible avec Sol Ajouter x à Sol // dans certains problèmes // c est toujours le cas if condition // true ou x incompatible ou... Retirer x de Utilisables Renvoyer Sol 22 / 1

24 Algorithmes gloutons Principe Complexité Le choix du prochain élément est en principe efficace car il ne considère qu une partie des données : log n dans une FAP 1 pour les pièces de monnaie (si leurs valeurs sont préalablement triées)... La complexité de l algorithme sera en général de la forme O(n f (n)) où f (le coût du choix) est une fonction sub-linéaire. 23 / 1

25 Algorithmes gloutons Principe Preuve de correction Schéma de preuve générique Pour la boucle principale, on maintient l invariant : Il existe une solution (c-à-d une séquence) optimale dont Sol est un préfixe. La preuve de cet invariant se fait en utilisant les propriétés de l opération Sélectionner et de la mise à jour de Utilisables. Lorsqu il y a potentiellement plusieurs solutions optimales, il est souvent nécessaire de faire appel à une propriété «d échange» : Soit S une solution qui diffère de la gloutonne Sol en construction par le dernier choix effectué : on peut transformer S en une autre solution aussi bonne et qui contient Sol. 24 / 1

26 Algorithmes gloutons Exemple : le problème de choix des activités Problème de choix des activités Énoncé du problème On dispose d une salle pouvant être louée pour une durée variable. On choisit parmi un ensemble de n demandes de location celles qui seront acceptées. Données : les dates de début d i et de fin f i de chaque demande i. Solution optimale = satisfaisant le plus de demandes. CHOIX_ACTIVITES (demandes) Trier les demandes par date de fin croissante. Sol := dispo := 0 // Première date disponible for i := 1 to n if d i dispo // demande acceptable Insérer i dans Sol dispo := f i 26 / 1

27 Algorithmes gloutons Exemple : le problème de choix des activités Preuve de l algorithme glouton On maintient l invariant : Sol est un préfixe d une solution optimale. En début d algorithme Sol est vide, c est donc un préfixe de toute solution. Supposons qu au début de la ième itération Sol est un préfixe d une solution optimale S. Si l itération n ajoute pas de demande à Sol alors elle reste un préfixe de la même S. Sinon, elle ajoute la demande i à Sol. 27 / 1

28 Algorithmes gloutons Exemple : le problème de choix des activités Preuve de l algorithme glouton (2) On distingue alors trois possibilités sur la première demande de S\Sol : c est une demande k < i : impossible car dans ce cas, à l itération k, on a refusé la demande k qui était incompatible avec la dernière demande de Sol. c est la demande k = i : alors Sol {i} est encore un préfixe de S. c est une demande k > i : on montre qu on peut la remplacer par i. Propriété d échange Si la première demande de S\Sol est une demande k > i, alors T = (S\{k}) {i} est également une solution optimale : f i f k donc la demande i est compatible avec toutes les autres demandes de S (qui ont des dates postérieures à f k ). T est de même taille que S. 28 / 1

29 Algorithmes gloutons Exemple : le problème de choix des activités En résumé Aujourd hui Pour accéder rapidement au maximum d un ensemble, il suffit de maintenir une structure partiellement ordonnée. Un tas est un arbre partiellement ordonné dont la forme est fixée (et donc la hauteur aussi). Cette structure permettra de réaliser une File à Priorités avec des opérations en temps logarithmique. Un algorithme glouton permet de résoudre efficacement un problème d optimisation, mais il n en existe pas toujours. La prochaine fois Arbre de codage Entropie Algorithme de Huffman 29 / 1

Les arbres binaires de recherche

Les arbres binaires de recherche Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s

Plus en détail

Les structures de données. Rajae El Ouazzani

Les structures de données. Rajae El Ouazzani Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l

Plus en détail

ARBRES BINAIRES DE RECHERCHE

ARBRES BINAIRES DE RECHERCHE ARBRES BINAIRES DE RECHERCHE Table de symboles Recherche : opération fondamentale données : éléments avec clés Type abstrait d une table de symboles (symbol table) ou dictionnaire Objets : ensembles d

Plus en détail

Quelques Algorithmes simples

Quelques Algorithmes simples Quelques Algorithmes simples Irène Guessarian ig@liafa.jussieu.fr 10 janvier 2012 Je remercie Patrick Cegielski de son aide efficace pour la programmation Java ; la section sur le codage de Huffman a été

Plus en détail

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes

Plus en détail

Arbres binaires de recherche

Arbres binaires de recherche 1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de

Plus en détail

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 1 de 46 Algorithmique Trouver et Trier Florent Hivert Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 2 de 46 Algorithmes et structures de données La plupart des bons algorithmes

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

Définitions. Numéro à préciser. (Durée : )

Définitions. Numéro à préciser. (Durée : ) Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.

Plus en détail

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/??

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/?? Algorithmique I Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement

Plus en détail

Algorithmique, Structures de données et langage C

Algorithmique, Structures de données et langage C UNIVERSITE PAUL SABATIER TOULOUSE III Algorithmique, Structures de données et langage C L3 IUP AISEM/ICM Janvier 2005 J.M. ENJALBERT Chapitre 1 Rappels et compléments de C 1.1 Structures Une structure

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

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

MIS 102 Initiation à l Informatique

MIS 102 Initiation à l Informatique MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ

Plus en détail

1 Recherche en table par balayage

1 Recherche en table par balayage 1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément

Plus en détail

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Sub CalculAnnuite() Const TITRE As String = Calcul d'annuité de remboursement d'un emprunt TD1 : traduction en Visual BASIC des exemples du cours sur les structures de contrôle de l'exécution page 1 'TRADUCTION EN VBA DES EXEMPLES ALGORITHMIQUES SUR LES STRUCTURES 'DE CONTROLE DE L'EXECUTION

Plus en détail

Quelques algorithmes simples dont l analyse n est pas si simple

Quelques algorithmes simples dont l analyse n est pas si simple Quelques algorithmes simples dont l analyse n est pas si simple Michel Habib habib@liafa.jussieu.fr http://www.liafa.jussieu.fr/~habib Algorithmique Avancée M1 Bioinformatique, Octobre 2008 Plan Histoire

Plus en détail

Chapitre 7. Récurrences

Chapitre 7. Récurrences Chapitre 7 Récurrences 333 Plan 1. Introduction 2. Applications 3. Classification des récurrences 4. Résolution de récurrences 5. Résumé et comparaisons Lectures conseillées : I MCS, chapitre 20. I Rosen,

Plus en détail

Feuille TD n 1 Exercices d algorithmique éléments de correction

Feuille TD n 1 Exercices d algorithmique éléments de correction Master Sciences, Technologies, Santé Mention Mathématiques, spécialité Enseignement des mathématiques Algorithmique et graphes, thèmes du second degré Feuille TD n 1 Exercices d algorithmique éléments

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

Plus en détail

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun> 94 Programmation en OCaml 5.4.8. Concaténation de deux listes Définissons maintenant la fonction concat qui met bout à bout deux listes. Ainsi, si l1 et l2 sont deux listes quelconques, concat l1 l2 constitue

Plus en détail

INF601 : Algorithme et Structure de données

INF601 : Algorithme et Structure de données Cours 2 : TDA Arbre Binaire B. Jacob IC2/LIUM 27 février 2010 Plan 1 Introuction 2 Primitives u TDA Arbin 3 Réalisations u TDA Arbin par cellules chaînées par cellules contiguës par curseurs (faux pointeurs)

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

Algorithmes de recherche

Algorithmes de recherche Algorithmes de recherche 1 Résolution de problèmes par recherche On représente un problème par un espace d'états (arbre/graphe). Chaque état est une conguration possible du problème. Résoudre le problème

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

SUPPORT DE COURS. Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : omarinmt@gmail.com

SUPPORT DE COURS. Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : omarinmt@gmail.com Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : omarinmt@gmail.com SUPPORT DE COURS Matière : Algorithmiques et Structures de Données 1 Niveau : 2 ème Année Licence en Informatique

Plus en détail

Arbres binaires de décision

Arbres binaires de décision 1 Arbres binaires de décision Résumé Arbres binaires de décision Méthodes de construction d arbres binaires de décision, modélisant une discrimination (classification trees) ou une régression (regression

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

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

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

Ensimag 1ère année Algorithmique 1 Examen 2ième session 24 juin 2010. Algorithmique 1

Ensimag 1ère année Algorithmique 1 Examen 2ième session 24 juin 2010. Algorithmique 1 Algorithmique 1 Durée : 2h Machines électroniques interdites Tous documents papiers autorisés Il est conseillé de traiter les deux parties dans l ordre du sujet. Veuillez respecter les notations introduites

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

Plus en détail

Plus courts chemins, programmation dynamique

Plus courts chemins, programmation dynamique 1 Plus courts chemins, programmation dynamique 1. Plus courts chemins à partir d un sommet 2. Plus courts chemins entre tous les sommets 3. Semi-anneau 4. Programmation dynamique 5. Applications à la bio-informatique

Plus en détail

Quatrième partie IV. Test. Test 15 février 2008 1 / 71

Quatrième partie IV. Test. Test 15 février 2008 1 / 71 Quatrième partie IV Test Test 15 février 2008 1 / 71 Outline Introduction 1 Introduction 2 Analyse statique 3 Test dynamique Test fonctionnel et structurel Test structurel Test fonctionnel 4 Conclusion

Plus en dé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

Organigramme / Algorigramme Dossier élève 1 SI

Organigramme / Algorigramme Dossier élève 1 SI Organigramme / Algorigramme Dossier élève 1 SI CI 10, I11 ; CI 11, I10 C24 Algorithmique 8 février 2009 (13:47) 1. Introduction Un organigramme (ou algorigramme, lorsqu il est plus particulièrement appliqué

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

SNT4U16 - Initiation à la programmation 2014-2015. TD - Dynamique de POP III - Fichiers sources

SNT4U16 - Initiation à la programmation 2014-2015. TD - Dynamique de POP III - Fichiers sources SNT4U16 - Initiation à la programmation Licence SVT 2 ème année 2014-2015 TD - Dynamique de POP III - Fichiers sources contacts : mathias.gauduchon@univ-amu.fr, melika.baklouti@univ-amu.fr, xavier.giraud@univ-amu.fr,

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

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

Programmation linéaire

Programmation linéaire 1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit

Plus en détail

Les algorithmes de base du graphisme

Les algorithmes de base du graphisme Les algorithmes de base du graphisme Table des matières 1 Traçage 2 1.1 Segments de droites......................... 2 1.1.1 Algorithmes simples.................... 3 1.1.2 Algorithmes de Bresenham (1965).............

Plus en détail

Chapitre 5 : Flot maximal dans un graphe

Chapitre 5 : Flot maximal dans un graphe Graphes et RO TELECOM Nancy A Chapitre 5 : Flot maximal dans un graphe J.-F. Scheid 1 Plan du chapitre I. Définitions 1 Graphe Graphe valué 3 Représentation d un graphe (matrice d incidence, matrice d

Plus en détail

Optimisation for Cloud Computing and Big Data

Optimisation for Cloud Computing and Big Data 1 / 23 Optimisation for Cloud Computing and Big Data Olivier Beaumont, Lionel Eyraud-Dubois 2 / 23 Aujourd hui Problèmes de fiabilité on va oublier la dynamicité Placement de VMs en programmation par contraintes

Plus en détail

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas

Plus en détail

Le langage SQL Rappels

Le langage SQL Rappels Le langage SQL Rappels Description du thème : Présentation des principales notions nécessaires pour réaliser des requêtes SQL Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs,

Plus en détail

Pourquoi l apprentissage?

Pourquoi l apprentissage? Pourquoi l apprentissage? Les SE sont basés sur la possibilité d extraire la connaissance d un expert sous forme de règles. Dépend fortement de la capacité à extraire et formaliser ces connaissances. Apprentissage

Plus en détail

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Jade. Projet Intelligence Artificielle «Devine à quoi je pense» Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges

Plus en détail

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN

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

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives introduction Chapitre 5 Images récursives http ://univ-tln.fr/~papini/sources/flocon.htm Récursivité http://www.poulain.org/fractales/index.html Image qui se contient elle-même 1 Exemples mathématiques

Plus en détail

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

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

Algorithmes récursifs

Algorithmes récursifs Licence 1 MASS - Algorithmique et Calcul Formel S. Verel, M.-E. Voge www.i3s.unice.fr/ verel 23 mars 2007 Objectifs de la séance 3 écrire des algorithmes récursifs avec un seul test rechercher un élément

Plus en détail

CH.6 Propriétés des langages non contextuels

CH.6 Propriétés des langages non contextuels CH.6 Propriétés des langages non contetuels 6.1 Le lemme de pompage 6.2 Les propriétés de fermeture 6.3 Les problèmes de décidabilité 6.4 Les langages non contetuels déterministes utomates ch6 1 6.1 Le

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

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

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

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

UE C avancé cours 1: introduction et révisions

UE C avancé cours 1: introduction et révisions Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple

Plus en détail

Algorithmique et Programmation

Algorithmique et Programmation École Supérieure d Ingénieurs de Poitiers Gea Algorithmique et Programmation Laurent Signac ii Algorithmique et programmation Gea Table des matières Avant Propos v Structures de données Notion de pointeur..............................................

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

Big Data et Graphes : Quelques pistes de recherche

Big Data et Graphes : Quelques pistes de recherche Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de Lyon/Université Claude Bernard Lyon 1/Université

Plus en détail

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai. Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai. 1 Introduction On considère une grille de 20 lignes 20 colonnes. Une case de la grille peut être vide, ou contenir une et une

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

Cours d algorithmique pour la classe de 2nde

Cours d algorithmique pour la classe de 2nde Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage

Plus en détail

Conventions d écriture et outils de mise au point

Conventions d écriture et outils de mise au point Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette

Plus en détail

Résolution d équations non linéaires

Résolution d équations non linéaires Analyse Numérique Résolution d équations non linéaires Said EL HAJJI et Touria GHEMIRES Université Mohammed V - Agdal. Faculté des Sciences Département de Mathématiques. Laboratoire de Mathématiques, Informatique

Plus en détail

Analyse de sécurité de logiciels système par typage statique

Analyse de sécurité de logiciels système par typage statique Contexte Modélisation Expérimentation Conclusion Analyse de sécurité de logiciels système par typage statique Application au noyau Linux Étienne Millon UPMC/LIP6 Airbus Group Innovations Sous la direction

Plus en détail

Formats d images. 1 Introduction

Formats d images. 1 Introduction Formats d images 1 Introduction Lorsque nous utilisons un ordinateur ou un smartphone l écran constitue un élément principal de l interaction avec la machine. Les images sont donc au cœur de l utilisation

Plus en détail

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

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

Plus en détail

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII ALGORITHMIQUE II NOTION DE COMPLEXITE 1 2 Comment choisir entre différents algorithmes pour résoudre un même problème? Plusieurs critères de choix : Exactitude Simplicité Efficacité (but de ce chapitre)

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

Compression de Données - Algorithme de Huffman Document de Conception

Compression de Données - Algorithme de Huffman Document de Conception ROLLET Samuel SALLE Jennifer Compression de Données - Algorithme de Huffman Document de Conception Projet d'algorithmique et Structure des Données 1 SOMMAIRE 1. Domaine d application....4 1.1 Objectifs

Plus en détail

Théorie et Codage de l Information (IF01) exercices 2013-2014. Paul Honeine Université de technologie de Troyes France

Théorie et Codage de l Information (IF01) exercices 2013-2014. Paul Honeine Université de technologie de Troyes France Théorie et Codage de l Information (IF01) exercices 2013-2014 Paul Honeine Université de technologie de Troyes France TD-1 Rappels de calculs de probabilités Exercice 1. On dispose d un jeu de 52 cartes

Plus en détail

données en connaissance et en actions?

données en connaissance et en actions? 1 Partie 2 : Présentation de la plateforme SPSS Modeler : Comment transformer vos données en connaissance et en actions? SPSS Modeler : l atelier de data mining Large gamme de techniques d analyse (algorithmes)

Plus en détail

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme? Exercices Alternatifs Quelqu un aurait-il vu passer un polynôme? c 2004 Frédéric Le Roux, François Béguin (copyleft LDL : Licence pour Documents Libres). Sources et figures: polynome-lagrange/. Version

Plus en détail

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme? Exercices Alternatifs Quelqu un aurait-il vu passer un polynôme? c 2004 Frédéric Le Roux, François Béguin (copyleft LDL : Licence pour Documents Libres). Sources et figures: polynome-lagrange/. Version

Plus en détail

Initiation à la Programmation en Logique avec SISCtus Prolog

Initiation à la Programmation en Logique avec SISCtus Prolog Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées

Plus en détail

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009 Déroulement Algorithmes et structures de données Cours 1 et 2 Patrick Reuter http://www.labri.fr/~preuter/asd2009 CM mercredi de 8h00 à 9h00 (Amphi Bât. E, 3 ème étage) ED - Groupe 3 : mercredi, 10h30

Plus en détail

Programmation sous QT

Programmation sous QT SN IR 1 2014-2015 Développement logiciel Programmation Objet Programmation sous QT Projet Alarme Domestique ~ TD n 6~ Conception et Tests Unitaires Date : mars 2015 Version : 3.2 Référence : TD6 Conception

Plus en détail

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e P r o b l é m a t i q u e OCL : O b j e c t C o n s t r a i n t L a n g u a g e Le langage de contraintes d UML Les différents diagrammes d UML permettent d exprimer certaines contraintes graphiquement

Plus en détail

OPTIMISATION À UNE VARIABLE

OPTIMISATION À UNE VARIABLE OPTIMISATION À UNE VARIABLE Sommaire 1. Optimum locaux d'une fonction... 1 1.1. Maximum local... 1 1.2. Minimum local... 1 1.3. Points stationnaires et points critiques... 2 1.4. Recherche d'un optimum

Plus en détail

TRACER LE GRAPHE D'UNE FONCTION

TRACER LE GRAPHE D'UNE FONCTION TRACER LE GRAPHE D'UNE FONCTION Sommaire 1. Méthodologie : comment tracer le graphe d'une fonction... 1 En combinant les concepts de dérivée première et seconde, il est maintenant possible de tracer le

Plus en détail

Stratégie de recherche adaptative en programmation par contrainte

Stratégie de recherche adaptative en programmation par contrainte Université Paul Sabatier École Nationale de l Aviation Civile Master 2 Recherche Informatique et Télécommunication parcours Intelligence Artificielle Simon Marchal Stratégie de recherche adaptative en

Plus en détail

Compilation (INF 564)

Compilation (INF 564) Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation

Plus en détail

Plateforme de capture et d analyse de sites Web AspirWeb

Plateforme de capture et d analyse de sites Web AspirWeb Projet Java ESIAL 2A 2009-2010 Plateforme de capture et d analyse de sites Web AspirWeb 1. Contexte Ce projet de deuxième année permet d approfondir par la pratique les méthodes et techniques acquises

Plus en détail

Algorithmique - Cours et Travaux Dirigés Ecole Normale Supérieure de Lyon

Algorithmique - Cours et Travaux Dirigés Ecole Normale Supérieure de Lyon Algorithmique - Cours et Travaux Dirigés Ecole Normale Supérieure de Lyon Rédaction Etudiants-scribes, MIM 2003 et 2004 Cours Yves Robert Travaux Dirigés Yves Caniou et Eric Thierry 2003-2004-2005 2 Table

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en détail

Cours de Master Recherche

Cours de Master Recherche Cours de Master Recherche Spécialité CODE : Résolution de problèmes combinatoires Christine Solnon LIRIS, UMR 5205 CNRS / Université Lyon 1 2007 Rappel du plan du cours 16 heures de cours 1 - Introduction

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

Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU

Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU Gabriel Antoine Louis Paillard Ce travail a eu le soutien de la CAPES, agence brésilienne pour

Plus en détail

Projet Matlab : un logiciel de cryptage

Projet Matlab : un logiciel de cryptage Projet Matlab : un logiciel de cryptage La stéganographie (du grec steganos : couvert et graphein : écriture) consiste à dissimuler une information au sein d'une autre à caractère anodin, de sorte que

Plus en détail

Programmes des classes préparatoires aux Grandes Ecoles

Programmes des classes préparatoires aux Grandes Ecoles Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voies : Mathématiques, physique et sciences de l'ingénieur (MPSI) Physique, chimie et sciences de l ingénieur (PCSI) Physique,

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

Gestion de Projet. Génie Logiciel. Renaud Marlet. LaBRI / INRIA. http://www.labri.fr/~marlet. (d'après A.-M. Hugues) màj 19/04/2007

Gestion de Projet. Génie Logiciel. Renaud Marlet. LaBRI / INRIA. http://www.labri.fr/~marlet. (d'après A.-M. Hugues) màj 19/04/2007 1 Génie Logiciel (d'après A.-M. Hugues) Gestion de Projet Renaud Marlet LaBRI / INRIA http://www.labri.fr/~marlet màj 19/0/007 Est-ce bien nécessaire? Principes de gestion = beaucoup d'évidences Pourtant

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