DS n o 1 : Algorithmique et complexité

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

Download "DS n o 1 : Algorithmique et complexité"

Transcription

1 Lycée Louis-Le-Grand, Paris 2014/2015 MPSI 4 Informatique pour tous D. Cazor, A. Troesch DS n o 1 : Algorithmique et complexité Correction du problème Alliance d entreprises (d après X PSI/PT 2006) Partie I Alliance 1. On ajoute les termes de c à la somme seulement s ils sont dans l alliance (donc sous reserve que la case correspondante de la liste a contienne True). Ainsi : def somme(c,a): """ Somme des chiffres d affaire de l alliance a """ s = 0 for i in range(len(c)): if a[i]: s += c[i] return s En notant n le nombre d entreprises, on effectue n passages dans la boucle, chaque passage étant constitué d une génération d un indice i (le suivant), d un test et éventuellement d une somme et d une affectation. On a donc au moins 2 opérations et au plus 4. Ainsi, en comptant l affectation initiale, le nombre C n d opérations effetuées vérifie : 2n+1 C n 4n+1, de quoi on déduit que C n = Θ(n). 2. Il suffit de comparer la somme obtenue à l objectif souhaité : def estreussie(c,a,obj): """ teste si une alliance est réussie; retourne True dans ce cas""" if somme(c,a) >= Obj: return True Le nombre d opérations effectué est égal, à une constante additive près liée au test, égal au nombre d opérations nécessaires pour le calcul de la somme, d où la complexité linéaire. 3. On vérifie tout d abord que l alliance est réussie (première condition pour qu elle soit stable). Ensuite, on vérifie qu en enlevant une quelconque des entreprises de l alliance, on obtient une alliance ratée : pour cela, on énumère les entreprises de l alliance, et on retranche leur chiffre d affaire à la somme obtenue pour l alliance complète : si pour l une des entreprises, on reste au dessus de Obj, l alliance n est pas stable, sinon elle est stable. On n utilise pas la fonction estreussie, car on a besoin de la valeur de la somme des chiffres d affaire de l alliance : l utilisation de cette fonction, nous ferait calculer une première fois cette somme, mais sans nous en donner accès, nous obligeant alors à la calculer une deuxième fois. def eststable(c,a,obj): """ teste si une alliance est stable; retourne True dans ce cas""" s = somme(c,a) # on revient à la somme plutôt qu à # estreussie, car sinon, on doit la calculer # plusieurs fois if s >= Obj: for i in range(len(c)): if a[i] and s - c[i] >= Obj: # on a trouvé une alliance plus petite 1

2 # provoque la sortie de la fonction return True Le temps d exécution est encore linéaire : on calcule la somme en temps linéaire, puis on exécute ou non une séquence également linéaire (une boucle constituée de n itérations d une séquence constituée d un nombre non nul et borné d opérations). Une somme de Θ(n) étant encore Θ(n), on a bien un temps d exécution linéaire en n 4. On construit une alliance réussie en sommant les chiffres d affaire les plus gros. En commençant par les plus gros chiffres d affaire, on s arrête dès qu on dépasse l objectif. On obtient ainsi une alliance réussie constituée d un nombre k d entreprises. Il s agit plus précisément des k entreprises ayant les plus gros chiffres d affaire. Les k 1 entreprises de chiffre d affaire maximal ne réalisent pas l objectif par construction. Ainsi, en selectionnant k 1 entreprises de chiffres d affaire éventuellement inférieurs, on ne peut pas non plus remplir l objectif. On en déduit que toute alliance réussie possède au moins k entreprises. On en déduit d une part que l alliance construite est stable, et d autre part qu elle est minimale pour le nombre d entreprises. Cela justifie la validité de l algorithme donné. def alliancemin(c,obj): """ donne une alliance stable minimale""" a = [False for i in range(len(c))] s = 0 i = len(c)-1 while s < Obj and i >=0: s += c[i] a[i] = True # on ajoute l entreprise i à l alliance i -= 1 if s >= Obj: return a Partie II Calcul des alliances stables 1. Il s agit d ajouter 1 à la représentation binaire. D un point de vue purement algorithmique, cela revient à remplacer la dernière séquence dans la représentation binaire par (les 1 étant les True, et les 0 les False). On remplace donc, en partant des chiffres de plus petit poids (correspondant aux petits indices), les 1 par des 0 (donc les True par des False), jusqu à ce qu on rencontre un 0 (False), qu on remplace par 1 (True). Cela donne : def suivantede(a): """ Donne l alliance suivante """ i = len(a)-1 while i >=0 and a[i]: a[i] = False i -=1 if i < 0: # cas où il n y a pas d alliance suivante a[i] =True return a Sauf éventuellement à la toute dernière opération, l entier i est toujours positif (sa négativité déclanche la sortie de boucle) et décroît strictement d une itération à l autre. Ainsi, i est un variant de boucle assurant la terminaison de cette fonction (on peut prendre i+1 si on veut éviter la valeur négative possible au moment de la sortie de boucle). Par ailleurs, i diminue strictement de n 1 à 1, à moins qu on ne sorte de la boucle avant cela. Ainsi, il y a au plus n itérations, constituées d un nombre borné d opérations. Ainsi, le temps d exécution est au plus linéaire. 2

