Étude expérimentale de la complexité de la fonction de Fibonacci (24 pt) Première partie du problème (8 pt)

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Étude expérimentale de la complexité de la fonction de Fibonacci (24 pt) Première partie du problème (8 pt)"

Transcription

1 Étude expérimentale de la complexité de la fonction de Fibonacci (24 pt) L'objectif de ce problème est d'étudier le nombre d'appels récursifs eectués lors du calcul des nombres de Fibonacci. C'est un exemple classique qui montre qu'une fonction mal écrite peu engendrer un nombre gigantesque d'appels récursifs inutiles. Pour le voir, nous allons demander à la fonction de Fibonacci de construire l'arbre de ses appels récursifs. Dans la seconde partie du problème nous acherons cet arbre et dans la troisième partie nous écrirons une version plus ecace de la fonction de Fibonacci. Première partie du problème (8 pt) 1 Commençons par dénir la fonction de Fibonacci Q1. (1 pt) Donnez la réalisation de la fonction b qui prend en paramètre un entier n et retourne le n ieme nombre de Fibonacci. Prol b : Sémantique : b(n) est le n ieme terme de la suite de Fibonacci (u n ) n N dénie par u 0 = 1 u 1 = 1 u n = u n 1 + u n 2 Dénition récursive de la fonction par des équations (1) b(.. ) =.. (2) b(.. ) =.. (3) b(.. ) = pour n Q2. (1 pt) Rédigez la preuve de terminaison de la fonction b. TERMINAISON preuve : On dénit la fonction Mesure (.. ) def =.. (i) Justions que la mesure choisie retourne des valeurs dans N: (ii) Montrons que la mesure à chaque appel récursif. Pour (ii), on repère les équations qui comportent des et on prouve la décroissance de la mesure pour appel

2 Rédigez la preuve de terminaison ici Q3. (.75 pt) Indiquez les appels récursifs engendrés par b(4) sous la forme d'un arbre. Utilisez l'espace libre pour prolonger les branches de l'arbre si nécessaire. appelle appelle appelle appelle appelle appelle Dénition de l'arbre des appels récursifs Les appels récursifs engendrés par b(x) pour x ar(ag, x, ad) où ar signigie Appel Récursif seront représentés sous la forme d'un arbre le n ud x indique qu'il s'agit du calcul de b(x) et qu'il a nécessité les appels récursifs rangés dans les arbres ag et ad ag est l'arbre des appels récursifs engendrés par b( )

3 ad est l'arbre des appels récursifs engendrés par b( ) Q4. (0.5 pt) Complétez les remarques précédentes et suivantes, ainsi que la dénition du type Abar (Arbre Binaire d'appels Récursifs). L'arbre des appels récursifs de la fonction de Fibonacci est un arbre puisque la fonction fait appels récursifs. Lorsque le calcul de b(x) n'engendre pas d'appel récursif son arbre d'appel est représenté par rd(x) où rd signie Résultat Direct et x indique qu'il s'agit du calcul de b(x). Q5. (1 pt) Donnez la représentation à l'aide des constructeurs rd et ar de l'arbre d'appels de b(0) : l'arbre d'appels de b(2) : ar( ,.., ) puis complétez la dénition de Abar. DÉFINITION MATHÉMATIQUE D'UN ENSEMBLE déf Abar = { x } { x...., ag, ad } DÉFINITION INFORMATIQUE D'UN TYPE type nat =... type abar = Q6. (1.5 pt) Complétez la dénition de la fonction calcul-de-b qui calcule le terme de la suite de Fibonacci et construit simultanément l'arbre des appels récursifs de la fonction b. Prol calcul-de-b : N N Abar Sémantique : calcul-de-b(n) est un couple constitué du n ieme nombre de Fibonacci et de l'arbre des appels récursifs engendrés par le calcul de u n. Exemples 1. calcul-de-b(0) = ( ) 2. calcul-de-b(1) = ( ) 3. calcul-de-b(2) = ( )

4 let rec (calcul_de_fib :...) = function.. -> (..,... ).. -> (...).. -> let ;; 3 Étude de l'arbre des appels récursifs On dispose maintenant d'une fonction calcul-de-b qui construit l'arbre d'appels récursifs de b. On aimerait par exemple compter le nombre de fois où le calcul de b(x) a demandé de calculer b(k). Pour cela on a besoin de compter le nombre d'apparitions d'un n ud dans un Abar. Q7. (1.5 pt) Complétez la fonction nb-occ qui compte le nombre d'apparitions du n ud k dans un Abar. Prol nb-occ : Sémantique : nb-occ(k, a) est le nombre d'occurences du n ud k dans l'arbre d'appel a Dénition récursive de la fonction par des équations (1) nb-occ( ) =.. si (1 ) nb-occ( ) = (2) nb-occ( ) = si (2 ) nb-occ( ) = let rec (nb_occ :...) = function (k,a) ->

5 Q8. (0.75 pt) a) À l'aide des fonctions calcul-de-b et nb-occ, donnez l'expression Ocaml qui permet de connaître le nombre de fois qu'est demandé le calcul de b(1) dans le calcul de b(121) Le tableau suivant donne en fonction de n le nombre d'appels à b(1) dans le calcul de b(n). b) Complétez les premières cases du tableau n nombre d'appels à b(1) dans le calcul de b(n) n nombre d'appels à b(1) dans le calcul de b(n)

