Algorithmes récursifs

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

Download "Algorithmes récursifs"

Transcription

1 Licence 1 MASS - Algorithmique et Calcul Formel S. Verel, M.-E. Voge verel 23 mars 2007

2 Objectifs de la séance 3 écrire des algorithmes récursifs avec un seul test rechercher un élément dans un tableau par dichotomie récursivement Questions principales du jour : Comment écrire ce que l on ne connait pas encore? S. Verel, M.-E. Voge

3 Plan Principe de la récursivité 1 Principe de la récursivité Decendre ou monter un escalier Couper un gâteau 2 Définition Algorithmes classiques 3 S. Verel, M.-E. Voge

4 Les puissances de a Decendre ou monter un escalier Couper un gâteau Objectif : Calculer a n en "travaillant" le moins possible on sait que a n = a a n 1... Itératif : chouette! on connaît a 0!!! Récusif : si seulement on connaissait a n 1... S. Verel, M.-E. Voge

5 L escalier & la puissance a n = a a n 1 Decendre ou monter un escalier Couper un gâteau arrivee depart arrivee depart n n 1 0 a^0 = 1 ITERATIF 1 0 a^0 = 1 RECURSIF départ : info connue monter vers résultat arêt en haut : n boucle pour départ : info cherchée descendre vers connue arêt en bas : 0 monter vers résultat comment??? S. Verel, M.-E. Voge

6 Construction de l algorithme récursif Decendre ou monter un escalier Couper un gâteau on sait : 1 monter/descendre d une marche : a n = a a n 1 2 a 0 = 1 mais : plusieurs marches... comment faire le reste du travail? Solution : appel récursif l agorithme fait une partie du travail (descendre/monter une marche) demande à un algorithme de faire le reste : lui même S. Verel, M.-E. Voge

7 Exemple d exécution Calcul de la puissance Decendre ou monter un escalier Couper un gâteau Algorithme puissance(a : réel, n : entier): : réel début si n = 0 alors retourner 1 retourner puissance(a, n-1) * a fin S. Verel, M.-E. Voge

8 Exemple d exécution Calcul de la puissance Decendre ou monter un escalier Couper un gâteau Calcul de (1.5) 3 : a = 1.5 et n = puissance(1.5, 3) 2. > puissance(1.5, 2) 3. -> puissance(1.5, 1) 4. -> puissance(1.5, 0) = > puissance(1.5, 1) = 1 * 1.5 = > puissance(1.5, 2) = 1.5 * 1.5 = puissance(1.5, 3) = 2.25 * 1.5 = S. Verel, M.-E. Voge

9 Autre problème : le PGCD Decendre ou monter un escalier Couper un gâteau monter/descendre : PGCD(a, b) = PGCD(b, a modulo b) PGCD(a, 0) = a S. Verel, M.-E. Voge

10 Exemple du calcul du pgcd Decendre ou monter un escalier Couper un gâteau Algorithme PGCD(a, b : entier): : entier début 1: si b = 0 alors 2: retourner a 3: 4: c a modulo b 5: retourner PGCD(b, c) 6: fin S. Verel, M.-E. Voge

11 Exécution de l algorithme Decendre ou monter un escalier Couper un gâteau Pour a = 72 et b = PGCD(72, 34) 2. b 0 5. c = 4 6. PGCD(34, 4) 2. b 0 5. c = 2 6. PGCD(4, 2) 2. b 0 5. c = 0 6. PGCD(2, 0) 2. b = 0 3. PGCD = 2 S. Verel, M.-E. Voge

12 Une autre vision de la récursivité Decendre ou monter un escalier Couper un gâteau Problème : manger un gâteau énorme gâteau, seulement une bouchée à la fois, on sait couper en deux tout morceau de gâteau, on le coupe en petits morceaux et on les mange! Exemple : recherche dichotomique dans un tableau trié tableau T de n cases, vérifier seulement une case à la fois, on sait réduire la taille de T (jouer sur les indices), on le coupe en petits tableaux et on cherche dans chacun! S. Verel, M.-E. Voge

13 Recherche dichotomique Recherche dans un tableau de nombres entiers ordonnés Decendre ou monter un escalier Couper un gâteau Algorithme recherche(n :entier, t :tableau d entiers, a, b : entier): : booléen variable c : entier début si a > b alors retourner Faux // il ne reste plus de cases à vérifier c (a + b)/2 // on coupe si t[c] = n alors retourner Vrai // on est tombé juste sur la bonne case si t[c] < n alors retourner recherche(n, t, c+1, b) // on cherche dans une partie retourner recherche(n, t, a, c-1) // on cherche dans l autre fin S. Verel, M.-E. Voge

14 Exécution de l algorithme Decendre ou monter un escalier Couper un gâteau t : recherche(6, t, 0, 6) c = 3 1. t[3] > 6 2. > recherche(6, t, 0, 2) c = 1 2. t[1] < > recherche(6, t, 2, 2) c = 2 3. t[2] = > recherche(6, t, 2, 2) = Vrai 4. > recherche(6, t, 0, 2) = Vrai 5. recherche(6, t, 0, 6) = Vrai S. Verel, M.-E. Voge