3 Suivant la valeur de a, on peut avoir un temps d éxécution meilleur que linéaire (si la dernière séquence de 1 est courte). 2. Il s agit simplement de créer une liste constituée des indices des entreprises de l alliance. Pour cela, on part de la liste l vide, et on parcourt la liste a : on ajoute alors à l les indices des entreprises validées par la liste a : def convertitboolliste(a): """ convertit une alliance booléenne en liste d entreprises """ l=[] for i in range(len(a)): if a[i]: # On ajoute i seulement si a[i]=true l.append(i) return(l) 3. Comme suggéré en début de partie, on ne cherche pas ici à être très subtil. On énumère les alliances les unes après les autres, grâce à suivantede, et on teste à chaque fois si elles sont stables ou non : def ToutesAlliancesStables(c,Obj): """ Fournit la liste de toutes les alliances stables """ listestable = [] a = [False for i in range(len(c))] # initialisation de a avec l alliance représentée par 0 # l alliance vide ne peut pas être réussie puisque Obj>0, on passe # directement à la suivante a = suivantede(a) while a!= False: # a = False si suivantede renvoie False, donc # s il n y a pas d alliance suivante. if eststable(c,a,obj): listestable.append(convertitboolliste(a)) a = suivantede(a) return listestable Le nombre d alliances (donc le nombre d itération) est 2 n. Chaque itération se fait en temps linéaire (test de stabilité linéaire et calcul de l alliance suivante au plus linéaire). Ainsi, cette fonction a une complexité en Θ(n2 n ), donc Ω(2 n ) et O(α n ) pour tout α > 2. On a donc une complexité exponentielle. Autant dire que cet algorithme est mauvais, et qu on a tout intérêt à trouver mieux! Partie III Optimisation On définit l ordre binaire sur les tableaux de booléen par a a si et seulement si bin(a) < bin(a ). Dans la partie II, on a déterminé les alliances stables, en les rangeant par ordre croissant pour l ordre. Dans cette partie, on optimise cette recherche en supposant que les entreprises sont classées par chiffres d affaires croissants. On suppose donc c[0] c[1] c[n 1]. Pour réaliser cette recherche rapide, on construit le tableau t vérifiant t[i] = c[0]+c[1]+ +c[i], pour 0 i < n. 1. On ne reprend pas le calcul de la somme du début pour chaque coefficient, mais on part de la somme précédente (sinon, on obtient un temps d exécution quadratique et non linéaire). On obtient : def cumuls(c): """ Calcul du tableau des cumuls """ t = [c[0]] for i in range(1,len(c)): t.append(t[i-1] + c[i]) return t Pour trouver a, première alliance stable dans l ordre binaire, on cherche l indice k minimum tel que t[k] Obj. L entreprise k est dans l alliance a, et on doit compléter cette alliance avec des entreprises de chiffres d affaires plus petits pour dépasser la somme restante Obj = Obj c[k]. Pour compléter cette alliance partielle {k}, on cherche le 3

