Ir para o conteúdo
FF

frtm for Android APK

Editor: Tomohide NANIWA
Android APK $1.00
Baixar 0 baixas
Tipo de arquivoAPK
Editor Tomohide NANIWA
Data de lançamento19 de out. de 2019
Data adicionada19 de out. de 2019
Os requisitosAndroid
RequisitosRequires Android
Total de downloads0
Preço$1.00

Descrição

Frtm (FoRTh Modoki) é um software que simula a linguagem de programação FORTH. No entanto, não se destina a reproduzir o FORTH estrito. Não há compilador, mas as palavras e as constantes em uma palavra definida pelo usuário são interpretadas quando ela é registrada.

Existem também alguns aspectos diferentes de FORTH: frtm não possui as palavras para manipular a pilha de retorno, enquanto frtm permite a definição recursiva da palavra.

Frtm também suporta o cálculo de números reais. Tem funções matemáticas como exponencial, raiz quadrada, funções trigonométricas, funções hiperbólicas, operações bit a bit. Então frtm pode ser o software alternativo da calculadora científica.

A interpretação da expressão será conduzida de acordo com a Notação Polonesa Reversa (RPN). Frtm tem ramificação condicional "if", estrutura para um loop "do-while" e "for-loop". Você também pode criar uma nova palavra combinando a palavra.

No sistema operacional Android, foram adicionadas a configuração do tamanho inicial do dicionário e da pilha, a capacidade de salvar a palavra no dicionário no "livro de palavras". O número de "livro de palavras" é limitado a até três.

Para uma especificação mais detalhada do idioma, consulte a página da Web em japonês para obter suporte.

Se você quiser testar o frtm livremente, tente a versão do applet Java do frtm na seguinte página da web:

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

*** EXEMPLOS de palavras ***

* Média de dois números

: média + 2,0/;

* Média de N números

: nave swap sobre 1 para rot + loop swap 1.0 */;

2 4 6 8 10 5 nave . cr

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

* Variação populacional de N números

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

2 4 6 8 10 5 nvarp . cr

* Variação imparcial de N números

: nvar dup 1+ copy 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 . cr

* Máximo divisor comum de 2 números

: gcd faz swap sobre % dup 0 > while drop ;

1001 819 gcd. cr

* Fatorial [fato(1)=1, fato(n)=n*fato(n-1)]

** Recursão

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

10 fato. cr

** Iteração

: facti 1 troca 1+ 1 por I * loop ;

10 fatos. cr

* Sequência de Fibonacci [fib(0)=0, fib(1)=1, fib(n)=fib(n-1) + fib(n-2)]

** Recursão

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

30 fib. cr

** Iteração

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

30 fíbi. cr

* Gráficos

** Retângulo de preenchimento

: caixas 16 0 para I setcol 10 20 I * + dup 100 100 retf loop ;

caixas de gm

: hls 16 0 para I 45 * 2/50 100 setHLS 10 20 I * + dup 100 100 retf loop ;

gm hls

** Desenho Recursivo (curva de Koch)

: queda pré 5 cópias ;

: genx 3 ndup 6 ndup - * menos 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 copy genx 7 nrotr geny ;

: mantenha 7 nrotr 7 nrotr pré ;

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

: linha move para linhato ;

: koch dup 0= se drop line else

pré 0 0 gen mantenha 33 0 gen post koch

pré 33 0 gen mantenha 50 -28 gen post koch

pré 50 -28 gen mantenha 66 0 gen post koch

pré 66 0 gen mantenha 100 0 gen post koch

5 ndrop

fim se ;

: 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

** Uso direto do terminal gráfico ReGIS como sequência de escape

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') .

// Usando a palavra 'grdemo', algumas palavras para exemplos de gráficos serão registradas no dicionário.

Programas semelhantes

Alternativas