Épreuve pratique 2009, sujet 111

samedi 7 novembre 2009
par  Alain BUSSER

On itère une fonction affine sur les complexes (donc une similitude directe). Le plan est un peu original :

  • création d’une macro appelée « simil » (comme « similitude »)
  • application itérée de cette macro pour créer le nuage de points (en JavaScript).
  • modification pour l’affichage des distances.

Création de la macro

La fonction affine à iterer est $z\mapsto az+a$ où $a=\frac{1+i}{2}$. On construit donc le point de coordonnées (1,1) (nommé 1+i sur la figure ci-dessous) puis le milieu (nommé (1+i)/2 ci-dessous) du segment joignant celui-ci à l’origine. CaRMetal ayant nommé P3 ce point (d’affixe a), on repère ce nom pour usage ultérieur.

Ensuite on crée un point M, mobile, d’affixe $z$, puis

  • avec la macro "produit" (de nombres complexes), le point dont l’affixe est $az$ (on clique successivement sur P3 puis sur M). Ce point est en rouge ci-dessous.
  • avec la macro "somme" (de nombres complexes), le point M’ dont l’affixe est $az+a$ (en cliquant successivement sur le point nouvellement créé puis sur le point P3).

M’ est alors l’image de M par la similitude directe.

figure avec macro

On sélectionne alors dans le menu des macros l’option "créer une macro", et on sélectionne P3 et M comme objets initiaux, et M’ comme objet final. Enfin on nomme "simil" (sans oublier d’appuyer sur "entrée") la macro créée.

On notera que la création de la macro est très rapide, surtout si elle est faite par un élève qui a déjà créé des macros pendant l’année scolaire.


Utilisation de la macro

Tout d’abord, une modification légère de la figure s’impose : Supprimer le point M. Désormais on peut même en JavaScript appliquer la similitude à un point M avec l’instruction suivante :

ExecuteMacro("simil","P3,M");

Le nuage de points est maintenant aisément créé par le script suivant :

/*Programme tp 111a
*/
a=Point("A0",4,2);
for(n=1;n<=30;n=n+1){
	b=ExecuteMacro("A"+n,"simil","P3,_a");
	a=b;
}

Comme le point A0 n’a pas été fixé, on peut bien que ce soit hors sujet, déplacer celui-ci pour conjecturer que la limite de la suite ne dépend pas de A0 :

le nuage de points

Conjecture sur la limite

Avec un fichier muni de la macro simil et du point J(0 ;1) (téléchargeable ci-dessous), on peut modifier le script ci-dessus pour qu’en plus du nuage de points, on ait les distances entre ces points et J :

/*Programme tp 111a
*/
j="J";
a=Point("A0",4,2);
for(n=1;n<=30;n=n+1){
	b=ExecuteMacro("A"+n,"simil","P3,_a");
	e=Expression("d(_j,_b)",-5,-5);
	SetHide(e,true);
	d=GetExpressionValue(e);
	Println(d);
	a=b;
}

Le principe de ce nouveau script est de créer une expression (en (-5,-5) pour qu’elle soit en dehors de la fenêtre, et en plus elle est cachée) e puis de récupérer (en d) la valeur de cette expression, et enfin de l’affficher. Une légère modification du script ci-dessus produit le tableau que voici [1] :

Point Distance à J
A1 2.9154759474226504
A2 2.0615528128088303
A3 1.4577379737113252
A4 1.0307764064044151
A5 0.7288689868556626
A6 0.5153882032022076
A7 0.3644344934278313
A8 0.2576941016011038
A9 0.18221724671391565
A10 0.1288470508005519
A11 0.09110862335695782
A12 0.06442352540027595
A13 0.04555431167847891
A14 0.03221176270013797
A15 0.022777155839239456
A16 0.016105881350068987
A17 0.011388577919619728
A18 0.008052940675034493
A19 0.005694288959809864
A20 0.004026470337517247
A21 0.002847144479904932
A22 0.0020132351687586233
A23 0.001423572239952466
A24 0.0010066175843793117
A25 0.000711786119976233
A26 0.0005033087921896558
A27 0.0003558930599881165
A28 0.0002516543960948279
A29 0.00017794652999405825
A30 0.00012582719804741396

On conjecture que $\displaystyle\lim_{n \rightarrow \infty} \left| z_n - i\right|=0$ soit $\displaystyle\lim_{n \rightarrow \infty} z_n=i$.


[1Le principe consiste à produire du code spip au lieu d’un simple affichage


Documents joints

la figure avec le point J

Commentaires