6 Seconde partie du problème (12 pt) 4 Achage de l'arbre des appels récursifs L'objectif de cette partie est de réaliser une fonction d'achage d'un arbre d'appel sous la forme suivante, avec les valeurs des appels à la place des ( - ). Notre objectif est d'acher un arbre fib(_) / \ fib(_) fib(_) / \ / \ fib(_) fib(_) fib(_) fib(_) / \ / \ / \ fib(_) fib(_) fib(_) fib(_) fib(_) fib(_) / \ fib(_) fib(_) ar(ag, n, ad) sous la forme fib(n) / \ ag ad et d'appliquer le même principe au sous-arbre gauche ag et au sous-arbre droit ad. Pour obtenir ce résultat nous devrons 1. transformer le sous-arbre ag en colonne de ligne colg 2. placer le symbole / centré au dessus de cette colonne colg 3. transformer le sous-arbre ad en colonne de ligne cold 4. placer le symbole \ centré au dessus de cette colonne cold 5. coller les colonnes obtenues aux étapes 2 et 4 (opération notée sur le schéma) 6. placer le titre fib(n) centré au dessous des deux colonnes collées an d'obtenir la colonne correspondant à l'arbre ar(ag, n, ad). Le principe de transformation d'un arbre en colonne est résumé par le schéma ci-après : (les êches indiquent que le titre doit être centré). "fib(n)" "/" sous arbre gauche }{{} colg "\" sous arbre droit }{{} cold Pour mettre en uvre ce principe nous allons dénir un type Colonne et des opérations de manipulations des colonnes. On décide représenter une colonne de ligne

7 "abcdefgh" "ijklmnop" "qrstuvwx" par une séquence de chaîne de caractère [ "abcdefgh" ; "ijklmnop" ; "qrstuvwx" ; "yz" ] "yz" Q9. (0.5 pt) Complétez la dénition du type Colonne. DÉFINITION MATHÉMATIQUE D'UN ENSEMBLE déf Colonne = DÉFINITION INFORMATIQUE D'UN TYPE type colonne =... et indiquez l'opérateur qui permet d'ajouter une ligne au dessus d'une colonne..... Justiez votre réponse : Q10. (1 pt) Utilisez l'opérateur Ocaml ( ˆ ) : Chaîne Chaîne Chaîne pour réaliser la fonction espace spéciée ainsi : Prol espace : Z Chaîne Sémantique : espace(n) est la chaînes de caractère consitutée de n espaces. Propriété n 0, espace(n) = "" Q11. (1 pt) Utilisez la fonction length prédénie en Ocaml pour réaliser la fonction largeur. Prol length : Chaîne Séq (Élt) N Sémantique : length(ch) est la longueur de la chaîne ch, c'est-à-dire le nombre de caractères qu'elle contient. Notez que la fonction length s'applique aussi bien aux chaînes de caractère qu'aux séquences.

8 Prol largeur : Colonne N Sémantique : largeur(col) est la largeur de la colonne. Précisons que les lignes de la colonne n'ont pas nécessairement la même longueur. Algorithme : La largeur d'une colonne est la longueur de sa ligne la plus longue. Dénition récursive de la fonction par des équations (1) largeur(... ) =..... (2) largeur( ) = Q12. (1 pt) Complétez la réalisation de la fonction titrer qui permet de placer un titre centré au sommet d'une colonne. Prol titrer : Chaîne Colonne Colonne Sémantique : titrer(titre, col) place le titre centré au haut de la colonne. Exemple titrer "titre", "abcdefghijklmnopqrs" "abcdefghijklmnopqrs" "abcdefghijklmnopqrs" "abcdef" = " titre" "abcdefghijklmnopqrs" "abcdefghijklmnopqrs" "abcdefghijklmnopqrs" "abcdef" Algorithme : Notons lc la largeur de la colonne et lt la taille du titre alors le nombre ne d'espaces qu'on doit ajouter à gauche du titre est : ne = let (titrer :...) = function (titre,col) -> Q13. (0.5 pt) Donnez la réalisation en Ocaml de la fonction compléter-chaine.

9 Prol compléter-chaine : N Chaîne Chaîne Sémantique : compléter-chaine(l, ch) est une chaîne de caractère de taille l constituée de ch suivie d'espaces Exemples 1. compléter-chaine(5, "ab") = "ab " 2. compléter-chaine(5, "abcde") = "abcde" 3. compléter-chaine(5, "") = " " ;; Q14. (1 pt) Complétez la spécication de la fonction appliquer. Prol appliquer : (T 1 T 2 ) Séq (T 1 ) Séq (.....) Sémantique : appliquer f [e 1 ; e 2 ;... ; e n ] = [f(e 1 ) ; f(e 2 ) ;... ; f(e n )] Exemples On rappelle que (f unction x e) est une fonction qui à x associe la valeur de l'expression e. 1. appliquer (function x 2 x + 1) [0; 1; 2; 3] = appliquer (function x ) [0; 3; 2; 5; 1] = [ (0, 0) ; (3, 9) ; (2, 4) ; (5, 25) ; (1, 1) ] 3. appliquer (function y) [ (0, 0); (3, 9), (2, 4); (5, 25); (1, 1) ] = Ajuster une colonne en ajoutant des espaces en n de lignes On appelle colonne ajustée une colonne dont toutes les lignes ont la même taille. On dénit ColonneAjustée comme l'ensemble des couples constitués d'une colonne et de sa largeur.

10 Q15. (0.25 pt) Complétez la déntion de type. DÉFINITION MATHÉMATIQUE D'UN ENSEMBLE déf ColonneAjustée = DÉFINITION INFORMATIQUE D'UN TYPE type colonne_ajustée =... Q16. (1.25 pt) Utilisez les fonctions appliquer et compléter-chaine pour réaliser en Ocaml la fonction ajuster-colonne qui complète les lignes d'une colonne par des espaces en n de ligne an que toutes les lignes aient la même taille. Prol ajuster-colonne : Colonne ColonneAjustée Sémantique : ajuster-colonne(col) est la colonne ajustée correspondant à col Exemple ajuster-colonne "abcdef" "abc" "abcdefgh" = "abcdef " "abc " "abcdefgh",.. "a" "a " Algorithme : On rappelle qu'une colonne est une séquence de chaîne de caractère et qu'on peut donc utiliser la fonction appliquer avec les colonnes. let (ajuster_colonne : colonne -> colonne_ajustée) = ;; Q17. (1.5 pt) Complétez la réalisation de la fonction coller qui prend en paramètre deux colonnes déjà ajustées et qui les colle ligne à ligne. Vous pouvez évidemment utiliser des fonctions écrites précédemment. Prol coller : Colonne Sémantique : coller(caj 1, caj 2 ) est la colonne ajustée obtenue en collant ligne par ligne la colonne ajustée caj 1 à la colonne ajustée caj 2. Précisons que les colonnes sont ajustées, par contre elles n'ont pas nécessairement le même nombre de ligne.

11 Exemples Vous remarquerez dans les exemples que les deux colonnes doivent être séparées par un espace. 1. coller 2. coller (( "abcdef" "abcdef" "ab " ( ( "abcdef" "ab ", 6 ), ( ) (, 6, "gh " "ghij" "ghi " "ligne 1" "ligne 2" "ligne 3", 4 )), 7 )) = "abcdef gh " "abcdef ghij" "ab ghi " = "abcdef ligne 1" "ab ligne 2" " ligne 3" Dénition récursive de la fonction par des équations (1) coller( (..., l 1 ), (..., l 2 ) ) =... (2) coller( , ) = (3) coller( , ) = (4) coller( , ) = Q18. (0.5 pt) Complétez la réalisation Ocaml de la fonction coller-colonne. Prol coller-colonne : Colonne Colonne Colonne Sémantique : coller-colonne(col 1, col 2 ) est la colonne obtenue en collant les colonnes col 1 et col 2 après ajustement. Exemple coller-colonne ( "abcdef" "ab ", "ligne 1" "ligne 2" "ligne 3" ) = "abcdef ligne 1" "ab ligne 2" " ligne 3" let (coller_colonne : colonne * colonne -> colonne) = On dispose maintenant de toutes les fonctions nécessaires pour réaliser la fonction arbre-vers-colonne qui applique le principe présenté en Section 4 pour transformer un arbre d'appel en colonne.

12 Q19. (1.5 pt) Utilisez les fonctions des questions précédentes pour réaliser la fonction arbre-vers-colonne. Prol arbre-vers-colonne : Abar Colonne Sémantique : arbre-vers-colonne(a) est la colonne correspondant à l'arbre a construite selon le principe de la Section 4. Dénition récursive de la fonction par des équations (1) arbre-vers-colonne( ) = où titre = (2) arbre-vers-colonne( ) = où colg = où cold = où titre = Q20. (0.75 pt) Complétez la réalisation Ocaml de la fonction colonne-vers-chaîne. Prol colonne-vers-chaîne : Colonne Chaîne Sémantique : colonne-vers-chaîne(col) est la chaîne de caractère construite par concaténation des lignes de la colonne en introduisant un saut de ligne entre les lignes. Algorithme : On obtient un saut de lignes en ajoutant le caractère \n en n de ligne. let rec (colonne_vers_chaine :...) = function ;; Q21. (1 pt) Dénissez une fonction qui transforme un arbre en chaîne de caractère et donnez ensuite l'expression Ocaml qui permet d'acher à l'écran la chaîne de caractère qui correspond à l'arbre des appels de b(121). Prol : Sémantique :

13 ;;......

14 Troisième partie du problème (4 pt) 5 Compter les appels engendrés par b(n) sans construire l'arbre d'appels L'arbre des appels est très utile pour comprendre comment se déroule l'évaluation de la fonction b ; en revanche il n'est pas nécessaire si on souhaite juste compter le nombre total d'appels récursifs engendrés par b(n). Pour eectuer ce décompte nous allons dénir la fonction nb-total-appel-de-b. Q22. (1.5 pt) Complétez la dénition de la fonction nb-total-appel-de-b. Prol nb-total-appel-de-b : N N N Sémantique : nb-total-appel-de-b(n) = (u n, nb) où u n est le n ieme terme de la suite de Fibonacci et nb le nombre total d'appels engendrés par l'appel à b(n) Dénition récursive de la fonction par des équations (1) nb-total-appel-de-b(.. ) = (2) nb-total-appel-de-b(.. ) = (3) nb-total-appel-de-b(.. ) = si où = où = Coïncidence : D'après les équations récursives que pouvez-vous dire du nombre d'appels qu'engendre l'appel b(n)? Justiez votre réponse : Une version plus ecace de Fibonacci Q23. (2.5 pt) Complétez la dénition de la fonction b2 qui calcule les termes de la suite de Fibonacci sans faire de double appel récursif et montrez la terminaison de la fonction b2. Prol b2 : N N N Sémantique : b2(n) = (u n, u n+1 ) où u n et u n+1 sont les n ieme et n + 1 ieme termes de la suite de Fibonacci.

15 Dénition récursive de la fonction par des équations (1) = (2) = où ;; TERMINAISON

Correction Code nécessaire à la compilation : let bs ="\\" let nl = "\n" ;; let appliquer = List.map ;; (* affichage d'un noeud *)

Correction Code nécessaire à la compilation : let bs =\\ let nl = \n ;; let appliquer = List.map ;; (* affichage d'un noeud *) Correction Code nécessaire à la compilation : let bs ="\\" let nl = "\n" let appliquer = List.map (* affichage d'un noeud *) let (noeud_vers_ch : int -> string) = function n -> "fib(" ^ (string_of_int

Plus en détail

Récursivité et Récurrence

Récursivité et Récurrence Université Joseph Fourier UFR IMAG Département Licence Sciences et Technologie LICENCE SCIENCES & TECHNOLOGIES 1 re année INF121 ALGORITHMIQUE ET PROGRAMMATION FONCTIONNELLE Récursivité et Récurrence Fonctions

Plus en détail

1 Problème : multiplication avec quantités innies (14 pt)

1 Problème : multiplication avec quantités innies (14 pt) 1 Problème : multiplication avec quantités innies (14 pt) On souhaite dénir la multiplication sur les entiers et les fractions en ajoutant la possibilité de représenter les quantités innies notées et +.

Plus en détail

Problème : Calcul d'échéanciers de prêt bancaire (15 pt)

Problème : Calcul d'échéanciers de prêt bancaire (15 pt) Problème : Calcul d'échéanciers de prêt bancaire (15 pt) 1 Principe d'un prêt bancaire et dénitions Lorsque vous empruntez de l'argent dans une banque, cet argent (appelé capital) vous est loué. Chaque

Plus en détail

1. Quelques questions de cours pour démarrer. 3. Un tout petit peu de complexité d'algorithme

1. Quelques questions de cours pour démarrer. 3. Un tout petit peu de complexité d'algorithme L2S3 Harmonisation Algorithmique 20132014 UFR d'ieea Université Lille 1 DS 2-10/01/2013-3h documents interdits 1. Quelques questions de cours pour démarrer Q1.1. Donner la dénition formelle de f Ω(g) ainsi

Plus en détail

1 Arbres binaires presque complets

1 Arbres binaires presque complets Tri par tas binaires L'idée de cet algorithme de tri consiste à structurer les données, c'est-à-dire à les organisée dans une structure non triviale fondée sur les arbres, les tas binaires, et codée de

Plus en détail

LICENCE SCIENCES & TECHNOLOGIES 1 re année INF121 ALGORITHMIQUE ET PROGRAMMATION FONCTIONNELLE

LICENCE SCIENCES & TECHNOLOGIES 1 re année INF121 ALGORITHMIQUE ET PROGRAMMATION FONCTIONNELLE Université Joseph Fourier UFR IMA Département Licence Sciences et Technologie LICENCE SCIENCES & TECHNOLOGIES 1 re année INF121 ALGORITHMIQUE ET PROGRAMMATION FONCTIONNELLE Devoir maison 1 & 2 (à faire

Plus en détail

Agrégation de Mathématiques option Informatique TP1

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

Plus en détail

1. Un tout petit peu de complexité d'algorithme

1. Un tout petit peu de complexité d'algorithme L2S3 Harmonisation Algorithmique 20122013 UFR d'ieea Université Lille 1 DS 3-10/06/2013-3h documents interdits Vous devez impérativement utiliser les primitives données dans le sujet pour manipuler les

Plus en détail

Récursivité et Récurrence

Récursivité et Récurrence Université Joseph Fourier UFR IMAG Département Licence Sciences et Technologie LICENCE SCIENCES & TECHNOLOGIES 1 re année INF121 ALGORITHMIQUE ET PROGRAMMATION FONCTIONNELLE Récursivité et Récurrence Fonctions

Plus en détail

1 Calculs des nombres de Fibonacci

1 Calculs des nombres de Fibonacci Complexité d'un algorithme Trois questions à se poser quand on fabrique un algorithme : est-ce qu'il donne un résultat? terminaison ; est-ce qu'il donne le/un bon résultat? validité ; est-ce qu'il donne

Plus en détail

1 La tortue. TP : Récursivité

1 La tortue. TP : Récursivité LS3 Harmonisation Algorithmique 20132014 UFR d'ieea Université Lille 1 TP : Récursivité Dans ce TP vous allez tracer des courbes décrites récursivement à l'aide d'une tortue largement inspirée de la célébre

Plus en détail

Structures hiérarchiques: arbres.

Structures hiérarchiques: arbres. Structures hiérarchiques: arbres. Résumé : Ce chapitre est consacré aux arbres, l un des concepts algorithmiques les plus importants de l informatique. Les arbres servent à représenter un ensemble de données

Plus en détail

Structure des nombres réels

Structure des nombres réels Structure des nombres réels Partie II - Suites de Farey, horloges et calendriers Deux problèmes vont nous occuper dans ce projet : celui de la construction d'un calendrier qui ne se décale pas trop au

Plus en détail

ARBRES. Arbres binaires Représentation des arbres Fonctions primitives sur les arbres Parcours d arbres Arbres ordonnés

ARBRES. Arbres binaires Représentation des arbres Fonctions primitives sur les arbres Parcours d arbres Arbres ordonnés ARBRES Arbres binaires Représentation des arbres Fonctions primitives sur les arbres Parcours d arbres Arbres ordonnés À QUOI SERVENT LES ARBRES? Les arbres, comme les listes, permettent de représenter

Plus en détail

Analyse de Données Structurées - Cours 6

Analyse de Données Structurées - Cours 6 Analyse de Données Structurées - Cours 6 Ralf Treinen Université Paris Diderot UFR Informatique Institut de Recherche en Informatique Fondamentale treinen@irif.fr 1 er mars 2017 c Ralf Treinen 2015-2017

Plus en détail

Analyse syntaxique. Analyse syntaxique. Julien Forget

Analyse syntaxique. Analyse syntaxique. Julien Forget Analyse syntaxique Julien Forget julien.forget@onera.fr www.cert.fr/anglais/deri/jforget/ml.html 30 avril 2009 Introduction Plan 1 Introduction 2 Analyse lexicale : Ocamllex 3 Analyse grammaticale : Ocamlyacc

Plus en détail

La programation dynamique

La programation dynamique La programation dynamique François Lemieux UQAC François Lemieux (UQAC) La programation dynamique 1 / 51 La programmation dynamique 1 Le compromis espace/temps 2 Principes de la programmation dynamique

Plus en détail

Jeux de Nim. Question 2. Déterminer toutes les positions gagnantes pour un jeu de Nim à un seul piquet.

Jeux de Nim. Question 2. Déterminer toutes les positions gagnantes pour un jeu de Nim à un seul piquet. Jeux de Nim Le principe du jeu est le suivant. Le plateau de jeu se présente sous la forme d'un certain nombre de piquets plantés dans un morceau de bois. Ces piquets sont destinés à recevoir des petits

Plus en détail

Images numériques. Achage des images sur un écran. Les réponses aux exercices sont à faire sur papier. Exercice 1. Exercice 2

Images numériques. Achage des images sur un écran. Les réponses aux exercices sont à faire sur papier. Exercice 1. Exercice 2 Images numériques. Les réponses aux exercices sont à faire sur papier. I Achage des images sur un écran. Exercice 1 1. Lors de l'achat d'un écran (de télévision ou d'ordinateur) un certains nombre de critères

Plus en détail

CONCOURS D ENTRÉE CYCLE INGENIEUR

CONCOURS D ENTRÉE CYCLE INGENIEUR CONCOURS D ENTRÉE CYCLE INGENIEUR OPTION : INFORMATIQUE Samedi 16 Avril 2016 Durée : 2 Heures A) Liste vers 9 Spécifications : - La fonction liste_vers_9 (entier AB) affiche les éléments de la liste vers

Plus en détail

Intelligence Artificielle TP 2 : Programmation Prolog

Intelligence Artificielle TP 2 : Programmation Prolog Intelligence Artificielle TP 2 : Programmation Prolog 1 Exercice 1 Un ancêtre est une personne dont quelqu un descend. Nous allons écrire un prédicat pour la relation ancêtre où ancetre(a,b) veut dire

Plus en détail

Langages formels Corrigé Laboratoire 1

Langages formels Corrigé Laboratoire 1 Langages formels Corrigé Laboratoire 1 Exercice 1 a) b) ER : (a+b)*ba(a+b)* c) ER: a(a+b+c)*bc d) ER: a* + a*ba* + a*ba*ba*b(a+b)* ER: a*ba*ba* e) Lorsqu'il faut construire un automate pour un langage

