D.S. 1 I.P.T. MP. a) Ecrire une fonction récursive Cantor(x,y) qui retourne le numéro du point de coordonnées

Documents pareils
AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

avec des nombres entiers

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Programmation linéaire

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.

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Fonctions homographiques

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Initiation à l algorithmique

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

Bien lire l énoncé 2 fois avant de continuer - Méthodes et/ou Explications Réponses. Antécédents d un nombre par une fonction

DOCM Solutions officielles = n 2 10.

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

Chapitre 2 Le problème de l unicité des solutions

Fonctions de plusieurs variables

Chapitre 2. Matrices

Correction du baccalauréat S Liban juin 2007

Fonctions de plusieurs variables

Chapitre 1 : Évolution COURS

TOUT CE QU IL FAUT SAVOIR POUR LE BREVET

C f tracée ci- contre est la représentation graphique d une

a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b

Résolution d équations non linéaires

Cours 02 : Problème général de la programmation linéaire

Polynômes à plusieurs variables. Résultant

Cours d Analyse. Fonctions de plusieurs variables

EXERCICES DE REVISIONS MATHEMATIQUES CM2

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Probabilités sur un univers fini

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

Calcul intégral élémentaire en plusieurs variables

1 Complément sur la projection du nuage des individus

Algorithmes récursifs

Représentation géométrique d un nombre complexe

Angles orientés et trigonométrie

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

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

Planche n o 22. Fonctions de plusieurs variables. Corrigé

Priorités de calcul :

PROBLEME(12) Première partie : Peinture des murs et du plafond.

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

Activités numériques [13 Points]

Chapitre 5 : Flot maximal dans un graphe

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

TP 1. Prise en main du langage Python

BACCALAURÉAT GÉNÉRAL SESSION 2012 OBLIGATOIRE MATHÉMATIQUES. Série S. Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE

Tâche complexe produite par l académie de Clermont-Ferrand. Mai 2012 LE TIR A L ARC. (d après une idée du collège des Portes du Midi de Maurs)

Probabilités sur un univers fini

Fonction inverse Fonctions homographiques

Cours 7 : Utilisation de modules sous python

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

COMPTE-RENDU «MATHS EN JEANS» LYCEE OZENNE Groupe 1 : Comment faire une carte juste de la Terre?

Exercices Corrigés Premières notions sur les espaces vectoriels

NOMBRES COMPLEXES. Exercice 1 :

Continuité et dérivabilité d une fonction

EXERCICE 4 (7 points ) (Commun à tous les candidats)

Correction de l examen de la première session

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

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

Initiation à la programmation en Python

Chapitre 2. Eléments pour comprendre un énoncé

Compter à Babylone. L écriture des nombres

Groupe symétrique. Chapitre II. 1 Définitions et généralités

Optimisation des fonctions de plusieurs variables

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Correction : E = Soit E = -1,6. F = 12 Soit F = y = 11. et G = -2z + 4y G = 2 6 = 3 G = G =

O, i, ) ln x. (ln x)2

1 Recherche en table par balayage

Cours Fonctions de deux variables

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

CORRECTION EXERCICES ALGORITHME 1

Plan. 5 Actualisation. 7 Investissement. 2 Calcul du taux d intérêt 3 Taux équivalent 4 Placement à versements fixes.

III- Raisonnement par récurrence

Comparaison de fonctions Développements limités. Chapitre 10

Les indices à surplus constant

Cours d arithmétique Première partie

Bac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures)

Licence Sciences et Technologies Examen janvier 2010

Cryptographie et fonctions à sens unique

Construction d un cercle tangent à deux cercles donnés.

Théorème du point fixe - Théorème de l inversion locale

Une forme générale de la conjecture abc

Mathématiques financières

F411 - Courbes Paramétrées, Polaires

Complément d information concernant la fiche de concordance

Simulation de variables aléatoires

Relation entre deux variables : estimation de la corrélation linéaire

3 Approximation de solutions d équations

Synthèse «Le Plus Grand Produit»

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Fibonacci et les paquerettes

Représentation d un entier en base b

CCP PSI Mathématiques 1 : un corrigé

Transcription:

