21
Les fonctions en engagement direct et en JavaScript Extract of Les nouvelles technologies pour l'enseignement des mathématiques http://revue.sesamath.net/spip.php?article397 Les fonctions en engagement direct et en JavaScript - N°29 - Mars 2012 - Publication date: vendredi 9 mars 2012 Description: CaRMetal et GeoGebra permettent d'aborder les fonctions à partir de leurs représentations graphiques, donc de les rendre un peu moins abstraites. Copyright © Les nouvelles technologies pour l'enseignement des mathématiques - Tous droits réservés Copyright © Les nouvelles technologies pour l'enseignement des mathématiques Page 1/21

Les fonctions en engagement direct et en JavaScriptrevue.sesamath.net/IMG/article_PDF/Les-fonctions... · Une dernière variante consiste à créer dans JavaScript même un miroir

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Les fonctions en engagement direct et en JavaScriptrevue.sesamath.net/IMG/article_PDF/Les-fonctions... · Une dernière variante consiste à créer dans JavaScript même un miroir

Les fonctions en engagement direct et en JavaScript

Extract of Les nouvelles technologies pour l'enseignement des mathématiques

http://revue.sesamath.net/spip.php?article397

Les fonctions en engagement

direct et en JavaScript- N°29 - Mars 2012 -

Publication date: vendredi 9 mars 2012

Description:

CaRMetal et GeoGebra permettent d'aborder les fonctions à partir de leurs représentations graphiques, donc de les rendre un peu moins abstraites.

Copyright © Les nouvelles technologies pour l'enseignement des

mathématiques - Tous droits réservés

Copyright © Les nouvelles technologies pour l'enseignement des mathématiques Page 1/21

Page 2: Les fonctions en engagement direct et en JavaScriptrevue.sesamath.net/IMG/article_PDF/Les-fonctions... · Une dernière variante consiste à créer dans JavaScript même un miroir

Les fonctions en engagement direct et en JavaScript

