Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#101 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Les caméléons » 09-05-2018 18:41:01

Salut,

Une solution géométrique

On se place dans $\mathbb{R}^3$.
Un point $A(x,y,z)$ de coordonnées entières représente la situation où $x$ est le nombre de caméléons bleus, $y$ les jaunes et $z$ les verts.

On considère
* $A_0(x_0,y_0,z_0)$ la situation de départ et $N=x_0+y_0+z_0$,
* $\overrightarrow{u}$, $\overrightarrow{v}$ et $\overrightarrow{w}$ les vecteurs tels que $\overrightarrow{u}\left(\begin{array}{c}2\\-1\\-1\end{array}\right)$, $\overrightarrow{v}\left(\begin{array}{c}-1\\2\\-1\end{array}\right)$ et $\overrightarrow{w}\left(\begin{array}{c}-1\\-1\\2\end{array}\right)$, représentant la rencontre de deux caméléons de couleurs différentes,
* $\mathcal{E}$ l'ensemble des points que l'on peut atteindre par translations successives de vecteurs $\overrightarrow{u}$, $\overrightarrow{v}$ ou $\overrightarrow{w}$ en partant de $A_0$. Il suffit de prendre $\mathcal{E}\cap\mathbb{N}^3$ pour obtenir l'ensemble des situations possibles.

Les vecteurs $\overrightarrow{u}$, $\overrightarrow{v}$ et $\overrightarrow{w}$ sont coplanaires dans le plan $\mathcal{P}$ d'équation $x+y+z=N$.
On a donc $\mathcal{E}=\{A\in\mathcal{P}\ /\ A=A_0+\alpha\overrightarrow{u}+\beta\overrightarrow{v}\ avec\ (\alpha,\beta)\in\mathbb{Z}^2\}$.

On faut donc savoir si $B(N,0,0)$, $C(0,N,0)$ ou $D(0,0,N)$ appartient à $\mathcal{E}$.
Cela fait trois petits systèmes à résoudre :
$B=A_0+\dfrac{z_0-y_0}{3}\overrightarrow{u}+\dfrac{y_0+2z_0}{3}\overrightarrow{v}$,
$C=A_0+\dfrac{z_0-x_0}{3}\overrightarrow{u}+\dfrac{x_0+2z_0}{3}\overrightarrow{v}$,
$D=A_0+\dfrac{-2x_0-y_0}{3}\overrightarrow{u}+\dfrac{-x_0-2y_0}{3}\overrightarrow{v}$.

En remplaçant $x_0$, $y_0$ et $z_0$ par les valeurs de l'énoncé, on obtient des coefficients non entiers.
Donc ce n'est pas possible.

#102 Re : Café mathématique » Du dogmatisme de nos définitions de la gêne ultérieure occasionnée » 04-05-2018 10:49:32

Salut,

Environ la moitié des calculettes donnent un résultat négatif et l'autre moitié un résultat positif ... pour la même entrée.

Cela ne réfute pas ce que j'ai dit.
Aucun mathématicien (à ma connaissance) ne se trompera sur cette inégalité : $-6^2\ \neq\ (-6)^2$.
Si une calculatrice se trompe, c'est soit qu'il y a une erreur dans le code, soit qu'aucun mathématicien n'a participé à la conception de cette calculatrice.

De plus j'ai fait l'essai avec tous les logiciels à ma disposition capables d'effectuer ce calcul (mes 4 calculculatrices TI82, TI83premium, Casio collège et Casio graph 35+, Exel, LibreOffice Calc, OpenOffice Calc, Calculatrice Google, Géogebra, Python et C), tous m'ont donné [ce que je considère être] le bon résultat.
Mais mon expérience est biaisée. Si j'utilise ces logiciels, c'est justement parce qu'ils sont cohérents avec mes définitions.

Je suis très intéressé que tu me communiques un exemple de logiciel ou programme qui donnerait un résultat différent.


J'ai le sentiment que tu fais partie de ceux qui pensent que les définitions qu'ils utilisent sont les seules et les bonnes.
[...]
Il y a les matheux qui vivent en vase clos et pensent que tout va pour le mieux dans leur monde

Oui, j'admet n'être jamais vraiment sorti de mon petit monde merveilleux où (presque) tout est bien défini ; et où deux individus de ce petit monde se comprennent parfaitement malgré leurs divergences.

De ce point de vue, j'ai dû mal à comprendre pourquoi dans la vrai vie il existe tant de définitions différentes, et du coup je me dis que c'est forcément dû à des gens qui ne font pas partie de ce monde.



@Dattier : Je ne vois pas où est le problème. Un polynôme $P$ de degré $n$ s'écrit de manière unique comme
$P(X)\ =\ a_0+a_1X+a_2X^2+...+a_nX^n$, où les $a_i$ sont des réels avec $a_n\neq 0$.

Après ces coefficients $a_i$ peuvent avoir plusieurs écritures.
Par exemple si $a_0=1$, tu peux écrire $a_0=1+0+0+0=0.99999...=\sqrt{1^{\frac{7-3}{2^2}}}$, ou même écrire tes coefficients dans n'importe quelle base ;
ça ne change rien à l'unicité de l'écriture (développée) de $P$.

Ou alors je n'ai rien compris à ce que tu veux dire...

#103 Re : Entraide (collège-lycée) » Suites » 03-05-2018 12:29:24

Salut,

Non il y a une petite erreur.

Je suis d'accord avec ton calcul de $t_1$.
On a bien $t_1\ =\ t_1\ +\ (5\%\ de\ t_0)$.
Soit $t_1\ =\ 65\ +\ \dfrac{5}{100}\times 65\ =\ 68.25$.

Mais pour les termes suivants, il faut recalculer les 5% de la taille en cours.
Donc pour $t_2$ cela donne : $t_2\ =\ t_1\ +\ (5\%\ de\ t_1)$.
Je te laisse finir ce calcul.

Pour généraliser, on fait pareil :
$t_{n+1}\ =\ t_n\ +\ (5\%\ de\ t_n)$
Ensuite factorise par $t_n$, et tu devrais tomber sur une suite que tu as dû voir en cours...

#104 Re : Café mathématique » Du dogmatisme de nos définitions de la gêne ultérieure occasionnée » 01-05-2018 13:35:39

Salut,

J'avoue ne pas avoir lu les documents fournis par mateo ; c'est pour ça que je n'ai pas participé aux discussions. J'essaierai de me motiver à lire tout ça.

Je vais apporter mon grain de sel quand même.

----------

Les mathématiques sont une science et évoluent régulièrement selon les découvertes faîtes.
Je ne trouve donc pas anormal que les définitions changent également.
L'exemple le plus frappant que je connais est la notion de continuité, qui était très mal définie, puis s'est affinée peu à peu jusqu'à arriver au truc stable et rigoureux que l'on a aujourd'hui.
Et il est également normal qu'il y ait des avis divergents lors de ces changements, afin d'avoir un débat constructif.
Le tout est d'arriver un consensus pour que tout le monde se comprenne.

