Читайте также:
|
|
const m = 6; n = 2;
var omega, q: real;
Begin
………………………………
writeln(omega:8:3, q:m:n);
………………………………
Конкретные значения выводимых данных в большинстве случаев программисту не известны, поэтому при назначении длин форматов легко допустить ошибку. При этом может возникнуть одна из двух ситуаций: либо длина формата назначена больше, чем это необходимо, либо она недостаточна для вывода данного.
В первом случае лишние позиции заполняются пробелами перед целой частью числа, а во втором длина формата автоматически увеличивается до минимально необходимой.
Если количество цифр в дробной части выводимого числа превышает величину n, указанную в формате, то дробная часть округляется до n-ного знака. Если же количество цифр в дробной части меньше величины n то дробная часть дополняется нулями в соответствии с величиной n.
Пример 3.5. Пусть x = 1.23456780000000E+0003, тогда:
а) оператор writeln(x:9:4) выведет 1234.5678 – формат полностью соответствует выводимому данному;
б) оператор writeln(x:12:4) выведет 1234.5678 – длина формата превышает количество позиций в числе (восемь цифр плюс точка); три лишние позиции заполнены пробелами перед целой частью числа;
в) оператор writeln(x:12:2) выведет 1234.57 – под дробную часть данного отведено две позиции вместо необходимых четырех, поэтому она округлена до двух знаков после десятичной точки; пять лишних позиций перед целой частью заполнены пробелами;
г) оператор writeln(x:8:4) выведет 1234.5678 – длина формата увеличена до минимально необходимой;
д) оператор writeln(x:12:6) выведет 1234.567800 – дробная часть числа справа дополнена двумя нулями, целая часть слева одним пробелом.
Для вывода данных целого, символьного и булевского типов используют спецификацию формата, состоящую из одной целой константы, которая задает его длину.
Пример 3.6. Пусть z = 5656. Тогда:
а) оператор writeln(z:6) выведет 5656;
б) оператор writeln(z:3) выведет 5656, причем длина формата будет автоматически увеличена на одну позицию.
При указании только длины формата вещественные числа распечатываются в нормализованной форме.
Пример 3.7. Пусть x = 421.53. Тогда:
а) оператор writeln(x) выведет 4.215300000000000E+0002, а
б) оператор writeln(x:8); выведет 4.2E+02
Дата добавления: 2015-07-18; просмотров: 125 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Вывод данных на экран монитора | | | Условные и составные операторы |