Jäta vahele ja mine sisule
FF

frtm for Android APK

Kirjastaja: Tomohide NANIWA
Android APK $1.00
Lae alla 0 allalaadimisi
FailitüüpAPK
Kirjastaja Tomohide NANIWA
Väljalaske kuupäev19. okt 2019
Kuupäev lisatud19. okt 2019
Os nõudedAndroid
NõudedRequires Android
Allalaadimisi kokku0
Hind$1.00

Kirjeldus

Frtm (FoRTh Modoki) on tarkvara, mis simuleerib programmeerimiskeelt FORTH. Selle eesmärk ei ole aga reprodutseerida ranget FORTH-i. Kompilaatorit pole, kuid kasutaja määratud sõnas olevaid sõnu ja konstandeid tõlgendatakse selle registreerimisel.

Erinevalt FORTH-ist on ka mõned aspektid: frtm-il pole sõnu tagastuspinu manipuleerimiseks, samas kui frtm võimaldab sõna rekursiivset määratlust.

Frtm toetab ka reaalarvude arvutamist. Sellel on matemaatilised funktsioonid, nagu eksponentsiaalne, ruutjuur, trigonomeetrilised funktsioonid, hüperboolfunktsioonid, bitipõhised toimingud. Seega võib frtm olla teadusliku kalkulaatori alternatiivne tarkvara.

Väljendi tõlgendamine toimub vastavalt vastupidise poola tähisele (RPN). Frtm-il on tingimuslik haru "if", tsükli struktuur "do-while" ja "for-loop". Sõna kombineerides saate luua ka uue sõna.

Android OS-ile on lisatud sõnastiku ja virna algsuuruse konfiguratsioon, võimalus salvestada sõnastikus olev sõna "sõnaraamatusse". "Sõnaraamatute" arv on piiratud kuni kolmega.

Keele üksikasjalikuma spetsifikatsiooni saamiseks vaadake jaapanikeelset veebilehte.

Kui soovite frtm-i vabalt testida, proovige frtm Java-apleti versiooni järgmisel veebilehel:

http://www.rbt.his.u-fukui.ac.jp/~naniwa/comp/frtma.html

*** NÄITEID sõnadest ***

* Kahe numbri keskmine

: ave + 2,0/;

* N numbri keskmine

: nave vahetus üle 1 mäda vastu + silmusvahetus 1,0 */;

2 4 6 8 10 5 nave . kr

0 1 2 3 4 5 6 7 8 9 10 SP nave . kr

* N arvu populatsiooni dispersioon

: nvarp dup 1+ koopia nave SP nrotr swap dup * over 1 for rot dup * + loop swap 1.0 */SP nrot dup * - ;

2 4 6 8 10 5 nvarp . kr

* N arvu erapooletu dispersioon

: nvar dup 1+ koopia nave SP nrotr swap dup * over 1 for rot dup * + loop SP nrot dup * 3 ndup * - swap 1- 1.0 */;

2 4 6 8 10 5 nvar . kr

* Kahe arvu suurim ühisjagaja

: gcd vahetab üle % dup 0 > while drop ;

1001 819 gcd . kr

* Faktoriaalne [fakt(1)=1, fakt(n)=n*fakt(n-1)]

** Rekursioon

: factr dup 1=if else dup 1- factr * endif ;

10 fakti. kr

** Iteratsioon

: facti 1 vaheta 1+ 1 I * tsükli vastu ;

10 fakti. kr

* Fibonacci jada [fib(0)=0, fib(1)=1, fib(n)=fib(n-1) + fib(n-2)]

** Rekursioon

: fib dup 0= if else dup 1=if else dup 1- fib swap 2 - fib + endif endif ;

30 fib. kr

** Iteratsioon

: fibi dup 0= if else 0 1 rot 1 for swap over + loop swap drop endif ;

30 fibi. kr

* Graafika

** Täida ristkülik

: kastid 16 0 for I setcol 10 20 I * + dup 100 100 rectf loop ;

gm karbid

: hls 16 0 I 45 * 2/50 100 komplektHLS 10 20 I * + dup 100 100 rectf loop ;

gm hls

** Rekursiivne joonis (Kochi kõver)

: enne 5 koopiat tilk ;

: genx 3 ndup 6 ndup - * miinus 100/vahetus 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 koopia genx 7 nrotr geny ;

: hoida 7 nrotr 7 nrotr ette ;

: post 9 nrot 9 nrot 4 nrot 4 nrot 5 ndup 1- ;

: rida moveto lineto ;

: koch dup 0= if drop line else

pre 0 0 gen hoida 33 0 gen post koch

pre 33 0 gen hoida 50 -28 gen post koch

pre 50 -28 gen hoida 66 0 gen post koch

pre 66 0 gen hoida 100 0 gen post koch

5 tilka

endif ;

: kochs 10 setcol 89 440 551 440 4 koch

11 komplekti 551 440 320 40 4 koch

12 setcol 320 40 89 440 4 koch ;

gm kochs

** ReGIS-i graafikaterminali otsene kasutamine nagu paojärjestus

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]"Tere maailm") .

// Kasutades sõna 'grdemo', registreeritakse sõnaraamatusse mõned graafikanäidete sõnad.

Sarnased programmid

Alternatiivid