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



         

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


ж. И это не может быть изменено з. 5 5 * 5 4 * 4 4 * + + . 61 и. Т эти два также нельзя к. изменить. )

Блок 6 [6 :0] ( Глава 2. Упражнения 1. 03 из 04 ) ( 3. ) ( Сначала сложим 3 и 5, умножим на 2, разделим на 4 и добавим 16. Постфиксная запись: 3 5 + 2 * 4 / 16 + ( дает 20). ( Заметим, что если есть выбор, то, чтобы не было ошибки округления, умножение должно всегда предшествовать делению. Например: 7 100 * 6 / выдает 116 в то время как 7 6 / 100 * выдает 100 )

( 4. ) ( 9 3 + 5 * 6 / 2 + 32 + . Ответ: 44 5 6 * 3 * 3 * 2 * 32 * . 6336 5 4 + 22 * 5 10 * 2 + + 2 * . 500 )

Блок 7 [7 :0] ( Глава 2. Упражнения 1. 04 из 04 ) ( 5. ) ( a. 5 DUP DUP + + . Ответ: 15 б. 5 DUP DUP DUP * * * . 625 в. 5 DUP DUP + * . 50 г. 5 DUP + 5 / . 2 д. 5 DUP + 2 / . 5 е. 10 5 DUP + / . 1 ж. 5 4 + 5 DUP + / . 0 з. 5 DUP * 5 4 * + 4 * DUP * + . 61 и. 5 4 + DUP * . 81 к. 5 4 + DUP * . 81 )

Блок 8 [8 :0] ( Глава 2. Упражнения 2. 01 из 04 ) ( 1. ) a. SWAP б. DUP в. OVER г. OVER SWAP д. DUP ВОТ е. ROT ж. SWAP з. SWAP ROT и. ROT SWAP к. ROT ROT л. OVER SWAP м. 3 PICK ROT ROT [FORTH-79] 2 PICK ROT ROT [FORTH-83] н. OVER SWAP DUP o. 3 PICK ROT ROT OVER SWAP DUP [79] 2 PICK ROT ROT OVER SWAP DUP [83])

Блок 9 [9 :0] ( Глава 2. Упражнения 2. 02 из 04 ) ( 2.) а. * б. DUP + + в. SWAP DUP + + г. - д. DUP DUP * * SWAP DUP * * f. OVER + * e. + DUP * факториэуем [a + b] [а + b] ж. ROT ROT + SWAP / з. OVER + ROT ROT + SWAP / и. SWAP OVER + ROT ROT + SWAP / к. DUP + ROT ROT + SWAP / л. ROT ROT + SWAP DUP + / м. OVER SWAP - ROT ROT SWAP - * н. + + * факторизируем a [b + с + d ] o. * 1 + * * факторизуем a b [1 + c d]

Блок 10 [10 :0] ( Глава 2. Упражнения 2. 03 из 04 ) ( З. ) : OVER ( n1 n2 -- n1 n2 n1 ) SWAP DUP ROT ROT ; ( 4. ) : 2DUP ( n1 n2 -- n1 n2 n1 n2) OVER OVER ; ( 5. ) : NEWDUP83 ( n -- n n ) 0 PICK ; ( FORTH-83 ) : NEWDUP79 ( n -- n n ) 1 PICK ; ( FORTH-79 ) : NEWOVER83 ( n1 n2 -- n1 n2 n1 ) 1 PICK : ( F-83 ) : NEWOVER79 ( n1 n2 -- n1 n2 n1 ) 2 PICK ; ( F-79 ) ( 6. ) : NEWROT83 ( n1 n2 n3 -- n2 n3 n1 ) 2 ROLL ; ( F-83 ) : NEWROT79 ( nl n2 n3 -- n2 n3 n1 ) 3 ROLL ; ( F-79 )




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