Plus en détail

Algorithmique Cours 3 : Diviser pour régner, théorème maître. ROB3 année

Algorithmique Cours 3 : Diviser pour régner, théorème maître. ROB3 année Algorithmique Cours 3 : Diviser pour régner, théorème maître ROB3 année 2014-2015 Résumé des épisodes précédents On s'est intéressé au comptage des lapins, via le calcul du n ème terme de la suite de Fibonacci

Plus en détail

Lo42. Projet printemps Codage de Huffman

Lo42. Projet printemps Codage de Huffman Projet printemps 2003 Codage de Huffman Le codage de Huffman peut être utilisé pour comprimer une suite d'éléments (par exemple un texte, qui est une suite de caractères) en remplaçant chaque élément par

Plus en détail

L induction mathématique

L induction mathématique L induction mathématique François Lemieux L induction mathématique est une technique de preuve essentielle pour vérifier non seulement certaines équations mathématiques mais aussi pour démontrer l exactitude

Plus en détail

Rappel : évaluation d'expressions sans variables. Analyse de Données Structurées - Cours 10. Évaluation d'expressions avec variables

Rappel : évaluation d'expressions sans variables. Analyse de Données Structurées - Cours 10. Évaluation d'expressions avec variables Rappel : évaluation d'expressions sans variables Ralf Treinen Université Paris Diderot UFR Informatique Institut de Recherche en Informatique Fondamentale treinen@irif.fr c Ralf Treinen 2015-2017 29 mars

