« Programmation objet et géométrie/Programmation avec DrGeoII » : différence entre les versions

Contenu supprimé Contenu ajouté
DrGeoII est Dr. Geo
Ligne 1 :
Bien que [[w:DrGeoII|Dr. Geo II]] soit un logiciel de géométrie dynamique, le seul fait qu'il soit muni d'une console ''Smalltalk'' permet d'envisager son utilisation pour l'enseignement de l'algorithmique, dans le cadre de TP de programmation. Le principe de fonctionnement de la console est basée sur les éléments suivants:
 
#Le script ''Smalltalk'' qu'on a tapé dans la console fait partie intégrante de la figure, et est sauvegardé avec celle-ci.
Ligne 32 :
[[Fichier:Crystal Clear app Startup Wizard.png|right]]
 
Comme il faut bien que le programme produise quelque chose, ce sera la valeur finale de ''x'', que le script va sortir de son chapeau comme le ferait un magicien, et que l'on représente donc par un chapeau. Si on entre au clavier ''Control+S'' pour sauvegarder le script, l'absence de message d'erreur indique que le script est correct du point de vue de la syntaxe ''Smalltalk''. Mais pour en voir l'effet, il faut le lancer, ce qu'on fait depuis le menu de ''DrGeoIIDr. Geo'' (dernier item, celui avec les objets numériques). Là il suffit de cliquer n'importe où sur la figure pour y trouver l'affichage d'un ''16.0'' qui donne la réponse à la question.
 
==Entrées de données==
Ligne 53 :
==Mode pas-à-pas==
 
Pour comprendre pourquoi la valeur finale est 16, il faut un moyen d'afficher ligne après ligne le contenu de ''x''. Pour cela, ''DrGeoIIDr. Geo'' a un [[w:Débogueur|débogueur]] intégré, mais ''a priori'' inaccessible: Où dont-on cliquer pour invoquer celui-ci?
 
===Débogueur===
Ligne 107 :
[[Fichier:Inkscape paintbrush.svg|right]]
 
On va regarder comment ''DrGeoIIDr. Geo'' peut représenter graphiquement la fonction <math>x \mapsto \frac{x^3}{25}-x</math>. Pour éviter d'avoir à écrire trop souvent cette expression, on va définir un objet ''Smalltalk'' appelé ''fonction'' qu'on pourra donc appeler par la suite:
 
<source lang="smalltalk">
Ligne 115 :
==Représentation graphique point par point==
 
On crée une boucle sur ''x'' dans laquelle on va placer (créer) le point de coordonnées <math>\left(x;\frac{x^3}{25}-x\right)</math>. Pour cela, on va automatiser complètement la création de la représentation graphique, et créer la figure ''DrGeoIIDr. Geo'' avec, elle s'appellera ''figure''. Ceci ne se fait pas dans une figure existante (puisqu'on veut la créer!) mais sur le bureau de [[w:Squeak|Squeak]]. Une fois ce bureau vide, on entre ''Control+K'' pour ouvrir un éditeur de texte (''worKplace''). Après avoir défini la fonction comme ci-dessus, on crée une figure ''DrGeoIIDr. Geo'' avec la méthode ''new'' de ''DrGeoCanvas''. Puis dans une boucle allant de -5 à 5 par pas de 0,4 et dont l'indice s'appelle ''x'', on crée le point ''p'' de coordonnées ''x'' et la valeur que prend ''fonction'' en ''x'':
 
<source lang="smalltalk">
Ligne 312 :
</source>
 
Le tableau est alors vide, mais il contient 12 places où placer les effectifs. Pour que ''DrGeoIIDr. Geo'' sache que ce sont des entiers, on va les initialiser à 0:
 
<source lang="smalltalk">
Ligne 399 :
=Suites=
 
La [[w:Suite logistique|suite logistique]] définie par <math>u_{n+1}=4u_n \left(1 - u_n \right)</math> est chaotique. Pour le vérifier, on peut la représenter graphiquement avec ''DrGeoIIDr. Geo'' :
 
<source lang="smalltalk">