Smalltalk en français pour les mathématiques

Pour programmer en MathsOntologie, il faut ... écrire un programme dans la fenêtre qui est réservée à cet effet, et qui s’appelle Workspace. L’affichage des résultats des calculs se fait dans une autre fenêtre spéciale, appelée Transcript. Ainsi

  • Transcript montre: (2+2) affiche 4 dans le transcript.
  • Transcript affiche: (2+2) fait de même mais après être allé à la ligne.
  • Transcript efface vide tout le transcript.

Le nécessaire pour commencer

  • L’affectation se note avec un double-point suivi d’un « égal ». Ainsi, « x prend 2 » s’écrit x := 2.
  • Chaque instruction se termine par un point.
  • Les variables doivent être déclarées au début du script, entre traits verticaux (AltGr et 6). Les variables sont séparées par des espaces, et il n’est pas nécessaire de dire de quel type elles sont (MathsOntologie est dynamiquement typé).
  • Pour effectuer un test, on écrit d’abord l’énoncé du test, puis siVrai : suivi par l’instruction à effectuer ... si le test est vrai !
  • Pour boucler sur un indice, on applique fais : à la liste des valeurs successives des indices, laquelle s’écrit (valeurInitiale jusque : valeurFinale). Dans ce cas, l’indice est une variable locale qui n’a pas à être déclarée au début du script, mais après le « fais » : Ici la variable s’appelle « indice » et son nom est précédé d’un double-point pour la déclarer au début de la boucle :
(1 jusque: 10) fais: [ :indice |
        Transcript affiche: (indice enChiffresRomains).
        ].

Un exemple synthétique est la suite de Collatz :

Quelques raccourcis clavier

  • Pour évaluer une expression, on peut faire un clic droit et choisir « Do it ! » ; alternativement, Alt+D fait l’affaire ;
  • Pour évaluer un script, on fait Alt+D après avoir sélectionné tout le script (y compris les déclarations de variables) à la souris. Le raccourci clavier correspondant est Alt+A (comme « all »), suivi de Alt+D évidemment.
  • Pour savoir, en plus de la valeur d’une variable, son type, on peut faire Alt+I (comme « inspecter ») sur la variable.
  • Pour afficher le contenu d« une variable, Alt+P (comme »print") est très pratique...

Exemples d’algorithmes décrits en MathsOntologie :

Cette année, Jean-Marc a placé 800 € à 2,5 % d’intérêts composés par an. En quelle année son capital aura-t-il doublé (c’est-à-dire passé à 1600 €) ?

Écrire un algorithme de résolution des équations du second degré, acceptant en entrée les trois coefficients a, b et c de l’équation, et retournant l’ensemble des solutions de ax²+bx+c=0.

Ici l’algorithme est une fonction secondegré ayant trois antécédents (a, b et c) numériques et pour image l’ensemble des solutions, qui est vide ou non selon le signe du discriminant :

delta et S sont des variables locales (temporaires). L’exécution du script montre que l’équation x²-5x+6=0 a deux solutions qui sont 2 et 3.

Les exemples fournis avec le logiciel

Comme MathsOntologie est un dialecte de Smalltalk, l’extension des fichiers est st. Ceux qui se trouvent dans le dossier exemple sont des exemples MathsOntologie. On peut les ouvrir depuis MathsOntologie en cliquant sur une zone vide :

L’outil à lancer est le « file browser » qui est un navigateur de fichiers ; on navigue alors vers le dossier « exemples » :

Par exemple, si on veut ouvrir le fichier Barnsley.st, on le sélectionne en cliquant dessus :

Comme c’est un script complet, on a juste à cliquer sur « File In » en haut à droite pour le lancer ; ce qui dessine alors une fougère de Barnsley :


Le logiciel est téléchargeable ici. Après l’avoir dézippé, il suffit

  • sous Windows, de lancer le logiciel Pharo.exe
  • sous Linux, de lancer la commande MathsOntologie.sh
  • sous Mac, de faire glisser l’application dans le dossier des applications.

Note : le lien vers Dropbox ne fonctionne plus depuis que Dropbox a changé de politique commerciale. On peut donc télécharger Pharo 1.4 en suivant ce lien puis ajouter dans le dossier de la distribution les fichiers ci-dessous (à mettre dans Resources) :

Sous Linux on peut aussi essayer ce lanceur :


Documents joints

référence_MathsOntologie.pdf
document de référence

Articles publiés dans cette rubrique

samedi 17 novembre 2012
par  Alain BUSSER

Modèles d’urnes de Condorcet, Ehrenfest et Polya

Simulation de tirages au hasard avec des variantes : On remet la boule dans l’urne ou pas, on la déménage dans une autre urne, on la duplique...

jeudi 15 novembre 2012
par  Alain BUSSER

Nombres premiers entre eux : Une exploration algorithmique

Les notions de « plus grand » diviseur commun et de nombres premiers entre eux, se découvrent spontanément avec des algorithmes qui explorent plusieurs possibilités d’un coup.