Cтраница 4
Код ошибки IR перфорируется на ленте при нажатии клавиши xIR, которая включается после неправильного ввода или вывода строк. Далее начинается повторная обработка документа, так как клавиша IR автоматически переключает машину с расчетной части на заполнение заголовка документа; при этом отключается готовность перфорации. Код возврата каретки WR не перфорируется. [46]
Строка знаков может содержать любые знаки набора знаков ДКОИ, однако программисту необходимо учитывать возможности клавиатуры его АП при подготовке программы, выводе строки знаков на АП. Пробел, включенный в строку знаков, считается знаком элемента данных и, как любой другой знак строки, учитывается при подсчете ее длины. Каждый знак строки занимает один байт памяти. Обычно данные - строки знаков - используются для представления каких-нибудь сообщений в виде текста, поэтому их часто называют текстовыми данными. [47]
Для указания номера каждой страницы программист может использовать специальный счетчик. Каждый раз, когда управление получает подпрограмма перехода к новой странице, она увеличивает содержимое счетчика на 1, заносит эту величину в строку названия непосредственно вслед за полем РАОЕф и затем переходит к выводу строки названия на печать. [48]
NF может встретиться в тот момент, когда некоторая строка частично собрана, но еще не выведена. Действие по принудительному выводу частично собранной строки называется разрывом. Концепция разрыва пронизывает всю программу FORMAT; многие команды неявно означают разрыв. [49]
Перегруженная операция может выводить данные предопределенных типов, строки символов и значения указателей. На рис. 21.3 показан пример вывода строки символов. [50]
Операция перегружена для вывода элементов данных встроенных типов, для вывода строк и вывода значений указателей. В разделе 11.9 показано, как перегрузить операцию для вывода данных типов, определенных пользователем. В программе на рис. 11.3 показан вывод строки, использующий одну операцию поместить в поток. Пример многократного использования операции поместить в поток приведен на рис. 11.4. Выполнение этой программы дает тот же результат, что и выполнение предыдущей программы. [51]
Возможно моделировать более общую структуру сопрограмм с помощью подпрограмм. На рис. 11.11 показано, как можно закодировать процесс LineOut, прибегнув к двум процедурам. Вместо использования оператора WAKEUP LineOut для вывода строки главная программа вызывает процедуру StartLineOut. Потом каждый раз, когда имеет место прерывание дисплея, система прерываний вызывает процедуру Dsplntr. [52]
Мы использовали язык С для Pentium II и UltraSPARC II, поскольку библиотека ввода-вывода Java не доступна для этих машин, а библиотека С доступна. Разница минимальна: всего один оператор вывода строки на экран. [53]
Для работы с текстами в системе используется специальный агрегатный тип данных - Текст. Механизм работы с текстами предназначен для формирования отчетов в текстовом виде, а также для обмена информацией с другими программами посредством текстовых файлов. Средства языка имеют возможность не только вывода строк в текстовые файлы, но и считывания имеющихся файлов с последующим разбором его по строкам. [54]