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



             

Учимся на практике - часть 2


55 Ok

Попробуйте теперь ввести такую последовательность

5 60 - .

вы получите

-55 ok

Очевидно, что порядок, в котором вводятся числа, небезразличен. Попробуйте ввести

5 60 / .

вы получите

0 ok

Что произошло ? Форт в минимальном наборе работает только с целыми числами, и, конечно, 5/60 представляет собой дробь, значение которой округляется до 0. Некоторые реализации Форта могут обрабатывать дроби и числа с плавающей запятой, и мы об этом еще узнаем в . А в данный момент вам необходимо еще проэкспериментировать с арифметическими действиями, потому что Форт лучше всего изучать на практике. Для выполнения арифметических действий вы пользовались стеком языка Форт.

Использование стека -- это наиболее существенное отличие языка Форт от других языков программирования. Представим себе стек как сложенные стопкой числа или колоду карт, помеченных числами. Когда вводим число, завершая его нажатием клавиши , мы говорим, что число проталкивается (или кладется) в стек, как будто бы в колоду добавляется одна карта, а когда производится такая операция, как. (т.е. печать числа), мы говорим, что число выталкивается (изымается) из стека, как будто бы карта вынимается из колоды, в данном случае это делается, чтобы напечатать число. Когда вы вводите:

55 111 +

числа 55 и 111 кладутся в стек, а операция + изымает их из стека, складывает и полученную сумму снова кладет в стек. Наши "карты" показаны на .


рис. 1.1

Мы пользуемся нотацией "х у +", которая называется постфиксной (от англ. "post" -- после), поскольку символ операции (оператор) стоит после чисел. Привычная нам алгебраическая нотация "х + у" называется инфиксной. Постфиксную нотацию называют также обратной польской нотацией, сокращенно ОПН. Мы расскажем еще о стеке и постфиксной нотации в следующей главе. Од ним из важных достоинств постфиксной нотации является то, что она не нуждается в скобках, при этом порядок действий определен порядком следования операторов. Попробуйте напечатать на клавиатуре




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