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


Глава 10. Хранение программ и данных - часть 26


Это может быть сделано с помощью слова : TIME->REC 30 / SWAP 2 * + SWAP -18 * + ;

Напомним, что данные собираются через каждые полчаса. Тогда, если ввести 7 10 30 TIME->REC TEMP @ то вы получите значение температуры в седьмой день от начала записей в 10 ч 30 мин. Заметьте, что слова GETFILE. RECLEN, RECLOC и DATALOC вместе со словом PUTFILE, которые вы определите в порядке упражнения, представляют собой простые, но весьма полезные и достаточно общие расширения языка для работы с файлами. Единственное ограничение на длину файла накладывает доступный объем памяти. У вас может возникнуть желание собрать эти слова вместе и оформить для применения в более общем виде (и еще некоторые слова, которые мы определим в следующем разделе). Кроме того, если вам часто приходится работать с файлами данных, вы захотите усовершенствовать обращение с файлами, чтобы добавить более мощные возможности. Мы предлагаем вам еще поработать с метеорологической базой данных в следующих упражнениях,

Упражнения

1. Определите слово DATA-AVE, которое должно выдавать среднее значение данных, если задать номер первой и последней записи и время этой записи. Так, например, если ввести 800 TIME->REC 8 23 30 TIME >REC 3 DATA-AVE то вы получите среднее значение температуры за восьмой день. считая со дня создания файла. Здесь потребуются числа двойной длины. 2. Определите слово TEMP-AVE, которое действовало бы как 1 DATA-AVE, т.е. чтобы не нужно было указывать положение элемента данных в записи. Используйте в определении ТЕМР@. 3. Предположим, что при измерении температуры была допущена ошибка в 1 градус из-за неверной калибровки термометра, в результате чего нужно добавить к каждому значению температуры в METFILE 1 градус. Определите слово CORRECT-TEMP, которое должно произвести указанную коррекцию. 4. Определите слово PUTFILE для копирования файла с изменениями в исходные блоки, из которых он был загружен в память, т.е. если ввести METFILE DATA PUTFILE то файл с измененными данными будет возвращаться на диск. 5.


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