| Type de fichier | APK |
|---|---|
| Éditeur | Tomohide NANIWA |
| Date de sortie | 19 oct. 2019 |
| Date ajoutée | 19 oct. 2019 |
| Exigences OS | Android |
| Exigences | Requires Android |
| Total téléchargements | 0 |
| Prix | $1.00 |
La description
Frtm (FoRTh Modoki) est un logiciel qui simule le langage de programmation FORTH. Cependant il n'est pas prévu de reproduire le FORTH strict. Il n'y a pas de compilateur, mais les mots et les constantes d'un mot défini par l'utilisateur sont interprétés lors de son enregistrement.
Il y a aussi certains aspects contrairement à FORTH : frtm n'a pas les mots pour manipuler la pile de retour, alors que frtm permet la définition récursive du mot.
Frtm prend également en charge le calcul des nombres réels. Il a des fonctions mathématiques comme les exponentielles, les racines carrées, les fonctions trigonométriques, les fonctions hyperboliques, les opérations au niveau du bit. Ainsi frtm peut être le logiciel alternatif de la calculatrice scientifique.
L'interprétation de l'expression sera effectuée conformément à la notation polonaise inversée (RPN). Frtm a une branche conditionnelle "if", une structure pour une boucle "do-while" et "for-loop". Vous pouvez également créer un nouveau mot en combinant le mot.
Sur l'OS Android, la configuration de la taille initiale du dictionnaire et de la pile, la possibilité d'enregistrer le mot du dictionnaire dans le "livre de mots" ont été ajoutées. Le nombre de « livre de mots » est limité à trois.
Pour une spécification plus détaillée de la langue, veuillez vous référer à la page Web en japonais pour l'assistance.
Si vous souhaitez tester frtm librement, veuillez essayer la version applet Java de frtm sur la page Web suivante :
http://www.rbt.his.u-fukui.ac.jp/~naniwa/comp/frtma.html
*** EXEMPLES de mots ***
* Moyenne de deux nombres
: moyenne + 2,0/;
* Moyenne de N nombres
: nave swap over 1 for rot + loop swap 1.0 */;
2 4 6 8 10 5 nef . cr
0 1 2 3 4 5 6 7 8 9 10 SP nef . cr
* Variance de la population de N nombres
: nvarp dup 1+ copie nave SP nrotr swap dup * sur 1 pour rot dup * + loop swap 1.0 */SP nrot dup * - ;
2 4 6 8 10 5 nvarp . cr
* Variance impartiale des nombres N
: nvar dup 1+ copie nave SP nrotr swap dup * sur 1 pour rot dup * + loop SP nrot dup * 3 ndup * - swap 1- 1.0 */;
2 4 6 8 10 5 nvar . cr
* Plus grand commun diviseur de 2 nombres
: pgcd échange sur % dup 0 > while drop ;
1001 819 pgcd . cr
* Factorielle [fact(1)=1, fact(n)=n*fact(n-1)]
** Récursivité
: factr dup 1=if else dup 1- factr * endif ;
10 facteurs. cr
** Itération
: facti 1 swap 1+ 1 for I * boucle ;
10 faits . cr
* Suite de Fibonacci [fib(0)=0, fib(1)=1, fib(n)=fib(n-1) + fib(n-2)]
** Récursivité
: fib dup 0= si sinon dup 1=si sinon dup 1- fib swap 2 - fib + endif endif ;
30 fibres. cr
** Itération
: fibi dup 0= if else 0 1 rot 1 for swap over + loop swap drop endif ;
30 fibi . cr
* Graphiques
** Rectangle de remplissage
: cases 16 0 pour I setcol 10 20 I * + dup 100 100 boucle rectf ;
gm boîtes
: hls 16 0 pour I 45 * 2/50 100 setHLS 10 20 I * + dup 100 100 boucle rectf ;
gm hls
** Dessin récursif (courbe de Koch)
: avant 5 copie drop ;
: genx 3 ndup 6 ndup - * moins 100/swap 4 ndup 7 ndup - * 100/+ 5 ndup +
5 nrotr 4 ndrop ;
: geny swap 3 ndup 6 ndup - * 100/swap 4 ndup 7 ndup - * 100/+ 4 ndup +
5 nrotr 4 ndrop ;
: gen 6 copie genx 7 nrotr geny ;
: garder 7 nrotr 7 nrotr pre ;
: post 9 nrot 9 nrot 4 nrot 4 nrot 5 ndup 1- ;
: ligne déplacer vers ligne vers ;
: koch dup 0= si drop line else
pré 0 0 gen garder 33 0 gen post koch
pré 33 0 gen garder 50 -28 gen post koch
pré 50 -28 gen garder 66 0 gen post koch
pré 66 0 gen garder 100 0 gen post koch
5 gouttes
fin si ;
: kochs 10 setcol 89 440 551 440 4 kochs
11 setcol 551 440 320 40 4 koch
12 setcol 320 40 89 440 4 koch ;
GM Kochs
** Utilisation directe du terminal graphique ReGIS comme séquence d'échappement
GM
(W(I15)P[50,50]C(S)[][+40,+40][+40,-40][+40,+40][+40,-40][+40,+ 40][+40,-40][](E)) .
(W(I12)P[50,150]F(C(B)[200,+200][+200,-150](E))) .
(W(I11)P[70,170]T(S16)[16,12]'Hello World') .
// En utilisant le mot 'grdemo', certains mots pour des exemples de graphiques seront enregistrés dans le dictionnaire.