15 Points communs et IMPORTANTS Decendre ou monter un escalier Couper un gâteau 1 appel récursif UNIQUEMENT sur données plus petites marche du dessous : n 1 au lieu de n, (b,a mod b) au lieu de (a,b), demi-morceau de gâteau : demi-tableau, 2 faire le travail pour passer à des données plus petites monter/descendre une marche : n en fonction de n 1, couper le gˆteau, 3 identifier les cas à résoudre sans appel récursif : première marche : n = 0, (a, 0), bouchée de gâteau : une case de tableau, 4 s arrêter à temps, plus de sens : dernière marche : n < 0, plus que des bouchées : a > b : pas de case, S. Verel, M.-E. Voge

16 Decendre ou monter un escalier Couper un gâteau Structure de ces algorithmes : exemple du PGCD Base : où on s arrête, pas d appel récursif si b = 0 alors retourner a... Hérédité : calcul à partir de paramètres plus "petits" si b = 0 alors retourner PGCD(b, c) fin S. Verel, M.-E. Voge

17 Définition (informelle) Définition Algorithmes classiques Un algorithme récursif est un algorithme qui fait appel à lui-même dans le corps de sa propre définition. Il existe deux types d algorithmes récursifs : les algorithmes récursifs qui se terminent : au bout d un nombre fini d opérations, l algorithme s arrête. les algorithmes récursifs qui ne se terminent pas : on peut imaginer que l algorithme continue "éternellement" de calculer. S. Verel, M.-E. Voge

18 Exemples Principe de la récursivité Définition Algorithmes classiques Algorithme calcul1(n : entier): : réel début si n = 0 alors retourner 2 retourner 1 2 (n 1) + 2 fin calcul1 n est pas un algorithme résursif S. Verel, M.-E. Voge

19 Exemples Principe de la récursivité Définition Algorithmes classiques Algorithme calcul2(n : entier): : réel début si n = 0 alors retourner 2 retourner 1 2 calcul2(n-1) +2 fin calcul2 est un algorithme résursif qui se termine S. Verel, M.-E. Voge

20 Exemples Principe de la récursivité Définition Algorithmes classiques Algorithme calcul3(n : entier): : réel début si n = 0 alors retourner 2 retourner 1 2 calcul3(n-2)+2 fin calcul3(n) est un algorithme résursif : si n est pair, calcul3 se termine si n est impair, calcul3 ne se termine pas S. Verel, M.-E. Voge

21 A méditier Calcul de la puissance Principe de la récursivité Définition Algorithmes classiques Algorithme puissanceterminale(a : réel, n : entier, acc : réel): : réel début si n = 0 alors retourner acc retourner puissanceterminale(a, n 1, acc a) fin Comment s exécute cet algorithme? puissanceterminale(1.5, 3, 1) récursivité terminale : équivalent à une itération résultat final donné par appel récursif condition de "base" = condition arêt boucle tantque S. Verel, M.-E. Voge

22 Intérêts Principe de la récursivité Définition Algorithmes classiques bien adapté à la résolution de certains problèmes (et pas seulement mathématiques!) algorithmes souvent moins "laborieux" à écrire : moins de variables, beaucoups moins de boucles. une résolution par algorithme récursif nécessite souvent de prendre du recul pour résoudre le problème (avantage!) S. Verel, M.-E. Voge

23 Définition Algorithmes classiques Parallèle entre principe de récurrence et algorithme récursif définition mathématique par récurrence très proche définition d un algorithme récursif (cf. puissance) Modes de calcul proches : a 3 = a.a 2 = a.a.a 1 = a.a.a Souvent, définition mathématique valide lorsque algorithme récursif associé se termine. S. Verel, M.-E. Voge

24 Définition Algorithmes classiques Parallèle entre principe de récurrence et algorithme récursif Base : initialisation de la récurrence si b = 0 alors retourner a... Hérédité : calcul à partir de paramètres plus "petits" si b = 0 alors retourner PGCD(b, c) fin S. Verel, M.-E. Voge

