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



         

Глава 5. Ввод и вывод - часть 11


А это, очевидно, не то же самое, что очистка экрана и возвращение курсора в левый верхний угол экрана. Или предположим, что вы посылаете управляющий код перевода строки назад при активизации экрана командой CRT. Как отреагирует на этот код экран дисплея? До тех пор, пока вы передаете алфавитно-цифровой текст и простой перевод каретки, никаких проблем с выводом не возникает. Но если вы делаете всякие замысловатые операции с дисплеем или принтером, используя их управляющие коды, нужно быть очень осторожным при включении и выключении вывода на эти устройства, чтобы предотвратить нежелательную интерпретацию этих кодов. Это может привести к дополнительным осложнениям.

Построение простейших графиков из линий

До появления в составе компьютеров хороших видеографических дисплеев и координатных построителей вывод графических данных приходилось делать на построчное печатающее устройство или знаковый терминал. Действительно, вывод в такой форме и в настоящее время можно запрограммировать и выполнить гораздо быстрее, чем вывод в графическом виде. Идея того, как это делается, очень проста, в особенности для Форта. Вы уже видели демонстрационную программу построения линий в гл. 1. В данном разделе мы более подробно рассмотрим детали этого способа и, что более важно, предложим вам несколько упражнений на построение линейных графиков. Допустим. что вы хотите построить гистограмму , отображающую величины чисел, находящихся в стеке, Прежде всего нам потребуется слово, которое делает высоту столбика пропорциональной величине числа. Определим слово : XS 0 00 88 EMIT LOOP ; (выводить_"Х") печатающее ряд литер "X", длина которого зависит от числа в стеке, это и есть наш столбик. Теперь определим слово : PLOT (Нарисовать_график) CR (Начало с новой строки) DEPTH (Сколько чисел находится в стеке?) 0 (Нижний предел цикла) DO (Начало циклического повторения DEPTH раз) XS (Печатает строку из n литер 'х'; n - из стека) CR (Переходит в начало следующей строки) LOOP (Конец цикла; конец определения) ;




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