Il reste néanmoins des cas où des différences de définitions existent.
Et je ne pense pas quelle soit si nombreuses que ça. Mais peut-être changerai-je d'avis après lecture des documents cités plus haut.
Ces différences dépendent essentiellement de la langue utilisée.
L'un des exemples que je connais est celui de la définition de compact où en anglais c'est "De tout recouvrement, il existe un sous-recouvrement fini", en français il faut en plus que ce soit séparé.
Il y a aussi pas mal de problème de traduction avec les termes "inférieur à" et "supérieur à"...
Mais les chercheurs travaillent en connaissance de cause, et font toujours un petit travail préliminaire pour vérifier quelles définitions exactes utilise l'article qu'ils étudient.

De plus, l'anglais est la seule langue vraiment utilisée en recherche mathématique (sauf exception comme en géométrie algébrique où le français prédomine), et dans cette langue il existe un très large consensus sur les définitions.
Seuls les domaines vraiment pointus peuvent générer des divergences d'opinions (mais cela concerne uniquement la dizaine de personnes dans le monde capable de comprendre les notions abordées.)

Bref, je n'y vois rien de grave ni propre à générer un cataclysme dans le monde mathématique.
Et effectivement, vouloir figer les mathématiques dans des dogmes immuables me paraît vraiment néfaste.
Il est nécessaire que les divergences restent très peu nombreuses afin que deux mathématiciens puissent se comprendre, mais ces divergences sont aussi nécessaires pour faire évoluer les mathématiques.

----------

Concernant l'enseignement, je vois néanmoins les problèmes que cela peut causer.

yoshi a écrit :

Pourtant, à l'ère du Collège pour tous, du Lycée avec 80% d'une classe d'âge au niveau du Bac (Cet objectif fixé par JP Chevènement n'avait été désavoué que je sache), combien vont se retrouver gênés après leurs études supérieures ? Quel pourcentage de la base ?

Pas tant que ça. Les élèves sont habitués à compléter les notions vu les années précédentes, et donc les considérer comme incomplètes, voire fausses.

Un exemple qui m'a vraiment marqué en primaire : l'accord du participe passé.
En CE1 (ou CE2 je ne sais plus), j'ai appris que le participe passé ne s'accorde JAMAIS avec l'auxiliaire avoir. Et l'année suivante, ha bah en fait si. Et maintenant que je me suis bouffé le Grévisse, je sais que c'est encore plus compliqué que ça, et heureusement que l'on ne voit pas la vraie règle (et ses exceptions) en primaire.
Pareil en histoire, où l'on aborde l'antiquité, le moyen-age,... de manière très superficielle en primaire, un peu moins superficielle au collège,... idem au lycée,... et quand on lit une vrai bouquin d'histoire, on s'aperçoit que tout est faux.
On peut faire la même remarque dans toutes le matières.
Et les mathématiques ne sont pas une exception. On passe son temps à remettre en cause ce que l'on a vu avant.
Arrivé en prépa, je me suis rendu compte que les mathématiques sont complètement différentes de l'image que je m'en faisais au lycée, et je me suis pris la même baffe en Master recherche,... bref c'est comme ça que se construit l'enseignement.

Je comprend que cela dérange de devoir déconstruire ce que l'on a vu les années précédentes, mais je ne connais pas d'autres manière de faire...

yoshi a écrit :

Pourtant aux niveaux Collège et Lycée, hors théorie, il est absolument indispensable de cadrer, clarifier, définir rigoureusement les notions qu'on y utilise.
Si on ne le fait pas, ce sera la noyade quasi généralisée assurée et cela au nom de quoi ?

Tout est affaire de mesure.
Il est impératif d'être très rigoureux en mathématiques, mais il faut aussi s'adapter au public qu'il y a en face de nous.
C'est un jeu d'équilibriste très difficile de doser la bonne quantité de rigueur et de saupoudrer d'un peu de "c'est à peu près ça".
Et là, il n'existe pas de solution parfaite. Trop d'approximation n'est vraiment pas bon, mais le 100% rigueur est pire (cf math moderne).
Je me suis permis des approximations en ST2S que je jamais je n'oserais faire en S, et pourtant je ne suis pas toujours 100% rigoureux en S.
Je m'adapte, et parfois je me trompe (pas trop souvent j'espère).

Pour en revenir à ce problème de définitions non universelles, je ne vois pas de problème majeur dans l'enseignement.
Pour qu'un individu soit gêné, c'est qu'il a atteint un niveau suffisant pour savoir s'y adapter.

----------

Black Jack a écrit :

-36^-4 est interprété par certains mathématiciens (et aussi par certaines calculettes) comme (-36)^-4 et par d'autre comme -(36)^-4

Je ne sais pas quels sont les mathématiciens que tu côtoies, mais je n'en ai jamais vu qui confondait -36^4 et (-36)^4...
Cela ressemble plus à une erreur d'un non-mathématiciens.