D.S. I.P.T. MP Exercice. On démontre que l ensemble N N est dénombrable (i.e. en bijection avec N) en numérotant chaque couple (x, y) N 2 suivant le procédé suggéré par la figure ci-dessous, appelée numérotation de Cantor de N 2 : a) Ecrire une fonction récursive Cantor(x,y) qui retourne le numéro du point de coordonnées (x, y). b) Ecrire une fonction récursive CantorInverse(n) pour la fonction réciproque. N.B. On veillera à ne pas multiplier les appels récursifs. c) Il est facile de donner une formule explicite pour la fonction Cantor(x,y) mais on ne la demande pas ici. En revanche, mathématiquement, pour définir CantorInverse(n) on doit distinguer le cas où n prend une des valeurs 0,,3,6,0... marquées sur l axe des abscisses du schéma. On note (T k ) k N la suite de ces valeurs : (i) Définir (T k ) k N mathématiquement. (ii) Ecrire une fonction impérative Tk(n) qui renvoie True si n est une valeur de cette suite (T k ) et False sinon. Exercice 2. On s intéresse ici au nombre de façons d obtenir n euros avec des pièces et des billets de, 2, 5 et 0 euros. Par exemple n = 5 peut se décomposer en + + + +, + + + 2, + 2 + 2, 5, ce qui donne 4 façons. D une manière générale une décomposition sera donc donnée par un quadruplet [a, a 2, a 5, a 0 ] tel que a + a 2 2 + a 5 5 + a 0 0 = n. Il est utile pour la suite de penser que n = 0 admet une décomposition associée au quadruplet [0, 0, 0, 0]. ) On veut écrire une fonction comptepiece qui reçoit comme paramètre un entier n et qui renvoie le nombre de décompositions comme ci-dessus. Indication On peut séparer les décompositions entre celles qui contiennent (au moins) un billet de 0 euros et les autres. Pour compter les décompositions de n qui contiennent un billet de 0 euros, il est équivalent de compter celles de n 0. Pour les autres décompositions de n, on est ramené à une décomposition avec une liste plus petite. Ainsi, une bonne façon de résoudre ce problème est de le généraliser : on écrira plutôt une fonction compteavecliste(n,l) qui prend comme argument n et L où n est un entier strictement positifs et L est une liste d entiers et compteavecliste renvoie le nombre de façons d écrire n comme somme d éléments de L. On en déduira ensuite facilement la fonction comptepiece. 2) (Plus difficile) Ecrire ensuite une fonction decompose(n,l) qui renvoie sous forme d une liste de listes toutes les décompositions de l entier n à l aide des éléments de la liste L. Par exemple : >>>decompose(5,[,2,5,0]) [[,,,, ], [,,, 2], [, 2, 2], [5]]

Problème : suites de Farey Introduction : Pour tout n N, la suite de Farey d ordre n, notée F n, est la suite croissante des fractions irréductibles a avec 0 a b n dans N, qui sont donc dans l intervalle [0, ]. b Par exemple F = [ 0, ] et F 5 = [ 0, 5, 4, 3, 2 5, 2, 3 5, 2 3, 3 4, 4 5, ]. Le but de ce petit problème est d étudier plusieurs méthodes de construction des suites de Farey. Convention : Une écriture fractionnaire a/b sera codée par une liste [a,b]. 0) Quelques outils pour la suite : a) Créer une fonction chaine qui prend en argument une liste [a,b] et renvoie la chaîne de caractère "a/b". b) En déduire une fonction chaineliste qui reçoit une liste de rationnels (toujours écrits chacun sous la forme [a,b]), ne renvoie rien mais affiche la chaîne de caractères formée de ces rationnels écrits sous la forme "a/b", séparés par des virgules. c) Ecrire une fonction récursive pgcd qui reçoit deux entiers a et b et renvoie le pgcd de a et b. d) En déduire une fonction simplifieliste qui reçoit une liste L de couples [a,b] codant des rationnels et qui renvoie une autre liste M obtenue à partir de L en enlevant les couples tels que pgcd(a,b). e) Créer une fonction elimine qui reçoit une liste L de rationnels irréductibles et un entier positif n et renvoie une liste M obtenue à partir de L en enlevant les rationnels dont le dénominateur est strictement supérieur à n. ) Tri par insertion Ecrire une fonction Tri qui reçoit une liste L et renvoie une liste triée déduite de L par la méthode de tri par insertion. 2) Une méthode brutale pour obtenir la suite de Farey a) Ecrire une fonction listebrute qui reçoit un entier n et renvoie la liste de tous les couples [i,j] avec 0 i < j n à laquelle on rajoute [,]. b) A l aide de fonctions précédentes (ou de modifications de ces fonctions) déduire de la fonction listebrute une fonction Fareybrut(n) qui renvoie la suite de Farey F n sous la forme d une liste ordonnée de couples. 3) Un peu de mathématique pour trouver un meilleur algorithme! Dans la méthode précédente, on a dû utiliser un algorithme de tri. On va voir qu on peut s en passer. Dans la suite, on va utiliser les deux propriétés suivantes des suites de Farey : Prop. 3. Si a /b et a 2 /b 2 sont deux termes consécutifs de F n alors : a 2 b a b 2 =. Prop. 3.2 Si a /b, a 2 /b 2 et a 3 /b 3 sont trois termes consécutifs de F n, alors : a 2 b 2 = a + a 3 b + b 3. Question de maths (plutôt facile!) : Montrer que la propriété 3. entraîne la propriété 3.2. On admet provisoirement la propriété 3., cf partie 6) 4) Un algorithme plus efficace A l aide de la propriété 3.2, on peut construire F 2 à partir de F = [ 0, ] : il suffit de rajouter 0 + + = au milieu (cette fraction est appelée médiante des deux écritures précédentes). 2 2

