| ประเภทไฟล์ | APK |
|---|---|
| สำนักพิมพ์ | Tomohide NANIWA |
| วันที่วางจำหน่าย | 19 ต.ค. 2019 |
| วันที่เพิ่ม | 19 ต.ค. 2019 |
| ข้อกำหนดระบบปฏิบัติการ | Android |
| ข้อกำหนด | Requires Android |
| ดาวน์โหลดทั้งหมด | 0 |
| ราคา | $1.00 |
คำอธิบาย
Frtm (FoRTh Modoki) เป็นซอฟต์แวร์ที่จำลองภาษาการเขียนโปรแกรม FORTH อย่างไรก็ตาม ไม่ได้มีจุดประสงค์เพื่อทำซ้ำ FORTH ที่เข้มงวด ไม่มีคอมไพเลอร์ แต่คำและค่าคงที่ในคำที่กำหนดโดยผู้ใช้จะถูกตีความเมื่อลงทะเบียน
นอกจากนี้ยังมีบางแง่มุมที่แตกต่างจาก FORTH: frtm ไม่มีคำสำหรับจัดการ return stack ในขณะที่ frtm อนุญาตให้ใช้คำจำกัดความแบบเรียกซ้ำของคำ
Frtm ยังรองรับการคำนวณจำนวนจริง มันมีฟังก์ชันทางคณิตศาสตร์ เช่น เลขชี้กำลัง รากที่สอง ฟังก์ชันตรีโกณมิติ ฟังก์ชันไฮเปอร์โบลิก การดำเนินการระดับบิต ดังนั้น frtm สามารถเป็นซอฟต์แวร์ทางเลือกของเครื่องคิดเลขวิทยาศาสตร์ได้
การตีความนิพจน์จะดำเนินการตาม Reverse Polish Notation (RPN) Frtm มีสาขาแบบมีเงื่อนไข "if" โครงสร้างสำหรับลูป "do-while" และ "for-loop" คุณยังสามารถสร้างคำใหม่ได้โดยการรวมคำนั้นเข้าด้วยกัน
บนระบบปฏิบัติการ Android มีการเพิ่มการกำหนดค่าขนาดเริ่มต้นของพจนานุกรมและสแต็ก ความสามารถในการบันทึกคำในพจนานุกรมลงใน "หนังสือคำศัพท์" จำนวน "หนังสือคำ" จำกัดไม่เกินสาม
สำหรับรายละเอียดเพิ่มเติมของภาษา โปรดดูที่เว็บเพจในภาษาญี่ปุ่นสำหรับการสนับสนุน
หากคุณต้องการทดสอบ frtm อย่างอิสระ โปรดลองใช้ frtm เวอร์ชัน Java applet ที่หน้าเว็บต่อไปนี้:
http://www.rbt.his.u-fukui.ac.jp/~naniwa/comp/frtma.html
*** ตัวอย่างคำศัพท์ ***
* ค่าเฉลี่ยของตัวเลขสองตัว
: ave + 2.0/;
* ค่าเฉลี่ยของตัวเลข N
: nave swap มากกว่า 1 สำหรับ rot + loop swap 1.0 */;
2 4 6 8 10 5 โบสถ์ . cr
0 1 2 3 4 5 6 7 8 9 10 SP nave cr
* ความแปรปรวนของประชากรของตัวเลข N
: nvarp dup 1+ คัดลอก nave SP nrotr swap dup * มากกว่า 1 สำหรับ rot dup * + loop swap 1.0 */SP nrot dup * - ;
2 4 6 8 10 5 น. cr
* ความแปรปรวนที่ไม่เอนเอียงของตัวเลข N
: nvar dup 1+ คัดลอก nave SP nrotr swap dup * มากกว่า 1 สำหรับ rot dup * + วน SP nrot dup * 3 ndup * - swap 1- 1.0 */;
2 4 6 8 10 5 วัน cr
* ตัวหารร่วมมากสุดของตัวเลข 2 ตัว
: gcd ทำการสลับมากกว่า % dup 0 > while drop ;
1001 819 ก.ก. cr
* แฟกทอเรียล [fact(1)=1, fact(n)=n*fact(n-1)]
** การเรียกซ้ำ
: factr dup 1=if else dup 1- factr * endif ;
10 ปัจจัย cr
** วนซ้ำ
: facti 1 สลับ 1+ 1 สำหรับ I * loop ;
10 ข้อเท็จจริง. cr
* ลำดับฟีโบนักชี [fib(0)=0, fib(1)=1, fib(n)=fib(n-1) + fib(n-2)]
** การเรียกซ้ำ
: fib dup 0= if else dup 1=if else dup 1- fib swap 2 - fib + endif endif ;
30 เฟบ cr
** วนซ้ำ
: fibi dup 0= ถ้าอย่างอื่น 0 1 rot 1 สำหรับ swap over + loop swap drop endif ;
30 ฟีบี้ . cr
* กราฟิก
** เติมสี่เหลี่ยม
: กล่อง 16 0 สำหรับฉัน setcol 10 20 I * + ซ้ำ 100 100 rectf loop ;
กล่องกรัม
: hls 16 0 for I 45 * 2/50 100 setHLS 10 20 I * + ซ้ำ 100 100 rectf loop ;
gm hls
** Recursive Drawing (โค้งโคช)
: ก่อน 5 คัดลอกวาง ;
: genx 3 ndup 6 ndup - * ลบ 100/swap 4 ndup 7 ndup - * 100/+ 5 ndup +
5 น. 4 น. ;
: geny swap 3 ndup 6 ndup - * 100/สลับ 4 ndup 7 ndup - * 100/+ 4 ndup +
5 น. 4 น. ;
: รุ่นที่ 6 สำเนา genx 7 nrotr geny ;
: เก็บ 7 nrotr 7 nrotr ล่วงหน้า ;
: โพสต์ 9 nrot 9 nrot 4 nrot 4 nrot 5 ndup 1- ;
: line moveto lineto ;
: koch dup 0= ถ้า drop line else
ก่อน 0 0 gen เก็บ 33 0 gen post koch
ก่อน 33 0 gen เก็บ 50 -28 gen post koch
ก่อน 50 -28 gen เก็บ 66 0 gen post koch
ก่อน 66 0 gen เก็บ 100 0 gen post koch
5 ndrop
สิ้นสุด ;
: kochs 10 setcol 89 440 551 440 4 koch
11 setcol 551 440 320 40 4 กล่อง
12 เซ็ตคอล 320 40 89 440 4 โคช ;
gm kochs
** การใช้เทอร์มินัลกราฟิก ReGIS โดยตรงเช่นลำดับการหลบหนี
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]'สวัสดีชาวโลก')
// โดยใช้คำว่า 'grdemo' คำบางคำสำหรับตัวอย่างกราฟิกจะถูกลงทะเบียนในพจนานุกรม