Начальный курс программирования на языке Форт


ДЛЯ НАЧИНАЮЩИХ - часть 2


Например:BINARY 1001 DECIMAL DUP 0 ДАЙ-БИТ . 1 ok DUP 1 ДАЙ-БИТ . 0 ok 3 ДАЙ-БИТ . 8 ok

д) Определите слово с именем ПЕРЕКЛЮЧИТЬ-БИТ с той же стековой нотацией, что и для слов УСТАНОВИТЬ-БИТ и ОЧИСТИТЬ-БИТ, которое переключало бы заданный бит (устанавливало бы его в единицу, если бы он был сброшен, и наоборот).

е) Пусть заданы две битовые последовательности, причем вторая получена путем изменения значений нескольких битов первой. Определите слово с именем ИЗМЕНЕНИЕ, которое воспроизводило бы битовую маску с измененными битами.

7.3. Напишите определение, которое заставило бы зазвонить колокольчик на вашем терминале три раза Убедитесь в том, что перерыв в звучании достаточен для того, чтобы отдельные звонки не слились в один длинный звонок. Всякий раз при звучании колокольчика на экране терминала должно появляться слово БИП.

Упражнения 7.4 и 7.5 посвящены выполнению операций над числами двойной длины.

7.4 а) Перепишите созданные в гл. 5 определения перевода значений температур из одной шкалы в другую в предположении, что вводимые в результирующие значения температур должны быть представлены целыми числами двойной длины со знаком с коэффициентом масштабирования 10 (т. е. должны быть умножены на 10). Например, если вы вводите фактическое значение 10.5°, то оно будет представлено 32-разрядным целым числом со значением 105.

б) Напишите слово для форматного вывода с именем .ГРАДУСЫ, которое будет выдавать 32-разрядное целое с коэффициентом масштабирования 10 как строку цифр с десятичной точкой и одной дробной цифрой. Например:12.3 .ГРАДУСЫ<return> 12.3 ok

в) Преобразуйте следующие значения температур:0.0 °F в °С 212.0 °F в °С 20.5 °F в °С 16.0 °С в °F -40.0 °С в °F 100.0 °К в °С 100.0 °К в °F 233.0 °К в °С 233.0 °К в °F

7.5, а) Напишите программу, которая вычисляет значение полинома 7х2 + 20х + 5 при заданном х и выводит результат в виде числа двойной длины.

б) Какое максимальное значение может принимать х, чтобы при вычислении результата как 32-разрядного числа со знаком не произошло переполнения?




Начало  Назад  Вперед



Книжный магазин