Plus en détail

Nombre complexe. Ensemble de Mandelbrot. 1 Représentation des nombres complexes

Nombre complexe. Ensemble de Mandelbrot. 1 Représentation des nombres complexes Univ. Lille1 - Licence STS 1ère année 013-014 Objectifs du TP : Algorithmes et Programmation Impérative 1 Nombre complexe. Ensemble de Mandelbrot. 1. utiliser les enregistrements ;. fabriquer un module

Plus en détail

1. Quelques questions de cours pour démarrer. 3. Un tout petit peu de complexité d'algorithme

1. Quelques questions de cours pour démarrer. 3. Un tout petit peu de complexité d'algorithme L2S3 Harmonisation Algorithmique 20132014 UFR d'ieea Université Lille 1 DS 3-16/06/2013-3h documents interdits Un sujet long implique un barême adapté et vous laisse plus de choix dans les questions que

Plus en détail

Chap^tre V. des algorithmes (ecaces)

Chap^tre V. des algorithmes (ecaces) Chap^tre V. Programmation dynamique 1. Methodes de conception des algorithmes (ecaces) -) Diviser pour regner -) Programmation dynamique -) Algorithme glouton 2. Probleme d'optimisation La programmation

Plus en détail

Exercice 1 : Algorithme d'exclusion mutuelle de Dijkstra ( 50min) (7.5 pt)

