Concrêtement, comment ça marche ?

Il y a deux type de cellules :

  • les cellules contenant du texte (Markdown, Headers)
  • les cellules contenant des instructions Python : In [ ]

Vous pouvez à tout moment changer le type d'une cellule grâce à la liste déroulante sur la barre d'outils. Vous pouvez choisir entre :

  • code : la cellule contient alors des instructions Python qui seront interprétées
  • Markdown : la cellule contient alors du texte qui sera juste affiché
  • Heading x : la cellule s'affichera comme un titre de section.

Pour valider une cellule, appuyez sur la touche shift-enter ou bien cliquez sur le bouton de la barre d'icônes.

Regardez ci-dessous votre première ligne de code Python : Simple n'est-ce pas ?

#collapse
# Ceci est une cellule Python
# Le code qu'elle contient peut être exécuté
# en tapant Shift+Entrée

print(1+1)

Et la pédagogie dans tout ça ?

Grâce à l'environnement Jupyter, l'élève a sous les yeux les consignes du professeur ainsi que l'outil lui permettant de les réaliser, le tout dans un environnement familier qu'est le navigateur internet. Prenons un exemple d'activité d'algorithmique.

Coordonnées du milieu d'un segment

On rappelle la formule : si $I$ est le milieu de $[AB]$, $$I=\left( \dfrac{x_A+x_B}{2};\dfrac{x_A+x_B}{2} \right)$$

Oui, je sais que vous le savez mais c'est pour frimer avec l'insertion de formules $\LaTeX$ dans Jupyter !!

Revenons aux choses sérieuses...

Compléter l'algorithme ci-dessous, écrit en langage naturel

  • Pour modifier l'algorithme, double-cliquez sur la cellule puis complétez les blancs.
  • Pour valider votre travail, tapez Shift+Entree

Algorithme

Définir la fonction milieu qui prend 4 pamamètres : xA, yA, xB, yB
    xI prend la valeur ...
    yI prend la valeur ...
    retourner ...
Fin de la fonction milieu

Appeler la fonction ... avec les paramètres ...
Stocker les résultats dans les variables xI et yI
# Codage de l'algorithme en Python
# Remplacez les ... par ce qui va bien :)

def milieu(xA,yA,xB,yB):
    xI=...
    yI=...
    return ...

xI,yI=milieu(...)
(xI,yI)

Nous avons ainsi créé une fonction python. Cela nous permet d'enrichir le langage python avec nos propres commandes. Maintenant, notre langage préféré sais calculer des milieux !!

Validez les cellules ci-dessous pour vous en convaincre.

milieu(1,2,5,6)
milieu(2,3,4,5)

Tiens c'est bizarre, on dirait que c'est le même milieu. Vérifions avec Python !

Validez la cellule ci-dessous.

milieu(1,2,5,6)==milieu(2,3,4,5)

Remarquez la présence du symbole == pour tester l'égalité de deux objets. Il ne faut pas le confondre avec le symbole = qui permet d'affecter une valeur à une variable.

Complétez :

Soient A(1;...) B(...;...) C(5;...) D(...;...)

Les segments [AC] et [BD] ont même milieu donc le quadrilatère ... est un ...

Ecrire une nouvelle fonction

En vous aidant de la démarche précédente, complétez la définition d'une fonction estParallelogramme prenant en arguments les coordonnées de 4 points A, B, C et D puis retournant Vrai ou Faux selon que le quadrilatère ABCD est un parallélogramme ou pas.

Définir la fonction ... qui prend ... pamamètres : ...
    test prend la valeur ...
retourner ...
Fin de la fonction ...

Entrées :
    Saisir ...
Traitement :
    Appeler la fonction ... avec les paramètres ...
    Stocker le résultat dans la variable ...
Sortie :
    Afficher ...
# Codez à présent cette fonction dans cette cellule
# On vérifie que cela marche. La cellule doit afficher True
test=estParallelogramme(1,2,2,3,5,6,4,5)
print(test)

Application

Utiliser la fonction que l'on vient de définir pour dire si le quadrilatère ABCD est un parallélogramme :

$A\left(-2;2\right)$ $B\left(\dfrac 2 5;-\dfrac 6 5\right)$ $C\left(4;\dfrac 2 5\right)$ $D\left(\dfrac 9 5;3\right)$

# A vous de jouer

Oui mais je veux voir la figure !!

Pas de panique, validez la cellule ci-dessous et vous pourrez facilement afficher des points ou des segments dans Jupyter.

%pylab inline
## Pour cette section on définit deux fonctions 

def trace_point(P,nom=""):
    plot(P[0],P[1],"ro")
    text(P[0]-(P[1]-P[0])/6,P[1], nom, color='r')
def trace_segment(P,Q):
    plot([P[0],Q[0]],[P[1],Q[1]],"b")

tadaaaaa...

# et on définit si on souhaite l'échelle de notre repère
xlim(-5,5) # On met ici l'échelle sur l'axe des abscisses
ylim(-5,5) # et la l'adresse sur l'axe des ordonnées
grid()

A=(-2,2)
B=(2/5,-6/5)
C=(4,-1/5)
D=(8/5,3)
trace_point(A,"A")
trace_point(B,"B")
trace_point(C,"C")
trace_point(D,"D")
trace_segment(A,B)
trace_segment(B,C)
trace_segment(C,D)
trace_segment(D,A)

C'est génial Python, je le veux je le veux !!

Python est un langage libre, gratuit et multiplateforme. Il sest disponible sur Window$, Linux, mac, ainsi que sur smartphones et tablettes Apple ou Androhideux.

Pour télécharger Python, vous pouvez vous rendre sur le site officiel http://python.org et choisir la version 3.6.2, mais cela n'installera que l'environnement très basique IDLE.

Pour avoir Python dans l'environnement Jupyter que l'on vient d'utiliser, je recommande d'installer la distribution clé en main Anaconda

Je veux Python mais je ne veux/peux rien installer sur mon ordinateur

Pas de panique, il existe des environnements prêts à l'emploi disponible sur internet :

  • https://try.jupyter.org/ est un environnement jupyter complet prêt à l'emploi mais attention, les classeurs réalisés sur ce site sont temporaires, c'est à dire détruits à la déconnexion. Il faut donc bien penser à télécharger en local son travail avant de quitter...
  • https://repl.it/languages/python3 est un environnement entièrement en ligne du type IDLE donc console + éditeur de programme. Cela permet de tester rapidement un petit programme
  • http://pythontutor.com/ est un peu différent car il permet une exécution pas à pas des programme avec visualisation en temps réel du contenu des variables ce qui est un formidable outil pédagogique et de débuggage !