25 Calcul de la factorielle Définition Algorithmes classiques Factorielle { 1, si n = 0 n! = n.(n 1)!, Algorithme factorielle(n : entier): : entier début si n = 0 alors retourner 1 retourner n * factorielle(n-1) fin S. Verel, M.-E. Voge

26 Exécution de l algorithme Définition Algorithmes classiques Calcul de 3!. 1. factorielle(3) = 3 * factorielle(2) 2. > factorielle(2) = 2 * factorielle(1) 3. -> factorielle(1) = 1 * factorielle(0) 4. -> factorielle(0) = > factorielle(1) = 1 * 1 = 1 6. > factorielle(2) = 2 * 1 = 2 7. factorielle(3) = 3 * 2 = 6 S. Verel, M.-E. Voge

27 Recherche dichotomique Recherche d un mot dans un dictionnaire Définition Algorithmes classiques début pages de recherche <- dictionnaire tant que mot lu n est pas le mot recherché faire lire mot médian des pages de recherche si le mot lu est plus petit que mot recherché alors pages de recherche <- pages à droite du mot lu pages de recherche <- pages à gauche du mot lu fin tant que retourner (mot lu) fin S. Verel, M.-E. Voge

28 Recherche dichotomique Recherche d un mot dans un dictionnaire Définition Algorithmes classiques Algorithme recherche(m : mot, l : liste): : booléen variable lu : mot début lu median(l) si lu = m alors retourner Vrai si lu < m alors retourner recherche( liste à droite de lu) retourner recherche( liste à gauche de lu) fin Incomplet (jamais Faux)!! S. Verel, M.-E. Voge

29 Recherche dichotomique Recherche d un mot dans un dictionnaire Définition Algorithmes classiques Algorithme recherche(m : mot, l : liste): : booléen variable lu : mot début si l est vide alors retourner Faux lu median(l) si lu = m alors retourner Vrai si lu < m alors retourner recherche( liste à droite de lu) retourner recherche( liste à gauche de lu) S. Verel, M.-E. Voge

30 Quand utiliser un algorithme récursif? Est-ce que le problème dépend d un (ou plusieurs) paramètre(s)? Est-il possible de résoudre le problème lorsque la (les) valeur(s) du paramètre est "petite(s)"? Est-il possible de résoudre le problème à l aide de la résolution du problème portant sur une (des) "plus petite(s)" valeur(s) du paramètre? Si oui, oui, oui alors la résolution par un algorithme récursif est à envisager. S. Verel, M.-E. Voge

31 Tours de Hanoï (Édouard Lucas ) Le problème des tours de Hanoï consiste à déplacer N disques de diamètres différents d une tour de départ à une tour d arrivée en passant par une tour intermédiaire et ceci en un minimum de coups, tout en respectant les règles suivantes : on ne peut déplacer plus d un disque à la fois, on ne peut placer un disque que sur un autre disque plus grand que lui ou sur un emplacement vide. S. Verel, M.-E. Voge

32 Comment résoudre ce problème? Est-ce que le problème dépend d un (ou plusieurs) paramètre(s)? Oui le nombre de disques. Est-il possible de résoudre le problème lorsque la (les) valeur(s) du paramètre est "petite(s)"? Oui lorsque le nombre de disque est 1. Est-il possible de résoudre le problème à l aide de la résolution du problème portant sur une (des) "plus petite(s)" valeur(s) du paramètre? Oui... S. Verel, M.-E. Voge

33 Algorithme récursif Algorithme hanoi(n : entier, A : caractère, B : caractère, C : caractère ): : rien début si n = 1 alors écrire("déplacer ", A, " vers ", C) hanoi(n-1, A, C, B) ; écrire("déplacer ", A, " vers ", C) hanoi(n-1, B, A, C) ; fin S. Verel, M.-E. Voge

34 Exécution de l algorithme Hanoi(2, a, b, c ) Hanoi(3, a, b, c ) Hanoi(4, a, b, c ) Quel est le nombre de déplacements en fonction de n? Pour tout entier n 1, C n = 2 n 1. A démontrer par récurrence... Pour n = 64, les moines d Hanoi y sont encore... S. Verel, M.-E. Voge

35 Somme des cubes Calculer S(n) = n 3 Est-ce que le problème dépend d un (ou plusieurs) paramètre(s)? Oui n. Est-il possible de résoudre le problème lorsque la (les) valeur(s) du paramètre est "petite(s)"? Oui pour n = 0 ou n = 1 Est-il possible de résoudre le problème à l aide de la résolution du problème portant sur une (des) "plus petite(s)" valeur(s) du paramètre? Oui, S(n) = S(n 1) + n 3 S. Verel, M.-E. Voge

36 Somme des cubes Algorithme Algorithme sommecube(n : entier): : entier début si n = 0 alors retourner 0 retourner sommecube(n-1) +n 3 fin S. Verel, M.-E. Voge

37 Exécution de l algorithme Calcul de S(3) 1. sommecube(3) 2. > sommecube(2) 3. -> sommecube(1) 4. -> sommecube(0) = > sommecube(1) = = 1 6. > sommecube(2) = = 9 7. sommecube(3) = = 18 S. Verel, M.-E. Voge

38 Régionnement du plan Etant donné un nombre n de droites, calculer le nombre R n maximum de régions du plan obtenus Est-ce que le problème dépend d un (ou plusieurs) paramètre(s)? Oui le nombre n de droites. Est-il possible de résoudre le problème lorsque la (les) valeur(s) du paramètre est "petite(s)"? Oui pour n = 0 ou n = 1 Est-il possible de résoudre le problème à l aide de la résolution du problème portant sur une (des) "plus petite(s)" valeur(s) du paramètre? Oui, en comptant le nombre régions ajoutées lorsqu on ajoute une droite à n 1 droites : une région supplémentaire par droite coupée, plus une dernière région. S. Verel, M.-E. Voge

39 Régionnement du plan Algorithme Algorithme region(n : entier): : entier début si n = 0 alors retourner 1 retourner region(n-1) +n fin S. Verel, M.-E. Voge

40 Objectifs de la séance 3 écrire des algorithmes récursifs comme par exemple celui calculant la factorielle et recherchant un élément par dichotomie Questions principales du jour : Comment écrire ce que l on ne connait pas encore? S. Verel, M.-E. Voge

41 Travail de documentation Trouver de la documentation en rapport avec l ensemble de l enseignement. Quels sont vos premières références? S. Verel, M.-E. Voge

Langage fonctionnel et Récursivité

Langage fonctionnel et Récursivité Langage fonctionnel et Récursivité Programmation Fonctionnelle Master 2 I2L apprentissage Sébastien Verel verel@lisic.univ-littoral.fr http://www-lisic.univ-littoral.fr/~verel Université du Littoral Côte

Plus en détail

Initiation à l algorithmique

Initiation à l algorithmique Informatique S1 Initiation à l algorithmique procédures et fonctions 2. Appel d une fonction Jacques TISSEAU Ecole Nationale d Ingénieurs de Brest Technopôle Brest-Iroise CS 73862-29238 Brest cedex 3 -

Plus en détail

ALGORITHMIQUE II. Récurrence et Récursivité. SMI AlgoII

ALGORITHMIQUE II. Récurrence et Récursivité. SMI AlgoII ALGORITHMIQUE II Récurrence et Récursivité Récurrence Suite récurrente: la déition d une suite est la donnée d un terme général déi en fonction du (ou des) terme(s) précédant(s) D un terme initial qui

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 2. Structures itératives

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

Plus en détail

1 de 1. Algorithmique. Récursivité. Florent Hivert. Mél : Florent.Hivert@lri.fr Adresse universelle : http://www.lri.fr/ hivert

1 de 1. Algorithmique. Récursivité. Florent Hivert. Mél : Florent.Hivert@lri.fr Adresse universelle : http://www.lri.fr/ hivert 1 de 1 Algorithmique Récursivité Florent Hivert Mél : Florent.Hivert@lri.fr Adresse universelle : http://www.lri.fr/ hivert 2 de 1 Récursivité et Récurrence Deux notions très proche : mathématiques : récurrence

Plus en détail

mercredi 16 novembre 11 6. Récurrences

mercredi 16 novembre 11 6. Récurrences 6. Récurrences Motivations Les relations de récurrence munies de conditions initiales permettent de définir des suites de nombres. En informatique, elles proviennent essentiellement : des définitions inductives

Plus en détail

Programmation en Python - Cours 2 : Premiers programmes

Programmation en Python - Cours 2 : Premiers programmes Programmation en Python - Cours 2 : Premiers programmes 2013/2014 Diverses utilisations de python Utilisation en mode interactif Ecriture d un programme python Saisie de données par l utilisateur : input(),

Plus en détail

Corrigé des TD 1 à 5

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

Plus en détail

Cours La structure de données tableau et quelques algorithmes

Cours La structure de données tableau et quelques algorithmes Cours 4 : les tableaux, recheche et tri 1 Cours La structure de données tableau et quelques algorithmes La structure de donnée tableaux Evaluation de polynômes, recherche de minimum Les algorithmes de

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

STAGE IREM 0- Premiers pas en Python

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

Plus en détail

Terminale S Spécialité Cours : DIVISIBILITE ET CONGRUENCES DANS.

Terminale S Spécialité Cours : DIVISIBILITE ET CONGRUENCES DANS. A la fin de ce chapitre vous devez être capable de : connaître différents procédés pour établir une divisibilité : utilisation de la définition, utilisation d identités remarquables, disjonction des cas,

Plus en détail

L essentiel du cours

L essentiel du cours Terminale S et concours L essentiel du cours mathématiques Arithmétique - matrices Jean-Marc FITOUSSI Progress Editions Table des matières Arithmétique 01 LA DIVISIBILITÉ page 6 02 LA DIVISION EUCLIDIENNE

Plus en détail

Exercice 1 : Utilisation de paramètres

Exercice 1 : Utilisation de paramètres Correction TD 4 Séparation de code et fonctions Licence 1 MASS semestre 2, 2007/2008 Exercice 1 Utilisation de paramètres a- Algorithme Est Rectangle(a, b, c réel) booléen retourner ((a 2 = b 2 + c 2 )

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

Contrôle de mathématiques

Contrôle de mathématiques Contrôle de mathématiques Correction du Lundi 18 octobre 2010 Exercice 1 Diviseurs (5 points) 1) Trouver dans N tous les diviseurs de 810. D 810 = {1; 2; 3; 5; 6; 9; 10; 15; 18; 27; 30; 45; 54; 81; 90;

Plus en détail

Algorithmique et structures de données I

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

Plus en détail

Cours Algorithmique, 2ème partie AS IUT

Cours Algorithmique, 2ème partie AS IUT Cours Algorithmique, 2ème partie AS IUT Cours 2 : Arbres Binaires Anne Vilnat http://www.limsi.fr/individu/anne/coursalgo Plan 1 Représentations arborescentes 2 Définition d un arbre binaire récursive

Plus en détail

Devoir maison Info 2 A rendre pour le 15 décembre au plus tard

Devoir maison Info 2 A rendre pour le 15 décembre au plus tard Devoir maison Info 2 A rendre pour le 15 décembre au plus tard Exercice 1 : Exécutez un algorithme Considérez l algorithme suivant. Variables A, B, C en Entier; Début Lire A; Lire B; TantQue B 0 C A; TantQue

Plus en détail

ATELIER ALGORITHME PREMIERS PAS Journée d information sur les nouveaux programmes de Première S-ES 2010-2011

ATELIER ALGORITHME PREMIERS PAS Journée d information sur les nouveaux programmes de Première S-ES 2010-2011 Pour me contacter : irene.rougier@ac-clermont.fr 1. Introduction ATELIER ALGORITHME PREMIERS PAS Journée d information sur les nouveaux programmes de Première S-ES 2010-2011 De nombreux documents et informations

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

Tableau d'enregistrements

Tableau d'enregistrements Tableau d'enregistrements Regrouper plusieurs enregistrements dans un tableau est parfaitement possible! Exemple : représenter les données concernant 50 personnes algorithme monalgorithme // déclaration

Plus en détail

Leçon 1: les entiers

Leçon 1: les entiers Leçon 1: les entiers L ensemble N des entiers naturels Compter, dresser des listes, classer et comparer des objets interviennent dans de multiples activités humaines. Les nombres entiers naturels sont

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

TP1 - Introduction au langage C

TP1 - Introduction au langage C ENS Lyon L-Info PROJ1 2014-2015 TP1 - Introduction au langage C Sujet à terminer pour le dimanche 20 à 2h59, sous forme d une archive.zip contenant votre code source, par email à aurelien.cavelan@ens-lyon.fr.

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

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

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

Algorithmique Travaux Dirigés

Algorithmique Travaux Dirigés Algorithmique Travaux Dirigés Master Technologie et Handicap : Intensifs 1 Corrigé Exercice 1 Affectations 1. Considérons les algorithmes ci-dessous. (a) Quel sera le contenu des variables a, b et éventuellement

Plus en détail

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

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

Plus en détail

P R O G R A M M E E T I N S T R U C T I O N S O F F I C I E L L E S

P R O G R A M M E E T I N S T R U C T I O N S O F F I C I E L L E S P R O G R A M M E E T I N S T R U C T I O N S O F F I C I E L L E S POUR L ENSEIGNEMENT DE L INFORMATIQUE MPSI première année I. Objectifs de la formation II-1 Développement de compétences et d aptitudes

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

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

Cours 7 : fonctions recursives, arithmétique binaire, flottants 1

Cours 7 : fonctions recursives, arithmétique binaire, flottants 1 Cours 7 : fonctions recursives, arithmétique binaire, flottants 1 Les types énumérés On peut aussi définir des types qui ont un nombre fini de valeurs (ex: jours de la semaine, couleurs primaires, etc.)

Plus en détail

Cours 1: Introduction à l algorithmique

Cours 1: Introduction à l algorithmique 1 Cours 1: Introduction à l algorithmique Olivier Bournez bournez@lix.polytechnique.fr LIX, Ecole Polytechnique 2011-12 Algorithmique 2 Aujourd hui Calcul de x n Maximum Complexité d un problème Problème

Plus en détail

Vidéo partie 1. Logique Vidéo partie 2. Raisonnements Exercices Logique, ensembles, raisonnements

Vidéo partie 1. Logique Vidéo partie 2. Raisonnements Exercices Logique, ensembles, raisonnements Exo7 Logique et raisonnements Vidéo partie 1. Logique Vidéo partie 2. Raisonnements Exercices Logique, ensembles, raisonnements Quelques motivations Il est important d avoir un langage rigoureux. La langue

Plus en détail

Algorithmique et programmation Exercices de TD avec solutions

Algorithmique et programmation Exercices de TD avec solutions Département d Informatique DUT Informatique S1 Année 2014/2015 Algorithmique et programmation Algorithmique et programmation Exercices de TD avec solutions Table des matières 1 Séquences d actions 2 1.1

Plus en détail

Structures de données, IMA S6

Structures de données, IMA S6 Structures de données, IMA S6 Arbres Binaires d après un cours de N. Devésa, Polytech Lille. Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@polytech-lille.fr Université Lille 1 - Polytech

Plus en détail

Arithmétique. Préambule. 1. Division euclidienne et pgcd. Exo7. 1.1. Divisibilité et division euclidienne

Arithmétique. Préambule. 1. Division euclidienne et pgcd. Exo7. 1.1. Divisibilité et division euclidienne Exo7 Arithmétique Vidéo partie 1. Division euclidienne et pgcd Vidéo partie 2. Théorème de Bézout Vidéo partie 3. Nombres premiers Vidéo partie 4. Congruences Exercices Arithmétique dans Z Préambule Une

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

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 - Techniques fondamentales de programmation Exemples en Python (nombreux exercices corrigés) - BTS, DUT informatique

Algorithmique - Techniques fondamentales de programmation Exemples en Python (nombreux exercices corrigés) - BTS, DUT informatique Introduction à l'algorithmique 1. Les fondements de l informatique 13 1.1 Architecture de Von Neumann 13 1.2 La machine de Turing 17 1.3 Représentation interne des instructions et des données 19 1.3.1

Plus en détail

TD: Ensembles, applications, dénombrement

TD: Ensembles, applications, dénombrement Université de Provence Année 011/1 Licence Math Info ème année S3 Fondements de l Informatique 1 Ensembles et fonctions TD: Ensembles, applications, dénombrement 1. On suppose que l ensemble de tous les

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

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

Cours 3. La conditionnelle: instructions si et selon Les boucles Comment raisonner sur les boucles: les invariants de boucle

Cours 3. La conditionnelle: instructions si et selon Les boucles Comment raisonner sur les boucles: les invariants de boucle Cours 3 : Instructions qui changent l ordre d exécution séquentiel 1 Cours 3 Instructions qui changent l ordre d exécution séquentiel La conditionnelle: instructions si et selon Les boucles Comment raisonner

Plus en détail

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation Complexité Objectifs des calculs de complexité : - pouvoir prévoir le temps d'exécution d'un algorithme - pouvoir comparer deux algorithmes réalisant le même traitement Exemples : - si on lance le calcul

Plus en détail

4. Les structures de données statiques

4. Les structures de données statiques 4. Les structures de données statiques 4.1 Tableaux à une dimension 4.1.1 Introduction Imaginons que dans un programme, nous ayons besoin simultanément de 25 valeurs (par exemple, des notes pour calculer

Plus en détail

ARITHMETIQUE EXERCICES CORRIGES

ARITHMETIQUE EXERCICES CORRIGES Exercice n 1. ARITHMETIQUE EXERCICES CORRIGES 5 1) Donner l écriture de a) A = 1 b) A = 1001 c) A = 1 ) Ecrire la suite des 10 premiers nombres entiers en base deux. En base quatre ) En base douze, on