Et j'ai l'impression que l'ensemble des erreurs que tu rapportent sont dû à des non-mathématiciens.
A l'origine (il y a 50-60 ans), les traductions de notices, de cahiers des charges ou autres textes techniques étaient rarement confiés à des mathématiciens, mais à des traducteurs plutôt littéraires.
Et c'est faute d'avoir les connaissances requises pour comprendre les formules utilisées que ces non-mathématiciens ont "inventé" leurs propres conventions, qui peuvaient différer de celles de mathématiciens.
Reproduit ça sur plusieurs décennies de traductions erronées (et ajoute que le notations mathématiques ont sûrement évoluées entre-temps ) et ça crée un bazar pas possible dans les notations (où même les mathématiciens ne savent plus à quoi s'en tenir : entre chercheurs ils ont des notations bien définies et dès qu'ils passes dans des domaines plus appliqués, plus aucune de leurs conventions n'est valables...)

Je reste d'accord sur le fond, une harmonisation internationale serait vraiment bénéfique.
Plusieurs organismes ont été crée dans ce but, mais par définition, une notation est arbitraire, et donc personne ne les écoute.

----------

Dattier a écrit :

J'aimerais rappeler, qu'il y a eut un combat pour la suprématie mathématique et la France a perdu la dernière guerre, en effet nos définitions on été changé pour coller à celle des allemands et non l'inverse, en particulier en arithmétique (la reine des maths) avant ce conflit en France, 1 était premier, maintenant sous prétexte d'unicité de la décomposition en produit de nombre premier, 1 n'est plus premier.

Je trouve le mot un peu fort de dire que la France a perdu la guerre... Ce n'est qu'une question de convention, je ne pense pas qu'il existe de meilleure.
Et c'est tellement plus esthétique d'avoir l'unicité :
"Tout entier strictement positif se décompose de manière unique comme un produit de nombre premier."...

#105 Re : Entraide (collège-lycée) » Mesurer la hauteur d'une pyramide [sixième] » 29-04-2018 21:21:13

Salut,

Oui c'était un devoir compliqué, mais le sujet était ultra détaillé.
Seule la toute dernière question était ouverte.
Et oui le pentagone devait être construit avec le rapporteur (il y avait une indication comme quoi les angles par rapport au centre était d'un cinquième d'un tour complet).

J'ai conseillé une méthode adapté de celle de john :
En considérant la section passant par deux sommets opposés du carré et le sommet de la pyramide on obtient un triangle isocèle de base la diagonale du carré et de cotés égaux le rayon du cercle.
Il suffit de tracer ce triangle et de mesurer sa hauteur.

J'avais imaginé une autre méthode :
Construire la pyramide dans un matériau étanche (comme du plastique) et la remplir d'eau pour mesurer son volume.
Puis on calcule la hauteur à l'aide de la formule du volume.
Mais ça demande de résoudre une petite équation...


Sinon le prof à l'air d'aimer les devoirs un peu durs (et un peu hors programme, surtout pour les devoirs de vacances).
Et si j'ai bien compris, il ne fait pas de cours, mais juste des activités où les élèves doivent réfléchir et construire le cours eux-mêmes.
J'ai beaucoup le principe d'obliger les élèves à réfléchir plutôt que de leur faire ingurgiter du savoir...
C'est certains élèves ne doivent pas aimer ça du tout, et ça favorise pas mal ceux qui ont de l'aide à la maison par rapport à ceux qui n'en ont pas.

#107 Entraide (collège-lycée) » Mesurer la hauteur d'une pyramide [sixième] » 28-04-2018 15:51:47

tibo
Réponses : 5

Salut,

Le fils de mon voisin est en sixième et avait un devoir à faire pendant les vacances et la dernière question m'a posé quelques souci. ^^
L'objectif du devoir était de construire le patron d'une pyramide à base carré et dont les triangles sont construits avec un pentagone régulier :
1524927178-bibpatronpyra.png
Avec ce patron il pouvait construire la pyramide.

Et la dernière question !
Mesurer la hauteur de cette pyramide le plus précisément possible. Détailler la méthode utilisée.

J'ai bien plusieurs idées, mais toutes me semblent peu précises...

Des idées ?

#108 Re : Entraide (collège-lycée) » Exercice de geometrie » 22-04-2018 20:49:28

Re,

En effet, beaucoup plus simple...
J'ai fini les calculs cet après-midi... une horreur. Ça ne se simplifiait pas aussi bien que je le pensais.
On arrive bien au résultat, mais avec une page entière de calcul avec des racines carrées... bref...

Et la démonstration géométrique est tellement plus belle que mon immonde page de calcul ^^

#109 Re : Entraide (collège-lycée) » Exercice de geometrie » 21-04-2018 22:17:08

Salut,

Une piste... il y a peut-être plus rapide :

On se place dans le repère $(A,B,D)$.
On peut alors déterminer les coordonnées de tous les points de la figure.
* $A$, $B$, $C$ et $D$ facile ;
* $E$, on a besoin de poser une inconnue ;
* $F$, on calcule l'équation de $(AE)$, puis on utilise le fait que $AF=1$ ;
* $M$ et $N$, on a besoin de l'équation des bissectrices qui admettent pour vecteurs directeurs $\overrightarrow{AB}+\overrightarrow{AF}$ et $\overrightarrow{AF}+\overrightarrow{AD}$.

Je n'ai pas fini les calculs, mais ça a l'air de se simplifier pas trop mal...

PS : Pour $M$ et $N$ c'est plus rapide de dire que les vecteurs $\overrightarrow{AM}$ et $\overrightarrow{AB}+\overrightarrow{AF}$ sont colinéaires.

#110 Re : Entraide (collège-lycée) » [Résolu] DM Fonction racine carrée (dérivation) » 21-04-2018 20:14:29

Salut

@yoshi

Je ne veux pas interférer avec ton explication, mais utiliser la dérivée pour calculer le minimum d'un polynôme du second degré, ... ça marche mais bon...
Calculer les coordonnées du sommet d'une parabole, la forme canonique,...  c'est de la seconde.

Je sais qu'on demande aux élèves de calculer des dérivées presque par réflexe ; Une fonction ? Hop je dérive, et on verra après si ça me sert.
C'est d'ailleurs ce type de réflexe qui a dû causer la fausse piste de notre ami Yuza : Un point sur une courbe ? Hop on calcule l'équation de la tangente.

Ce genre de technique suffit (malheureusement) pour obtenir la moyenne au bac, mais est-ce vraiment des math ?
Je m'arrête là ; je pars en hors-sujet.

#111 Re : Entraide (collège-lycée) » Précision de calcul » 16-04-2018 22:27:40

Salut,

C'est une terminologie que j'utilise souvent.
Je n'ai pas trouvé de programme officiel qui en parle (surtout parce que ne sait pas en quelle classe on les voit).
Mais sur le site officiel de l'académie de Versailles (qui d'après mes IPR a une valeur aussi biblique que les programmes officiels), on trouve les définitions suivantes :
- arrondi niveau collège
- arrondi niveau lycée
- valeur approchée
- valeur approchée par défaut
- valeur approchée par excès

#112 Re : Échecs et maths » Est ce que on peux piéger l'adversaire dans mon jeu. » 12-04-2018 14:15:36

Allez, je tente de prédire le prochain coup de yoshi : Cb5-c7 ?

[edit] : Je suis en retard... et en plus je me suis trompé...

#113 Re : Entraide (collège-lycée) » Système d'équations à deux inconnues » 07-04-2018 11:11:21

Il faut que j'arrête de poster des trucs à 2h du matin... Je remarque que mon ton y est plus "grinçant".
Ce n'était pas du tout l'objectif recherché, ma question rhétorique  du PS2 était de trop.
J'espère ne pas t'avoir refroidi. Tu es toujours le bienvenu ici !

#114 Re : Entraide (collège-lycée) » Système d'équations à deux inconnues » 07-04-2018 01:45:03

Bonsoir,