Exercice 1 : Algorithme d'exclusion mutuelle de Dijkstra ( 50min) (7.5 pt) Exercice 1 : Algorithme d'exclusion mutuelle de Dijkstra ( 50min) (7.5 pt) On considère un système constitué d'un anneau de N + 1 processus en parallèle P 0... P N : P 0 P N P 1 P 2 Chaque processus P

Plus en détail

Corrigé E.D. Algorithmes et Structures de Données n 3. Thème : Arbres binaires et Tas

Corrigé E.D. Algorithmes et Structures de Données n 3. Thème : Arbres binaires et Tas Corrigé E.D. Algorithmes et Structures de Données n Thème : Arbres binaires et Tas Exercice III.1 Expressions : Parcours d arbre Question 2 Ecrivez une méthode qui teste si un arbre binaire est une feuille

Plus en détail

TP : Les expressions arithmétiques

TP : Les expressions arithmétiques Univ. Lille1 - Licence Informatique 2ème année 2012-2013 Algorithmes et Programmation Impérative 2 TP : Les expressions arithmétiques Objectifs : Travailler sur les arbres binaires. Les utiliser pour représenter

Plus en détail

LES ESPACES VECTORIELS

LES ESPACES VECTORIELS LES ESPACES VECTORIELS Objectifs Savoir ce qu'est un espace vectoriel. Savoir ce qu'est un sous-espace vectoriel. Savoir ce qu'est une base. Le travail sur les espaces vectoriels de dimension nie Dans

Plus en détail

Ensembles définis inductivement et Induction structurelle

Ensembles définis inductivement et Induction structurelle Chapitre 2 Ensembles définis inductivement et Induction structurelle 21 Introduction De très nombreuses structures de données informatiques sont définies inductivement C est le cas par exemple des listes

Plus en détail

Epreuves et corrections du rallye 2008

Epreuves et corrections du rallye 2008 Epreuves et corrections du rallye 2008 Epreuve Longue Première partie : Les tours de Benjamin Benjamin s amuse avec ses pavés Lego. Il possède deux sortes de pavés : des jaunes et des rouge Mais il a beaucoup

Plus en détail

Algorithmes et Programmation Impérative 2. Récursivité. 1.1 Généralités sur les algorithmes récursifs

Algorithmes et Programmation Impérative 2. Récursivité. 1.1 Généralités sur les algorithmes récursifs Univ. Lille - Licence Informatique 2ème année 203-204 Algorithmes et Programmation Impérative 2 Récursivité Exercices. Généralités sur les algorithmes récursifs Exercice 2- Que calcule fact? Voici quelques

Plus en détail

CH.1 ARBRES. 1.1 La terminologie 1.2 La représentation des arbres 1.3 Les arbres binaires. 1.1 La terminologie. Racine hauteur 3.

CH.1 ARBRES. 1.1 La terminologie 1.2 La représentation des arbres 1.3 Les arbres binaires. 1.1 La terminologie. Racine hauteur 3. CH. ARBRES. La terminologie.2 La représentation des arbres.3 Les arbres binaires Info S4 ch. La terminologie Livre Racine hauteur 3 CH CH2 CH3 S. S.2 S2. S2.2 S2.3 Nœud interne S2.2. S2.2.2 hauteur Nœud

Plus en détail

Sept problèmes de dénombrement.

Sept problèmes de dénombrement. Sept problèmes de dénombrement. 1) Combien de rectangles peut-on tracer en suivant les lignes de cette grille? 2) Dans ce problème, tous les côtés des triangles ont pour mesure un nombre entier de centimètres.

Plus en détail

T.P. 4 : des arbres binaires variés et leurs applications

T.P. 4 : des arbres binaires variés et leurs applications T.P. 4 : des arbres binaires variés et leurs applications 1 Arbres binaires de recherche 1.1 Ce qu on doit déjà savoir sur la recherche d un mot dans une liste triée et après... Supposons par exemple qu

Plus en détail

Devoir surveillé d'informatique UE INF121 durée : 2h00

Devoir surveillé d'informatique UE INF121 durée : 2h00 Devoir surveillé d'informatique UE INF121 durée : 2h00 Répondez sur le sujet. Ne vous ez pas à la taille des pointillés : la taille des pointillés ne correspond pas forcément à la taille de la réponse.

Plus en détail

Arbres. Chapitre Introduction. option informatique. 1.1 Terminologie

Arbres. Chapitre Introduction. option informatique. 1.1 Terminologie Chapitre 3 option informatique Arbres 1. Introduction Nous avons déjà rencontré des arbres à la fin du module précédent, pour représenter une expression algébrique ou une liste. Nous avons pu nous contenter

Plus en détail

Arbres. Arbres binaires Représentation des arbres Fonctions primitives sur les arbres Parcours d arbres Arbres ordonnés. À quoi servent les arbres?

Arbres. Arbres binaires Représentation des arbres Fonctions primitives sur les arbres Parcours d arbres Arbres ordonnés. À quoi servent les arbres? Arbres Arbres binaires Représentation des arbres Fonctions primitives sur les arbres Parcours d arbres Arbres ordonnés À quoi servent les arbres? Les arbres, comme les listes, permettent de représenter

Plus en détail

Semaine 10 : Série d exercices sur la compression de données [Solutions]

Semaine 10 : Série d exercices sur la compression de données [Solutions] Information, calcul et communication (SMA/SPH) EPFL MA/PH Automne 26 Semaine : Série d exercices sur la compression de données [Solutions] Algorithme de compression 39 7 6 5 3 39 7 6 5 3 5 3 39 7 6 5 3