Plus en détail

Théorie des graphes. Introduction. Programme de Terminale ES Spécialité. Résolution de problèmes à l aide de graphes. Préparation CAPES UCBL

Théorie des graphes. Introduction. Programme de Terminale ES Spécialité. Résolution de problèmes à l aide de graphes. Préparation CAPES UCBL Introduction Ces quelques pages ont pour objectif de vous initier aux notions de théorie des graphes enseignées en Terminale ES. Le programme de Terminale (voir ci-après) est construit sur la résolution

Plus en détail

Solution des exercices

Solution des exercices Solution des exercices Chapitre 1 Environnement algorithmique et conventions Exercice 1 : Syntaxe algorithmique 1. L algorithme emprunt montre comment utiliser le pseudo-langage pour écrire un programme.

Plus en détail

5 Bogues connus 9. Résumé des différences entre le pseudo-code utilisé par AlgoBox et celui que l on peut rencontrer dans les manuels. Entrer...

5 Bogues connus 9. Résumé des différences entre le pseudo-code utilisé par AlgoBox et celui que l on peut rencontrer dans les manuels. Entrer... MÉMENTO ALGOBOX 0.6 POUR LES PROFESSEURS Table des matières 1 Équivalence entre «pseudo-codes» 1 1.1 Entrée des données................................................... 1 1.2 Affichage des données.................................................