On peut accélérer cette première étape, et surtout s'épargner des calculs, en remarquant que dans l'équation $2x^2+3xy-2y^2=0$,
les coefficients de $x^2$ et $y^2$ étant de signes opposés et le terme constant étant nul,
donc c'est l'équation un couple de droites sécantes (en l'origine du repère).

On trouve alors rapidement les deux équations de droites :
$d : y=2x$ et $d' : y=-\dfrac{1}{2}x$.

Puis en cherchant les points d'intersection de chacune de ces droites avec l’ellipse de la première équation, on obtient :
$\left(\pm\sqrt{\dfrac{28}{3}} ; \mp2\sqrt{\dfrac{28}{3}}\right)$ pour d et $(\pm4 ;\mp2)$ pour $d'$.


PS : Le chapitre des coniques avait été une torture pour moi en prépa. Je suis étonné d'en avoir de tels souvenirs ^^

PS2 : Je donne la solution car visiblement tu n'as pas l'air d'avoir tant de mal que ça à résoudre ce système...
Mais j'avoue ne pas avoir vraiment compris l'objectif de ton post.
Avais-tu vraiment besoin d'aide ou souhaitais-tu seulement nous divertir?
Ton "(je ne vais pas tout déballer)" me fait douter.

#115 Re : Entraide (collège-lycée) » Inversibilité » 04-04-2018 16:23:58

Salut,

Ça commence un peu à dater pour moi (5 ans sans toucher aux matrices et j'ai déjà tout oublié^^),
mais il me semble qu'en passant par le déterminent c'est assez rapide :

Si $A$, $B$ et $M$ sont trois matrices carrés d'ordre $n$ telles que $M=AB$,
Alors $det(M)=det(A)det(B)$.

On a alors $det(M)\neq 0\ \Leftrightarrow\ (det(A)\neq0\ \text{et}\ det(B)\neq0)$.



Le souci est que si j'ai $A$, $B$ et $M$ trois matrices quelconques telles que $AB=M$,
Alors ($A$ et $B$ carrées d'ordre $n$) $\Rightarrow$ ($M$ carrée d'ordre $n$).
Mais la réciproque est fausse.

Du coup, pour avoir une équivalence dans ta propriété, il faut ajouter des hypothèses sur les dimensions de $A$ et $B$.

#116 Re : Entraide (collège-lycée) » Ensemble de définition de 1/f » 03-04-2018 10:06:56

C'est un débat que j'ai avec des collègues.
La réponse $\mathbb{R}\backslash\{-3;0;1\}$ est juste bien sûr.
Cependant, d'après moi la réponse $\mathbb{R}\backslash\{-3;0\}$ n'est pas fausse pour autant...
Plus difficile à justifier au niveau lycée, mais delà à la considérer comme fausse...

#117 Entraide (collège-lycée) » Ensemble de définition de 1/f » 02-04-2018 14:02:37

tibo
Réponses : 2

Salut,

On considère les fonctions $f$ et $g$ définies par :
$f(x)=\dfrac{x^4+3x^3}{1-x}$
$g(x)=\dfrac{1}{f(x)}$.
Quel est l'ensemble de définition de $g$ ?

J'ai un doute... $\mathbb{R}\backslash\{-3;0\}$ ou $\mathbb{R}\backslash\{-3;0;1\}$...

#118 Re : Café mathématique » Calculatrice scientifique pour passer le bac ? » 02-04-2018 13:53:35

Bonjour,

C'est une bonne idée de déterrer ce sujet.
Surtout qu'il a du nouveau :

La circulaire de 2015 imposant l'usage du "mode examen" à partir du bac 2018 n'aura pas à être appliqué.

Je n'ai pas trouvé de source officielle l'annonçant, mais plusieurs média ont relayé une interview de Jean-Michel Blanquer où il disait :
"Tous les candidats composeront donc dans les mêmes conditions qu’à la session 2017 et avec l’équipement de leur choix. Les candidats qui disposent d'une calculatrice avec mode examen ne devront pas l'activer le jour des épreuves.",
avec l'argument
"De nombreuses académies ont signalé qu’un nombre significatif d’élèves ne disposait pas à ce jour d’une calculatrice conforme à cette nouvelle réglementation, explique le Ministère.".

C'est surtout qu'obliger tous les candidats à passer leur calculatrice en mode examen au début de chaque épreuve relève du parcours du combattant.
Pas prévisible du tout...

On attend le texte officiel reportant l'application de la circulaire de 2015 ; et surtout on attend de voir comment ils vont régler ces "petits problèmes techniques" pour le bac 2019. Un autre report? Ou bien l'apparition d'un nouveau mode examen 2.0... nécessitant le re-renouvellement du parc de calculatrice...

#119 Re : Entraide (collège-lycée) » Problèmes équation linéaire » 27-03-2018 18:54:01

Salut,

Ces problèmes ressemblent à ceux posés il y a un demi-siècle à la fin de l'école élémentaire, et qui ont traumatisé des générations d'écolier.


1) Le conduit A vide $\dfrac{1}{30}$ du réservoir par minute.
Le conduit B vide $\dfrac{1}{25}$ du réservoir par minute.
Donc les deux conduits A et B en ensemble vident en $\dfrac{1}{30}+\dfrac{1}{25}=\dfrac{11}{150}$ du réservoir par minute.
Soit $x$ le nombre de minutes nécessaires pour vider 100% du réservoir avec les conduits A et B.
On obtient alors la relation $\dfrac{11}{150}x=1$.

Remarque : Ce raisonnement est purement théorique. Selon la nature du fluide dans le réservoir, la vitesse d'écoulement peut ne pas être constante.
Notamment, si c'est de l'eau, plus le réservoir est plein, plus la vitesse d'écoulement est rapide.
C'est pour cela que l'on met du sable dans les sabliers, et qu'il est si difficile de fabriquer une clepsydre.


2) A finit $\dfrac{1}{10}$ du travail par jour.
B finit $x$ du travail par jour, avec $x\in]0;1[$.
Donc A et B finissent $\dfrac{1+10x}{10}$ du travail par jour.
Quand B arrive, il reste $\dfrac{4}{5}$ du travail à accomplir, et ils le font en 3 jours.
On a donc la relation $\dfrac{1+10x}{10}\times3=\dfrac{4}{5}$.
On trouve alors $x$ et on finit ensuite comme en 1).


3) On fait un remix du paradoxe de Zenon. ^^
A 13h00, la petite aiguille est sur 5min.
5 minutes plus tard, la grande aiguille a rejoint la position précédente de la petite, MAIS la petite aiguille a avancé elle aussi.
Alors, la grande aiguille parcourt cette petite distance, MAIS la petite aiguille a continué à avancer !
Et ainsi de suite... et la grande aiguille ne rattrape jamais la petite...


4) Je ne suis pas sûr du tout... La réponse du livre est-elle 2.5L ?
Si oui, alors c'est une simple proportionnalité.
Sinon... J'en sais rien.


5) Pour ce problème, je sais le résoudre en faisant une très grosse approximation :
On suppose que la terre est un point de masse M, et le corps un point de masse m.
On peut alors utiliser la troisième loi de Newton : $F=\dfrac{GMm}{r^2}$, où $G$ est la constante de gravitation (peu importe sa valeur).
Avec la force subie à la surface de la terre, on trouve la valeur de $GMm$ (attention aux unités !).
Puis on détermine la force en altitude.

