Язык программирования Форт



Приложение Д. Ответы к упражнениям - часть 8


Выполнение цикла требует 7.1 секунд. Т.о. 100.000 преобразований в форму с плавающей точкой и умножений требуют 3.1 секунды. )

Блок З6 [36 :0] ( Глава 4. Упражнения 8. 02 из 03 ) ( 4. ) ( С клавиатуры % 113 % 355 F/ PI F- F. дает 2.66764E-7 или ошибку около 0.00000003 ) ( 5. ) : ANGLE ( x y -- угол ) DEGREES PHASE ; ( 6. ) : НУРОТ ( x y -- угол ) DEGREES MAG ; ( 7. ) : CONC-CHANGE ( pH H-ch -- % ) FSWAP FNEGATE 10^ F/ % 100 F* ; : DELTAPH ( рH H-ch -- pH1) ( Вычис. новое H, затем - новое pH) FSWAP FNEGATE 10^ F+ LOG10 FNEGATE ; ( Практически это нельзя сделать в рамках целочисленной арифметики, не написав программу размером в несколько блоков с таблицами логарифмов и степеней 10.)

Блок 37 [37 :0] ( Глава 4. Упражнения 8. 03 из 03 ) ( 8. ) : ARM-MOVE ( x1 y1 x2 y2 -- - приращение угла приращение радиуса ) DEGREES FOVER FOVER MAG DF87> PHASE DF87>

FOVER FOVER PHASE FROT FROT MAG DF>87 DF>87 FROT F- FROT FROT FSWAP F- FSWAP ; ( Поскольку не существует FPICK или 2FSWAP числа запоминаются в "обычном" стеке с помощью DF87> и восстанавливаются DF>87. )

Блок 38 [38 :0] ( Глава 5. Упражнения 1. 01 из 02 ) ( 1. ) : BS 8 EMIT ; ( 2. ) : РАПЕ 12 EMIT ; ( 3. ) : CRS 0 DO CR LOOP ; ( 4. ) : DASHES 0 DO 45 EMIT LOOP ; ( Это эквивалентно : DASHES 0 DO ." -" LOOP ; )

Блок 39 [39:0] ( Глава 5. Упражнения 1. 02 из 02 ) ( 5.) : MMENU ." MAIN МЕNU" ; : THIS ." This is the " ; : 1ST ." first " ; : 2ND ." second " ; : 3RD ." 3rd " ; : 4th ." FORTH " ; : СHЕ ." choice" : : MENU 9 SRACES 5 DASHES SPACE MMENU SPACE 5 DASHES 2 CRS 40 DASHES CR 4 SPACES ." A" 6 DASHES SPACE THIS 1ST СНЕ CR 4 SRACES ." В" 5 DASHES SPACE THIS 2ND СНЕ CR 4 SRACES ." С" 8 DASHES SPACE THIS 3RD СНЕ CR 4 SRACES ." D" 6 DASHES SPACE THIS 4TH СНЕ CR 40 DASHES CR 5 DASHES SPACE ." WHAT IS YOUR CHOICE, PLEASE?" SPACE 5 DASHES CR ; ( 6. ) : $. COUNT TYPE :

Блок 40 [40 :0] ( Глава 5.


Содержание  Назад  Вперед