Plus en détail

Algorithmie ISI301 TP 1 : Python et premiers algorithmes

Algorithmie ISI301 TP 1 : Python et premiers algorithmes Algorithmie ISI301 TP 1 : Python et premiers algorithmes 1 Python : apprentissage Pour avoir une vision plus large des différentes possibilités du langage Python, nous ne pouvons que vous conseiller d

Plus en détail

1. Les fondements de l informatique 13

1. Les fondements de l informatique 13 Introduction à l'algorithmique 1. Les fondements de l informatique 13 1.1 Architecture de Von Neumann 13 1.2 La machine de Turing 17 1.3 Représentation interne des instructions et des données 19 1.3.1

Plus en détail

Algorithmique et programmation : introduction

Algorithmique et programmation : introduction PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours, Semaine 0 avril mai 2013 Algorithmique et programmation : introduction Résumé Ce document décrit le module «Algorithmique et Programmation 1». Il introduit

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

Cours de spécialité mathématiques en Terminale ES

Cours de spécialité mathématiques en Terminale ES Cours de spécialité mathématiques en Terminale ES O. Lader 2014/2015 Lycée Jean Vilar Spé math terminale ES 2014/2015 1 / 51 Systèmes linéaires Deux exemples de systèmes linéaires à deux équations et deux

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

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Logiciel Libre Cours 3 Fondements: Génie Logiciel Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