Plus en détail

Exercice 1 : Typage et valeur d une expression (35 points = )

Exercice 1 : Typage et valeur d une expression (35 points = ) CORRIGÉ INF121 : CONTRÔLE FINAL (3h00) Mai 2012 DOCUMENTS AUTORISÉS : Uniquement une feuille A4 recto-verso de notes personnelles manuscrites. Notes : Vous répondrez aux exercices et au problème dans l

Plus en détail

INF121: Algorithmique et Programmation Fonctionnelle

INF121: Algorithmique et Programmation Fonctionnelle INF121: Algorithmique et Programmation Fonctionnelle Cours 4: Fonctions récursives Année 2013-2014 Les précédents épisodes de INF 121 Types de base : Type Opérations Constantes bool not, &&, true, false

Plus en détail

INF124. Exercice 1 : Preuve par récurrence en déduction naturelle (10 pt)

INF124. Exercice 1 : Preuve par récurrence en déduction naturelle (10 pt) Numéro d anonymat :........................................................................... INF124 Durée : 2h00, sans documents. Tous les appareils électroniques sont interdits à l exception des montres

Plus en détail

Première S2 Chapitre 9 : étude de fonctions. Page n

Première S2 Chapitre 9 : étude de fonctions. Page n Première S2 Chapitre 9 : étude de fonctions. Page n 1 Dans ce chapitre, nous allons apprendre des cas particuliers de fonctions dérivées. L'expression qui définit une fonction permet-elle de décrire les

Plus en détail

IV EXERCICES RÉSOLUS

IV EXERCICES RÉSOLUS IV EXERCICES RÉSOLUS EXERCICE 1. SUITE RÉCURRENTE Fractale TA1/B, Bordas. N 24 page 212. Soit ( u n ) la suite définie par R u u = n 2 n+ 1 u + 4 S T u 0 = 0 n a) Calculer les 5 premiers termes de la suite.

Plus en détail

Logique temporelle (X-ENS 2013)

Logique temporelle (X-ENS 2013) option informatique Logique temporelle (-ENS 2013) Durée : 4 heures On étudie dans ce problème un formalisme logique, la logique temporelle, permettant de définir des formules auxquelles sont associés

Plus en détail

TP 2 : Algorithmes de tri

TP 2 : Algorithmes de tri Master de sciences et technologie 1 Mention : mathématiques et applications 4M016 Initiation au C++ 2016-2017 TP 2 : Algorithmes de tri 1 Compilation séparée Le but de cet exercice est de vous familiariser

Plus en détail

INF124. Exercice 1 : Arbre de preuve et traduction en français. Nom... Prénom... Groupe... ou Numéro d étudiant...si l examen est anonyme

INF124. Exercice 1 : Arbre de preuve et traduction en français. Nom... Prénom... Groupe... ou Numéro d étudiant...si l examen est anonyme Nom Prénom Groupe ou Numéro d étudiant si l examen est anonyme INF124 Durée : 2h00, sans documents Tous les appareils électroniques sont interdits à l exception des montres Le barème est donné à titre

Plus en détail

Initiation à l'algorithmique Les tableaux

Initiation à l'algorithmique Les tableaux Initiation à l'algorithmique Les tableaux Mohamed MESSABIHI mohamed.messabihi@gmail.com Université de Tlemcen Département d'informatique 1ère année MI https://sites.google.com/site/informatiquemessabihi/

Plus en détail

Programmation Fonctionnelle Compréhension sur les listes

Programmation Fonctionnelle Compréhension sur les listes Programmation Fonctionnelle Compréhension sur les listes Luigi Santocanale LIF, Aix-Marseille Université Marseille, FRANCE 19 septembre 2016 Plan La compréhension La fonction zip Plan 3/23 La compréhension

Plus en détail

DEVOIR 5 QUESTION COMPLEMENTAIRE

DEVOIR 5 QUESTION COMPLEMENTAIRE DEVOIR 5 QUESTION COMPLEMENTAIRE 1 Vous trouverez ci-dessous un problème du cahier de l'évaluation Nationale CE2, édition septembre 2000. Cet exercice a été proposé dans les classes de CE2 entre le 11

Plus en détail

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

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

Plus en détail

2 ) Fib[n]

2 ) Fib[n] 1 ) Dessiner un arbre qui illustre bien la situation des 6 premiers mois en utilisant types de branches : > (pour indiquer qu'un couple continue à vivre ) et ---- > (pour indiquer qu'un couple donne naissance

Plus en détail

TYPES ABSTRAITS. 1 Signature. ESIAL 1A Structures de Données

TYPES ABSTRAITS. 1 Signature. ESIAL 1A Structures de Données ESIAL 1A Structures de Données 2008-2009 TYPES ABSTRAITS 1 Signature Il est toujours intéressant de pouvoir travailler sur l'énoncé et la résolution d'un problème indépendamment d'une implantation particulière.

Plus en détail

Programmation dynamique. p.1

Programmation dynamique. p.1 Programmation dynamique p.1 p.2 Exemple: C n k Exemple: On veut calculer Ck n = n! ( ) n ) k k!(n k)! (aussi noté Prop: C n k = Cn 1 k 1 + Cn 1 k pour 0 < k < n, 1 sinon. Approche Diviser pour régner.

Plus en détail

Dessins de chemins. 1 Un module pour dessiner

Dessins de chemins. 1 Un module pour dessiner Univ. Lille1 - Licence STS 1ère année 2013-2014 Objectifs du TP Algorithmes et Programmation Impérative 1 1. décrire un chemin par un mot ; 2. procédures pour dessiner les chemins ; Dessins de chemins

Plus en détail

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

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

Plus en détail

7 2 Variables aléatoires discrètes

7 2 Variables aléatoires discrètes BCPST2 9 5 7 2 Variables aléatoires discrètes I Compléments sur les variables aléatoires discrètes A) Dénition Dénition : Variable aléatoire discrète Une variable aléatoire réelle discrète est une variable

Plus en détail

INF123 - Examen 12 mai 2016

INF123 - Examen 12 mai 2016 INF123 - Examen 12 mai 2016 Durée : 2h. Tout document interdit à l exception du mémo bash non annoté. Calculatrices, téléphones interdits. Le barème est indicatif. Pour chaque question, une partie des

Plus en détail

Registres à décalage à rétroaction linéaire

Registres à décalage à rétroaction linéaire Registres à décalage à rétroaction linéaire É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 2013

Plus en détail

10' - LES ARBRES BINAIRES

