| نوع فایل | APK |
|---|---|
| ناشر | Tomohide NANIWA |
| تاریخ انتشار | ۱۹ اکتبر ۲۰۱۹ |
| تاریخ اضافه شده | ۱۹ اکتبر ۲۰۱۹ |
| الزامات سیستم عامل | Android |
| الزامات | Requires Android |
| کل بارگیری ها | ۰ |
| قیمت | $1.00 |
شرح
Frtm (Forth Modoki) نرم افزاری است که زبان برنامه نویسی FORTH را شبیه سازی می کند. با این حال، هدف آن بازتولید FORTH سختگیرانه نیست. هیچ کامپایلری وجود ندارد، اما کلمات و ثابت های موجود در یک کلمه تعریف شده توسط کاربر زمانی که ثبت می شود تفسیر می شوند.
برخی جنبهها نیز برخلاف FORTH وجود دارد: frtm کلماتی برای دستکاری پشته بازگشتی ندارد، در حالی که frtm امکان تعریف بازگشتی کلمه را فراهم میکند.
Frtm همچنین از محاسبه اعداد واقعی پشتیبانی می کند. دارای توابع ریاضی مانند نمایی، ریشه مربع، توابع مثلثاتی، توابع هذلولی، عملیات بیتی. بنابراین frtm می تواند نرم افزار جایگزین ماشین حساب علمی باشد.
تفسیر عبارت مطابق با نماد لهستانی معکوس (RPN) انجام خواهد شد. Frtm دارای شاخه شرطی "if"، ساختار حلقه "do-while" و "for-loop" است. همچنین می توانید با ترکیب کلمه یک کلمه جدید بسازید.
در سیستم عامل اندروید، پیکربندی اندازه اولیه فرهنگ لغت و پشته، امکان ذخیره کلمه در فرهنگ لغت در "کتاب کلمه" اضافه شده است. تعداد «کتاب واژهها» به سه تا محدود میشود.
برای مشخصات دقیقتر زبان، لطفاً برای پشتیبانی به صفحه وب به زبان ژاپنی مراجعه کنید.
اگر میخواهید frtm را آزادانه آزمایش کنید، لطفاً نسخه اپلت جاوا frtm را در صفحه وب زیر امتحان کنید:
http://www.rbt.his.u-fukui.ac.jp/~naniwa/comp/frtma.html
*** نمونه هایی از کلمات ***
* میانگین دو عدد
: خیابان + 2.0/;
* میانگین N اعداد
: تعویض ناو بر روی 1 برای پوسیدگی + تعویض حلقه 1.0 */;
شبستان 2 4 6 8 10 5 . cr
0 1 2 3 4 5 6 7 8 9 10 شبستان SP . cr
* واریانس جمعیت N اعداد
: nvarp dup 1+ copy nave SP nrotr swap dup * بیش از 1 برای rot dup * + loop swap 1.0 */SP nrot dup * - ;
2 4 6 8 10 5 nvarp . cr
* واریانس بی طرفانه N اعداد
: nvar dup 1+ copy nave SP nrotr swap dup * بیش از 1 برای rot dup * + loop SP nrot dup * 3 ndup * - swap 1- 1.0 */;
2 4 6 8 10 5 nvar . cr
* بزرگترین مقسوم علیه مشترک 2 عدد
: gcd انجام مبادله بیش از % dup 0 > while drop ;
1001 819 gcd. cr
* فاکتوریل [واقعیت(1)=1، واقعیت(n)=n*واقعیت(n-1)]
** بازگشت
: factr dup 1=if other dup 1- factr * endif ;
10 عامل cr
** تکرار
: facti 1 swap 1+ 1 for I * loop ;
10 واقعیت cr
* دنباله فیبوناچی [fib(0)=0، fib(1)=1، fib(n)=fib(n-1) + fib(n-2)]
** بازگشت
: fib dup 0= if other dup 1=if other dup 1- fib swap 2 - fib + endif endif ;
30 فیب. cr
** تکرار
: fibi dup 0= if other 0 1 rot 1 for swap over + loop swap drop endif ;
30 فیبی . cr
* گرافیک
** مستطیل را پر کنید
: جعبه های 16 0 برای I setcol 10 20 I * + dup 100 100 recf loop ;
جعبه های گرم
: hls 16 0 برای I 45 * 2/50 100 setHLS 10 20 I * + dup 100 100 recf loop ;
gm hls
** ترسیم بازگشتی (منحنی کخ)
: قبل از 5 کپی رها ;
: genx 3 ndup 6 ndup - * منهای 100/تعویض 4 ndup 7 ndup - * 100/+ 5 ndup +
5 nrotr 4 قطره ;
: geny swap 3 ndup 6 ndup - * 100/swap 4 ndup 7 ndup - * 100/+ 4 ndup +
5 nrotr 4 قطره ;
: gen 6 copy genx 7 nrotr geny ;
: نگه داشتن 7 nrotr 7 nrotr pre ;
: پست 9 nrot 9 nrot 4 nrot 4 nrot 5 ndup 1- ;
: خط moveto lineto ;
: koch dup 0= if drop line other
pre 0 0 gen keep 33 0 gen post koch
pre 33 0 gen keep 50 -28 gen post koch
pre 50 -28 gen keep 66 0 gen post koch
pre 66 0 gen keep 100 0 gen post koch
5 قطره
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
** استفاده مستقیم از پایانه گرافیکی ReGIS مانند توالی فرار
گرم
(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').
// با استفاده از کلمه 'grdemo'، برخی از کلمات برای نمونه های گرافیکی در فرهنگ لغت ثبت می شوند.