Plus en détail

L essentiel du cours 2014/2015 Terminale S Spécialité Maths, Lycée Français de Valence

L essentiel du cours 2014/2015 Terminale S Spécialité Maths, Lycée Français de Valence L essentiel du cours 2014/2015 Terminale S Spécialité Maths, Lycée Français de Valence Sommaire 1. Arithmétique 2 1.1. Division euclidienne......................... 2 1.2. Congruences.............................

Plus en détail

le triangle de Pascal - le binôme de Newton

le triangle de Pascal - le binôme de Newton 1 / 51 le triangle de Pascal - le binôme de Newton une introduction J-P SPRIET 2015 2 / 51 Plan Voici un exposé présentant le triangle de Pascal et une application au binôme de Newton. 1 2 3 / 51 Plan

Plus en détail

Introduction à l algorithmique et à la programmation 2013-2014. Cyril Nicaud Cyril.Nicaud@univ-mlv.fr. Cours 1 / 5

Introduction à l algorithmique et à la programmation 2013-2014. Cyril Nicaud Cyril.Nicaud@univ-mlv.fr. Cours 1 / 5 Introduction à l algorithmique et à la programmation IUT 1ère année 2013-2014 Cyril Nicaud Cyril.Nicaud@univ-mlv.fr Cours 1 / 5 Déroulement du cours Organisation : 5 séances de 2h de cours 10 séances de

Plus en détail

UPJV - Amiens Licence Professionnelle SILDA Algorithmique Exercices

