Peršokti į turinį
FF

frtm for Android APK

Leidėjas: Tomohide NANIWA
Android APK $1.00
parsisiųsti 0 atsisiuntimai
Failo tipasAPK
Leidėjas Tomohide NANIWA
Išleidimo data2019-10-19
Data pridėta2019-10-19
OS reikalavimaiAndroid
ReikalavimaiRequires Android
Iš viso atsisiuntimų0
Kaina$1.00

apibūdinimas

Frtm (FoRTh Modoki) yra programinė įranga, imituojanti programavimo kalbą FORTH. Tačiau tai nėra skirta atkurti griežtą FORTH. Kompiliatoriaus nėra, tačiau vartotojo apibrėžto žodžio žodžiai ir konstantos yra interpretuojamos jį užregistravus.

Taip pat yra keletas aspektų, skirtingai nei FORTH: frtm neturi žodžių manipuliuoti grąžinimo krūva, o frtm leidžia rekursyviai apibrėžti žodį.

Frtm taip pat palaiko realių skaičių skaičiavimą. Jis turi matematines funkcijas, tokias kaip eksponentinė, kvadratinė šaknis, trigonometrinės funkcijos, hiperbolinės funkcijos, bitinės operacijos. Taigi frtm gali būti alternatyvi mokslinio skaičiuotuvo programinė įranga.

Posakis bus interpretuojamas pagal atvirkštinį lenkų žymėjimą (RPN). Frtm turi sąlyginę šaką „if“, ciklo struktūrą „do-while“ ir „for-loop“. Taip pat galite sukurti naują žodį sujungdami žodį.

„Android“ OS buvo pridėta pradinio žodyno dydžio ir krūvos konfigūracija, galimybė įrašyti žodį žodyne „žodžių knygoje“. „Žodžių knygos“ skaičius ribojamas iki trijų.

Išsamesnės kalbos specifikacijos ieškokite tinklalapyje japonų kalba.

Jei norite laisvai išbandyti frtm, išbandykite frtm Java programėlės versiją šiame tinklalapyje:

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

*** Žodžių PAVYZDŽIAI ***

* Dviejų skaičių vidurkis

: ave + 2,0/;

* N skaičių vidurkis

: navos keitimas per 1 į puvimą + kilpos keitimas 1,0 */;

2 4 6 8 10 5 nava . kr

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

* N skaičių populiacijos dispersija

: nvarp dup 1+ kopija 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

* Nešališka N skaičių dispersija

: nvar dup 1+ kopija 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

* Didžiausias bendras 2 skaičių daliklis

: gcd pakeisti % dup 0 > while drop ;

1001 819 gcd . kr

* Faktinis [faktas (1)=1, faktas (n)=n * faktas (n-1)]

** Rekursija

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

10 faktų. kr

** Iteracija

: facti 1 keitimas 1+ 1 į I * kilpą ;

10 faktai. kr

* Fibonačio seka [fib (0)=0, fib (1)=1, fib (n)=fib (n-1) + fib (n-2)]

** Rekursija

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

30 fib. kr

** Iteracija

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

30 fibi. kr

* Grafika

** Užpildykite stačiakampį

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

gm dėžutės

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

gm hls

** Rekursyvus piešimas (Koch kreivė)

: prieš 5 kopiją lašas ;

: genx 3 ndup 6 ndup - * minus 100/sukeisti 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 kopija genx 7 nrotr geny ;

: laikyti 7 nrotr 7 nrotr pre ;

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

: line moveto lineto ;

: koch dup 0= jei nuleidimo linija kita

iki 0 0 gen laikyti 33 0 gen post koch

iki 33 0 gen laikyti 50 -28 gen post koch

iki 50 -28 gen laikyti 66 0 gen post koch

iki 66 0 gen laikyti 100 0 gen post koch

5 lašas

endif ;

: kochs 10 setcol 89 440 551 440 4 koch

11 setcol 551 440 320 40 4 koch

12 setcol 320 40 89 440 4 koch ;

gm kochs

** Tiesioginis ReGIS grafikos terminalo naudojimas, pavyzdžiui, pabėgimo seka

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]„Sveikas pasaulis“) .

// Naudojant žodį 'grdemo', kai kurie grafikos pavyzdžių žodžiai bus užregistruoti žodyne.

Panašios programos

Alternatyvos