4 plus petit k tel que t[k ] Obj. On sait qu il existe puisque t[k] Obj. Donc k est aussi dans l alliance a et on recommence à nouveau pour dépasser la somme restante Obj = Obj c[k ]. en complétant l alliance partielle {k,k},... jusqu au moment où la somme restante devient négative ou nulle. 2. (a) On traduit l algorithme ci-dessus en pseudo-code : Algorithme 1 : Recherche Première Alliance Entrée : c : chiffres d affaire, t : liste des cumuls, Obj : objectif Sortie : Première alliance stable dans l ordre binaire Initialiser a (alliance vide) ; NouvelObjectif Obj (initialisation de l objectif initial) ; tant que NouvelObjectif > 0 faire k recherchek(t,nouvelobjectif) ; si k 1 (cas ou l objectif peut être atteint) alors a[k] True (Ajout de l entreprise trouvée à l alliance) ; NouvelObjectif NouvelObjectif - c[k] (Actualisation de l objectif restant à réaliser) sinon renvoyer False et sortir fin si fin tant que renvoyer a (b) Terminaison : Quitte à multiplier tous les chiffres d affaire par une constante assez grande (ce qui revient à faire un changement d unité), on peut considérer qu ils sont tous au moins égaux à 1 (il vaut mieux pour l entreprise!) Alors, l entier NouvelObjectif est strictement décroissant d une itération à l autre, et positif tant qu on continue. Il s agit donc d un variant de boucle assurant la terminaison. On peut aussi prendre comme variant de boucle le nombre d entreprises non selectionnées dans l alliance partielle. Correction : on part de l observation suivante : la valeur k trouvée lors de la première étape est telle que toute alliance réussie possède au moins une part d indice supérieur ou égal à k. En effet, si ce n est pas le cas, toutes les parts sont d indice strictement inférieur à k, donc la somme des chiffres d affaires des entreprises considérées est inférieure ou égale à t[k 1]. Comme t[k 1] < Obj par définition de k, l alliance ne peut pas être réussie. Par ailleurs, il existe une alliance réussie dont la plus grande part est c[k] (l alliance des entreprises 0 à k). Comme de toute alliance réussie on peut extraire une alliance stable (on retire des entreprises tant qu on peut le faire sans perdre la réussite, quand on ne peut plus, on a obtenu une alliance stable), cela signifie qu il existe une alliance stable dont la plus grande part est c[k]. De ces deux observations découle le fait que l alliance stable minimale contient la part k. Une fois cette part k imposée, il faut choisir les autres entreprises de façon minimale, dévant dépasser l objectif restant, à savoir Obj c[k]. Comme cela peut se faire uniquement avec les entreprises 0 à k 1, cela revient à itérer l argument précédent avec ce nouvel objectif. Une récurrence basé sur ces observations montre qu on a alors un invariant de boucle : «À l issue du i-ième passage dans la boucle, s il a lieu, a fournit la liste des i entreprises de plus grand poids dans l alliance stable minimale.» En sortant de la dernière boucle, si k 1, alors NouvelObjectif < 0, ce qui signifie que l objectif est réalisé. Comme il ne l était pas à l étape précédente, et que l entreprise qu on ajoute lors de la dernière étape a un chiffre d affaires inférieur au chiffre d affaire que celles qu on a déjà selectionnées, l alliance obtenue est stable, et d après l invariant de boucle, elle est contituée des plus grandes parts de l alliance stable minimale : il s agit nécessairement de l alliance stable minimale. La cas où k = 1 est le cas où la somme de tous les chiffres d affaires est inférieur à l objectif à réaliser : il n y a pas d alliance réussie, donc pas d alliance stable. Complexité : À chaque passage dans la boucle, le nombre d entreprises non selectionnées diminue srictement. Ainsi, le nombre de passages dans la boucle est au plus égal à n. La complexité obtenue dépendra de l implémentation de recherchek. Une implémentation minimaliste donne une complexité linéaire pour cette recherche (on parcout t jusqu à dépasser la valeur souhaitée). Dans ce cas, la complexité globale est en O(n 2 ), donc on a un algorithme au plus quadratique. 4