UPJV - Amiens Licence Professionnelle SILDA Algorithmique Exercices UPJV - Amiens Licence Professionnelle SILDA Algorithmique Exercices Gilles Dequen 1 Échauements Exercice 1 Premier algorithme Écrire un algorithme qui eectue la saisie d'un entier, ache son carré puis

Plus en détail

1 Définition. 2 Recherche dans un Arbre-B. 3 Insertion dans un Arbre-B. 4 Suppression dans un Arbre-B. Arbre-B

1 Définition. 2 Recherche dans un Arbre-B. 3 Insertion dans un Arbre-B. 4 Suppression dans un Arbre-B. Arbre-B Déition Recherche Arbre-B Insertion Arbre-B Suppression Arbre-B Déition Recherche Arbre-B Insertion Arbre-B Suppression Arbre-B Plan... Les arbres-b Géraldine Del Mondo, Nicolas Delestre 1 Déition 2 Recherche

Plus en détail

Algorithmique et Analyse d Algorithmes

Algorithmique et Analyse d Algorithmes Algorithmique et Analyse d Algorithmes L3 Info Cours 11 : Arbre couvrant Prétraitement Benjamin Wack 2015-2016 1 / 32 La dernière fois Rappels sur les graphes Problèmes classiques Algorithmes d optimisation

Plus en détail

CORRECTION EXERCICES ALGORITHME 1

CORRECTION EXERCICES ALGORITHME 1 CORRECTION 1 Mr KHATORY (GIM 1 A) 1 Ecrire un algorithme permettant de résoudre une équation du second degré. Afficher les solutions! 2 2 b b 4ac ax bx c 0; solution: x 2a Solution: ALGORITHME seconddegré

Plus en détail

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

Plus en détail

Quelques algorithmes simples dont l analyse n est pas si simple

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

Plus en détail

pedigree d'un cheval Zoe ; son père est Tonnerre et sa mère Belle ; mère de Belle est Rose et père de Belle est Eclair jean jean marc paul luc

pedigree d'un cheval Zoe ; son père est Tonnerre et sa mère Belle ; mère de Belle est Rose et père de Belle est Eclair jean jean marc paul luc Chap. 3 Les arbres binaires Un arbre est un ensemble de nœuds, organisés de façon hiérarchique, à partir d'un nœud distingué, appelé racine. La structure d'arbre est l'une des plus importantes et des plus

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

Cycle de vie Définitions Recette Efficacité Rubik s cube Pourquoi Algo simple Les briques De l algorithme au programme Py

Cycle de vie Définitions Recette Efficacité Rubik s cube Pourquoi Algo simple Les briques De l algorithme au programme Py Cycle de vie Définitions Recette Efficacité Rubik s cube Pourquoi Algo simple Les briques De l algorithme au programme Py M1204 - Algorithmique et informatique Chapitre 1 : présentation Ludovic Grossard

Plus en détail

Informatique de base (IB)

Informatique de base (IB) Informatique de base (IB) Récursivité Martin Quinson École Supérieure d Informatique et Applications de Lorraine 1ère année 2005-2006 (version du 25 décembre 2006) Quatrième chapitre

Plus en détail

LES ALGORITHMES ARITHMETIQUES

LES ALGORITHMES ARITHMETIQUES LES ALGORITHMES ARITHMETIQUES I- Introduction Dans ce chapitre nous allons étudier quelques algorithmes relatifs à l arithmétique qui est une branche des mathématiques qui étudie les relations entre les

Plus en détail

Séance de travaux pratiques n 1 Quelques éléments de correction

Séance de travaux pratiques n 1 Quelques éléments de correction Master Sciences, Technologies, Santé Mention Mathématiques, spécialité Enseignement des mathématiques Algorithmique et graphes, thèmes du second degré Séance de travaux pratiques n 1 Quelques éléments

Plus en détail

Algorithmique et. Plan CHAPITRE 2: NOTIONS D'ALGORITHMIQUE CONCEPTS DE BASE DU LANGAGE C CHAPITRE 3: LES TABLEAUX LES POINTEURS CHAPITRE 4

Algorithmique et. Plan CHAPITRE 2: NOTIONS D'ALGORITHMIQUE CONCEPTS DE BASE DU LANGAGE C CHAPITRE 3: LES TABLEAUX LES POINTEURS CHAPITRE 4 Université Mohammed V Agdal Ecole Mohammadia d'ingénieurs Département Génie Informatique Rabat CHAPITRE 1: Plan NOTIONS D'ALGORITHMIQUE CHAPITRE 2: Algorithmique et Programmation en Langage C CONCEPTS

Plus en détail

La fonction exponentielle

La fonction exponentielle DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction

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

Informatique. Programmation en Python.

Informatique. Programmation en Python. BCPST 1 B 13 septembre 2015 Informatique. Programmation en Python. Ce document est un support de cours, il vous permet d avoir sa structure et ses éléments les plus importants. Au cours des séances en

Plus en détail

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez

Plus en détail

Notion de complexité

Notion de complexité 1 de 27 Algorithmique Notion de complexité Florent Hivert Mél : Florent.Hivert@lri.fr Adresse universelle : http://www-igm.univ-mlv.fr/ hivert Outils mathématiques 2 de 27 Outils mathématiques : analyse

Plus en détail

