Les deux points les plus proches

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

Download "Les deux points les plus proches"

Transcription

1 MPSI Option Informatique Année 2001, Deuxième TP Caml Vcent Simonet (http://cristal.ria.fr/~simonet/) Les eux pots les plus proches Lors e cette séance, nous allons nous téresser au problème suivant : étant onné un ensemble e pots u plan, entifier le couple e pots les plus proches au sens e la istance eucliienne. Ce type algorithme voit son utilité ans les transports aériens ou maritimes par exemple. Nous représenterons un pot en Caml par un couple e flottants (x, y) représentant ses cooronnées ans un repère orthonormé. L ensemble es pots consiérés sera quant à lui stocké ans un tableau t. Nous supposerons toujours que tous les couples stockés ans t sont istcts. 1 Une première solution Consiérons eux pots p et p e cooronnées respectives (x, y) et (x, y ). Leur istance eucliienne est onnée par la formule p p = (x x ) 2 + (y y ) 2. Question 1 Écrivez une fonction ist qui calcule la istance eucliienne séparant eux pots. Une méthoe «naïve» permettant e étermer les eux pots les plus proches ans un tableau t consiste à consiérer successivement tous les couples e pots possibles, ce qui peut se faire facilement à l aie e eux boucles for. Question 2 Écrivez une fonction plus proches qui pr pour argument un tableau e pots t et retourne un couple e pots ((x, y), (x, y )) situés à une istance mimale l un e l autre. Vous pourrez Commencer par créer une référence (itialisée par exemple avec ist t.(0) t.(1)) qui contira tout au long u éroulement e l algorithme la plus petite istance trouvée ; asi que eux références s i et s j contenant les ices es pots qui permettent attere cette istance. Utiliser eux boucles imbriquées pour consiérer tous les couples e pots communs. Mettre à jour les trois références à chaque fois qu un couple (i, j) tel que t.(i) t.(j) <! est trouvé. Question 3 Évaluez le coût un appel à la fonction plus proches en fonction e la taille u tableau t. Nous allons matenant nous téresser à la mise au pot un algorithme permettant e résoure ce même problème en temps O(n log n). Cet algorithme nécessite e isposer e eux copies u tableau t, l une triée par abscisses croissantes et l autre par oronnées croissantes. Nous allons onc écrire ans un premier temps quelques fonctions permettant e trier un tableau. 2 Tri un tableau Soit t = [ ; x 1 ;... ; x n 1 ] un tableau. Trier t consiste à permuter le contenu es cases u tableau t e façon à obtenir le tableau [ x σ(0) ; x σ(1) ;... ; x σ(n 1) ] avec x σ(0) x σ(1)... x σ(n 1). L algorithme e tri par sélection aopte le prcipe suivant : pour i variant e 0 à n 2, chercher l ice k i e la case e la partie u tableau située à roite e la case i contenant le plus petit élément ; puis permuter le contenu es cases k et i. c Vcent Simonet 2001 Ce ocument est istribué selon les termes e la GNU Free Documentation License.

2 Par exemple, pour trier le tableau [ 4; 3; 1; 2 ], on passe par les étapes suivantes : [ 4; 3; 1; 2 ] i = 0 k = 2 [ 1; 3; 4; 2 ] i = 1 k = 3 [ 1; 2; 4; 3 ] i = 2 k = 3 [ 1; 2; 3; 4 ] Question 4 Écrivez une fonction swap qui pr pour argument un tableau t, eux entiers a et b et permute le contenu es cases ices a et b. Votre fonction ne créera pas un nouveau tableau, elle se contentera e moifier sur place le tableau t. Elle sera onc e type a vect t t unit. Question 5 Écrivez une fonction sel qui pr pour argument un tableau t ; eux entiers a et b et retourne l ice e la case u sous-tableau t.(a)... t.(b) qui contient le plus petit élément pour l orre <. Question 6 Déuisez-en une fonction tri qui effectue le tri un tableau. La fonction que vous venez écrire vous permet e trier un tableau pour la relation orre <. Sur les couples, cet orre est en Caml l orre lexicographique. On peut cepant imager autres relations orre sur es couples, comme par exemple : l e t orre x ( x, y ) ( x, y ) = x < x l e t orre y ( x, y ) ( x, y ) = y < y Question 7 Aaptez les fonctions sel et tri e sorte qu elle prennent également en argument une fonction implantant une relation orre (comme orre x ou orre y). 3 Diviser pour régner Nous revenons matenant à notre premier problème, étermer parmi un ensemble e pots un couple e pots situés à une istance mimale. Nous supposons que nous isposons e eux copies e l ensemble es n pots : un tableau t x, trié par abscisses croissantes, un tableau t y, trié par oronnées croissantes. On pose k = n/2 et on consière les eux sous-tableaux t 1 = [ t.(0);... ; t.(k) ] et t 2 = [ t.(k + 1);... ; t.(k + 2) ]. Soit un flottant plus gran que les abscisses es pots e t 1 et plus petit que les abscisses es pots e t 2. Le plan est ivisé en eux parties : Notons p 1 = (x 1, y 1 ) et p 1 = (x 1, y 1) les eux pots les plus proches ans le tableau t 1 (avec x 1 x 1) asi que p 2 = (x 2, y 2 ) et p 2 = (x 2, y 2) eux pots les plus proches ans t 2. On note = m( p 1 p 1, p 2 p 2 ). Si eux pots u tableau t sont à une istance strictement férieure à alors nécessairement l un fait partie e t 1 et l autre e t 2 et ils sont ans la bane abscisses [ ; + ]. p 1 p 1 p 2 p 2 Question 8 Écrivez une fonction qui pr pour argument un tableau t y asi que eux flottants x m, x max et qui sélectionne ans ce tableau les pots ont l abscisse est comprise entre x m et x max. Le résultat sera ru ans un tableau t z. Notons t z le tableau es pots situé ans la bane, obtenu grâce à un appel à la fonction précéente. Dans chaque tranche e hauteur e cette bane, il ne peut y avoir plus e 7 pots. On en éuit que si eux pots e t z sont à une istance férieure ou égale à alors ils sont situés à au plus sept cases l un e l autre ans le tableau t z. Question 9 Écrivez une fonction plus proches centre qui pr pour argument le tableau t z et retourne le couple e pots les plus proches, tels que ces eux pots soient situés à au plus 7 cases l un e l autre ans le tableau t z. Vous pourrez vous spirer e la fonction plus proches précéente. On éuit e ce qui précèe un algorithme récursif permettant e trouver les eux pots les plus proches à partir es eux tableaux t x et t y : 1. Découper le tableau t x en eux tableaux t x,1 et t x,2 e longueur moitié. 2. Détermer p 1 = (x 1, y 1 ), p 1 = (x 1, y 1), p 2 = (x 2, y 2 ) et p 2 = (x 2, y 2) asi que la istance. 3. Calculer t z. S il contient au mos eux pots, appliquer la fonction plus proches centre à t z pour obtenir p = (x, y) et p = (x, y ). 2

3 4. Retourner le résultat, c est à ire la paire e pots à istance mimale parmi p 1, p 1 ; p 2, p 2 et p, p. Question 10 Écrivez en appliquant ce procéé une nouvelle fonction plus proches. Évaluez sa complexité en fonction u nombre e pots. 3

4 MPSI Option Informatique Année 2001, Deuxième TP Caml Vcent Simonet (http://cristal.ria.fr/~simonet/) Les eux pots les plus proches Un corrigé Question 1 On utilise la fonction sqrt e Caml qui permet e «calculer» la race carrée un flottant et l opérateur. exponentiation. l e t i s t ( x, y ) ( x, y ) = s q r t ( ( x. x ) ( y. y ) ) l e t s e l t a b = l e t r = r e f a for i = a + 1 to b o i f t. ( i ) < t. (! r ) then r := i! r Question 2 Notre fonction se contente envisager tous les couples entiers (i, j) avec 0 i < j n 1 à l aie e eux boucles for imbriquées. La référence contient à chaque stant la plus petite istance trouvée et les références s i et s j les ices es eux pots la réalisant. Question 4 l e t plus proches t = l e t n = vect length t an = r e f ( i s t t. ( 0 ) t. ( 1 ) ) an s i = r e f 0 an s j = r e f 1 for j = i + 1 to ( n 1) o i f i s t t. ( i ) t. ( j ) <! then := i s t t. ( i ) t. ( j ) ; s i := i ; s j := j ( t. (! s i ), t. (! s j )) l e t swap t a b = l e t x = t. ( a ) t. ( a) < t. ( b ) ; t. ( b) < x ; Question 5 La référence r contient à chaque itération l ice e la case contenant le plus petit élément parmi t.(a)... t.(i). Question 6 Question 7 Question 8 l e t t r i t = l e t n = vect length t l e t k = s e l t i ( n 1) swap t i k l e t s e l comp t a b = l e t r = r e f a for i = a + 1 to b o i f comp t. ( i ) t. (! r ) then r := i! r l e t t r i comp t = l e t n = vect length t l e t k = s e l comp t i ( n 1) swap t i k l e t selectionne ty x m x max = l e t n = vect length ty l e t r e s u l t a t = r e f [ ] for i = n 1 ownto 0 o i f x m <= f s t ty. ( i ) && f s t ty. ( i ) <= x max then r e s u l t a t := ty. ( i ) : : (! r e s u l t a t ) v e c t o f l i s t (! r e s u l t a t )

5 Question 9 Notre fonction plus proches centre est très semblable à la fonction plus proches. La seule ifférence résie ans la borne supérieure e la boucle exée par j : il n est plus nécessaire e poursuivre jusqu à j = n 1 mais on peut se limiter à j = m(n 1, i + 7). l e t plus proches centre t = l e t n = vect length t an = r e f ( i s t t. ( 0 ) t. ( 1 ) ) an s o l u t i o n i = r e f 0 an s o l u t i o n j = r e f 1 for j = i + 1 to m ( n 1) ( i + 7) o i f i s t t. ( i ) t. ( j ) <! then := i s t t. ( i ) t. ( j ) ; s o l u t i o n i := i ; s o l u t i o n j := j ( t. (! s o l u t i o n i ), t. (! s o l u t i o n j )) Question 10 l e t rec plus proches tx ty = l e t n = vect length tx i f n <= 3 then ( plus proches tx ) e l s e l e t tx1 = sub vect t ( n/2) an tx2 = sub vect tx ( n /2) ( n n/2) an x0 = f s t tx. ( n/2 1) l e t p1, p1 = plus proches tx1 ty an p2, p2 = plus proches tx2 ty l e t p12, p12 = i f ( i s t p1 p1 ) < ( i s t p2 p2 ) then ( p1, p1 ) e l s e ( p2, p2 ) l e t = i s t p12 p12 l e t tz = s e l e c t i o n n e ty (max ( x0. ) ( f s t tx. ( 0 ) ) ) (m ( x0 +. ) ( f s t tx. ( n 1))) i f vect length tz <= 1 then ( p12, p12 ) e l s e l e t p, p = plus proches centre tz i f i s t p p < then ( p, p ) e l s e ( p12, p12 ) 2

Arbres binaires et codage de Huffman

Arbres binaires et codage de Huffman MP Option Informatique Premier TP Caml Jeudi 8 octobre 2009 Arbres baires et codage de Huffman 1 Arbres baires Soit E un ensemble non vide. On défit la notion d arbre baire étiqueté (aux feuilles) par

Plus en détail

Le jeu de Marienbad. 1 Écriture binaire d un entier

Le jeu de Marienbad. 1 Écriture binaire d un entier MPSI Option Informatique Année 2002, Quatrième TP Caml Vcent Simonet (http://cristal.ria.fr/~simonet/) Le jeu de Marienbad Dans le film d Ala Resnais «L année dernière à Marienbad» (1961), l un des personnages,

Plus en détail

Compression LZW. 1 Gestion d un dictionnaire. 2 Algorithme LZW. 2.1 Compression

Compression LZW. 1 Gestion d un dictionnaire. 2 Algorithme LZW. 2.1 Compression MPSI Option Informatique Année 2001, Septième TP Caml Vcent Simonet (http://cristal.ria.fr/~simonet/) Compression LZW Lorsque l on stocke ou l on transmet via un réseau une grande quantité de données,

Plus en détail

Tri en Python. # on cherche k tel que a k = min(a j ) ji

Tri en Python. # on cherche k tel que a k = min(a j ) ji Tri en Python On considère ici des tableaux ou listes d entiers ou de ottants. En Python, on peut trier une liste à l aide de la méthode sort : si a est une liste d entiers ou de ottants, a.sort() modi

Plus en détail

Introduction Tableaux / Vecteurs Listes chaînées Un principe général Quelques algorithmes de tri À faire pour lundi prochain. Tableaux VS Listes

Introduction Tableaux / Vecteurs Listes chaînées Un principe général Quelques algorithmes de tri À faire pour lundi prochain. Tableaux VS Listes Tableaux VS Listes Tableaux VS Listes Petit chapitre. Plan Introduction Tableaux / Vecteurs Définition abstraite Qu a-t-on fait avec des vecteurs? Que peut-on faire avec des vecteurs? Listes chaînées Définition

Plus en détail

JAVA année 2015 CP 2 série n 2

JAVA année 2015 CP 2 série n 2 JAVA année 2015 CP 2 série n 2 Exercices sur les conditionnelles, le contrôle de flot et les méthodes statiques Exercice 1 Écrire un programme Ex0201.java qui lit 3 nombres au clavier, les classes dans

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

SOMMAIRE 1 INTRODUCTION 3 2 NOTION DE TORSEUR 3. 2.1 Définition 3 2.1.1 Propriétés liées aux torseurs 4 2.1.2 Produit ou comoment de deux torseurs 4

SOMMAIRE 1 INTRODUCTION 3 2 NOTION DE TORSEUR 3. 2.1 Définition 3 2.1.1 Propriétés liées aux torseurs 4 2.1.2 Produit ou comoment de deux torseurs 4 SOAIRE 1 INTRODUCTION 3 2 NOTION DE TORSEUR 3 2.1 Définition 3 2.1.1 Propriétés liées aux torseurs 4 2.1.2 Prouit ou comoment e eux torseurs 4 2.2 Torseurs élémentaires 4 2.2.1 Torseur couple 4 2.2.2 Torseur

Plus en détail

Licence STIC, Semestre 1 Algorithmique & Programmation 1

Licence STIC, Semestre 1 Algorithmique & Programmation 1 Licence STIC, Semestre 1 Algorithmique & Programmation 1 Exercices Alexandre Tessier 1 Introduction 2 instruction de sortie 3 expressions 4 variable informatique 5 séquence d instructions, trace Exercice

Plus en détail

Concours Pascal (9 e année Sec. III)

Concours Pascal (9 e année Sec. III) Le CENTRE ÉDUCATION en MATHÉMATIQUES et en INFORMATIQUE cemc.uwaterloo.ca Concours Pascal (9 e année Sec. III) le jeui 20 février 201 (Amérique u Nor et Amérique u Su) le venrei 21 février 201 (Hors e

Plus en détail

Coloriages et invariants

Coloriages et invariants DOMAINE : Combinatoire AUTEUR : Razvan BARBULESCU NIVEAU : Débutants STAGE : Montpellier 013 CONTENU : Exercices Coloriages et invariants - Coloriages - Exercice 1 Le plancher est pavé avec des dalles

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

Université Paris Diderot Paris 7. TD n 2. Arbres Binaire de Recherche

Université Paris Diderot Paris 7. TD n 2. Arbres Binaire de Recherche Université Paris Diderot Paris L Informatique Algorithmique Année 00-0, er semestre TD n Arbres Binaire de Recherche Le type de donné arbre" sera utilisé pour indiquer l ensemble de toutes les Arbres Binaires

Plus en détail

Chapitre. Chapitre 12. Fonctions de plusieurs variables. 1. Fonctions à valeurs réelles. 1.1 Définition. 1.2 Calcul de dérivées partielles

Chapitre. Chapitre 12. Fonctions de plusieurs variables. 1. Fonctions à valeurs réelles. 1.1 Définition. 1.2 Calcul de dérivées partielles 1 Chapitre Chapitre 1. Fonctions e plusieurs variables La TI-Nspire CAS permet e manipuler très simplement les onctions e plusieurs variables. Nous allons voir ans ce chapitre comment procéer, et éinir

Plus en détail

Option Informatique Arbres binaires équilibrés

Option Informatique Arbres binaires équilibrés Option Informatique Arbres binaires équilibrés Sujet novembre 2 Partie II : Algorithmique et programmation en CaML Cette partie doit être traitée par les étudiants qui ont utilisé le langage CaML dans

Plus en détail

Licence informatique - L3 Année 2012/2013. Conception d algorithmes et applications (LI325) COURS 2

Licence informatique - L3 Année 2012/2013. Conception d algorithmes et applications (LI325) COURS 2 Licence informatique - L Année 0/0 Conception d algorithmes et applications (LI) COURS Résumé. Cette deuxième séance est entièrement consacrée aux applications du principe Diviser pour Régner. Nous regarderons

Plus en détail

CALCULER UNE ENVELOPPE CONVEXE

CALCULER UNE ENVELOPPE CONVEXE CALCULER UNE ENVELOPPE CONVEXE 1. Introuction Soit A une partie e R n. De nombreux problèmes géométriques requièrent la étermination e l enveloppe convexe e A. L enveloppe convexe e A sera notée conv(a).

Plus en détail

Une voiture parcourt en 2 heures, 140 km ; en 3 heures, 210 km et en 5 heures, 350 km.

Une voiture parcourt en 2 heures, 140 km ; en 3 heures, 210 km et en 5 heures, 350 km. Calcul es Vitesses Tout objet en mouvement ( voiture, train, piéton, avion, tortue, bille, ) est appelé un mobile. Nous irons qu un mobile a un mouvement uniforme ( ou est animé un mouvement uniforme )

Plus en détail

Enveloppes convexes dans le plan

Enveloppes convexes dans le plan ÉCOLE POLYTECHNIQUE ÉCOLES NORMALES SUPÉRIEURES ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE B (XECLR)

Plus en détail

Marches, permutations et arbres binaires aléatoires

Marches, permutations et arbres binaires aléatoires Marches, permutations et arbres binaires aléatoires Épreuve pratique d algorithmique et de programmation Concours commun des Écoles Normales Supérieures Durée de l épreuve: 4 heures Cœfficient: 4 Juillet

Plus en détail

Programmation C++ (débutant)/les tableaux statiques

Programmation C++ (débutant)/les tableaux statiques Programmation C++ (débutant)/les tableaux statiques 1 Programmation C++ (débutant)/les tableaux statiques Le cours du chapitre 6 : les tableaux statiques Les tableaux Une variable entière de type int ne

Plus en détail

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3 I Arbres binaires 2014-2015 Table des matières 1 Rappels 2 1.1 Définition................................................ 2 1.2 Dénombrements............................................ 2 1.3 Parcours.................................................

Plus en détail

Points fixes de fonctions à domaine fini

Points fixes de fonctions à domaine fini ÉCOLE POLYTECHNIQUE ÉCOLE NORMALE SUPÉRIEURE DE CACHAN ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION 2013 FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE

Plus en détail

Architecture des Systèmes d Information Architecture des Systèmes d Information

Architecture des Systèmes d Information Architecture des Systèmes d Information Plan... Tableaux et tris I3 - Algorithmique et programmation 1 Rappels Nicol Delestre 2 Tableaux à n dimensions 3 Initiation aux tris Tableaux - v2.0.1 1 / 27 Tableaux - v2.0.1 2 / 27 Rappels : tableau

Plus en détail

Que faire en algorithmique en classe de seconde? ElHassan FADILI Lycée Salvador Allende

Que faire en algorithmique en classe de seconde? ElHassan FADILI Lycée Salvador Allende Que faire en algorithmique en classe de seconde? BEGIN Que dit le programme? Algorithmique (objectifs pour le lycée) La démarche algorithmique est, depuis les origines, une composante essentielle de l

Plus en détail

Le problème des multiplications matricielles enchaînées peut être énoncé comme suit : étant

Le problème des multiplications matricielles enchaînées peut être énoncé comme suit : étant Licence informatique - L Année 0/0 Conception d algorithmes et applications (LI) COURS Résumé. Dans cette cinquième séance, nous continuons l exploration des algorithmes de type Programmation Dynamique.

Plus en détail

Licence E.E.A. TD N 2 de Langage C/C++

Licence E.E.A. TD N 2 de Langage C/C++ TD N 2 de Langage C/C++ 1 Licence E.E.A. TD N 2 de Langage C/C++ Ce TD a pour objectif de vous faire découvrir et utiliser le langage C et peut être C++. Il s agira de transcrire sous la forme d un programme

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

Épreuve d informatique 2011

Épreuve d informatique 2011 A 2011 INFO. MP ÉCOLE NATIONALE DES PONTS ET CHAUSSÉES, ÉCOLES NATIONALES SUPÉRIEURES DE L AÉRONAUTIQUE ET DE L ESPACE, DE TECHNIQUES AVANCÉES, DES TÉLÉCOMMUNICATIONS, DES MINES DE PARIS, DES MINES DE

Plus en détail

Mathématiques pour l informatique 1 notes de cours sur la seconde partie

Mathématiques pour l informatique 1 notes de cours sur la seconde partie Mathématiques pour l informatique notes de cours sur la seconde partie L Université Paris-Est, Marne-la-Vallée Cyril Nicaud Organisation Ce demi-cours est composé de 6 séances de cours et 6 séances de

Plus en détail

} 7 Variables (composantes)

} 7 Variables (composantes) Chapitre 4 Tableaux Jusqu ici, nous avons employé les variables pour stocker les valeurs individuelles de types primitifs : une variable de type int pour stocker un entier, une variable de type boolean

Plus en détail

ÉCOLE POLYTECHNIQUE ÉCOLE NORMALE SUPÉRIEURE DE CACHAN ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES FILIÈRE MP HORS SPÉCIALITÉ INFO

ÉCOLE POLYTECHNIQUE ÉCOLE NORMALE SUPÉRIEURE DE CACHAN ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES FILIÈRE MP HORS SPÉCIALITÉ INFO ÉCOLE POLYTECHNIQUE ÉCOLE NORMALE SUPÉRIEURE DE CACHAN ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION 2012 FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE

Plus en détail

Machine de Turing. Informatique II Algorithmique 1

Machine de Turing. Informatique II Algorithmique 1 Machine de Turing Nous avons vu qu un programme peut être considéré comme la décomposition de la tâche à réaliser en une séquence d instructions élémentaires (manipulant des données élémentaires) compréhensibles

Plus en détail

Algorithmique avancée en Python TDs

Algorithmique avancée en Python TDs Algorithmique avancée en Python TDs Denis Robilliard sept. 2014 1 TD 1 Révisions 1. Ecrire un programme qui saisit un entier, et détermine puis affiche si l entier est pair où impair. 2. Ecrire un programme

Plus en détail

Thème Image - TP1 - Images au format bitmap

Thème Image - TP1 - Images au format bitmap Université Joseph Fourier DLST UE MAP110/120 Année 2013-14 Thème Image - TP1 - Images au format bitmap Compte-ru Il vous est demandé de rédiger un compte-ru pour ce TP. Ouvrez en parallèle un document

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

2.1. Les fonctions. Les fonctions se définissent de la manière suivante : NomDeLaFonction(param1, param2,...)= { \\ Code de la fonction

2.1. Les fonctions. Les fonctions se définissent de la manière suivante : NomDeLaFonction(param1, param2,...)= { \\ Code de la fonction TP1, prise en main de Pari/GP et arithmétique Le programme que nous allons utiliser pour les TP se nomme PARI/GP dont le point fort est la théorie des nombres (au sens large). Il est donc tout à fait adapter

Plus en détail

Quelques notions de conductimétrie

Quelques notions de conductimétrie Quelques nots e conuctimétrie - Mobilité un Deux électroes planes, parallèles, e surface et istantes e sont reliées aux pôles un générateur alternatif (*). I Les surfaces sont en regar l une e l autre

Plus en détail

Langage C et aléa, séance 4

Langage C et aléa, séance 4 Langage C et aléa, séance 4 École des Mines de Nancy, séminaire d option Ingénierie Mathématique Frédéric Sur http://www.loria.fr/ sur/enseignement/courscalea/ 1 La bibliothèque GMP Nous allons utiliser

Plus en détail

Année Universitaire 2013/2014 DST de Printemps

Année Universitaire 2013/2014 DST de Printemps Année Universitaire 2013/2014 DST de Printemps Parcours : Licence LIMI201 & LIMI211 Code UE : J1MI2013 Épreuve : Algorithmes et Programmes Date : Lundi 16 juin 2014 Heure : 16 heures 30 Durée : 2 heures

Plus en détail

EXAMEN FINAL. 2 Février 2006-2 heures Aucun document autorisé

EXAMEN FINAL. 2 Février 2006-2 heures Aucun document autorisé MIE - E ANNÉE ALGORITHMIQUE GÉNÉRALE Vincent Mousseau EXAMEN FINAL Février 006 - heures Aucun document autorisé Exercice : On s intéresse à la gestion informatique des réservations sur l année d une salle

Plus en détail

Chaîne d additions ATTENTION!

Chaîne d additions ATTENTION! Chaîne d additions Épreuve pratique d algorithmique et de programmation Concours commun des écoles normales supérieures Durée de l épreuve: 3 heures 30 minutes Juin 2012 ATTENTION! N oubliez en aucun cas

Plus en détail

IN 101 - Cours 05. 7 octobre 2011. Un problème concret Recherche de collisions

IN 101 - Cours 05. 7 octobre 2011. Un problème concret Recherche de collisions Un problème concret Recherche de collisions IN 101 - Cours 05 7 octobre 2011 Le paradoxe des anniversaires dit que 365 élèves sont suffisants (en moyenne) pour avoir une collision d anniversaire, deux

Plus en détail

Introduction à l Informatique (INF 311) Amphi 9 : stockage efficace de l information. Amphi 9: stockage efficace de l information

Introduction à l Informatique (INF 311) Amphi 9 : stockage efficace de l information. Amphi 9: stockage efficace de l information F. Morain École polytechnique Introduction à l Informatique (INF 311) Promo X2013 3/46 F. Morain École polytechnique Introduction à l Informatique (INF 311) Promo X2013 4/46 Introduction à l Informatique

Plus en détail

Expressions, types et variables en Python

Expressions, types et variables en Python Expressions, types et variables en Python 2015-08-26 1 Expressions Les valeurs désignent les données manipulées par un algorithme ou une fonction. Une valeur peut ainsi être : un nombre, un caractère,

Plus en détail

A quelle distance se trouve un objet inaccessible?

A quelle distance se trouve un objet inaccessible? Fiche e T.P. Professeur pour la classe e Secone page 1 Pour ce T.P. il n est pas prévu e «fiche élève», le but étant e faire écouvrir et mettre en œuvre la mesure une istance, par la méthoe ite e la parallaxe.

Plus en détail

FSAB1402: Informatique 2. Algorithmes sur les Listes. Peter Van Roy. Département d Ingénierie Informatique, UCL. P. Van Roy, FSAB1402 1.

FSAB1402: Informatique 2. Algorithmes sur les Listes. Peter Van Roy. Département d Ingénierie Informatique, UCL. P. Van Roy, FSAB1402 1. FSAB1402: Informatique 2 Algorithmes sur les Listes Peter Van Roy Département d Ingénierie Informatique, UCL pvr@info.ucl.ac.be P. Van Roy, FSAB1402 1 Annonces P. Van Roy, FSAB1402 2 1 L interro Pour les

Plus en détail

Module ITC34 - Algorithmique et Programmation

Module ITC34 - Algorithmique et Programmation Module ITC34 - Algorithmique et Programmation TDs Algorithmique (trois séances) Benoît Darties - benoit.darties@u-bourgogne.fr Univ. Bourgogne Franche-Comté Année universitaire 2015-2016 Avant-propos :

Plus en détail

1) Quel est le PGCD de 36 et 28? (donner juste le résultat sans explication) (1 point) : 2) Ecrire la division euclidienne de 278 par 17.

1) Quel est le PGCD de 36 et 28? (donner juste le résultat sans explication) (1 point) : 2) Ecrire la division euclidienne de 278 par 17. Test 1 : RATTRAPAGE NOM : Note : Connaitre le sens de «diviseur commun» Déterminer le PGCD de deux nombres Compétences du socle commun Déterminer si deux entiers sont premiers entre eux. Effectuer la division

Plus en détail

Arbres binaires Version prof Version prof

Arbres binaires Version prof Version prof Arbres binaires Version prof Version prof types /* déclaration du type t_element */ t_arbrebinaire = t_noeudbinaire t_noeudbinaire = enregistrement t_element cle t_arbrebinaire fg, fd n enregistrement

Plus en détail

Algorithmique P2. Optimisation d'un algorithme de tri 2009-2010, Ulg R.Dumont

Algorithmique P2. Optimisation d'un algorithme de tri 2009-2010, Ulg R.Dumont Algorithmique P2 Optimisation d'un algorithme de tri 2009-2010, Ulg R.Dumont Sources supplémentaires Cours Algorithms and Data Structures in Java, Patrick Prosser, 2000, Glasgow University Algorithmique

Plus en détail

Soutien illimité 7j/7 en maths: Coach, profs, exercices & annales, cours. Sujet de Bac 2013 Maths S Obligatoire & Spécialité - Liban

Soutien illimité 7j/7 en maths: Coach, profs, exercices & annales, cours. Sujet de Bac 2013 Maths S Obligatoire & Spécialité - Liban Sujet de Bac 2013 Maths S Obligatoire & Spécialité - Liban EXERCICE 1 : 4 Points Cet exercice est un questionnaire à choix multiples. Aucune justification n est demandée. Pour chacune des questions, une

Plus en détail

Architecture des ordinateurs TP 3

Architecture des ordinateurs TP 3 Architecture des ordinateurs ESIPE - IR1 TP 3 Objectif de cette séance L objectif de cette séance est d apprendre à utiliser la pile et à écrire des fonctions en assembleur En particulier, nous verrons

Plus en détail

TP 5 & 6 : Graphique

TP 5 & 6 : Graphique L1-S1-IMP Informatique Année 2010-2011 Semestre 1 TP 5 & 6 : Graphique 1 Bases 1.1 Bibliothèque graphique Pour dessiner des figures géométriques (et autres), Caml offre une bibliothèque de fonctions graphiques.

Plus en détail

Jeux à plusieurs et coalitions

Jeux à plusieurs et coalitions Jeux à plusieurs et coalitions Épreuve pratique d algorithmique et de programmation Concours commun des écoles normales supérieures Durée de l épreuve: 3 heures 30 minutes Juillet 2005 Important. Lorsque

Plus en détail

Exercice 1 : Questions diverses (5 points)

Exercice 1 : Questions diverses (5 points) Université Claude Bernard Lyon 1 Licence Sciences, Technologies, Santé L2 Année 2010-2011, 2ème semestre LIF5 Algorithmique & Programmation procédurale Contrôle final du 20 juin 2011 Durée : 1h30 Note

Plus en détail

Gestion d'un entrepôt

Gestion d'un entrepôt Gestion d'un entrepôt Épreuve pratique d'algorithmique et de programmation Concours commun des écoles normales supérieures Durée de l'épreuve: 3 heures 30 minutes Juin/Juillet 2010 ATTENTION! N oubliez

Plus en détail

Arbres binaires de recherche et arbres rouge noir

Arbres binaires de recherche et arbres rouge noir Institut Galilée lgo, rbres, Graphes I nnée 006-007 License rbres binaires de recherche et arbres rouge noir Rappels de cours et correction du TD rbres binaires de recherche : définitions Un arbre binaire

Plus en détail

Utilitaires Tableau [tb01] - Outils

Utilitaires Tableau [tb01] - Outils Utilitaires Tableau [tb01] - Outils Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner Unisciel algoprog Version 9 avril 2015 Table des matières 1 Utilitaires Tableau / tb01outils1 (C++) 1 1.1

Plus en détail

Les graphes d intervalles

Les graphes d intervalles Les graphes d intervalles Complément au chapitre 3 «Vol aux archives cantonales» Considérons un ensemble de tâches ayant chacune une heure de début et une heure de fin bien précises. Supposons qu on demande

Plus en détail

SUJET + CORRIGE. Avertissement

SUJET + CORRIGE. Avertissement Année : 2012/2013 Semestre 2 DEVUIP Service scolarité PARCOURS : Licence LIMI201 & LIMI211 UE J1MI2013 : Algorithmes et Programmes Épreuve : Devoir Surveillé Terminal Date : Lundi 10 juin 2013 Heure :

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

TOPOLOGIE DE LA DROITE REELLE

TOPOLOGIE DE LA DROITE REELLE TOPOLOGIE DE LA DROITE REELLE P. Pansu 16 mai 2005 1 Qu est-ce que la topologie? C est l étude des propriétés des objets qui sont conservées par déformation continue. Belle phrase, mais qui nécessite d

Plus en détail

Algorithmique... Complexité. Luc Brun. luc.brun@greyc.ensicaen.fr. A partir de travaux de Habib Abdulrab(Insa de Rouen) Complexité p.

Algorithmique... Complexité. Luc Brun. luc.brun@greyc.ensicaen.fr. A partir de travaux de Habib Abdulrab(Insa de Rouen) Complexité p. Algorithmique... Complexité Luc Brun luc.brun@greyc.ensicaen.fr A partir de travaux de Habib Abdulrab(Insa de Rouen) Complexité p.1/25 Plan... Notion de complexité Comment évaluer la complexité d un algorithme

Plus en détail

Exercices : Analyse combinatoire et probabilité

Exercices : Analyse combinatoire et probabilité Exercices : Analyse combinatoire et probabilité 1. Le jeu de Cluedo consiste à retrouver l assassin du Dr. Lenoir, l arme et le lieu du crime. Sachant qu il y a six armes, neuf lieux et six suspects, de

Plus en détail

TP4 : Focométrie des lentilles minces

TP4 : Focométrie des lentilles minces TP4 : Focométrie es lentilles minces Objectifs : Déterminer la nature (convergente CV ou ivergente DV) une lentille mince. Déterminer par ifférentes méthoes la istance focale image une lentille convergente

Plus en détail

Exercices Perl. Master de Bioinformatique Université de Rouen

Exercices Perl. Master de Bioinformatique Université de Rouen Exercices Perl Master de Bioinformatique Université de Rouen 1 Exercice Écrire un programme Perl qui affiche les lignes de plus de 80 caractères lues sur l entrée standard. 2 Exercice Écrire un programme

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

Algorithmique. Mode d application

Algorithmique. Mode d application I - Généralités Algorithmique T ale S Définition: Un algorithme est une suite finie d instructions permettant la résolution systématique d un problème donné. Un algorithme peut-être utilisé pour décrire

Plus en détail

TP 1 - Utilisation de Python

TP 1 - Utilisation de Python TP 1 - Utilisation de Python L objectif de ce TP est d apprendre à faire réaliser des calculs et des tâches répétitives à un ordinateur. Pour faire cela, il est nécessaire de communiquer avec l ordinateur

Plus en détail

LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION

LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION Licence STS Université Claude Bernard Lyon I LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION 1 COURS 5 : Les Tableaux PLAN DE LA SÉANCE Comprendre l utilité des tableaux Apprendre à manipuler

Plus en détail

Baccalauréat Série S Métropole, juin 2014

Baccalauréat Série S Métropole, juin 2014 Baccalauréat Série S Métropole, juin 4 Sujet et Corrigé Stéphane PASQUET Disponible sur http://www.mathweb.fr juin 4 Exercice (5 points) - Commun à tous les candidats Partie A Dans le plan muni d un repère

Plus en détail

Introduction à la Programmation 1

Introduction à la Programmation 1 Introduction à la Programmation 1 Séance 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 booléennes dans

Plus en détail

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

Info0101 Intro. à l'algorithmique et à la programmation. Cours 5. Tableaux

Info0101 Intro. à l'algorithmique et à la programmation. Cours 5. Tableaux Info0101 Intro. à l'algorithmique et à la programmation Cours 5 Tableaux Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

Partie I : Automates et langages

Partie I : Automates et langages 2 Les calculatrices sont interdites. N.B. : Le candidat attachera la plus grande importance à la clarté, à la précision et à la concision de la rédaction. Si un candidat est amené à repérer ce qui peut

Plus en détail

Les tableaux. Chapitre 3

Les tableaux. Chapitre 3 Chapitre 3 Les tableaux 3.1 Généralités Les tableaux en PERL sont identifiés par le symbole @ à l image du $ pour les variables. Comme ces dernières, les tableaux ne sont pas typés et un même tableau peut

Plus en détail

Le corps R des nombres réels

Le corps R des nombres réels Le corps R des nombres réels. Construction de R à l aide des suites de Cauchy de nombres rationnels On explique brièvement dans ce paragraphe comment construire le corps R des nombres réels à partir du

Plus en détail

Factorisation Factoriser en utilisant un facteur commun Fiche méthode

Factorisation Factoriser en utilisant un facteur commun Fiche méthode Factorisation Factoriser en utilisant un facteur commun Fiche méthode Rappel : Distributivité simple Soient les nombres, et. On a : Factoriser, c est transformer une somme ou une différence de termes en

Plus en détail

Achats/ventes en bourse - IGI3006 - Michel Couprie

Achats/ventes en bourse - IGI3006 - Michel Couprie Achats/ventes en bourse - IGI00 - Michel Couprie NOTE:LessectionsA,B,C,D,Efontpartiedel énoncédonnéauxétudiants,lessections suivantes contiennent des indications ou des solutions. A. Le problème Une société

Plus en détail

Algorithmique et Structures de Données

Algorithmique et Structures de Données 1.1 Algorithmique et Structures de Données Jean-Charles Régin Licence Informatique 2ème année 1.2 Itérations Jean-Charles Régin Licence Informatique 2ème année Itération : définition 3 En informatique,

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

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

Introduction à l Algorithmique

Introduction à l Algorithmique Introduction à l Algorithmique N. Jacon 1 Définition et exemples Un algorithme est une procédure de calcul qui prend en entier une valeur ou un ensemble de valeurs et qui donne en sortie une valeur ou

Plus en détail

Test de sélection du 4 juin 2013

Test de sélection du 4 juin 2013 Test de sélection du 4 juin 2013 Vous étiez 270 candidat-e-s à ce test de sélection, et 62 d entre vous (23%) participeront au stage olympique de Montpellier, du 19 au 29 août 2013, dont 12 filles : la

Plus en détail

L enseignement de l algorithmique au Lycée

L enseignement de l algorithmique au Lycée L enseignement de l algorithmique au Lycée Sisteron 12 novembre 2009 Fernand Didier didier@irem.univ-mrs.fr Approche naïve C est une méthode, une façon systématique de procéder, pour faire quelque chose

Plus en détail

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications Université Paris-Dauphine DUMI2E 1ère année, 2009-2010 Applications 1 Introduction Une fonction f (plus précisément, une fonction réelle d une variable réelle) est une règle qui associe à tout réel x au

Plus en détail

Complément C7 Infodauphine.com

Complément C7 Infodauphine.com Complément C7 Infodauphine.com Pourquoi se soucier des performances? L'utilisateur n'aime pas attendre Le timing peut-être critique Trading VBA est un outil de productivité La notion de temps d'exécution

Plus en détail

Projet informatique «Voyageur de commerce» Résolution approchée par algorithme génétique du problème du voyageur de commerce

Projet informatique «Voyageur de commerce» Résolution approchée par algorithme génétique du problème du voyageur de commerce Année 2007-2008 Projet informatique «Voyageur de commerce» Résolution approchée par algorithme génétique du problème du voyageur de commerce B. Monsuez Projet informatique «Voyageur de commerce» Résolution

Plus en détail

Travaux dirigés n o 6

Travaux dirigés n o 6 Travaux dirigés n o 6 Lycée Kléber MPSI, Option Info 2014/2015 Exercice 1 (Indexation d un arbre binaire) Ecrire une fonction Caml indexation : ( f, n) arbre_binaire -> (string,string) arbre_binaire qui

Plus en détail

Poker. A rendre pour le 25 avril

Poker. A rendre pour le 25 avril Poker A rendre pour le 25 avril 0 Avant propos 0.1 Notation Les parties sans * sont obligatoires (ne rendez pas un projet qui ne contient pas toutes les fonctions sans *). Celles avec (*) sont moins faciles

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

INF-130 Travail Pratique #2

INF-130 Travail Pratique #2 École de technologie supérieure INF-30 Travail Pratique #2 Travail individuel Tracé d un métro Francis Bourdeau, Frédérick Henri et Patrick Salois Remise à la 0 e semaine. Objectifs - Amener l étudiant

Plus en détail

Série 2 Premiers programmes

Série 2 Premiers programmes Licence pro. GTSBD 2013-2014 Structures de données, langage Python Série 2 Premiers programmes Programmes avec des affectations, des lectures et des écritures Exo 2.1 Le problème de la machine qui rend

Plus en détail

Statistiques inférentielles : tests d hypothèse

Statistiques inférentielles : tests d hypothèse Statistiques inférentielles : tests hypothèse Table es matières I Tests hypothèse 2 I.1 Test bilatéral relatif à une moyenne...................................... 2 I.2 Test unilatéral relatif à une moyenne.....................................

Plus en détail

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,

Plus en détail

Introduction à la programmation Travaux pratiques: séance 10 INFO0201-1. B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.

Introduction à la programmation Travaux pratiques: séance 10 INFO0201-1. B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac. Introduction à la programmation Travaux pratiques: séance 10 INFO0201-1 B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.be Programme de la séance Correction de la simulation d examen Questions

Plus en détail

MULTIPLICATION RAPIDE : KARATSUBA ET FFT

MULTIPLICATION RAPIDE : KARATSUBA ET FFT MULTIPLICATION RAPIDE : KARATSUBA ET FFT 1. Introduction La multiplication est une opération élémentaire qu on utilise évidemment très souvent, et la rapidité des nombreux algorithmes qui l utilisent dépend

Plus en détail

Informatique TP4 : Manipulations de fichiers Manipulations de chaînes et de tableaux CPP 1A

Informatique TP4 : Manipulations de fichiers Manipulations de chaînes et de tableaux CPP 1A Informatique TP4 : Manipulations de fichiers Manipulations de chaînes et de tableaux CPP 1A Djamel Aouane, Frederic Devernay, Matthieu Moy Mars - avril 2015 1 Manipulations de fichiers Pour organiser des

Plus en détail