TP 4 d’algorithmique avec CaRMetal en Seconde

jeudi 12 novembre 2009
par  Alain BUSSER

Le sujet du TP était, pour une fois, court : Écrire un algorithme qui, à partir de la représentation graphique d’une fonction affine (une droite), donne son coefficient directeur et son ordonnée à l’origine.

Voici le sujet au format pdf :

PDF - 777.8 ko
le sujet du TP

Difficile de savoir comment le TP se serait déroulé : Il ne s’est pas déroulé, en raison d’un orage sérieux : 3 coupures de courant pendant la première heure, et absence totale de réseau pendant la deuxième heure...

Bilan : Un seul élève du premier groupe a réussi à obtenir le coefficient directeur, et au moment où il allait sauvegarder son travail en cliquant sur l’icône représentant une disquette, la foudre est tombée, provoquant une micro-coupure de courant, tout juste assez longue pour éteindre les ordinateurs... De mémoire son script ressemblait à ceci :

Le coefficient directeur est correct, mais si on bouge les points M et N, il ne le reste pas (il n’est pas actualisé).


Sans JavaScript

Pendant le week-end suivant (lorsque l’orage et les fortes pluies ont cessé), un autre élève a trouvé une autre manière d’implémenter l’algorithme, directement sous CaRMetal : Il a créé une expression a égale à :

(y(M)-y(N))/(x(M)-x(N))

et il a créé le point d’intersection P de la droite (MN) et de l’axe des ordonnées, puis dans la variable b, placé

y(P)

ce qui était inespéré [1] !

Voici son TP (la seule modification qui y a été apportée est un redimensionnement) :

Comme on le voit, le mouvement des points M et N met à jour les deux coefficients !


Corrigé du TP

Pour éviter d’avoir à écrire b=y(M)-a*x(M), on peut très bien créer le point d’intersection O de la droite d et de l’axe des ordonnées comme l’a fait l’élève dont le travail est publié ci-dessus (il faut juste que la grille soit visible).

Sur une figure comprenant les points M, N et O et la droite d, le script suivant évite le problème des données statiques :

Le script abuse des entrées-sorties : Il crée deux « expressions » dans le langage de CaRMetal et s’arrange pour qu’elles contiennent le coefficient directeur et l’ordonnée à l’origine. Puis (variables m et p), il récupère les valeurs de ces expressions (des nombres) et les affiche.

Lorsque l’utilisateur a fermé les deux boîtes de dialogue, la figure reste manipulable et les coefficients, affichés sans leurs noms, sont mis à jour.

Comme le montre le fichier de l’élève ci-dessus, il est somme toute plus simple de faire la manip directement sous CaRMetal [2]. On peut d’ailleurs faire encore plus simple avec un peu d’expertise de CaRMetal : L’instruction « x(M) » est décrite comme donnant l’abscisse de l’objet M et M n’est donc pas forcément un point : x(d) retourne un résultat numérique, mais qu’est-ce que l’abscisse d’une droite ? En fait c’est l’abscisse d’un vecteur directeur de la droite. Alors l’expression

y(d)/x(d)

donne le coefficient directeur. Enfin l’usage d’une formule LaTeX [3] permet d’afficher simultanément les deux variables numériques a et b (dès lors que leur nom est en sandwich entre deux symboles « pourcent ») :

La fonction affine représentée
est $x \mapsto %y(d)/x(d)%x+(%y(O)%)$

ce qui produit la figure suivante :

Il est d’ailleurs possible de créer une macro « équation réduite » à partir de ce fichier, à condition d’opérer sur deux points A et B liés à d, au lieu des points M et N qui ont servi à définir d.


Conclusions

Avant le déchaînement de Zeus, beaucoup d’élèves semblaient bloqués par la notion d’entrée-sortie, ce qui est surprenant compte-tenu du fait que tous avaient réussi le TP 2. On peut donc estimer que si l’apprentissage des entrées-sorties est très rapide, la notion mérite d’être révisée régulièrement pour pérenniser cet apprentissage.

La manière habituelle pour approfondir le cours sur les fonctions affines est la multiplication d’exercices (voir par exemple la version mathenpoche), ce qui approfondit (assez difficilement d’ailleurs) la connaissance déclarative des élèves sur la question. Ce genre de TP, qui appelle directement leur connaissance procédurale, présente un intérêt nouveau. La version AlgoBox peut être intéressante à tester en classe, même si l’entrée des données est plus pénible avec ce dernier outil. Par contre la programmation sur calculatrice pose problème si on compte autoriser la calculatrice lors du contrôle suivant...


[1] La manipulation attendue était le calcul de b=y-ax où (x ;y) sont les coordonnées d’un point de la droite

[2] sous GeoGebra, la manipulation est sans intérêt parce que les droites peuvent être affichées avec leur équation réduite.

[3] On ne rigole pas : Un des élèves de cette classe de Seconde a été surpris en train d’apprendre ce langage avec un fichier FreeMind...


Documents joints

le TP d'un élève
le TP d'un élève
corrigé sans JavaScript
corrigé sans JavaScript

Commentaires

Brèves

Hyper-vidéos pour l’algorithmique au lycée

dimanche 19 août 2012

Olivier Roizès, à la demande de l’ADIREM, a réalisé une collection d’hyper-vidéos de présentation de logiciels et environnements de programmation. Ces hyper-vidéos, c’est-à-dire des vidéos contenant des éléments clicables, devraient être utiles aux enseignants désireux de se familiariser avec Python, CaRMetal, R, Rurple, Scilab ou Xcas.

Ouverture du SILO

mardi 1er novembre 2011

Le SILO (Science Informatique au Lycée : Oui !) est un espace collaboratif documentaire de partage et de formation collégiale, à destination des professeurs appelés à enseigner l’informatique au lycée.

Une initiative du CNDP, de l’INRIA et de Pasc@line, à laquelle se sont associés SPECIF, fuscia, EPI et ePrep.

Sur le Web : Site du SILO

Introduction à la science informatique

lundi 12 septembre 2011

Le CRDP de Paris publie le premier ouvrage destiné aux professeurs chargés d’enseigner la nouvelle spécialité « Informatique et sciences du numérique » en Terminale S à la rentrée 2012. Cet ouvrage a été coordonné par Gilles Dowek, directeur de recherche à l’INRIA.

Sur la création de la spécialité ISN, on pourra également consulter l’interview donnée au Café pédagogique par l’inspecteur général Robert Cabanne.

Sur le Web : CRDP de Paris