Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Темы 3, 5 + массивы ИиП.docx
Скачиваний:
7
Добавлен:
09.06.2015
Размер:
81.78 Кб
Скачать

Вывод данных.

Для вывода результатов работы программы в стандартный файл OUTPUT (на экран дисплея) используются две процедуры:

WRITE(<список выражений через запятую>);

WRITELN[(<список выражений через запятую>)];

В списке «выражений» допустимы константы, имена переменных, элементов массивов или записей, а их значения могут быть любого типа, кроме интервального, перечисляемого и файлового.

Процедура WRITE обеспечивает вывод значений выражений из списка на текущую строку до ее заполнения.

Процедура WRITELN после вывода дополнительно осуществляет переход к началу следующей строки. Эта же процедура без списка выражений позволяет продолжить вывод данных на новой строке.

По умолчанию вывод значений производится в порядке их указания в списке, последовательно, без разделителей и пробелов. При этом:

- символы и строки выводятся без изменений;

- логические значения выводятся только словами TRUE или

FALSE;

- числа целого типа выводятся с выделением позиций для всех

разрядов «плюс» один разряд для знака числа (но явно

выводится только «минус»);

- числа вещественного типа выводятся в формате числа с

плавающей точкой (в экспоненциальной форме с мантиссой и

порядком).

Чтобы управлять размещением выводимых данных, что очень важно, например, для формирования документов нужной формы, используют форматный вывод:

WRITE(<выражение>:P[:d]);

В общем случае формат задает ширину поля (P), выделяемого для вывода значения. Он может быть выражением только целого типа и указывается после имени выводимого выражения (например, переменной) через двоеточие. Возможно также явное указание в формате количества знаков после точки (d). Причем (!) d включено в P.

Например:

WRITE(POLE:24,KOL_VO:5,SUM:10:2);

Если выводимое значение занимает меньше места, чем число позиций, указанное в формате, то в выделенном поле оно прижимается вправо, а лишние позиции заполняются пробелами. Если больше, то выделенное поле расширяется до нужных размеров.

Сказанное применимо для форматного вывода целых, символьных, строковых и логических значений. Однако для вещественных значений имеются свои особенности:

  1. если формат не указан, то вывод осуществляется в поле шириной 18 символов в экспоненциальной форме, т.е. в форме числа с плавающей точкой (с мантиссой и порядком);

  2. если формат задан только шириной поля P, то значение выражения выводится также в экспоненциальной форме с выравниванием по правой границе поля. Т.к. после десятичной точки выводится, по крайней мере, одна цифра, то минимальная ширина поля для REAL равна 7, а для отрицательного значения – 8 (с разрядом для «минуса»);

  3. если формат включает P и d, то вывод значений осуществляется в форме числа с фиксированной точкой с d десятичными знаками в дробной части и с выравниванием по правому краю поля из С знаков. При этом d должно быть в диапазоне от 0 до 24. Иначе вывод будет в форме с плавающей точкой.