Здавалка
Главная | Обратная связь

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



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

· для целых чисел отводится столько позиций, сколько в числе значащих цифр плюс позиция для знака ”минус”: например, число +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

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

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

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

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

Pi=3.1416

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

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

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

Pi=3.1416

30 пробелов

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

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.