5 On peut cependant remarquer que les chiffres d affaire étant positifs, t est un tableau trié (par ordre croissant). Ainsi, la valeur de k peut se trouver par recherche dichotomique, donc avec une complexité en O(ln(n)). De la sorte, la complexité de l algorithme obtenu est en O(nln(n)). (c) À la lumière de l explication précédente, nous effectuons une recherche dichotomique dans le tableau t : def recherchek(t,obj): """ recherche dichotomique du cumul dépassant l objectif """ a = 0 b = len(t)-1 if t[b]< Obj: return -1 if t[a] >= Obj: return a while b-a > 1: c = (a + b) // 2 if t[c]>= Obj: b = c a = c return b La fonction recherchepremierealliance(c,t,obj) est alors obtenue en transcrivant en Python le pseudocode ci-dessus : def recherchepremierealliance(c,t,obj): """ Recherche de la première alliance stable dans l ordre binaire """ a = [False for i in range(len(c))] NouvelObj = Obj while NouvelObj > 0: k = recherchek(t,nouvelobj) if k!= -1: a[k] = True NouvelObj -= c[k] return a, Obj - NouvelObj On renvoie aussi l objectif réel réalisé par cette alliance, pour des raisons techniques (nous en avons besoin par la suite, pour éviter d avoir à recalculer ces objectifs à chaque fois, ce qui augmenterait le temps de calcul). 3. Soit a une alliance stable pour l objectif Obj, et i l indice minimal tel que a[i] = True. Soit l le plus grand entier tel que a[i] = a[i+1] = = a[i+l] = True. si i + l = n 1, l alliance est contituée des l + 1 entreprises de poids maximal. Les alliances supérieures dans l ordre binaire sont obtenues de celles-ci en ajoutant des entreprises de poids inférieur. Mais alors, ces alliances ne peuvent pas être stables (puisque sans ces entreprises de poids inférieurs, l alliance était déjà réussie). Donc il n existe pas d entreprise stable suivante. Soit a l alliance initiale. Si i+l < n 1 pour la même raison que ci-dessus, toute alliance contituée des mêmes entreprises les plus grosses (au delà strictement du rang i+l) sera obtenue en ajoutant des parts plus petites, donc ne sera pas stable. Ainsi, s il en existe une, une alliance stable strictement supérieure à a nécessite une modification de la selection des entreprises de rang > i + l + 1 de sorte à obtenir une poids plus fort pour l ensemble de ces entreprises. La plus petite modification qu on puisse faire est simplement d ajouter l entreprise c[i + l + 1]. Toute autre modification donnera une alliance plus grande dans l ordre binaire. Il suffit donc de justifier qu il existe bien une entreprise stable obtenue de la sorte. 5

