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



         

Глава 6. Хранение чисел в памяти - часть 10


С массивами, определенными любым из двух методов, можно обращаться одинаково.

Мы видим, что определение массивов как переменной словом VAMABLE несколько обескураживает. Оно не имеет никаких преимуществ перед использованием слова CREATE и, кроме того, не делает различия между переменной и массивом, а программа воспринимается труднее.

Похожим на слово VARIABLE является слово CONSTANT (константа). Оно используется для хранения таких чисел, которые внутри программы не будут изменяться (хотя иногда это правило нарушается). Для него требуется число в стеке, а после слова CONSTANT - имя слова, в котором будет храниться это число. При исполнении слова в стек кладется его содержимое. Поэтому после cлова, определенного как константа через слово CONSTANT, не требуется операция @ (извлечение содержимого). Например, если определить 5280 CONSTANT FT/MILE то при исполнении слова FT/MILE в стек будет помещено число 5280. Слова, определенные с использованием слова CONSTANT, лучше всего применять для таких чисел, как коэффициенты пересчета единиц измерения, константы уравнений. Конечно, с таким же успехом можно ввести число непосредственно в программу, но если программа подвергается изменениям, тогда каждое вхождение этого числа также должно быть изменено, в то время как при использовании константы число потребуется изменить только однократно. Кроме того, использование значащего слова вместо числа способствует облегчению понимания программы. Если вы знакомы с языком Бейсик, то можете подметить, что идея константы в языке Форт несколько отличается. В Бейсике константа обычно рассматривается как число, включенное в выражение, например 56.5 в строке 90 А = 56.5 * В

В языке Форт константа- это именованная ячейка памяти, фактически это разновидность переменной, которая посылает в стек не свой адрес, а содержимое.

Для переменных двойной длины в стандарте Форта предусматривается слово 2CONSTANT, во многих версиях (в том числе в MMS.FORTH) имеются слова CCONSTANT (однобайтовая константа) и 4CONSTANT для чисел с плавающей запятой.


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