a) Obtenir ainsi, à la main, sur votre copie, les suites F 2, F 3, F 4, F 5. Bien noter ce qu il faut faire en plus, à part le calcul des fractions médiantes, pour obtenir vraiment F 4 et F 5 b) Ecrire une fonction ajoutemediante qui reçoit une liste L dont les entrées sont des couples de la forme [a,b] et modifie cette liste L pour ajouter entre chaque entrées [a,b] et [a,b ] successives la médiante [a+a,b+b ]. c) Déduire de ce qui précède une fonction Farey qui reçoit un entier n et renvoie la liste F n toujours sous la forme d une liste de couples. Remarque : on admet ici (voir le 6) pour une preuve) que si (a, b) et (a, b ) sont deux termes successifs d une suite F n alors a + a et b + b sont encore premiers entre eux. 5) Un petit dessin pour finir Avec les algorithme précédent, on construit pour chaque a b dans F n, le cercle de Ford de centre ( a b, ) de rayon. On obtient pour n = 0 : 2b2 2b2 On donne le script suivant qui définit une fonction cercle permettant de tracer un cercle avec pylab : import pylab as pl pl.clf() F=pl.gca()# get current axis def cercle(x,y,r): """crée un cercle de centre (x,y) et de rayon r""" cir=pl.circle([x,y],radius=r,fill=false) F.add_patch(cir) # ajout du cercle # à la figure F var. globale. cercle(0,0,) # création d un cercle de centre (0,0) et de rayon pl.axis( scaled ) # pour que la figure soit centrée sur notre cercle... pl.show() # affichage de la figure Travail à faire : de Farey F n. Ecrire un script permettant de tracer les cercles de Ford associés à une suite 3

Appendice au problème : questions de maths (points bonus, à rédiger sur une copie séparée) ou à la maison 6) Un peu de géométrie des nombres : Définition 6.. On se place dans le plan R 2 : dans ce plan on appelle réseau les sous ensembles de la forme R = Zu + Zv où u = (x, y ) et v = (x 2, y 2 ) sont deux vecteurs du plan fixés. Autrement dit un vecteur w est dans R si, et seulement si, il existe deux entiers k et l dans Z tels que w = ku + lv. Par exemple sur le dessin ci-dessous w = u + 3v. Définition 6.2. On note e = (, 0) et e 2 = (0, ) les deux vecteurs de la base canonique de R 2. On appelle réseau fondamental le réseau Λ = Ze + Ze 2 = Z 2 R 2. a) On considère une transformation linéaire f Λ Λ, (x, y) Z 2 (ax + by, cx + dy) avec (a, b, c, d) Z 2 autrement dit de matrice A = ( a b c d ) M 2(Z). Démontrer que f(λ) = Λ si, et seulement si, le déterminant det(f) = det(a) est égal à ±. b) En déduire que pour deux vecteurs u et v de Z 2 le réseau Zu + Zv engendré par u et v est égal au réseau fondamental Z 2 si et seulement si det(u, v) =, ce qui revient à dire que l aire du parallélogramme de côté u et v vaut. N.B. Ce parallélogramme est appelé maille du réseau en cristallographie. Définition 6.3. Un point P Z 2 est dit visible depuis l origine s il n y a aucun point du réseau Λ = Z 2 dans l intervalle ]O, P [, où O = (0, 0). Exemple : (, ) est visible depuis O, mais (2, 2) ne l est pas puisque justement (, ) le cache. Remarque : Il est facile de voir que, de manière générale, un point P = (x, y) Z 2 est visible depuis l origine si, et seulement si, pgcd(x, y) =. c) Soient P et Q deux points de Z 2 visibles depuis l origine. Soit = det( OP, OQ) l aire du parallélogramme Π de côté OP et OQ. Montrer qu il n y aucun point de Z 2 à l intérieur du parallélogramme Π si, et seulement si, =. 4

d) Application à la prop. 3.. Les fractions [a,b] avec 0 a b n et pgcd(a, b) =, correspondent aux points (a, b) visibles depuis l origine à l intérieur ou au bord du triangle délimité par les droites d équations x = 0, y = x et y = n. Si on fait tourner une droite passant par l origine, à partir du bord d équation y = x, dans le sens inverse trigonométrique, cette droite va rencontrer successivement tous les points visibles. En déduire la propriété 3.. : si [a, b ] et [a 2, b 2 ] représentent deux fractions de Farey consécutives alors : a 2 b a b 2 =. e) En déduire aussi que si [a, b ] et [a 2, b 2 ] représentent deux fractions de Farey consécutives dans F alors en posant a = a + a 2 et b = b + b 2, on a encore pgcd(a, b) =. 5