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


ДИАЛОГ - часть 3


Введите такой текст:CR STAR CR STAR CR STAR<return>

* *ok

Поместим CR в определение слова MARGIN (ПОЛЕ ПРОБЕЛОВ): : MARGIN CR 30 SPACES ;<return> ok

Теперь вы можете ввести следующее: MARGIN STAR MARGIN STAR MARGIN STAR<return>

и получите три вертикально расположенные звездочки, дополненные слева 30 пробелами.

Комбинация слов MARGIN STAR пригодится нам в дальнейшем, поэтому введем определение BLIP (ТОЧКА): : BLIP MARGIN STAR ;<return> ok

Нам также предстоит выводить горизонтальные последовательности звездочек. Для этой цели введем следующее определение (его назначение мы объясним позднее): : STARS 0 DO STAR LOOP ;<return> ok

Итак, мы можем ввести: 5 STARS<return> *****ok

или 35 STARS<return> ***********************************ok

или любое представимое число звездочек! Однако нельзя задавать сочетание "0 STARS", в особенности для систем Форта-83. Подробнее об этом речь пойдет в гл. 6.

Нам необходимо слово, которое выполняет команду MARGIN, а затем выводит пять звездочек. Определим слово BAR (ПО-ЛОСКА): : BAR MAR6IN 5 STARS ;<return> ok

после чего можно ввести строку: 3AR BLIP BAR BLIP BLIP CR

В результате вы получите букву F, составленную из звездочек:

*****

*

*****

*

*

В заключение определим слово для этой новой процедуры. Назовем его F: : F BAR BLIP BAR BLIP BLIP CR ;<return> ok

В этом примере показано, каким образом простые команды Форта могут становиться основой для образования более сложных команд. Программа на Форте выглядит скорее как ряд нарастаю-щих по мощности определений, чем как последовательность команд, задающая порядок их выполнения. Чтобы вы имели представление о реальной Форт-программе, мы приводим здесь распечатку нашей учебной программы: 0 ( Большая буква F ) 1 : STAR 42 EMIT ; 2 : STARS 0 DO STAR LOOP ; 3 : MARGIN CR 30 SPACES; 4 : BLIP MARGIN STAR ; 5 : BAR MARGIN 5 STARS; 6 : F BAR BLIP BAR BLIP BLIP CR ; 7 8




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



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