#120 Re : Le coin des beaux problèmes de Géométrie » Inscrire N cercles égaux dans un cercle » 09-03-2018 20:12:57

Re,

Toujours pas optimal, mais il y a plusieurs couronnes...

Python


##### Import #####

#from Tkinter import *   # Python 2.x
from tkinter import *  # Python 3.x
from math import *
import time


##### Fonctions #####

def coordPolaireToCarte(theta, r):
    """Convertie des coordonnées polaires en coordonnées cartésiennes."""
    x = r*cos(theta)
    y = r*sin(theta)
    return [x,y]

def cercle(can, x, y, r, col="white"):
    """Trace dans le Canvas can un cercle de centre (x,y), de rayon r et de couleur col."""
    return can.create_oval(x-r, y-r, x+r, y+r, fill=col)

def nUp():
    cer.nUp()
    nbText.config(text="Nombre de petits cercles : %s"%(cer.n))

def nDown():
    cer.nDown()
    nbText.config(text="Nombre de petits cercles : %s"%(cer.n))

def nUp10():
    for i in range(10):
        nUp()

def nDown10():
    for i in range(10):
        nDown()

def nUp100():
    for i in range(100):
        nUp()

def nDown100():
    for i in range(100):
        nDown()

def go():
    global okGo
    okGo = 1
    while okGo==1 and cer.n<10000:
        cer.dessinerTout()
        root.update()
        nUp()
        time.sleep(5/cer.n)
    ekGo=0

def stop():
    global okGo
    okGo = 0

##### Classes #####

class CerclesTangents():
    """Un canvas pour tracer des cercles."""
    def __init__(self, boss):
        """Constructeur de la classe CanvasCerclesTangent."""
        ## général
        self.boss = boss                ## Canvas dans lequel on va dessiner

        ## grand cercle
        self.r = 400
        self.xO = 450
        self.yO = 450
        self.gdCercle = cercle(self.boss, self.xO, self.yO, self.r)

        ## petits cercles
        self.nMax = 1000000
        self.n = 1
        self.x = self.r             ## rayon des petits cercles
        self.y = self.r-self.x      ## rayon du cercle des centres des petits cercles exterieurs
        self.ptCercle = []

        ## cercles intérieurs
        self.cerclePalier = [0, 6, 8, 10, 14, 23, 53, 247, 4961, 10000000]       ## paliers pour lesquels le nombre de cercles interieurs change
        self.cercleExter = 1
        self.cercleInter = self.n-self.cercleExter

    def nUp(self):
        """Augmente le nombre de petits cercles de 1."""
        if self.n < self.nMax:
            self.n = self.n+1

    def nDown(self):
        """Diminue le nombre de petits cercles de 1."""
        if self.n > 1:
            self.n = self.n-1

    def supprimer(self):
        """Supprime tous les petits cercles."""
        for c in self.ptCercle:
            self.boss.delete(c)
        self.ptCercle = []

    def calculs(self):
        """Effectue tous les calculs necessaires au tracer."""
        ## Calcul du nombre de cercles interieurs et exterieurs
        i=0
        while self.n>=self.cerclePalier[i+1]:
            i = i+1
        if i==0:
            self.cercleExter = self.n
            self.cercleInter = 0
        else:
            self.cercleExter = self.cerclePalier[i]
            self.cercleInter = self.n-self.cercleExter

        ## Calcul des rayons
        if self.cercleExter==1:
            self.x = self.r
            self.y = 0
        elif self.cercleExter==2:
            self.x = self.r/2
            self.y = self.r/2
        else:
            n = self.cercleExter        ## Simplification des notations
            r = self.r
            self.x = r * sin(2*pi/n) / (2*sin((n-2)*pi/(2*n)) + sin(2*pi/n))
            self.y = r-self.x

    def dessinerCercle(self, n, x, y):
        """Dessine n cercles de rayon x dont les centres sont sur un cercle de rayon y."""
        ## Cas particulier pour n=1 et n=2
        if n==1:
            self.ptCercle.append(cercle(self.boss, self.xO, self.yO, x, col="cyan"))
        elif self.n==2:
            self.ptCercle.append(cercle(self.boss, self.xO+y, self.yO, x, col="cyan"))
            self.ptCercle.append(cercle(self.boss, self.xO-y, self.yO, x, col="cyan"))
        ## Cas général
        else:
            for k in range(n):
                theta = k*2*pi/n
                centre = coordPolaireToCarte(theta ,y)
                self.ptCercle.append(cercle(self.boss, centre[0]+self.xO, centre[1]+self.yO, x, "cyan"))

    def dessinerTout(self):
        """Dessine la figure."""
        ## Suppression de tous les petits cerlces précédents
        self.supprimer()

        ## Calculs
        self.calculs()
        #print(self.n, self.cercleExter, self.cercleInter, "/", self.x, self.y)

        ## Dessin
        self.dessinerCercle(self.cercleExter, self.x, self.y)
        while self.cercleInter>0:
            self.y = self.y-2*self.x
            n = int(min(self.cercleInter, max(1,(self.y*2*pi)/(2*self.x))))
            self.dessinerCercle(n, self.x, self.y)
            self.cercleInter = self.cercleInter-n

##### Main #####

if __name__=="__main__":
    ## fenetre
    root = Tk()
    root.title("Des cercles")
    ## Canvas
    can = Canvas(root, width=900, height=900, bg="white")
    can.grid(row=0,column=0, rowspan=100)
    ## Cercle
    cer = CerclesTangents(can)

    ## Paramètres
    nbText = Label(root, text="Nombre de petits cercles : %s"%(cer.n))
    nbText.grid(row=0, column=1, columnspan=6)
    Button(root, text="-100", comman=nDown100).grid(row=1, column=1)
    Button(root, text="-10", comman=nDown10).grid(row=1, column=2)
    Button(root, text="-", comman=nDown).grid(row=1, column=3)
    Button(root, text="+", comman=nUp).grid(row=1, column=4)
    Button(root, text="+10", comman=nUp10).grid(row=1, column=5)
    Button(root, text="+100", comman=nUp100).grid(row=1, column=6)

    Button(root, text="Afficher", command=cer.dessinerTout).grid(row=2, column=1, columnspan=2)

    okGo = 0
    Button(root, text="GO !", command=go).grid(row=2, column=3, columnspan=2)
    Button(root, text="Stop", command=stop).grid(row=2, column=5, columnspan=2)


    # C'est parti !
    root.mainloop()
 




[edit] Je continue à m'amuser tout seul.
Cette fois, pour un nombre de cercles $n$ fixé, le rayon est maximal.
Enfin plus exactement, avec la méthode que j'utilise pour placer les cercles, les rayons ne peuvent pas être plus grand.

Python


##### Import #####

#from Tkinter import *   # Python 2.x
from tkinter import *  # Python 3.x
from math import *
import time


##### Fonctions #####

