Les calculatrices graphiques Casio Graph 90+E et Graph 35+E II disposent d'une application Python intégrée qui a l'avantage de rester disponible en mode examen.
![](https://i.imgur.com/KWqXC46t.jpg)
Dans un article précédent, nous t'informions que Casio, comme à son habitude très réactif par rapport aux dernières évolutions des programmes scolaires, avait décidé de t'apporter une solution dès le mois d'avril 2020.
La solution s'approchant à grands pas prendra la forme d'une mise à jour gratuite qui rajoutera un module graphique au Python de ta Graph 90+E ou Graph 35+E II.
Toutefois, l'interpréteur Python en question ne disposait pas d'un module graphique, ce qui était embêtant dès la Seconde notamment pour le nouveau programme de Physique-Chimie depuis la rentrée 2019. Celui-ci demande en effet entre autres en Python :
- de construire des diagrammes (nuages de points, histogrammes)
- de représenter le déplacement d'un mobile ponctuel avec les différentes positions successives et vecteurs vitesse associés
![](https://i.imgur.com/KWqXC46t.jpg)
![](https://i.imgur.com/GTeIGeZt.jpg)
La solution s'approchant à grands pas prendra la forme d'une mise à jour gratuite qui rajoutera un module graphique au Python de ta Graph 90+E ou Graph 35+E II.
Aujourd'hui, dans le cadre de sa newsletter de rentrée 2020, Casio nous présente enfin plus en détails sa solution Python graphique, et nous allons voir jusqu'à quel point elle répond aux exigences des programmes scolaires.
La solution comprend un module Python importable matplotl, un nom qui fait directement penser au légendaire matplotlib.
Cela voudrait-il dire que Casio a fait, contrairement à d'autres constructeurs, le choix d'une certaine compatibilité avec ce qui existe déjà pour ce dernier ? Nous allons voir cela.
Comme matplotlib, le matplotl de Casio dispose d'une fonction
Déjà une réponse à un des besoins en Physique-Chimie, même si un usage en Mathématiques n'est pas à exclure, dans la partie Statistiques par exemple.![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
Comme avec matplotlib, la fonction
Encore un bon point pour le programme de Physique-Chimie.![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
![](https://i.imgur.com/oG799u8t.png)
Mais ce n'est pas fini, le programme de Physique-Chimie demande également de représenter le déplacement d'un mobile ponctuel avec les différentes positions successives et vecteurs vitesse associés.
Et bien Casio t'a également repris la fonction matplotlib de tracé de vecteur![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
Ce n'est pas terminé, Casio ne se contente pas d'une simple lecture au mot près des exigences en Python des programmes scolaires dans leur état actuel, mais fait preuve d'une véritable réflexion sur l'évolution des pratiques qu'ils vont induire à l'avenir.
![](https://i.imgur.com/3wZoIqjt.png)
La fonction de tracé de diagramme
Ce sera une formidable occasion en Mathématiques d'aborder par exemple le fonctionnement interne d'un grapheur de fonctions, et donc de mieux comprendre quelles en sont les limites et donc pièges éventuels lors d'une lecture graphique !![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
Et ce n'est toujours pas tout. Casio nous annonce également une autre fonction principale de matplotlib,![:) :)](./images/smilies/smile.png)
Ces derniers fonctionneront toutefois comme dans matplotlib, c'est-à-dire avec la calcul des quartiles à l'anglosaxonne.
Mais Casio a tout prévu, en rajoutant sa propre fonction![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
La solution comprend un module Python importable matplotl, un nom qui fait directement penser au légendaire matplotlib.
Cela voudrait-il dire que Casio a fait, contrairement à d'autres constructeurs, le choix d'une certaine compatibilité avec ce qui existe déjà pour ce dernier ? Nous allons voir cela.
![](https://i.imgur.com/NMolJNSt.png)
bar()
pour le tracé d'histogrammes.Déjà une réponse à un des besoins en Physique-Chimie, même si un usage en Mathématiques n'est pas à exclure, dans la partie Statistiques par exemple.
![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
- Code: Select all
from matplotl import *
x = [119.1, 119.3, 119.5, 119.6, 119.9, 120.0, 120.1, 120.3, 120.4]
y = [1, 3, 4, 3, 1, 3, 1, 3, 1]
bar(x, y, 0.08)
![](https://i.imgur.com/4Wi2tGqt.png)
scatter()
permet de réaliser d'afficher une représentation en nuage de points.Encore un bon point pour le programme de Physique-Chimie.
![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
- Code: Select all
from matplotl import *
x = [100, 110, 120, 130, 140, 150, 160]
y = [105, 95, 75, 68, 53, 46, 31]
scatter(x, y)
axis([80, 170, 10, 130])
text(110, 125, "Nombre d'acheteurs vs prix de vente")
show()
![](https://i.imgur.com/oG799u8t.png)
![](https://i.imgur.com/6iV9NJYt.png)
Et bien Casio t'a également repris la fonction matplotlib de tracé de vecteur
arrow()
afin de te faciliter grandement cette tâche essentielle ! ![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
- Code: Select all
from matplotl import *
arrow(0.20, 0.54, 0, -0.15)
arrow(0.30, 0.46, 0, -0.15)
arrow(0.40, 0.59, 0, -0.15)
show()
Ce n'est pas terminé, Casio ne se contente pas d'une simple lecture au mot près des exigences en Python des programmes scolaires dans leur état actuel, mais fait preuve d'une véritable réflexion sur l'évolution des pratiques qu'ils vont induire à l'avenir.
![](https://i.imgur.com/3wZoIqjt.png)
![](https://i.imgur.com/Jr9H3TGt.png)
plot()
est également présente. Elle fonctionne comme scatter()
, à la différence qu'elle relie les points, et peut donc servir entre autres à tracer des courbes.Ce sera une formidable occasion en Mathématiques d'aborder par exemple le fonctionnement interne d'un grapheur de fonctions, et donc de mieux comprendre quelles en sont les limites et donc pièges éventuels lors d'une lecture graphique !
![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
- Code: Select all
from matplotl import *
def fonction():
def f(x):
return x**3-6*x**2+9*x+1
start = -0.5
end = 4.5
steps = 0.1
x = [start+i*steps for i in range(int((end-start)/steps)+1)]
y = [f(j) for j in x]
plot(x, y)
show()
Et ce n'est toujours pas tout. Casio nous annonce également une autre fonction principale de matplotlib,
boxplot()
, pour les diagrammes en boîte ou diagrammes à moustache. ![:) :)](./images/smilies/smile.png)
Ces derniers fonctionneront toutefois comme dans matplotlib, c'est-à-dire avec la calcul des quartiles à l'anglosaxonne.
Mais Casio a tout prévu, en rajoutant sa propre fonction
boxplotFR()
qui effectuera pour sa part les calculs de quartiles à la française ! ![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
Donc qu'est-ce que ça vaut ?
Déjà, le module matplotl de Casio n'est pas exactement une version allégée de matplotlib.
Plus précisément, il s'agit en fait d'une version allégée du sous-module matplotlib.pyplot.
Tu pourras en effet constater comme nous que tous les scripts fournis en exemple par Casio sont parfaitement fonctionnels sous matplotlib, à condition de remplacer la ligne
Cela n'en reste pas moins extraordinaire d'avoir enfin un matplotlib.pyplot sur une calculatrice graphique !![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
Aussi, contrairement à la concurrence à ce jour, Casio a fait le choix pour ses fonctionnalités graphiques de respecter un standard déjà établi, le choix de la compatibilité avec l'existant, et nous ne pouvons que l'en féliciter !![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
Il sera en effet très facile pour les enseignants et lycéens connaissant matplotlib de rentrer dans l'environnement Python de la calculatrice Casio et de faire des allers-retours entre les deux environnements !![:D :D](./images/smilies/grin.png)
Déjà, le module matplotl de Casio n'est pas exactement une version allégée de matplotlib.
Plus précisément, il s'agit en fait d'une version allégée du sous-module matplotlib.pyplot.
Tu pourras en effet constater comme nous que tous les scripts fournis en exemple par Casio sont parfaitement fonctionnels sous matplotlib, à condition de remplacer la ligne
import matplotl
par un import matplotlib.pyplot
.Cela n'en reste pas moins extraordinaire d'avoir enfin un matplotlib.pyplot sur une calculatrice graphique !
![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
Aussi, contrairement à la concurrence à ce jour, Casio a fait le choix pour ses fonctionnalités graphiques de respecter un standard déjà établi, le choix de la compatibilité avec l'existant, et nous ne pouvons que l'en féliciter !
![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
Il sera en effet très facile pour les enseignants et lycéens connaissant matplotlib de rentrer dans l'environnement Python de la calculatrice Casio et de faire des allers-retours entre les deux environnements !
![:D :D](./images/smilies/grin.png)
Mais crois-le ou pas, ce n'est toujours pas terminé. Car la solution Python graphique de Casio consiste en fait en deux modules, le deuxième étant turtle comme chez NumWorks, ici encore un standard ! ![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
Sont déjà annoncées par Casio les fonction suivantes :
Pour l'apprentissage du Python aussi bien en Mathématiques qu'en Physique-Chimie, de quoi s'appuyer avantageusement sur les acquis de Scratch du collège !![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
![](https://i.imgur.com/C6OMFD5t.png)
![](https://i.imgur.com/T7rgVKpt.png)
![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
Sont déjà annoncées par Casio les fonction suivantes :
pendown()
penup()
pencolor()
pensize()
forward()
backward()
right()
left()
goto()
setheading()
circle()
Pour l'apprentissage du Python aussi bien en Mathématiques qu'en Physique-Chimie, de quoi s'appuyer avantageusement sur les acquis de Scratch du collège !
![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
![](https://i.imgur.com/C6OMFD5t.png)
- Code: Select all
from math import exp
from turtle import *
for i in range(1,37):
red=(exp(-0.5*((i-6)/12)**2))
green=(exp(-0.5*((i-18)/12)**2))
blue=(exp(-0.5*((i-30)/12)**2))
pencolor([red,green,blue])
for i in range(1,5):
forward(60)
right(90)
right(10)
![](https://i.imgur.com/T7rgVKpt.png)
- Code: Select all
from turtle import *
def koch(n,l):
if n==0:
forward(l)
else:
koch(n-1,l/3)
left(60)
koch(n-1,l/3)
right(120)
koch(n-1,l/3)
left(60)
koch(n-1,l/3)
pencolor("blue")
penup()
goto(-180,-50)
pendown()
koch(4,360)
Source : newsletter Casio lycée rentrée 2020
Référence : https://www.planet-casio.com/Fr/forums/ ... 154&page=1