10' - LES ARBRES BINAIRES Ch 10' - LES ARBRES BINAIRES On va restreindre les capacités des arbres en obligeant les nœuds à posséder au maximum deux sous-arbres. Ces nouveaux arbres seront plus faciles à maîtriser que les arbres

Plus en détail

Concordancier Exercices de familiarisation 1) Qu'est-ce qu'on me donne à lire?

Concordancier Exercices de familiarisation 1) Qu'est-ce qu'on me donne à lire? Concordancier Exercices de familiarisation 1) Qu'est-ce qu'on me donne à lire? Observez les 3 copies d'écrans ci-dessous. Elles ont été obtenues à partir du même corpus de recettes de cuisine et reprennent

Plus en détail

EASY TAG. Elle fonctionne dans les deux environnements que sont Android et IOS (pour I pad et I phone)

EASY TAG. Elle fonctionne dans les deux environnements que sont Android et IOS (pour I pad et I phone) EASY TAG Qu'est ce que EASYTAG? Cette application, disponible pour tablette Androïd gratuitement ou Ipad (Quelques euros) est initialement prévue pour fonctionner en liaison avec DARTFlSH et permettre

Plus en détail

Programmation fonctionnelle : feuille d exercices 3

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

Plus en détail

Corrigé TD N 2. Le graphe de l exercice est planaire car on peut le représenter de la façon suivante : C D E A 6 10 B 8

Corrigé TD N 2. Le graphe de l exercice est planaire car on peut le représenter de la façon suivante : C D E A 6 10 B 8 Corrigé TD N 2 GESTION D AUTOROUTES (1) Le graphe G = (X, E, v) correspondant au réseau autoroutier, où les sommets sont les villes et deux villes sont reliées s il existe une autoroute entre ces deux

Plus en détail