def coordPolaireToCarte(theta, r):
    """Convertie des coordonnées polaires en coordonnées cartésiennes."""
    x = r*cos(theta)
    y = r*sin(theta)
    return [x,y]

def cercle(can, x, y, r, col="white"):
    """Trace dans le Canvas can un cercle de centre (x,y), de rayon r et de couleur col."""
    return can.create_oval(x-r, y-r, x+r, y+r, fill=col)

def nUp():
    """Commande de bouton : augmente le nombre de cercles de 1."""
    cer.nUp()
    nbText.config(text="Nombre de petits cercles : %s"%(cer.n))

def nDown():
    """Commande de bouton : diminue le nombre de cercles de 1."""
    cer.nDown()
    nbText.config(text="Nombre de petits cercles : %s"%(cer.n))

def nUp10():
    """Commande de bouton : augmente le nombre de cercles de 10."""
    for i in range(10):
        nUp()

def nDown10():
    """Commande de bouton : diminue le nombre de cercles de 10."""
    for i in range(10):
        nDown()

def nUp100():
    """Commande de bouton : augmente le nombre de cercles de 100."""
    for i in range(100):
        nUp()

def nDown100():
    """Commande de bouton : diminue le nombre de cercles de 100."""
    for i in range(100):
        nDown()

def go():
    """Fonction permettant de visualiser toutes les configurations de 1 cercle au maximum de cercles."""
    global okGo
    okGo = 1
    while okGo==1 and cer.n<10000:
        cer.dessinerTout()
        root.update()
        nUp()
        time.sleep(5/cer.n)
    ekGo=0

def stop():
    """Arrete la fonction go."""
    global okGo
    okGo = 0

##### Classes #####

class CerclesTangents():
    """Des cercles !"""
    def __init__(self, boss):
        """Constructeur de la classe CerclesTangents."""
        ## général
        self.boss = boss            ## Canvas dans lequel on va dessiner

        ## grand cercle
        self.r = 400                ## rayon du grand cercle
        self.xO = 450               ## coordonnées du centre
        self.yO = 450               ##      du grand cercle
        self.gdCercle = cercle(self.boss, self.xO, self.yO, self.r)

        ## petits cercles
        self.nMax = 100             ## nombre max de cercles que l'on peut afficher
        self.n = 1                  ## nombre de cercles à placer
        self.x = self.r             ## rayon des petits cercles
        self.y = self.r-self.x      ## rayon du cercle des centres des petits cercles exterieurs
        self.ptCercle = []          ## liste des petits cercles

        ## cercles intérieurs
        self.cerclePalier = [       ## Nombre de cercles de la couronne exterieure pour chaque valeur de n
                             0,1,2,3 ,4 ,5 ,6 ,6 ,7 ,8 ,9 ,
                             10,10,10,11,11,12,12,13,13,13,
                             14,14,15,15,16,16,16,17,17,17,
                             17,18,18,18,19,19,19,19,20,20,
                             20,21,21,21,22,22,22,22,23,23,
                             23,23,24,24,24,24,25,25,25,25,
                             26,26,26,26,26,26,27,27,27,27,
                             28,28,28,28,29,29,29,29,29,29,
                             30,30,30,30,30,31,31,31,31,31,
                             32,32,32,32,32,32,33,33,33,33]
        self.cercleExter = 1        ## Nombre de cercles de la couronne exterieure
        self.cercleInter = self.n-self.cercleExter ## Nombre de cercles intèrieurs restant à placer

    def nUp(self):
        """Augmente le nombre de petits cercles de 1."""
        if self.n < self.nMax:
            self.n = self.n+1

    def nDown(self):
        """Diminue le nombre de petits cercles de 1."""
        if self.n > 1:
            self.n = self.n-1

    def supprimer(self):
        """Supprime tous les petits cercles."""
        for c in self.ptCercle:
            self.boss.delete(c)
        self.ptCercle = []

    def calculs(self):
        """Effectue tous les calculs necessaires au tracer."""
        ## Calcul du nombre de cercles interieurs et exterieurs
        self.cercleExter = self.cerclePalier[self.n]
        self.cercleInter = self.n-self.cercleExter

        ## Calcul des rayons
        if self.cercleExter==1:
            self.x = self.r
            self.y = 0
        elif self.cercleExter==2:
            self.x = self.r/2
            self.y = self.r/2
        else:
            n = self.cercleExter        ## Simplification
            r = self.r                  ##      des notations
            self.x = r * sin(2*pi/n) / (2*sin((n-2)*pi/(2*n)) + sin(2*pi/n))
            self.y = r-self.x

    def dessinerCercle(self, n, x, y):
        """Dessine n cercles de rayon x dont les centres sont sur un cercle de rayon y."""
        ## Cas particulier pour n=1 et n=2
        if n==1:
            self.ptCercle.append(cercle(self.boss, self.xO, self.yO, x, col="cyan"))
        elif self.n==2:
            self.ptCercle.append(cercle(self.boss, self.xO+y, self.yO, x, col="cyan"))
            self.ptCercle.append(cercle(self.boss, self.xO-y, self.yO, x, col="cyan"))
        ## Cas général
        else:
            for k in range(n):
                theta = k*2*pi/n
                centre = coordPolaireToCarte(theta ,y)
                self.ptCercle.append(cercle(self.boss, centre[0]+self.xO, centre[1]+self.yO, x, "cyan"))

    def dessinerTout(self):
        """Dessine la figure."""
        ## Suppression de tous les petits cerlces précédents
        self.supprimer()

        ## Calculs
        self.calculs()
        #print(self.n, self.cercleExter, self.cercleInter, "/", self.x, self.y)

        ## Dessin
            ## Cercles de la couronne extérieure
        self.dessinerCercle(self.cercleExter, self.x, self.y)
        while self.cercleInter>0:           ## Tant qu'il y a des cercles à placer
            self.y = self.y-2*self.x        ## Calcul du rayon de la couronne
                ## Calcul du nombre de cercles que l'on peut placer sur cette couronne
            n = int(min(self.cercleInter, max(1,(self.y*2*pi)/(2*self.x))))
            self.dessinerCercle(n, self.x, self.y)
            self.cercleInter = self.cercleInter-n

##### Main #####

if __name__=="__main__":
    ## fenetre
    root = Tk()
    root.title("Des cercles")
    ## Canvas
    can = Canvas(root, width=900, height=900, bg="white")
    can.grid(row=0,column=0, rowspan=100)
    ## Cercle
    cer = CerclesTangents(can)

    ## Paramètres
    nbText = Label(root, text="Nombre de petits cercles : %s"%(cer.n))
    nbText.grid(row=0, column=1, columnspan=6)
    Button(root, text="-100", comman=nDown100).grid(row=1, column=1)
    Button(root, text="-10", comman=nDown10).grid(row=1, column=2)
    Button(root, text="-", comman=nDown).grid(row=1, column=3)
    Button(root, text="+", comman=nUp).grid(row=1, column=4)
    Button(root, text="+10", comman=nUp10).grid(row=1, column=5)
    Button(root, text="+100", comman=nUp100).grid(row=1, column=6)

    ## Affichage
    Button(root, text="Afficher", command=cer.dessinerTout).grid(row=2, column=1, columnspan=2)

    okGo = 0
    Button(root, text="GO !", command=go).grid(row=2, column=3, columnspan=2)
    Button(root, text="Stop", command=stop).grid(row=2, column=5, columnspan=2)


    # C'est parti !
    root.mainloop()
 