6 Or, si on remplace dans l alliance initiale l entreprise i + l par l entreprise i + l + 1. Appelons a l alliance initiale, et a l alliance obtenue. Comme c[i+l+1] c[i+l], l alliance a est encore réussie. En revanche, en enlevant la part c[i+l+1] de a, l alliance n est plus réussie (car cela revient à enlever la part c[i+l] à a, et on sait que a est stable). C est encore pire si on enlève une part c[k], k > i+l+1. Il existe donc une alliance stable, extraite de a, contenant l entreprise i+l+1, et toutes les entreprises plus grosses. Ainsi, il existe une alliance stable supérieure à l alliance a. On en déduit qu il existe une alliance minimale supérieure à a, et que celle-ci contient l entreprise i+l+1, ainsi que toutes celles au-delà qui étaient déjà dans a. Pour trouver les autres entreprises, on complète de la même manière qu en 2(c), avec les mêmes justifications. 4. On obtient donc le code suivant : def StableSuivanteDe(a,c,t,Obj,ObjRealise): """ Recherche de l entreprise stable suivant a """ # ObjRealise est l objectif effectif de l alliance a i = 0 while not a[i]: i+=1 k = i while k < len(c) and a[k]: # On retire les entreprises de la première séquence de la liste # On retire aussi leur chiffre d affaire de l objectif réalisé a[k]= False ObjRealise -= c[k] k += 1 if k == len(c): # On ajoute l entreprise i+l+1=k, ainsi que le chiffre d affaire a[k] = True ObjRealise += c[k] # A ce stade, on a une alliance partielle contenant l entreprise # i+l+1, et les plus grosses. On la complète à la manière # de la fonction précédente NouvelObj=Obj-ObjRealise while NouvelObj > 0: k = recherchek(t,nouvelobj) a[k] = True NouvelObj -= c[k] return a, Obj - NouvelObj 5. La fin est une formalité : on passe d une alliance stable à la suivante grâce à la fonction précédente. La fonction 2(c) nous donne le point de départ. L arrêt est obtenu lorsqu il n y a pas de suivante, donc lorsque la fonction de la question 4 retourne False. def ToutesAlliancesStables2(c,Obj): """ Recherche de toutes les alliances stables """ t = cumuls(c) a, ObjRealise = recherchepremierealliance(c,t,obj) li = [] while a!= False: li.append(convertitboolliste(a)) a, ObjRealise = StableSuivanteDe(a,c,t,Obj,ObjRealise) 6

1 Recherche en table par balayage

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

Plus en détail

Recherche dans un tableau

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

Plus en détail

Programmation linéaire

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

Plus en détail

Chp. 4. Minimisation d une fonction d une variable

Chp. 4. Minimisation d une fonction d une variable Chp. 4. Minimisation d une fonction d une variable Avertissement! Dans tout ce chapître, I désigne un intervalle de IR. 4.1 Fonctions convexes d une variable Définition 9 Une fonction ϕ, partout définie

Plus en détail

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

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

Plus en détail

Continuité et dérivabilité d une fonction

Continuité et dérivabilité d une fonction DERNIÈRE IMPRESSIN LE 7 novembre 014 à 10:3 Continuité et dérivabilité d une fonction Table des matières 1 Continuité d une fonction 1.1 Limite finie en un point.......................... 1. Continuité

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

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

Plus en détail

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

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

Plus en détail

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

Programmation C++ (débutant)/instructions for, while et do...while

Programmation C++ (débutant)/instructions for, while et do...while Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2. Eo7 Calculs de déterminants Fiche corrigée par Arnaud Bodin Eercice Calculer les déterminants des matrices suivantes : Correction Vidéo ( ) 0 6 7 3 4 5 8 4 5 6 0 3 4 5 5 6 7 0 3 5 4 3 0 3 0 0 3 0 0 0 3

Plus en détail

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

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

Plus en détail

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

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

CCP PSI - 2010 Mathématiques 1 : un corrigé