Produit cartésien de deux intervalles (Document de préparation #1)

Produit cartésien de deux intervalles (Document de préparation #1) Produit cartésien de deux intervalles (Document de préparation #1) Le produit cartésien de deux intervalles A et B, noté A x B, est l'ensemble de tous les couples dont la première coordonnée est un élément

Plus en détail

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

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

Plus en détail

7 Les tableaux. Licence Maths-Info-SPI, informatique pour les scientifiques : cours 5 responsable de l UE : Jean Lieber, année scolaire

7 Les tableaux. Licence Maths-Info-SPI, informatique pour les scientifiques : cours 5 responsable de l UE : Jean Lieber, année scolaire Licence Maths-Info-SPI, informatique pour les scientifiques : cours 5 responsable de l UE : Jean Lieber, année scolaire 2010-2011 7 Les tableaux 7.1 Les tableaux à une dimension Représentation d un produit

Plus en détail

TP 1 : PILES ET EXPRESSIONS POST-FIXEES

TP 1 : PILES ET EXPRESSIONS POST-FIXEES TP 1 : PILES ET EXPRESSIONS POST-FIXEES INSA 2 e année MIC Algorithmique & Programmation II (semestre 4) 24 janvier 2016 Les objectifs de ce TP sont les suivants : comprendre les opérations associées au

Plus en détail

Programmation dynamique

Programmation dynamique Complexité et Graphe 2014-2015 ENSTA Programmation dynamique Exercice 1 Triangle de Pascal On veut calculer les coefficients binomiaux C k n = ( n k suivantes ( : ) ( ) ( ) n n 1 n 1 = + pour 0 < k < n,

Plus en détail

Info ASD. DS1 - documents de cours, TD, TP autorisés

Info ASD. DS1 - documents de cours, TD, TP autorisés Info 204 - ASD 2011 2012 Licence STS - Semestre 4 DS1 - documents de cours, TD, TP autorisés Note : lorsque, dans une question, est demandée la complexité, c est une fonction de la taille de la donnée

Plus en détail

Réseaux de Petri ATTENTION!

Réseaux de Petri ATTENTION! Réseaux de Petri Épreuve pratique d'algorithmique et de programmation Concours commun des écoles normales supérieures Durée de l'épreuve: 3 heures 30 minutes Juillet 2009 ATTENTION! N oubliez en aucun

Plus en détail

Cours 4 : Les arbres binaires. Définition Implémentation Manipulation

Cours 4 : Les arbres binaires. Définition Implémentation Manipulation Cours 4 : Les arbres binaires Définition Implémentation Manipulation Définition Un arbre binaire est un arbre qui possède au maximum deux sous-arbres (d où le binaire) 2013-2014 Algorithmique 2 Deux implémentations

Plus en détail

Cours 08 - Les arbres binaires

Cours 08 - Les arbres binaires Cours 08 - Les arbres binaires MPSI - Prytanée National Militaire Pascal Delahaye 20 mai 2017 La structure de donnée arbre binaire est une structure permettant : 1. d une part de stocker des données organisées

Plus en détail

Épreuve de mathématiques CRPE 2016 groupe 1.

Épreuve de mathématiques CRPE 2016 groupe 1. Épreuve de mathématiques CRPE 016 groupe 1. I Première partie. (13 points) Monsieur Durand souhaite faire construire une piscine. Cette piscine est représentée sur le schéma ci-dessous, qui n'est pas à

Plus en détail

2 Représentation d'un tas binaire par un tableau

2 Représentation d'un tas binaire par un tableau LS5 MIAGE UFR d'ieea Université Lille 1 Algorithmique TP : Tri par tas Comme pour le TP sur les tris, vous devez utiliser le paquetage paq_permutation écrit lors des précédents TP. Vous pouvez également

Plus en détail

III TRAVAUX PRATIQUES

III TRAVAUX PRATIQUES III TRAVAUX PRATIQUES TP 1. MINIMUM D'UNE FONCTION (d'après Fractale 2 page 247 AP3) L'unité de longueur étant le centimètre, considérons un rectangle ABCD d'aire fiée 16 cm². La longueur du côté [AB]

Plus en détail

Cours de Compilation

Cours de Compilation Université Mohammed V - Agdal Faculté des sciences Département d'informatique Cours de Compilation SMI - S5 Prof. M.D. RAHMANI mrahmani@fsr.ac.ma 1 Chapitre II: Notions de la Grammaire I- Définition de

Plus en détail

Chapitre I. Définitions et notations. 1 Notations et rappels en OCaml. 1.1 Types et opérations de base

Chapitre I. Définitions et notations. 1 Notations et rappels en OCaml. 1.1 Types et opérations de base Chapitre I Définitions et notations Les solutions des exercices proposés dans ce livre sont écrites en OCaml. Sans rentrer dans une présentation exhaustive de ce langage qui n est pas le propos de cet

Plus en détail

Séances de TP 1 à 3. Exercice 1 : liste de pays. Conservatoire National des Arts et Métiers École SITI - Département Informatique.

Séances de TP 1 à 3. Exercice 1 : liste de pays. Conservatoire National des Arts et Métiers École SITI - Département Informatique. Conservatoire National des Arts et Métiers École SITI - Département Informatique Année 20132014 UE NFP 136 (VARI 2) Séances de TP 1 à 3 Exercice 1 : liste de pays Dans cet exercice, on vous demande d'écrire

Plus en détail

Cours 2 : La Logique (Classique) Propositionnelle. Syntaxe. Francesco Belardinelli. 2017, Université d'evry

Cours 2 : La Logique (Classique) Propositionnelle. Syntaxe. Francesco Belardinelli. 2017, Université d'evry Cours 2 : La Logique (Classique) Propositionnelle Syntaxe Francesco Belardinelli 2017, Université d'evry Etude des tests conditionnels Considérez l'instruction suivante : if count>0 and not found then

Plus en détail

Université des Sciences et Technologies de Lille U.F.R. de Mathématiques Pures et Appliquées. Fiche de T.D. n o 2

Université des Sciences et Technologies de Lille U.F.R. de Mathématiques Pures et Appliquées. Fiche de T.D. n o 2 Université des Sciences et Technologies de Lille U.F.R. de Mathématiques Pures et Appliquées CAPES-M1 Année 2010-2011 Fiche de T.D. n o 2 Ex 1. Urne à composition évolutive Dans une urne contenant au départ

Plus en détail

CH.4 ENVIRONNEMENTS D EXÉCUTION

CH.4 ENVIRONNEMENTS D EXÉCUTION CH.4 ENVIRONNEMENTS D EXÉCUTION 4.1 Les langages procéduraux 4.2 L organisation de l espace mémoire 4.3 Les stratégies d allocation 4.4 L accès aux noms non locaux 4.5 Les tables des symboles 4.6 L allocation

Plus en détail

Toutes séries Durée de l épreuve : 4 heures de 7h30 à 11h30

Toutes séries Durée de l épreuve : 4 heures de 7h30 à 11h30 Toutes séries Durée de l épreuve : 4 heures de 7h30 à 11h30 Ce sujet comporte 7 pages numérotées de 1 à 7 L utilisation d une calculatrice est autorisée. Le candidat doit traiter quatre exercices : les

Plus en détail

Cours 5: Programmation dynamique

Cours 5: Programmation dynamique 1 Cours 5: Programmation dynamique Olivier Bournez bournez@lix.polytechnique.fr LIX, Ecole Polytechnique 2011-12 Algorithmique Exemple: C k n Exemple: On veut calculer C k n = n! k!(n k)! (aussi noté (

Plus en détail

N4 : Calcul littéral Série 1 : Expression littérale

N4 : Calcul littéral Série 1 : Expression littérale Le cours avec les aides animées Qu'est-ce qu'une expression littérale? Les exercices d'application Pour tous les exercices de cette fiche, les lettres représentent des nombres quelconques. 1 Avec des lettres

Plus en détail

EXERCICES DE REVISION AVANT LA SECONDE

EXERCICES DE REVISION AVANT LA SECONDE EXERCICES DE REVISION AVANT LA SECONDE Vous pouvez faire tous les exercices sur ces feuilles. Je vous conseille donc de les imprimer. LES PRIORITES DE CALCUL Exercice 1 Rappels de cours : _ Les calculs

Plus en détail

DIFFÉRENTES MOYENNES...

DIFFÉRENTES MOYENNES... DIFFÉRENTES MOYENNES... - LA MOYENNE ARITHMÉTIQUE a) Exemple :Un rectangle de 3 m sur 5 m a le même périmètre qu un carré de côté c. Calculer c. b) Cas général avec un rectangle dont les côtés sont a et

Plus en détail

L'ordre est le nombre de traitements précédents dont dépend le résultat.

L'ordre est le nombre de traitements précédents dont dépend le résultat. CHAPITRE 4 LES ALGORITHMES RECURRENTS I/ Introduction : Un algorithme ou un traitement est dit récurrent s il utilise un procédé itératif ou récursif pour engendrer un résultat qui dépend de 1 ou plusieurs

Plus en détail

Chapitre 1. Fonctions numériques - Exercices. 1 En fonction de... 2 Vocabulaire

Chapitre 1. Fonctions numériques - Exercices. 1 En fonction de... 2 Vocabulaire Chapitre 1 Fonctions numériques - Exercices 1 En fonction de... Exercice 1. On considère un triangle équilatéral ABC et H le pied de la hauteur issue de A. 1. Calculer AH lorsque AB = 3. Même question

Plus en détail

CORRIGÉ DU DEVOIR SURVEILLÉ

CORRIGÉ DU DEVOIR SURVEILLÉ CORRIGÉ DU DEVOIR SURVEILLÉ DE MATHÉMATIQUES Exercice 1 (5 points) : 1/10 Exercice 2 (Pondichéry, avril 2013) (5 points) : 1. Construisez un arbre pondéré décrivant la situation. En référence aux données

Plus en détail

Coloriage de carte. 1 Une démonstration. STH1, Algèbre générale 2014

Coloriage de carte. 1 Une démonstration. STH1, Algèbre générale 2014 STH1, Algèbre générale 2014 Coloriage de carte Ce devoir est facultatif. Il est à faire par groupes de deux étudiants au plus et est à rendre pour le 5 décembre au plus tard. On considère une carte géographique.

Plus en détail

Exercices INF7235 : série #1

Exercices INF7235 : série #1 Exercices INF7235 : série #1 1. Parallélisme récursif (somme d'entiers) En utilisant le langage MPD, écrivez une prédure récursive somme qui permet de calculer la somme des entiers compris entre i et j.

Plus en détail

1A Projet programmation impérative Groupe 3

1A Projet programmation impérative Groupe 3 1A Projet programmation impérative Groupe 3 1 Présentation du Sudoku Le Sudoku est un jeu de logique (voir http ://fr.wikipedia.org/wiki/sudoku ). Par déduction, hypothèse, etc., on doit remplir une grille

Plus en détail

TD de révisions : Calcul matriciel

TD de révisions : Calcul matriciel TD de révisions : Calcul matriciel I. Révisions sur le calcul matriciel a) Remarques générales sur le calcul matriciel Le calcul matriciel n'a pas autant de propriétés que le calcul numérique : - On ne

Plus en détail

2 L'algorithme programmé version 1

2 L'algorithme programmé version 1 Univ. Lille 1 - IREM de Lille. 2010-2011 Stage Algorithmique Séance n o 1 : Autour de l'algorithme d'euclide Éric Wegrzynowski. (Eric.Wegrzynowski (a) univ-lille1.fr) 1 Rappels sur l'algorithme d'euclide

Plus en détail