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



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


Блок 11 [11 :0] ( Глава 2. Упрахнеиия 2. 03 из 04 ) ( 7. ) : 2SWAP83 ( 1 2 3 4 - 3 4 2 1 ) 3 ROLL 3 ROLL ; [ 83 ] : 2SWAP79 ( 1 2 3 4 - 3 4 2 1 ) 4 ROLL 4 KOLL ; [ 79 ] ( 8. ) : ROTSTACK83 DEPTH 1 - ROLL ; ( FORTH-83 ) : ROTSTACK79 DEPTH ROLL ; ( FORTH-79 ) ( 9. ) : SPHERE ( радиус -- 100*v ) DUP DUP * * 314 ( 10. ) * 4 * 3 / ; : .ВОTТОМ*83 DEPTH 1 - PICK DEPTH 1 - PICK * . ; [83] : .BOTTOM*79 DEPTH PICK DEPTH PICK * . ; [79] ( 11. ) : NEWMOD ( n1 -- n2 ) OVER OVBB / * - ;

Блок 12 [12 :0] ( Глава 3. Упражнения 1. 01 из 02 ) ( 1. ) ( Двоичная часть результата имеет вид: 1 дает 1 3 дает 11 7 дает 111 15 дает 1111 31 дает 11111 63 дает 111111 127 дает 1111111 255 дает 11111111 Число, которое на единицу меньше чем два в степени n, состоит из последовательности n бит, равных единице. ) ( 2. ) Шестнадцатеричная часть результата имеет вид: 2 дает 2 4 дает 4 8 дает 8 16 дает 10 32 дает 20 64 дает 40 128 дает 80 256 дает 100 ) Шестнадцатеричное число отображает содержимое 1 байта. )

Блох 13 [13 :0] ( Глава 3. Упражнения 1. 02 из 02 ) ( 3. ) ( Ответ неизбежно будет сведен к 2., так как 11111111 равно ff в шестнадпатеричном представлении, а 1111111111111111 равно FFFF ) ( 4. ) ( Вам следует ввести FFFF 1 + . , и, если вы это сделали, то получите результат =0. Легче запоминать и задавать числа а шестнадцатеричном представлении, результат, требующий для представления более двух байт, дает ошибку переполнения и засылает в стек два 0 байта.) ( 5. ) ( Прежде чем использовать описание ) DECIMAL : HЕХ 16 BASE ! ; : OCTAL 8 BASE ! ; : BINARY 2 BASE ! ; ( 6. ) ( Taкие слова как AA, BAC и т.д. помешают использовать соответствующие шестнадцатеркчные числа, если в их начале не стоит 0. GG не шестнадцатеричное число )

Блок 14 [14 :0] ( Глава 3. Упражнения 1. 01 из 02 ) ( 1. ) а. 11110111 AND б. 100 OR в. 0 AND г. 11111111 OR д. 10100000 AND e. 1111 AND ж. 10101111 XOR з. 11111111 XOR и. 11111111 XOR ) ( 2. ) : ZERO-IT ( n -- 0 ) 0 AND ; ( 3. ) : NEW= ( n1 n2 -- f ) XOR DUP / 1 XOR ; (4. ) : <> ( n1 n2 -- f ) XOR DUP / ; ( Выше приведено быстродействующее описание. ) ( Другой вариант: : <> ( n1 n2 -- f ) = 0 = ; )




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