La grosse liste au milieu, c'est le nombre de cercles de la couronne extérieure pour chaque valeur de $n$.
Faite à la main en mode bourrin, en testant combien je pouvais en mettre...
C'est moche et fastidieux, mais les calculs l'étaient encore plus. Et je n'ai pas trouvé de formule générale...

#121 Re : Le coin des beaux problèmes de Géométrie » Inscrire N cercles égaux dans un cercle » 09-03-2018 11:00:02

Salut,

Ha oui c'est l'inverse. C'est sur la version 2.x qu'il faut mettre une majuscule.
Je corrige ça.


[edit] Petite amélioration du script avec la possibilité de faire une deuxième couronne.
Mais il reste encore de la place au milieu !
Je teste des trucs pour faire plus de couronnes automatiquement mais pour l'instant c'est vraiment trop bourrin et j'aime pas ça.

Texte caché


##### Import #####

#from Tkinter import *   # Python 2.x
from tkinter import *  # Python 3.x
from math import *


##### Fonctions #####

def coordPolaireToCarte(theta, r):
    """Convertie des coordonnées polaires en coordonnées cartésiennes."""
    x = r*cos(theta)
    y = r*sin(theta)
    return [x,y]

def cercle(can, x, y, r, col="white"):
    """Trace dans le Canvas can un cercle de centre (x,y), de rayon r et de couleur col."""
    return can.create_oval(x-r, y-r, x+r, y+r, fill=col)

def nUp():
    cer.nUp()
    nbText.config(text="Nombre de petits cercles : %s"%(cer.n))

def nDown():
    cer.nDown()
    nbText.config(text="Nombre de petits cercles : %s"%(cer.n))


##### Classes #####

class CerclesTangents():
    """Un canvas pour tracer des cercles."""
    def __init__(self, boss):
        """Constructeur de la classe CanvasCerclesTangent."""
        ## général
        self.boss = boss                ## Canvas dans lequel on va dessiner

        ## grand cercle
        self.r = 400
        self.xO = 450
        self.yO = 450
        self.gdCercle = cercle(self.boss, self.xO, self.yO, self.r)

        ## petits cercles
        self.nMax = 50
        self.n = 1
        self.x = self.r             ## rayon des petits cercles
        self.y = self.r-self.x      ## rayon du cercle des centres des petits cercles exterieurs
        self.ptCercle = []

        ## cercles intérieurs
        self.cerclePalier = [0, 6, 8, 10, 14, 22, 38, 100]       ## paliers pour lesquels le nombre de cercles interieurs change
        self.cercleExter = 1
        self.cercleInter = self.n-self.cercleExter

    def nUp(self):
        """Augmente le nombre de petits cercles de 1."""
        if self.n < self.nMax:
            self.n = self.n+1

    def nDown(self):
        """Diminue le nombre de petits cercles de 1."""
        if self.n > 1:
            self.n = self.n-1

    def supprimer(self):
        """Supprime tous les petits cercles."""
        for c in self.ptCercle:
            self.boss.delete(c)
        self.ptCercle = []

    def calculs(self):
        """Effectue tous les calculs necessaires au tracer."""
        ## Calcul du nombre de cercles interieurs et exterieurs
        i=0
        while self.n>=self.cerclePalier[i+1]:
            i = i+1
        if i==0:
            self.cercleExter = self.n
            self.cercleInter = 0
        else:
            self.cercleExter = self.cerclePalier[i]
            self.cercleInter = self.n-self.cercleExter

        ## Calcul des rayons
        if self.cercleExter==1:
            self.x = self.r
            self.y = 0
        elif self.cercleExter==2:
            self.x = self.r/2
            self.y = self.r/2
        else:
            n = self.cercleExter        ## Simplification des notations
            r = self.r
            self.x = r * sin(2*pi/n) / (2*sin((n-2)*pi/(2*n)) + sin(2*pi/n))
            self.y = r-self.x

    def dessinerCercle(self, n, x, y):
        """Dessine n cercles de rayon x dont les centres sont sur un cercle de rayon y."""
        ## Cas particulier pour n=1 et n=2
        if n==1:
            self.ptCercle.append(cercle(self.boss, self.xO, self.yO, x, col="cyan"))
        elif self.n==2:
            self.ptCercle.append(cercle(self.boss, self.xO+y, self.yO, x, col="cyan"))
            self.ptCercle.append(cercle(self.boss, self.xO-y, self.yO, x, col="cyan"))
        ## Cas général
        else:
            for k in range(n):
                theta = k*2*pi/n
                centre = coordPolaireToCarte(theta ,y)
                self.ptCercle.append(cercle(self.boss, centre[0]+self.xO, centre[1]+self.yO, x, "cyan"))

    def dessinerTout(self):
        """Dessine la figure."""
        ## Suppression de tous les petits cerlces précédents
        self.supprimer()

        ## Calculs
        self.calculs()
        #print(self.n, self.cercleExter, self.cercleInter, "/", self.x, self.y)

        ## Dessin
        self.dessinerCercle(self.cercleExter, self.x, self.y)
        if self.cercleInter>0:
            self.dessinerCercle(self.cercleInter, self.x, self.y-2*self.x)

##### Main #####

if __name__=="__main__":
    ## fenetre
    root = Tk()
    root.title("Des cercles")
    ## Canvas
    can = Canvas(root, width=900, height=900, bg="white")
    can.grid(row=0,column=0, rowspan=100)
    ## Cercle
    cer = CerclesTangents(can)

    ## Paramètres
    nbText = Label(root, text="Nombre de petits cercles : %s"%(cer.n))
    nbText.grid(row=0, column=1)
    Button(root, text="+", comman=nUp).grid(row=1, column=1)
    Button(root, text="-", comman=nDown).grid(row=2, column=1)
    Button(root, text="Afficher", command=cer.dessinerTout).grid(row=3, column=1)

    # C'est parti !
    root.mainloop()
 

#122 Re : Le coin des beaux problèmes de Géométrie » Inscrire N cercles égaux dans un cercle » 08-03-2018 22:27:53

Salut,

J'ai réfléchi à ton problème et j'ai trouvé une solution générale pour placer $n$ petits cercles tangents entre eux et au grand cercle.

