Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Паскалю.doc
Скачиваний:
14
Добавлен:
04.11.2018
Размер:
7.76 Mб
Скачать

Вывод данных

Под выводом данных понимается передача информации из оперативной памяти компьютера на внешние устройства (принтер, диски).

Вывод информации в программе осуществляется операторами:

Write(x1, x2, x3, …);

WriteLn(x1, x2, x3, …);

где x1, x2, x3, … - список вывода – перечень имен переменных, значения которых выводятся.

Оператор WriteLn после вывода значения последней переменной списка вывода переводит курсор в начало следующей строки на экране монитора или в текстовом файле.

Вывод данных может быть осуществлен бесформатным и форматным способами.

Бесформатный способ вывода

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

  • для целых чисел отводится столько позиций, сколько в числе значащих цифр плюс позиция для знака ”минус”: например, число +025 будет выведено как 25.

Таким образом, знак + при выводе не печатается, а само число занимает столько позиций на экране, сколько в нем значащих цифр,

  • для данных вещественного типа отводится 17 позиций:

±D.DdddddddddE±dd

Позиции распределяются следующим образом:

1-я - знак числа (если число положительное, то выводится пробел),

2-я - первая значащая цифра числа,

3-я - десятичная точка,

4 - 13-я - десять цифр дробной части с округлением,

14-я - буква E,

15-я - знак показателя степени,

16 – 17-я - две цифры показателя степени.

Пример: следующие числа

3,14159265358979

-798,344

9112,0789

-0,00598×10-5

бесформатным способом будут выведены так:

3.1415926536E+00

-7.9834400000E+02

9.1120789000E+03

-5.9800000000E-08

Таким образом, вещественные числа при выводе округляются или дополняются нулями до 10 цифр после запятой.

Для вывода данных символьного типа отводится одна позиция, логическогопять. Строки выводятся по количеству символов в строке.

Использовать бесформатный вывод не всегда удобно – получаются длинные и трудночитаемые числа. Поэтому для вывода целых и вещественных чисел используется форматный способ.

Форматный способ вывода

В этом случае программист сам задает формат вывода – количество позиций для вывода значения переменной.

Для целых чисел указывается длина поля вывода – общее количество позиций для вывода числа:

i:=-12;

WriteLn(i);

WriteLn(i:3);

WriteLn(i:7);

WriteLn(i:1);

На экран будет выведено:

-12

-12

-12

-12

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

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

Pi:=3.14159265358979;

WriteLn(Pi);

WriteLn(Pi:6:2);

WriteLn(Pi:7:4);

WriteLn(Pi:2:1);

WriteLn(Pi:0:2);

WriteLn(Pi:3:0);

На экран будет выведено:

3.1415926536e+00

3.14

3.1416

3.1

3.14

3

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

Вывод чисел без всякой дополнительной информации называется “немым” – он некрасив и непонятен. Поэтому при выводе чисел желательно выводить и поясняющий текст, заключая его в апострофы:

WriteLn(‘Pi=’,Pi:7:4);

На экран будет выведено:

Pi=3.1416

Для отступа от левого края экрана нужно указать необходимое количество пробелов слева от выводимого значения:

WriteLn(‘ ‘:30,‘Pi=’,Pi:7:4);

На экран будет выведено:

Pi=3.1416

30 пробелов

Оператор WriteLn без списка вывода пропускает на экране одну чистую строку.