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.

Documents joints

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

Articles publiés dans cette rubrique

dimanche 7 septembre 2014
par  Alain BUSSER

Questions de nature ontologique dans le cours de mathématiques

Réflexions sur des problèmes survenant en cours de mathématiques ou en activité d’algorithmique, et la remédiation ontologique qu’ils inspirent.

dimanche 23 juin 2013
par  Alain BUSSER

Algorithmique au bac 2013

Comment programmer les algorithmes du bac 2013 en MathsOntologie.

mardi 4 juin 2013
par  Alain BUSSER

Solveur d’objets géométriques en ligne

une webApp, portée depuis MathsOntologie vers JavaScript, utilisable en ligne

vendredi 28 décembre 2012
par  Alain BUSSER

Corrigé du sujet du brevet Amérique du Sud 2012

MathsOntologie permet de vérifier des conjectures, il ne reste alors plus qu’à les montrer !

mercredi 19 décembre 2012
par  Alain BUSSER

Géométrie repérée en MathsOntologie

Faire joujou avec les objets point et vecteur de MathsOntologie

mardi 18 décembre 2012
par  Alain BUSSER

Les fonctions en Smalltalk

Un bloc est une fonction kleenex de Smalltalk (on la jette dans le Garbage Collector quand on a fini de s’en servir). La syntaxe est concise mais peu naturelle.

dimanche 16 décembre 2012
par  Alain BUSSER

Problèmes de naissances, d’anniversaires et de Monty Hall

Quelques problèmes classiques de simulation, traités algorithmiquement.

dimanche 16 décembre 2012
par  Alain BUSSER

Simulation de variables binomiales

Avec des urnes, on peut simuler des variables aléatoires binomiales, en utilisant la définition originale de celles-ci

mercredi 12 décembre 2012
par  Alain BUSSER

Résolution algorithmique de problèmes du Rallye

Bonne illustration de la notion de boucles.

samedi 8 décembre 2012
par  Alain BUSSER

Un problème de probas pour les pros, bah !

Difficile à simuler de par sa nature, ce problème est aisément simulable avec MathsOntologie.