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



         

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


Создайте счетный массив однобайтовых элементов CNT (счетчик), в котором должно записываться, сколько раз числа запоминаются в различных элементах массивов 1WEEK и 2WEEK. 13. Определите слова +SUN, +MON и т.д., которые должны добавлять числа к соответствующим элементам именованных массивов. Так, например, 7 1WEEK +THUR должно добавить 7 к четвертому (THURsday- четверг) элементу массива 1WEEK. Эти слова должны также добавлять по единице к соответствующему элементу счетчика CNT. 14. Предположим, что все элементы массивов 1WEEK и 2WEEK были инициализированы нулями и что изменение их содержимого было произведено только с помощью операций +MON, +TUE и т.д. Тогда напишите слово DAY-AVE (сред-нее_за_день), которое выдавало бы в стек среднее значение чисел, добавленных к конкретным элементам массивов 1WEEK и 2WEEK. Так, если элемент 3 из массива 1WEEK содержит 20, элемент 3 из массива 2WEEK содержит 30, а элемент 3 массива CNT содержит 5, то выражение 3 DAY-AVE должно выдать в стек 10.

Вы написали простую, но в то же время достаточно хитроумную программу, заслуживающую внимательного рассмотрения производимых ею действий. Набор задач был составлен так, чтобы в конечном счете получилась программа, которая определяет средние значения выручки за определенный день недели по двум неделям, причем как ежедневные поступления, так и итоги за каждый день хранятся в двух массивах. В этом состояла наша цель. В большинстве языков программирования, чтобы добиться поставленной цели, надо написать программу со всеми деталями и отладить ее как единое целое. На Форте можно написать отдельные программы для каждой задачи и проверить их по отдельности. Разработка и написание программы целиком со всеми деталями чаще всего по блок-схеме называется программированием сверху вниз, и некоторые считают такую методику обязательной. В противоположность этому Форт позволяет разрабатывать программу более гибко и экспериментировать с ней, и вследствие этого каждое слово или задача программируются и проверяются отдельно, чтобы решить некоторую часть общей задачи.


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