CCP PSI - 2010 Mathématiques 1 : un corrigé CCP PSI - 00 Mathématiques : un corrigé Première partie. Définition d une structure euclidienne sur R n [X]... B est clairement symétrique et linéaire par rapport à sa seconde variable. De plus B(P, P

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

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

Algorithmique et Programmation, IMA

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

Plus en détail

Les arbres binaires de recherche

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

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

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

Organigramme / Algorigramme Dossier élève 1 SI

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

Plus en détail

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation

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

Programmation linéaire

Programmation linéaire Programmation linéaire DIDIER MAQUIN Ecole Nationale Supérieure d Electricité et de Mécanique Institut National Polytechnique de Lorraine Mathématiques discrètes cours de 2ème année Programmation linéaire

Plus en détail

TD3: tableaux avancées, première classe et chaînes

TD3: tableaux avancées, première classe et chaînes TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première

Plus en détail

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

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

Plus en détail

Algorithme. Table des matières

Algorithme. Table des matières 1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............

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

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

Résolution de systèmes linéaires par des méthodes directes

Résolution de systèmes linéaires par des méthodes directes Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.

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

Algorithmes récursifs

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

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

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

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

Plus en détail

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

Chapitre 10. Les interfaces Comparable et Comparator 1

Chapitre 10. Les interfaces Comparable et Comparator 1 Chapitre 10: Les interfaces Comparable et Comparator 1/5 Chapitre 10 Les interfaces Comparable et Comparator 1 1 Ce chapitre a été extrait du document "Objets, Algorithmes, Patterns" de [René Lalement],

Plus en détail

Cours de Systèmes d Exploitation

Cours de Systèmes d Exploitation Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation

Plus en détail

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */. Page 1 de 9 MATLAB : COMMANDES DE BASE Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */. Aide help, help nom_de_commande Fenêtre de travail (Command Window) Ligne

Plus en détail

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes. Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de

Plus en détail

Résolution d équations non linéaires

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

Plus en détail

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

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

Plus en détail

Chapitre 1 : Évolution COURS

Chapitre 1 : Évolution COURS Chapitre 1 : Évolution COURS OBJECTIFS DU CHAPITRE Savoir déterminer le taux d évolution, le coefficient multiplicateur et l indice en base d une évolution. Connaître les liens entre ces notions et savoir

Plus en détail

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections

Plus en détail

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours Exo7 Continuité (étude globale). Diverses fonctions Exercices de Jean-Louis Rouget. Retrouver aussi cette fiche sur www.maths-france.fr * très facile ** facile *** difficulté moyenne **** difficile *****

Plus en détail

ARBRES BINAIRES DE RECHERCHE

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

Plus en détail

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

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing 3/4/27 Programmation Avancée Multimédia Multithreading Benoît Piranda Équipe SISAR Université de Marne La Vallée Besoin Programmes à traitements simultanés Réseau Réseau Afficher une animation en temps

Plus en détail

Tp 1 correction. Structures de données (IF2)

Tp 1 correction. Structures de données (IF2) Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que

Plus en détail

L exclusion mutuelle distribuée

L exclusion mutuelle distribuée L exclusion mutuelle distribuée L algorithme de L Amport L algorithme est basé sur 2 concepts : L estampillage des messages La distribution d une file d attente sur l ensemble des sites du système distribué

Plus en détail

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan Cours de C++ François Laroussinie Dept. d Informatique, ENS de Cachan 2 novembre 2005 Première partie I Introduction Introduction Introduction Algorithme et programmation Algorithme: méthode pour résoudre

Plus en détail

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation : Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de

Plus en détail

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. 1 Définitions, notations Calcul matriciel Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. On utilise aussi la notation m n pour le

Plus en détail

TP, première séquence d exercices.

TP, première séquence d exercices. TP, première séquence d exercices. Benoît Valiron benoit.valiron@lipn.univ-paris13.fr 7 novembre 2010 Introduction Vous écrirez les réponses aux questions courtes sur une feuille à rendre à la fin de la

Plus en détail

Théorie et codage de l information

Théorie et codage de l information Théorie et codage de l information Les codes linéaires - Chapitre 6 - Principe Définition d un code linéaire Soient p un nombre premier et s est un entier positif. Il existe un unique corps de taille q

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications A. Optimisation sans contrainte.... Généralités.... Condition nécessaire et condition suffisante

Plus en détail

Bases de données documentaires et distribuées Cours NFE04

Bases de données documentaires et distribuées Cours NFE04 Bases de données documentaires et distribuées Cours NFE04 Introduction a la recherche d information Auteurs : Raphaël Fournier-S niehotta, Philippe Rigaux, Nicolas Travers prénom.nom@cnam.fr Département

Plus en détail

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 4 : Fonctions La construction de fonctions dans un langage de programmation permet aux

Plus en détail

Algorithmique et Programmation

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

Plus en détail

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

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

Plus en détail

Chapitre VI - Méthodes de factorisation

Chapitre VI - Méthodes de factorisation Université Pierre et Marie Curie Cours de cryptographie MM067-2012/13 Alain Kraus Chapitre VI - Méthodes de factorisation Le problème de la factorisation des grands entiers est a priori très difficile.

Plus en détail

ÉVALUATION FORMATIVE. On considère le circuit électrique RC représenté ci-dessous où R et C sont des constantes strictement positives.

ÉVALUATION FORMATIVE. On considère le circuit électrique RC représenté ci-dessous où R et C sont des constantes strictement positives. L G L G Prof. Éric J.M.DELHEZ ANALYSE MATHÉMATIQUE ÉALUATION FORMATIE Novembre 211 Ce test vous est proposé pour vous permettre de faire le point sur votre compréhension du cours d Analyse Mathématique.

Plus en détail

Continuité en un point

Continuité en un point DOCUMENT 4 Continuité en un point En général, D f désigne l ensemble de définition de la fonction f et on supposera toujours que cet ensemble est inclus dans R. Toutes les fonctions considérées sont à

Plus en détail

ASR1 TD7 : Un microprocesseur RISC 16 bits

ASR1 TD7 : Un microprocesseur RISC 16 bits {Â Ö Ñ º ØÖ Ý,È ØÖ ºÄÓ Ù,Æ ÓÐ ºÎ ÝÖ Ø¹ ÖÚ ÐÐÓÒ} Ò ¹ÐÝÓÒº Ö ØØÔ»»Ô Ö Óº Ò ¹ÐÝÓÒº Ö» Ö Ñ º ØÖ Ý»¼ Ö½» ASR1 TD7 : Un microprocesseur RISC 16 bits 13, 20 et 27 novembre 2006 Présentation générale On choisit

Plus en détail

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé A. P. M. E. P. Exercice 1 5 points 1. Réponse d. : 1 e Le coefficient directeur de la tangente est négatif et n est manifestement pas 2e

Plus en détail

Calcul Formel et Numérique, Partie I

Calcul Formel et Numérique, Partie I Calcul Formel et Numérique N.Vandenberghe nvdb@irphe.univ-mrs.fr Table des matières 1 Introduction à Matlab 2 1.1 Quelques généralités.......................... 2 2 Où trouver des informations 2 3 Opérations

Plus en détail

OCL - Object Constraint Language

OCL - Object Constraint Language OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object

Plus en détail

Découverte de Python

Découverte de Python Découverte de Python Python est un des langages informatiques au programme des concours à partir de la session 2015. Ce tutoriel vous permettra de vous mettre à peu près à niveau de ce qui a été fait en

Plus en détail

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

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

Plus en détail

REALISATION d'un. ORDONNANCEUR à ECHEANCES

REALISATION d'un. ORDONNANCEUR à ECHEANCES REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6

Plus en détail

CHAPITRE 1. Suites arithmetiques et géometriques. Rappel 1. On appelle suite réelle une application de

CHAPITRE 1. Suites arithmetiques et géometriques. Rappel 1. On appelle suite réelle une application de HAPITRE 1 Suites arithmetiques et géometriques Rappel 1 On appelle suite réelle une application de dans, soit est-à-dire pour une valeur de la variable appartenant à la suite prend la valeur, ie : On notera

Plus en détail

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année 2003-2004 Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES Maude Manouvrier La reproduction de ce document par

Plus en détail

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

Plus en détail

La classification automatique de données quantitatives

La classification automatique de données quantitatives La classification automatique de données quantitatives 1 Introduction Parmi les méthodes de statistique exploratoire multidimensionnelle, dont l objectif est d extraire d une masse de données des informations

Plus en détail

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France. La NP-complétude Johanne Cohen PRISM/CNRS, Versailles, France. Références 1. Algorithm Design, Jon Kleinberg, Eva Tardos, Addison-Wesley, 2006. 2. Computers and Intractability : A Guide to the Theory of

Plus en détail

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

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

Plus en détail

Chapitre 7. Récurrences

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

Plus en détail

Rappels sur les suites - Algorithme

Rappels sur les suites - Algorithme DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................

Plus en détail

LES REGLEMENTS AVEC SOCIEL.NET DERNIERE MISE A JOUR : le 14 juin 2010

LES REGLEMENTS AVEC SOCIEL.NET DERNIERE MISE A JOUR : le 14 juin 2010 LES REGLEMENTS AVEC SOCIEL.NET DERNIERE MISE A JOUR : le 14 juin 2010 Guillaume Informatique 10 rue Jean-Pierre Blachier 42150 La Ricamarie Tél. : 04 77 36 20 60 - Fax : 04 77 36 20 69 - Email : info@guillaume-informatique.com

Plus en détail

alg - Classes, instances, objets [oo] Exercices résolus

alg - Classes, instances, objets [oo] Exercices résolus alg - Classes, instances, objets [oo] Exercices résolus Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner Unisciel algoprog Version 27 avril 2015 Table des matières 1 Compte bancaire OO 2 1.1

Plus en détail

Ordonnancement temps réel

Ordonnancement temps réel Ordonnancement temps réel Laurent.Pautet@enst.fr Version 1.5 Problématique de l ordonnancement temps réel En fonctionnement normal, respecter les contraintes temporelles spécifiées par toutes les tâches

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

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé Baccalauréat S/L Métropole La Réunion 13 septembre 2013 Corrigé A. P. M.. P. XRCIC 1 Commun à tous les candidats Partie A 1. L arbre de probabilité correspondant aux données du problème est : 0,3 0,6 H

Plus en détail

Quantification Scalaire et Prédictive

Quantification Scalaire et Prédictive Quantification Scalaire et Prédictive Marco Cagnazzo Département Traitement du Signal et des Images TELECOM ParisTech 7 Décembre 2012 M. Cagnazzo Quantification Scalaire et Prédictive 1/64 Plan Introduction

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ; CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe

Plus en détail

Correction du Baccalauréat S Amérique du Nord mai 2007

Correction du Baccalauréat S Amérique du Nord mai 2007 Correction du Baccalauréat S Amérique du Nord mai 7 EXERCICE points. Le plan (P) a une pour équation cartésienne : x+y z+ =. Les coordonnées de H vérifient cette équation donc H appartient à (P) et A n

Plus en détail

Jean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux

Jean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux Colonies de fourmis Comment procèdent les colonies de fourmi pour déterminer un chemin presque géodésique de la fourmilière à un stock de nourriture? Les premières fourmis se déplacent au hasard. Les fourmis

Plus en détail

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé Baccalauréat S ntilles-guyane 11 septembre 14 Corrigé EXERCICE 1 6 points Commun à tous les candidats Une entreprise de jouets en peluche souhaite commercialiser un nouveau produit et à cette fin, effectue

Plus en détail

I. Polynômes de Tchebychev

I. Polynômes de Tchebychev Première épreuve CCP filière MP I. Polynômes de Tchebychev ( ) 1.a) Tout réel θ vérifie cos(nθ) = Re ((cos θ + i sin θ) n ) = Re Cn k (cos θ) n k i k (sin θ) k Or i k est réel quand k est pair et imaginaire

Plus en détail

Fonctions de plusieurs variables

Fonctions de plusieurs variables Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme

Plus en détail

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

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

Plus en détail

Cours d initiation à la programmation en C++ Johann Cuenin

Cours d initiation à la programmation en C++ Johann Cuenin Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................

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