« Programmation objet et géométrie/SmallTalk par l'exemple » : différence entre les versions
Contenu supprimé Contenu ajouté
mAucun résumé des modifications |
m orthographe de Smalltalk |
||
Ligne 1 :
[[Image:Stethoscope-2.jpg|right]]
Le logiciel [[w:DrGeoII|Dr. Geo II]] illustre la notion de [[w:Récursivité|récursivité]] par l'exemple: Écrit en [[w:SmallTalk|
Pour consulter le code source de ''DrGeoII'' depuis ''DrGeoII'', on clique depuis une figure DrGeoII sur ''modifer un script'' et là, on clique sur ''Browse''. Il ne reste alors plus qu'à surfer...
Ligne 40 :
</source>
La syntaxe est donnée sur la première ligne, et est à lire ''pgcd avec t1''. Les traits verticaux de la deuxième ligne encadrent la liste des variables, il y en a donc 2 ici. Elles sont initialisées avec les deux entiers (''1/>self'' et ''t1'') dont on veut le pgcd, puis on lance un test de nullité sur ''t2''. Tant que ce test échoue (c'est-à-dire tant que ''t2'' n'est pas nul), on remplace ''t2'' par le reste euclidien et ''t3'' par ''t2''. Puis (c'est-à-dire quand le test de nullité sur ''t2'' réussit) on renvoie la valeur absolue de ''t3''. On voit donc que
===Conversion en fraction===
Ligne 60 :
====Simplification====
Pour simplifier une fraction,
<source lang="smalltalk">
Ligne 135 :
=Géométrie analytique=
En ''
==Points==
Ligne 171 :
===Distance===
Pour calculer la distance entre le point courant et un autre point ''t1'', DrGeo a besoin de deux autres variables ''t2'' et ''t3'', où sont stockées respectivement la différence des abscisses et la différence des ordonnées. La fonction retourne la racine carrée de la somme de leurs produits par eux-mêmes (à lire de droite à gauche; on notera que ''
<source lang="smalltalk">
Ligne 242 :
</source>
L'esprit de ''
==Droites==
|