Arbres Binaires de Recherche : Introduction

Arbres Binaires de Recherche : Introduction Arbres Binaires de Recherche : Introduction I. Guessarian cours ISN 11 janvier 2012 LIAFA, CNRS and University Paris Diderot 1/13 Arbre Binaire de Recherche Un Arbre Binaire de Recherche (ABR) est un arbre

Plus en détail

Débuter en algorithmique

Débuter en algorithmique Isabelle Morel 1 1 Qu est-ce qu un algorithme? Débuter en algorithmique Définition Un alogorithme est une suite d opérations élémentaires, à appliquer dans un ordre déterminé à des données. Un algorithme

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

Cours de Mathématiques Seconde. Généralités sur les fonctions

Cours de Mathématiques Seconde. Généralités sur les fonctions Cours de Mathématiques Seconde Frédéric Demoulin 1 Dernière révision : 16 avril 007 Document diffusé via le site www.bacamaths.net de Gilles Costantini 1 frederic.demoulin (chez) voila.fr gilles.costantini

Plus en détail

Algorithmique au lycée

Algorithmique au lycée Stage PAF christian.brucker@ac-strasbourg.fr jean-paul.quelen@ac-strasbourg.fr 13 mars 2015 Lycée Jean Monnet STRASBOURG Sommaire du stage Les programmes Sommaire du stage Les programmes Sommaire du stage

Plus en détail

Exercice 1 /6 Calculer et donner le résultat sous la forme d une fraction irréductible ou d un nombre décimal.

Exercice 1 /6 Calculer et donner le résultat sous la forme d une fraction irréductible ou d un nombre décimal. NOM : Prénom : Classe : Observations : Compétences testées lors de ce devoir Rechercher, extraire et organiser l information utile. Raisonner, argumenter, pratiquer une démarche expérimentale ou technologique,

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

Introduction à Sage-Python

Introduction à Sage-Python Introduction à Sage-Python Aurélien Greuet Université de Versailles http://lmv.math.cnrs.fr/annuaire/aurelien-greuet/ 1 Python? Sage?! Calcul formel?!? 1.1 Python Python est un langage de programmation

Plus en détail

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé. Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé. L usage d une calculatrice est autorisé Durée : 3heures Deux annexes sont à rendre avec la copie. Exercice 1 5 points 1_ Soit f la

Plus en détail

TD Tous. Exercice 1 (Récursivité). 1. Que calcule la fonction suivante (donnée en pseudo-code et en C)?

TD Tous. Exercice 1 (Récursivité). 1. Que calcule la fonction suivante (donnée en pseudo-code et en C)? Institut Galilée Année 006-007 TD Tous Algorithmique, arbres et graphes L Exercice 1 (Récursivité). 1. Que calcule la fonction suivante (donnée en pseudo-code et en C)? Fonction Toto(n) si n = 0 alors

Plus en détail

BASES DU RAISONNEMENT

BASES DU RAISONNEMENT BASES DU RAISONNEMENT P. Pansu 10 septembre 2006 Rappel du programme officiel Logique, différents types de raisonnement. Ensembles, éléments. Fonctions et applications. Produit, puissances. Union, intersection,

Plus en détail

Structures de données non linéaires

Structures de données non linéaires Structures de données non linéaires I. Graphes Définition Un graphe (simple) orienté G est un couple (S, A), où : S est un ensemble dont les éléments sont appelés les sommets. A est un ensemble de couples

Plus en détail

Algorithmes - Solutions

Algorithmes - Solutions Algorithmes - Solutions I Algorithmes liés au programme de la classe de première Du fait de l importance du travail d arithmétique en terminale, les algorithmes plus directement liés à la classe de première

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

M Younsi Tel :0645755250 www.formation-informatiques.fr mousse.younsi@ formation-informatiques.fr

M Younsi Tel :0645755250 www.formation-informatiques.fr mousse.younsi@ formation-informatiques.fr U2 MATHÉMATIQUES POUR L INFORMATIQUE Dans ce document, on trouve toutes les notions que le référentiel du BTS SIO impose pour l epreuve U22. Les éléments en rouge sont des rappels concernant la notion

Plus en détail

Tableaux et pointeurs (corrigé)

Tableaux et pointeurs (corrigé) Tableaux et pointeurs (corrigé) Tous les exercices sont à faire. 1 Tableaux Exercice 1. Moyenne (*) Écrivez une fonction qui calcule la moyenne de n nombres stockés dans un tableau de double. Prototype

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

Baccalauréat S Nouvelle-Calédonie 17 novembre 2014

Baccalauréat S Nouvelle-Calédonie 17 novembre 2014 Durée : 4 heures Baccalauréat S Nouvelle-Calédonie 17 novembre 2014 A. P. M. E. P. EXERCICE 1 Commun à tous les candidats Les trois parties A, B et C sont indépendantes Une fabrique de desserts glacés

Plus en détail

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

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

Plus en détail

Fondements de l informatique: Examen Durée: 3h

Fondements de l informatique: Examen Durée: 3h École polytechnique X2013 INF412 Fondements de l informatique Fondements de l informatique: Examen Durée: 3h Sujet proposé par Olivier Bournez Version 3 (corrigé) L énoncé comporte 4 parties (sections),

Plus en détail