Le concept de fonction est visiblement très abstrait pour les élèves du lycée, alors quand onleur apprend à dériver ou intégrer la fonction, ils ne savent pas très bien quoi dériver ouintégrer. En fait, la notion d'expression même est abstraite, et les élèves confondent souventles deux notions de fonction et d'expression (et le prof les y encourage parfois en demandantde factoriser la fonction après l'avoir dérivée...)

Sur la définition de l'engagement direct, voir sa génèse et son apparition dans un contexte différent.

Contrairement à GeoGebra, CaRMetal n'a que des repères orthonormés, ce qui le rend parfaitement adapté à lagéométrie euclidienne (dans GeoGebra, parfois, les cercles ressemblent à des ellipses) mais pas trop adapté àl'étude expérimentale de fonctions. Voire...

Les deux logiciels permettent de jongler entre

• la définition de la fonction• le tableau de valeurs• la représentation graphique

Et, de surcroît, ils permettent l'engagement direct, entre autres par le biais de leurs curseurs.

Expressions

Dans CaRMetal, une expression peut être stockée dans une "boîte d'entrée numérique", théoriquement destinée àcaser des nombres modifiables dans la figure, mais en réalité on peut aussi y mettre du texte, un peu comme lescellules d'un tableur.

Si on décide d'appeler y la fameuse boîte, on se souviendra désormais qu'il s'agit d'y caser l'expression de lafonction f :

Dans tout l'article, on va prendre pour exemple la fonction $f(x)=\frac{x^3}{25}-x$ définie sur [-5 ;5]. C'est donc

Copyright © Les nouvelles technologies pour l'enseignement des mathématiques Page 2/21

Page 3: Les fonctions en engagement direct et en JavaScriptrevue.sesamath.net/IMG/article_PDF/Les-fonctions... · Une dernière variante consiste à créer dans JavaScript même un miroir

Les fonctions en engagement direct et en JavaScript

l'expression qu'on peut entrer dans y. Pour rendre un peu plus concrète cette expression, on peut la tester avecplusieurs valeurs de x, qui seront entrées comme valeurs numériques ("expressions" dans le vocabulaire deCaRMetal) dont le nom doit absolument être x pour que y le reconnaisse. Par exemple, on crée une expression xqu'on cursorise :

Enfin, il suffit de créer une nouvelle expression (E4 ci-dessous) et de lui donner y comme valeur :

On voit que l'image de -5 par la fonction est 0, mais en manipulant le curseur, on peut voir des images d'autresnombres par cette fonction : Engagement direct [1]...

Des exemples d'exerciciels en ligne utilisant cette technique sont visibles ici et là.

On peut également étendre la technique à des fonctions de plusieurs variables (entrer la taille avec un point décimalau lieu de la virgule, la version de CaRMetal servant de plugin à ce site ayant semble-t-il quelques caprices) : <applet archive="plugins/auto/eva_geometrie/scripts/CaRMetal.jar" code="Main.class" width="640" height="480"mayscript="true">

Cet exemple montre bien l'avance de CaRMetal en terme d'engagement direct : Pendant qu'on modifie la taille ou lamasse, l'IMC se met à jour au fur et à mesure.

Copyright © Les nouvelles technologies pour l'enseignement des mathématiques Page 3/21

Page 4: Les fonctions en engagement direct et en JavaScriptrevue.sesamath.net/IMG/article_PDF/Les-fonctions... · Une dernière variante consiste à créer dans JavaScript même un miroir

Les fonctions en engagement direct et en JavaScript

++++ Tableau

Pour entrer un tableau de valeurs, il faut commencer par créer une fonction ; CaRMetal offre le choix entre une "userfunction" qui est juste une fonction (de 1, 2 ou 3 variables) non représentée graphiquement, et une "représentationgraphique" qui est associée à une fonction ayant le même nom qu'elle. On en profite pour déterminer les bornes deson domaine de définition et le pas de la représentation graphique (facultatif) :

Pour aller vers un tableau de valeurs, on peut attacher un point à la représentation graphique [2] et afficher sescoordonnées ; le pas est réglable avec l'incrément du point :

En bougeant ce point , on lit sur la figure des couples de valeurs à placer dans le tableau.

GeoGebra possédant un tableur, il est possible de remplir automatiquement celui-ci par le mouvement du point Aattaché à la courbe [3] :

On va voir ci-dessous qu'on peut faire de même avec CaRMetal, mais en JavaScript plutôt qu'avec un tableur [4].

Pour ça on va plutôt attacher un point au segment [-5,5] pour servir de pilote à M (le point de la courbe). Ce points'appelle P et on peut lui donner un incrément de 0,01 par exemple :

Copyright © Les nouvelles technologies pour l'enseignement des mathématiques Page 4/21

Page 5: Les fonctions en engagement direct et en JavaScriptrevue.sesamath.net/IMG/article_PDF/Les-fonctions... · Une dernière variante consiste à créer dans JavaScript même un miroir

Les fonctions en engagement direct et en JavaScript

Ce nom peut être récupéré dans JavaScript, et on peut créer un point M dont l'abscisse est celle de P et l'ordonnée,l'image de son abscisse par f ; ensuite, dans une boucle, on fait bouger P et on lit les coordonnées de M qu'on placedans un tableau :

Une petite variante consiste à placer une pause dans le script ce qui permet de voir comment il fonctionne, et de voirle tableau se construire au fur et à mesure :

Copyright © Les nouvelles technologies pour l'enseignement des mathématiques Page 5/21

Page 6: Les fonctions en engagement direct et en JavaScriptrevue.sesamath.net/IMG/article_PDF/Les-fonctions... · Une dernière variante consiste à créer dans JavaScript même un miroir

Les fonctions en engagement direct et en JavaScript

Une autre variante consiste à construire le point M dans la figure, en lui donnant directement les coordonnées x(P) etf(x(P)), puis à n'écrire comme script, que celui créant une ligne du tableau :

Dans ce cas, pour avoir plusieurs lignes du tableau, on peut transformer ce script en CaRAScript, en l'attachant auxmouvements du point P :

L'hypersensibilité du script crée des lignes multiples qui n'existent pas dans le tableur de GeoGebra :

Copyright © Les nouvelles technologies pour l'enseignement des mathématiques Page 6/21

Page 7: Les fonctions en engagement direct et en JavaScriptrevue.sesamath.net/IMG/article_PDF/Les-fonctions... · Une dernière variante consiste à créer dans JavaScript même un miroir

Les fonctions en engagement direct et en JavaScript

On peut détourner les scripts précédents pour qu'au lieu d'afficher un pseudo-tableau de valeurs dans la console desortie, on crée un véritable tableau JavaScript ; par exemple, un tableau de tableaux, dont chaque entrée est untableau [x,y] :

Une dernière variante consiste à créer dans JavaScript même un miroir de la fonction f, qui sera une vraie fonctionJavaScript, en utilisant les possibilités d'introspection de CaRMetal :

1. On crée un objet construction qui correspond à la figure complète (tous les objets construits) ;2. On demande à cet objet s'il possède un élément appelé "f" (à l'aide de sa méthode "find") ;3. la méthode evaluateF() de cet objet permet de calculer l'image d'un nombre par la fonction associée ; on l'utilise

