דלג לתוכן
FF

frtm for Android APK

מוֹצִיא לָאוֹר: Tomohide NANIWA
Android APK $1.00
הורד 0 הורדות
סוג קובץAPK
מוֹצִיא לָאוֹר Tomohide NANIWA
תאריך הוצאה19 באוק׳ 2019
תאריך הוסף19 באוק׳ 2019
דרישות OsAndroid
דרישותRequires Android
סה"כ הורדות0
מחיר$1.00

תיאור

Frtm (FoRth Modoki) היא תוכנה המדמה את שפת התכנות FORTH. עם זאת, זה לא נועד לשחזר את FORTH המחמיר. אין מהדר, אבל המילים והקבועים במילה המוגדרת על ידי משתמש מתפרשים כשהיא נרשמה.

יש גם כמה היבטים שלא כמו FORTH: ל-frtm אין את המילים לתפעל את מחסנית ההחזרה, בעוד ש-frtm מאפשר את ההגדרה הרקורסיבית של המילה.

Frtm תומך גם בחישוב של מספרים ממשיים. יש לו פונקציות מתמטיות כמו אקספוננציאלי, שורש ריבועי, פונקציות טריגונומטריות, פונקציות היפרבוליות, פעולות סיביות. אז frtm יכולה להיות התוכנה החלופית של מחשבון מדעי.

פרשנות הביטוי תתבצע בהתאם ל-Reverse Polish Notation (RPN). ל-Frtm יש ענף מותנה "אם", מבנה ללולאה "עשה-תוך כדי" ו-"ל-לופ". אתה יכול גם ליצור מילה חדשה על ידי שילוב המילה.

במערכת ההפעלה אנדרואיד נוספה תצורת הגודל הראשוני של המילון והמחסנית, האפשרות לשמור את המילה במילון ל"ספר המילים". מספר "ספר המילים" מוגבל לעד שלושה.

למפרט מפורט יותר של השפה, עיין בדף האינטרנט ביפנית לקבלת תמיכה.

אם אתה רוצה לבדוק את frtm בחופשיות, אנא נסה את גרסת ה-Java applet של frtm בדף האינטרנט הבא:

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

*** דוגמאות למילים ***

* ממוצע של שני מספרים

: ave + 2.0/;

* ממוצע של N מספרים

: swap על פני 1 עבור ריקבון + לולאה swap 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 עבור ריקבון dup * + לולאה 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 עבור ריקבון dup * + לולאה 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 else dup 1- factr * endif ;

10 פקטורים cr

** איטרציה

: facti 1 החלף 1+ 1 עבור I * לולאה ;

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 ריקבון 1 עבור swap over + לולאה swap drop endif ;

30 פיבי. cr

* גרפיקה

** מילוי מלבן

: קופסאות 16 0 עבור I setcol 10 20 I * + dup 100 100 rectf לולאה ;

קופסאות gm

: hls 16 0 עבור I 45 * 2/50 100 setHLS 10 20 I * + dup 100 100 rectf לולאה ;

gm hls

** ציור רקורסיבי (עקומת קוך)

: לפני 5 עותק ירידה;

: genx 3 ndup 6 ndup - * מינוס 100/החלפה 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 ;

: לשמור 7 nrotr 7 nrotr pre;

: פוסט 9 nrot 9 nrot 4 nrot 4 nrot 5 ndup 1- ;

: line moveto lineto ;

: koch dup 0= אם שורה אחרת

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 נדרופ

אנדיף ;

: kochs 10 setcol 89 440 551 440 4 koch

11 setcol 551 440 320 40 4 koch

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', כמה מילים לדוגמאות של גרפיקה יירשמו במילון.

תוכניות דומות

אלטרנטיבות