parisse wrote:D'un point de vue algorithmique, je trouve qu'il est bien plus formateur d'utiliser une librairie pixelisee (comme set_pixel sur la Numworks, PIXON sur la Prime, ...) pour faire tracer une courbe.
Ok, mais existe-t-il un équivalent sur Python ?
parisse wrote:L'utilisation de matplotlib et numpy n'apporte presque rien, on construit les arguments d'une commande qui fait tout le travail, et il y a pas mal de ce que j'appelle "incantations" (les import, le arange, la syntaxe de la liste en comprehension, sans parler de l'installation complementaire).
En fait mon objectif était de me rapprocher un maximum de quelque chose qu'ils connaissaient, en l'occurrence le menu table de leur calculatrice :
1 - le paramétrage du tableau : Start, End, Step correspondent presque exactement aux 3 arguments de arange. La seule différence est que sur Casio, la borne "end" est incluse, alors qu'elle est exclue sur arange.
De plus, la fonction range ne permet pas d'avoir un pas décimal, donc je me suis reporté sur la fonction arange de numpy.
2 - Sur Casio, cela crée une liste de coordonnées de points. Les abscisses sont définies par les paramètres ci-dessus, et les images sont calculées à partir de la formule donnée dans Y1. Là encore, il y a un parallèle important.
3 - Je comprends l'objection sur la compréhension de listes, mais c'est une écriture très intuitive, c'est la raison pour laquelle j'avais tenté le coup.
4 - Quand on appuie sur exe après la création du tableau, on obtient aussitôt un nuage de points dont les coordonnées sont dans le tableau. Lorsqu'on utilise la fonction plot, c'est exactement ce qu'il se passe.
parisse wrote: Si on veut juste expliquer le principe de discretisation pour tracer une courbe, je pense qu'il vaut bien mieux utiliser plot(exp(x),x=0..4,xstep=0.001) ou l'equivalent sur la calculatrice, ca apporte autant sans risquer de perdre des eleves dans les details des incantations.
Mais ça c'est si l'objectif est de faire le lien entre algorithmique et construction de courbe non ? Donc niveau seconde par exemple. Mais une fois le concept compris, on peut utiliser des fonctions (comme dans mon activité de Ts par exemple) qui tracent directement non ? C'est un peu comme la fonction max. On l'explique une fois, et ensuite on utilise directement la fonction donnée par la distribution.