Journées de l'APMEP - atelier du dimanche 21/10 8h30 à 10h : programmation et géométrie dynamique avec Scratch, CaRMetal et DGPad

carmetal2 sera représenté aux Journées de l'APMEP de Bordeaux 2018.

A prévoir (si possible)

  • Ordinateur portable avec CaRMetal 4.2.8 installé.
  • Si ordinateur portable Mac ou Linux, disposer d'une version installée de DGPad.
  • tablette (si pas de portable ou par préférence de l'utilisateur pour utiliser DGPad)

Cela dit, tout pourra être fait sur place si nécessaire. Les participants peuvent se contenter d'apporter un ordinateur portable.

Pitch de l'atelier

On a volontairement choisi des exemples simples.
En faire peu, mais le faire bien.

On appelle ici « programmation dynamique » une programmation qui intègre des éléments dynamiques et maintient des liaisons dynamiques (autrement dit dans le même sens que dans l'expression géométrie dynamique).
La programmation dynamique est un enjeu important de la programmation dans le cadre d’un espace de géométrie dynamique : le plus souvent on souhaite maintenir des liaisons dynamiques dans les objets construits par script (et le logiciel le permet).

Intérêts de la programmation dynamique

La programmation dans le cadre d’un espace de géométrie dynamique permet d’automatiser des taches de géométrie dynamique et d’obtenir des constructions complexes : on exploite le potentiel de la programmation dans le domaine de la géométrie dynamique.
Inversement (et simultanément) on exploite le potentiel de la géométrie dynamique pour développer des compétences de programmation : on travaille dans un espace familier de géométrie avec un retour visuel qui peut valider le programme.

Outils

Quand on programme dans le cadre d’un espace de géométrie dynamique on utilise un langage de programmation (typiquement Javascript ou Python) enrichi d’instructions de l’espace de géométrie dynamique utilisé.
Dans certains logiciels, une instruction particulière permet de traduire toute macro (outil personnalisé) en une instruction utilisable dans un script.
Dans certains logiciels (CaRMetal et DGPad), on dispose d’une tortue dynamique et on peut utiliser des instructions tortue dans les scripts.

TP à réaliser

1) programmation dynamique des racines d'une équation de degré 2

Présentation de l'algorithme (non dynamique) avec CaRMetal
Présentation d'une solution dynamique via l'interface
Présentation d'une solution dynamique par script
Présentation du problème du nommage
en autonomie : programmation dynamique de la somme et du produit des racines (avec nommage par le logiciel).

La surcouche Blockly : programmation dynamique des solutions avec DGPad.

Comment le faire avec Scratch?

2) Programmation dynamique de la suite définie par récurrence : \(u_{n+1} = p u_n^2 + q\), avec \(p\) et \(q\) des paramètres réels.

avec CaRMetal
avec DGPad

3) Programmation dynamique d'une spirale d'or 

Programmation non dynamique avec Scratch
Programmation dynamique avec une macro (CaRMetal)

Programmation dynamique avec la tortue dynamique (DGPad)

Pièces jointes :

apmep-atelier-progD.pdf