dans la définition d'une fonction f en JavaScript, qui sera donc appelable à volonté depuis le script (on s'enservira surtout dans l'onglet suivant).

Le script donnant le tableau de valeurs est plus léger que la version précédente :

Copyright © Les nouvelles technologies pour l'enseignement des mathématiques Page 7/21

Page 8: Les fonctions en engagement direct et en JavaScriptrevue.sesamath.net/IMG/article_PDF/Les-fonctions... · Une dernière variante consiste à créer dans JavaScript même un miroir

Les fonctions en engagement direct et en JavaScript

++++ Maximum

En Seconde, on n'a pas de dérivée (voir l'onglet suivant) pour chercher le maximum d'une fonction sur un intervalle.Alors l'algorithme que découvrent spontanément les élèves avec un tableur [5] consiste tout simplement à chercherle plus grand des nombres du tableau de valeurs (voir l'onglet précédent pour voir comment on construit ce dernier).

Pour aider CaRMetal à placer le point sur courbe le plus haut possible (dont l'ordonnée sera donc le maximum), onpeut simuler un de ces thermomètres à maxima : Créer un point Max dont l'ordonnée est le maximum entreelle-même et celle de M :

Après quelques coups de Monkey, on a la valeur du maximum à 4 décimales :

Copyright © Les nouvelles technologies pour l'enseignement des mathématiques Page 8/21

Page 9: Les fonctions en engagement direct et en JavaScriptrevue.sesamath.net/IMG/article_PDF/Les-fonctions... · Une dernière variante consiste à créer dans JavaScript même un miroir

Les fonctions en engagement direct et en JavaScript

JavaScript possède également une fonction maximum ayant un nombre indéterminé de variables ; on peut la"mapper" sur un tableau (de valeurs) comme la fonction max de Python (langage) qu'on peut appliquer à une liste.En JavaScript, c'est "apply" qu'on invoque, en cherchant la méthode max de l'objet Math et en l'appliquant à untableau (les lignes 1 à 6 et 12 à 15 sont expliquées dans l'onglet précédent) :

Pour avoir le maximum avec une meilleure précision, on peut changer l'intervalle de définition et le pas dans la ligne13.

À titre de comparaison, voici la version Python3 (qui arrondit mieux que JavaScript) :

Copyright © Les nouvelles technologies pour l'enseignement des mathématiques Page 9/21

Page 10: Les fonctions en engagement direct et en JavaScriptrevue.sesamath.net/IMG/article_PDF/Les-fonctions... · Une dernière variante consiste à créer dans JavaScript même un miroir

Les fonctions en engagement direct et en JavaScript

Une variante de cette méthode consiste à trier le tableau de valeurs dans l'ordre croissant et lire son dernier élément(qui est donc le plus grand de tous) :

Mais cette méthode, bien que basée sur l'algorithme de tri rapide, est plus lente que celle de la recherche demaximum vue précédemment.

CaRMetal possède son propre algorithme de recherche de maximum, qui cherche en fait, non le maximum, mais lavaleur de x pour laquelle ce maximum est atteint [6]. Si on cherche le maximum sur l'intervalle [-4,-2], on crée uneexpression :

Pour avoir la valeur du maximum, il suffit donc de calculer l'image par f de l'expression précédente :

Copyright © Les nouvelles technologies pour l'enseignement des mathématiques Page 10/21

Page 11: Les fonctions en engagement direct et en JavaScriptrevue.sesamath.net/IMG/article_PDF/Les-fonctions... · Une dernière variante consiste à créer dans JavaScript même un miroir

Les fonctions en engagement direct et en JavaScript

Bien entendu, JavaScript étant capable de piloter CaRMetal, on peut écrire un script en JavaScript qui utilise cettefonction max pour calculer le maximum (cela consiste en quelque sorte à faire sous-traiter le travail par CaRMetal, cequi est intéressant compte-tenu de la précision de ce dernier) ; pour avoir l'abscisse du maximum (et en profiter pourconjecturer sa valeur exacte) :

Puis pour avoir le maximum lui-même :

Exemple : Bac STG CGRH métropole Réunion septembre 2007

Copyright © Les nouvelles technologies pour l'enseignement des mathématiques Page 11/21

Page 12: Les fonctions en engagement direct et en JavaScriptrevue.sesamath.net/IMG/article_PDF/Les-fonctions... · Une dernière variante consiste à créer dans JavaScript même un miroir

Les fonctions en engagement direct et en JavaScript

Une entreprise produit des appareils électroménagers. Le coût horaire de production de x appareils estdonné en euros par : C (x) = x² + 50x + 100 pour x appartenant à [5 ; 40].

(...)

Le coût moyen de production d'un objet est égal à f (x) =C(x)/x pour x appartenant à [5 ; 40].

(...)

Pour quelle valeur de x le coût moyen est-il minimal ? Préciser alors sa valeur.

Copyright © Les nouvelles technologies pour l'enseignement des mathématiques Page 12/21

Page 13: Les fonctions en engagement direct et en JavaScriptrevue.sesamath.net/IMG/article_PDF/Les-fonctions... · Une dernière variante consiste à créer dans JavaScript même un miroir

Les fonctions en engagement direct et en JavaScript

L'algorithme se décrit ainsi :

1. On représente graphiquement la fonction (oui, dans un repère orthonormé ! Pas grave, ce n'est pas pour la voir,c'est pour l'utiliser) ;

2. on crée une expression appareils contenant le nombre d'appareils à fabriquer pour avoir un coût moyen minimal;

3. on récupère la valeur de cette expression : l'abscisse du minimum4. on crée une deuxième expression coutMin qui contient le coût moyen minimal ;5. on récupère sa valeur ymin6. on affiche les deux valeurs de xmin et ymin :

À part le fait qu'il faut un nombre entier d'appareils, cet algorithme marche plutôt bien, malgré le fait que lareprésentation graphique soit peu visible en repère orthonormé :

++++ Dérivée

Copyright © Les nouvelles technologies pour l'enseignement des mathématiques Page 13/21

Page 14: Les fonctions en engagement direct et en JavaScriptrevue.sesamath.net/IMG/article_PDF/Les-fonctions... · Une dernière variante consiste à créer dans JavaScript même un miroir

Les fonctions en engagement direct et en JavaScript

Coefficient directeur de la tangente

On peut définir le nombre dérivé de f en x comme le coefficient directeur de la tangente à la représentation graphiquede f en x. Pour explorer cette notion, on peut utiliser la macro tangente qui construit cette tangente en un point de lacourbe. Comme, pour CaRMetal, les coordonnées d'une droite sont celles d'un de ses vecteurs directeurs, il suffit dedonner à la tangente t un "alias" égal au quotient de ces coordonnées pour afficher le nombre dérivé :

Dans la fenêtre de l'"historique", on a également accès à l'équation cartésienne de la droite :

ce qui permet de calculer aussi le nombre dérivé.

Cette méthode permet aussi d'introduire la notion de fonction dérivée, avec la trace d'un point dont l'ordonnée est lenombre dérivé en x (qui est son abscisse) :

En fait, la macro tangente utilise le calcul numérique (avec assez grande précision) du nombre dérivé que permetCaRMetal. La notation est diff. Par exemple, pour calculer le nombre dérivé en 2 :

Copyright © Les nouvelles technologies pour l'enseignement des mathématiques Page 14/21

Page 15: Les fonctions en engagement direct et en JavaScriptrevue.sesamath.net/IMG/article_PDF/Les-fonctions... · Une dernière variante consiste à créer dans JavaScript même un miroir

Les fonctions en engagement direct et en JavaScript

Et pour représenter graphiquement la fonction dérivée, on peut utiliser ce script, qui explore, en la représentantgraphiquement, la dérivée de la fonction cosinus (en radians) :

(le point de coordonnées (x ;f'(x)) est rouge, petit et laisse une trace sur l'écran). On peut aussi représentergraphiquement la fonction dérivée de f avec

diff(f,x)

Notation différentielle

On peut également définir la dérivée comme quotient d'une petite variation de y par une petite variation de x. Çatombe bien, CaRMetal possède une fonction d qui calcule ces petites différences.

On suppose donc qu'un point M est attaché à la représentation graphique de f, alors la petite [7] variation del'abscisse est une expression égale à d(x(M)) (ou d(x(P)), ça revient au même) :

De même, on crée une expression E2 égale à d(y(P)) :

Après ça, il suffit de créer une nouvelle expression égale à E2/E1, et on a une approximation de la dérivée, avec uneprécision correcte tant que la dérivée n'est pas trop proche de 0.

Copyright © Les nouvelles technologies pour l'enseignement des mathématiques Page 15/21

Page 16: Les fonctions en engagement direct et en JavaScriptrevue.sesamath.net/IMG/article_PDF/Les-fonctions... · Une dernière variante consiste à créer dans JavaScript même un miroir

Les fonctions en engagement direct et en JavaScript

Le résultat est visible en tête du diaporama téléchargeable en bas de l'article.

Cette activité a le mérite d'expliquer la notation $\frac{df}{dx}$ parfois utilisée pour la dérivée.

Fonctionnelle

La dérivée est une fonctionnelle, c'est-à-dire une fonction portant sur des fonctions (en effet, la dérivée d'une fonctionest une fonction). Bien que ce concept soit encore plus abstrait que les fonctions numériques, il est très utile enanalyse, la primitive, les transformées de Fourier et de Laplace étant elles aussi des fonctionnelles. Or JavaScriptsait gérer des fonctionnelles, il suffit de définir une fonction dont la variable est une fonction, et qui retourne unefonction :

function cube(x){

return x*x*x;

}

function diff(f){

return function(x){

return (f(x+0.000001)-f(x))/0.000001;

}

}

for(x=-4;x<=4;x=x+0.4){

y=diff(cube)(x);

Println(x+" --> "+y);

}

La première fonction est la fonction cube, comme son nom l'indique (une fonction numérique donc). La seconde estla dérivée d'une fonction f quelconque (calculée numériquement, mais c'est une fonctionnelle). Le script affiche untableau de valeurs de la dérivée de la fonction cube, ce qui aide à conjecturer la forme de cette dérivée.

Cette fonctionnelle, ou un analogue, est implémentée dans JSXGraph ; voir à ce sujet le dernier onglet.

++++ Intégrale

Avec notations différentielles

Dans l'onglet précédent, on avait divisé dy par dx pour avoir le nombre dérivé. Si, au contraire, on multiplie dx parf(x), on obtient l'aire d'un rectangle très fin, de largeur dx, et de hauteur f(x), comme ceux qu'on additionne dans lessommes de Riemann. Si on a donc les expressions suivantes dans la figure :

1. E1, égale à d(x(P)) ;2. E2, égale à f(x(P)) ;3. E3, notée f(x)dx, égale à E1*E2 ;4. et E4, égale à sum(E3),

Copyright © Les nouvelles technologies pour l'enseignement des mathématiques Page 16/21

Page 17: Les fonctions en engagement direct et en JavaScriptrevue.sesamath.net/IMG/article_PDF/Les-fonctions... · Une dernière variante consiste à créer dans JavaScript même un miroir

Les fonctions en engagement direct et en JavaScript

alors E4 est proche de l'intégrale de f entre -5 et x(P) (à condition de l'annuler lorsque P est tout à gauche). On voitl'effet produit dans la seconde figure du diaporama téléchargeable en bas de page. On constate que l'approximationdevient de pire en pire au fur et à mesure que P se déplace vers la droite : Avec beaucoup d'additions, les erreursd'addition s'accumulent.

Néanmoins cette activité montre plutôt mieux que les sommes de Riemann, l'origine de la notation $\int f(x) dx$, enparticulier le pourquoi de cet encombrant dx...

La technique est numériquement plus stable en dimension 2 (diapo numéro 13 ; mais c'est avec les nombrescomplexes).

Calcul d'intégrale par Romberg

Pour calculer l'intégrale de f entre -5 et 0, on crée une expression CaRMetal égale à

integrate(f,-5,0)

Si f est une fonction existant sur la figure (représentée ou non), une primitive de f est donc bien approchée par

integrate(f,0,x)

Ce calcul numérique de primitive sera exploité dans l'onglet suivant, avec des fonctions de répartition.

Intégrateur en ligne

La figure ci-dessous est vide, elle ne contient que ce script :

Elle permet de calculer l'intégrale d'une fonction entre deux bornes :

<carmetals|doc=3903|largeur=200|hauteur=150>

La syntaxe est celle de CaRMetal, la liste de fonctions disponibles est ici.

++++ Probabilités

Les intégrales dépendant de leur borne supérieure permettent à CaRMetal de faire comme le calculateur deprobabilité de GeoGebra, mais sans le superflu [8]. Voici des fichiers en ligne calculant et illustrant ces probabilités,avec leur procédé de fabrication (pour les détails, voir le diaporama téléchargeable en bas de page ; cliquer droit surun objet pour voir comment il est fait) :

Copyright © Les nouvelles technologies pour l'enseignement des mathématiques Page 17/21

Page 18: Les fonctions en engagement direct et en JavaScriptrevue.sesamath.net/IMG/article_PDF/Les-fonctions... · Une dernière variante consiste à créer dans JavaScript même un miroir

Les fonctions en engagement direct et en JavaScript

Loi exponentielle

1. Pour commencer, on a créé un curseur lambda (le paramètre de la loi exponentielle) ;2. Puis on a créé la fonction de densité phi, égale à lambda*exp(-lambda*x) (elle devrait normalement être cachée,

mais on l'a laissée visible pour faciliter son hacking d'un simple clic droit)3. puis on a représenté graphiquement cette dernière de 0 à 20 (valeur approchée de l'infini), en bleu ;4. puis on l'a représentée à nouveau, en rouge, sur un intervalle allant de 0 à l'abscisse d'un point attaché à une

demi-droite (cachée) sur l'axe des abscisses ; on a rempli cette version de la fonction pour faire plaisir au petitprince qui n'arrête pas de dire "s'il vous plaît, dessine-moi une intégrale" ;

5. Le texte en bleu comprend l'expression integrate(phi,0,20) qui est proche de 1 dès que lambda est suffisammentgrand : Il sert à vérifier qu'on a bien une densité de probabilité.

6. Le texte en rouge par contre, comprend l'expression integrate(phi,0,x(P)) qui est une intégrale dépendant de saborne supérieure : On a donc bien un calculateur de probabilités :

<applet archive="plugins/auto/eva_geometrie/scripts/CaRMetal.jar" code="Main.class" width="640" height="480"mayscript="true">

Loi normale

1. On a placé un point sur l'axe des ordonnées, plus précisément sur un segment caché qui limite sa course à [0,5;1] pour les ordonnées.

2. On a créé une expression à droite, appelée confiance, égale à 2*y(P)-1 : Utile pour calculer des intervalles deconfiance.

3. On a créé une fonction de densité phi, correspondant à une loi normale centrée réduite, dont on ne sait pascalculer de primitive autrement que numériquement, avec le integrate de l'onglet précédent.

4. On a créé la primitive en question comme fonction Pi valant integrate(phi ;-4 ;x), -4 ayant été choisi commevaleur approchée de $-\infty$

5. On a représenté graphiquement la primitive, en rouge ;6. On s'en est servi pour chercher graphiquement, à coup de parallèles aux axes et d'intersections, l'antécédent de

l'ordonnée du point bleu par la primitive (le nombre x tel que la probabilité que X soit entre -x et x est égale à lavaleur voulue).

7. on a représenté graphiquement la densité, une fois en pointillés entre -4 et 4, et une fois en remplie entre -x et x: Ceci dessine la probabilité que X soit entre -x et x, pour faire plaisir au petit prince qui semble décidémentallergique à la communication textuelle !

8. Le texte en bleu comprend l'expression integrate(phi,-x,x) qui calcule effectivement une probabilité ; sauf qu'on asimplifié le calcul de l'intégrale, puisqu'on dispose d'une primitive... On a donc là encore un calculateur deprobabilités :

<applet archive="plugins/auto/eva_geometrie/scripts/CaRMetal.jar" code="Main.class" width="640" height="480"mayscript="true">

Théorème central limite

Grâce à un CaRAScript, la dernière figure du diaporama ci-dessous dessine la densité de la somme de n variablesaléatoires uniformes [9], n étant cursorisé. Cette densité approche assez vite d'une courbe en cloche, ce qui illustrele théorème central limite. JavaScript est utilisé pour modifier l'expression de f(x), en construisant une chaîne decaractères ; cette figure est donc une synthèse de tout l'article.

++++ JsxGraph

Qui dit JavaScript, dit JSXGraph. Il est donc naturel de voir comment ce logiciel gère les fonctions et leursreprésentations graphiques.

Copyright © Les nouvelles technologies pour l'enseignement des mathématiques Page 18/21

Page 19: Les fonctions en engagement direct et en JavaScriptrevue.sesamath.net/IMG/article_PDF/Les-fonctions... · Une dernière variante consiste à créer dans JavaScript même un miroir

Les fonctions en engagement direct et en JavaScript

Représentation graphique

Pour la représentation graphique, il suffit d'utiliser functiongraph avec les bornes de l'intervalle :

Tout d'abord, on doit placer dans la page un lien vers l'exécutable de JSXGraph (à l'intérieur du code html) :

Ensuite, on crée (toujours dans le html) une division de type jxgbox (le fichier css de JSXGraph se charge dedétailler son style) ; et dans un script (en JavaScript donc), on crée une figure avec des axes et un cadre :

var figure = JXG.JSXGraph.initBoard('box',{axis:true, boundingbox:[-5,3,5,-3]});

Enfin, on crée (toujours dans le script) une fonction f et sa représentation graphique :

var f=function(x){return x*x*x/25-x;}

var graphe=figure.create('functiongraph',[f,-5,5],{strokeColor:'blue'});

Voici le résultat (qu'on peut zoomer en ligne) :

var figure = JXG.JSXGraph.initBoard('box',{axis:true, boundingbox:[-5,3,5,-3]}); var f=function(x){return x*x*x/25-x;}var graphe=figure.create('functiongraph',[f,-5,5],{strokeColor:'blue'});

Point sur courbe

En rajoutant un glider, on a aussi un point sur la courbe (le bouger pour voir ses coordonnées) :

var figure = JXG.JSXGraph.initBoard('box',{axis:true, boundingbox:[-5,3,5,-3]});

var f=function(x){return x*x*x/25-x;}

var graphe=figure.create('functiongraph',[f,-5,5],{strokeColor:'blue'});

var mobile=figure.create('glider',[graphe]);

Ce qui donne ceci :

var figure = JXG.JSXGraph.initBoard('box2',{axis:true, boundingbox:[-5,3,5,-3]}); var f=function(x){return x*x*x/25-x;}var graphe=figure.create('functiongraph',[f,-5,5],{strokeColor:'blue'}); var mobile=figure.create('glider',[graphe]);

Calcul différentiel et intégral

Voici quelques exemples :

Copyright © Les nouvelles technologies pour l'enseignement des mathématiques Page 19/21

Page 20: Les fonctions en engagement direct et en JavaScriptrevue.sesamath.net/IMG/article_PDF/Les-fonctions... · Une dernière variante consiste à créer dans JavaScript même un miroir

Les fonctions en engagement direct et en JavaScript

• Construction d'une fonction• Tangentes et dérivées : On constate que la fonctionnelle D est implémentée en JSXGraph.• évaluation numérique de primitives• sommes de Riemann

Probabilités

JSXGraph possède des fonctions qui n'existent pas nativement en JavaScript et qui peuvent être intéressantes pourla classe (au moins au TBI) :

• factorial pour les factorielles• binomial pour les coefficients binomiaux• riemannsum pour représenter graphiquement les coefficients binomiaux (au hasard, pour les comparer avec la

courbe de Gauss)

L'avantage de l'intégration de JSXGraph dans html, c'est qu'on peut utiliser JavaScript pour faire un tableau html ; iciça donne

function f(x){

return x*x*x/25-x;

}

var tabvaleurs='';

for(x=-5;x<=5;x=x+0.4){

tabvaleurs+='';

}

tabvaleurs+=' x f(x)

'+x+' '+f(x)+'

';

document.getElementById('tableau').innerHTML=tabvaleurs;

qui produit l'effet suivant :

function f(x){ return x*x*x/25-x; } var tabvaleurs=' '; for(x=-5;x<=5;x=x+0.4){ tabvaleurs+=''; } tabvaleurs+='x f(x)

'+x+' '+f(x)+'

'; document.getElementById('tableau').innerHTML=tabvaleurs;

Figures à télécharger : <a href="sites/revue.sesamath.net/IMG/zirs/analyse.zirs" title='CarMetal - 7.6 ko' type="application/x-carmetal">

Copyright © Les nouvelles technologies pour l'enseignement des mathématiques Page 20/21

Page 21: Les fonctions en engagement direct et en JavaScriptrevue.sesamath.net/IMG/article_PDF/Les-fonctions... · Une dernière variante consiste à créer dans JavaScript même un miroir

Les fonctions en engagement direct et en JavaScript

Bibliographie : fondements pour un enseignement de l'analyse en termes d'ordre de grandeur de R. Lutz, A.Makhlouf, E. Meyer, en particulier le chapitre sur les fonctions.

Webographie :

• tableau de valeurs d'une fonction en JavaScript (TP de Seconde)• algorithme de tracé de courbes• des TP de Seconde sur les fonctions• des fonctions compliquées peuvent être importées entre GeoGebra, Xcas, Maxima et CaRMetal

[1] La manip équivalente est plus rapide avec GeoGebra, en n'utilisant que la fenêtre algèbre - bien que GeoGebra ait aussi des "champs texte" - en

entrant simplement f(x)=x^3/25-x puis en créant un curseur a et en entrant b=f(a). Mais cette simplicité mène au risque de confusion entre la

fonction et sa représentation graphique, à moins de penser à ne pas afficher la fenêtre graphique.

[2] il suffit pour cela de cliquer quelque part sur la courbe au moment de la création du point

[3] clic droit sur A, puis "enregistrer dans tableur"

[4] le tableur de GeoGebra a été créé sous JavaScript...

[5] nonobstant la lecture graphique, plus rapide et moins précise

[6] GeoGebra a aussi une instruction Max qui, appliquée à une fonction, crée un point, ce qui permet d'obtenir à la fois la valeur du maximum et

l'endroit où celui-ci est atteint (avec une précision remarquable). Au risque que les élèves confondent le maximum avec le point.

[7] petite à condition de ne pas bouger trop vite le point pilote P, et que son incrément ne soit pas trop grand ; ce sont ces contraintes qui ont mené

au titre de cet article, l'élève étant en engagement direct avec les variations qu'il lui appartient de rendre le plus infinitésimales possibles

[8] Que tous ceux qui utilisent les lois de Pascal, Student, Khi², Fisher, Cauchy, Weibull, Gamma, LogNormale, logistique et hypergéométrique dans

leur cours de lycée lèvent le doigt !

[9] la loi Irwin-Hall

Copyright © Les nouvelles technologies pour l'enseignement des mathématiques Page 21/21