Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Паскалю.doc
Скачиваний:
33
Добавлен:
04.06.2015
Размер:
7.33 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без списка вывода пропускает на экране одну чистую строку.