Soit un (grand) cercle de centre $O$ et de rayon $R$.
Soit $n$ le nombre de petits cercles à inscrire dedans de rayon $x$.
Tous les centres de ces petits cercles sont sur un cercle de centre $O$ et de rayon $y$.
On cherche à exprimer $x$ et $y$ en fonction de $R$ et $n$.

shéma

h0xb.png

On a immédiatement $x+y\ =\ R$.
Et la formule des sinus nous donne $\dfrac{2x}{\sin\left(\frac{2\pi}{n}\right)}\ =\ \dfrac{y}{\sin\left(\frac{(n-2)\pi}{2n}\right)}$

Ce qui nous donne $\left\{\begin{array}{lll}
x & = & R\dfrac{\sin\left(\frac{2\pi}{n}\right)}{2\sin\left(\frac{(n-2)\pi}{2n}\right)+\sin\left(\frac{2\pi}{n}\right)} \\
y & = & R-x \\
& = & R\dfrac{\sin\left(\frac{(n-2)\pi}{2n}\right)}{2\sin\left(\frac{(n-2)\pi}{2n}\right)+\sin\left(\frac{2\pi}{n}\right)} \\
\end{array}\right.$

Ceci nous donne directement les coordonnées polaires des centres de chaque petit cercle.
Il suffit de repasser en coordonnées cartésiennes pour les placer facilement.

Je code de ce pas un petit script Python pour visualiser ça un peu mieux.



Il reste cependant un problème de taille : Ma solution n'est pas optimale du tout !
En effet, caser tous les petits cercles autour laisse beaucoup de place au centre.
Notamment, à partir de $n=6$, on a la place de mettre un 7ième centre.
Je réfléchie encore comment calculer le nombre de cercle que l'on peut mettre au centre en fonction de $n$...

[edit2] Pour résoudre ce problème, il est possible de récupérer le rayon du disque vide central et de calculer le nombre de petits cercles que l'on peut mettre dedans.
À la main ça me semble fastidieux, mais Python devrait pouvoir faire ça...
Enfin ça complique pas mal le code...



[edit]

Python


##### Import #####

#from Tkinter import *   # Python 2.x
from tkinter import *  # Python 3.x
from math import *


##### Fonctions #####

def coordPolaireToCarte(theta, r):
    """Convertie des coordonnées polaires en coordonnées cartésiennes."""
    x = r*cos(theta)
    y = r*sin(theta)
    return [x,y]

def cercle(can, x, y, r, col="white"):
    """Trace dans le Canvas can un cercle de centre (x,y), de rayon r et de couleur col."""
    return can.create_oval(x-r, y-r, x+r, y+r, fill=col)

def nUp():
    cer.nUp()
    nbText.config(text="Nombre de petits cercles : %s"%(cer.n))

def nDown():
    cer.nDown()
    nbText.config(text="Nombre de petits cercles : %s"%(cer.n))


##### Classes #####

class CerclesTangents():
    """Des cercles !"""
    def __init__(self, boss):
        """Constructeur de la classe CerclesTangent."""
        # général
        self.boss = boss                # Canvas dans lequel on va dessiner

        # grand cercle
        self.r = 400
        self.xO = 450
        self.yO = 450
        self.gdCercle = cercle(self.boss, self.xO, self.yO, self.r)

        # petits cercles
        self.nMax = 20
        self.n = 1
        self.ptCercle = [cercle(self.boss, self.xO, self.yO, self.r, col="cyan")]

        #self.tracer()


    def nUp(self):
        """Augmente le nombre de petits cercles de 1."""
        if self.n < self.nMax:
            self.n = self.n+1

    def nDown(self):
        """Diminue le nombre de petits cercles de 1."""
        if self.n > 1:
            self.n = self.n-1

    def tracer(self):
        # Suppression de tous les petits cerlces précédents
        for c in self.ptCercle:
            self.boss.delete(c)
        self.ptCercle = []

        # Cas particulier pour n=1 et n=2
        if self.n==1:
            self.ptCercle = [cercle(self.boss, self.xO, self.yO, self.r, col="cyan")]
        elif self.n==2:
            self.ptCercle = [cercle(self.boss, self.xO+self.r/2, self.yO, self.r/2, col="cyan"),
                             cercle(self.boss, self.xO-self.r/2, self.yO, self.r/2, col="cyan")]

        # Cas général
        else:
            # Calcul des rayons
            n = self.n
            r = self.r
            x = r * sin(2*pi/n) / (2*sin((n-2)*pi/(2*n)) + sin(2*pi/n))
            y = r-x

            # Ajout des nouveaux petits cercles
            for k in range(n):
                theta = k*2*pi/n
                centre = coordPolaireToCarte(theta ,y)
                self.ptCercle.append(cercle(self.boss, centre[0]+self.xO, centre[1]+self.yO, x, "cyan"))


##### Main #####

if __name__=="__main__":
    # fenetre
    root = Tk()
    root.title("Des cercles")
    # Canvas
    can = Canvas(root, width=900, height=900, bg="white")
    can.grid(row=0,column=0, rowspan=100)
    # Cercle
    cer = CerclesTangents(can)

    # Paramètres
    nbText = Label(root, text="Nombre de petits cercles : %s"%(cer.n))
    nbText.grid(row=0, column=1)
    Button(root, text="+", comman=nUp).grid(row=1, column=1)
    Button(root, text="-", comman=nDown).grid(row=2, column=1)
    Button(root, text="Afficher", command=cer.tracer).grid(row=3, column=1)

    # C'est parti !
    root.mainloop()
 

#123 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » un calcul révolutionnaire » 10-02-2018 11:45:40

Salut,

Pas mal l'idée de passer par les log. Je n'y avais pas pensé...

Une fois que l'on connait les 10 solutions possibles, il suffit de regarder le chiffres des unités.
En effet pour tout entier $n$, $n^{1789}\equiv n [10]$.

#124 Re : Entraide (collège-lycée) » Équivalence entre équations » 09-02-2018 09:58:38

Salut,

Je te propose de montrer le théorème suivant :

Théorème
Un polynôme $P$ unitaire et de degré 3 admet pour racines complexes $a$, $b$ et $c$
$\Leftrightarrow$ pour tout $z\in\mathbb{C}, P(z)=z^3+(a+b+c)z^2+(ab+bc+ca)z+abc$

Cela se montre en passant par la forme factorisée.

#125 Re : Le coin des beaux problèmes de Géométrie » Faire entrer 365 carrés dans un espace de 40x30cm » 06-02-2018 21:52:36

Salut,

Je ne sais pas si cela t'intéressera vu que je m'éloigne pas mal de ton cahier des charges, mais je peux te proposer la disposition suivante qui permet de conserver le nombre de 365 vignettes.
5sao.png

Par contre cela demande des vignettes plus petites encore : seulement 9.5mm.

Pied de page des forums