Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Форматированный вывод





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

writeln(a,' ',b,' ',c);

либо задать для всех (или хотя бы для некоторых) переменных формат вывода:

writeln(a:5,b,c:20:5);

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

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

Например, если a = 25, b = 'x', а c = 10.5, то после выполнения команды writeln(a:5,' ',b,c:10:5) на экране или в файле будет записано следующее (подчерки в данном случае служат лишь для визуализации пробелов):

_ _ _25_x_ _10.50000

Особенно важен формат при выводе вещественных переменных. К примеру, если не указать формат, то число 10.5 будет выведено как _1.05000000000000Е+0001. Такой формат называется записью с плавающей точкой.

Если же задать только общую длину вещественного числа, не указывая длину дробной части, то оно будет занимать на экране заданное количество символов (в случае надобности, спереди будет добавлено соответствующее количество пробелов), но при этом останется в формате плавающей точки. Минимальной длиной для вывода вещественных чисел является 10 (при формате _x.xE+yyyy). Первая позиция зарезервирована под знак "-".

Необходимо помнить, что в случае недостаточной длины вывода число будет автоматически округлено, например (подчерк служит для визуализации пробела):

Оператор форматного вывода Результат вывода на экран
write (125.2367:10); _1.2E+0002
write (125.2367:11); _1.25E+0002
write (125.2367:12); _1.252E+0002
write (125.2367:13); _1.2524E+0002
write (125.2367:14); _1.25237E+0002
write (125.2367:15); _1.252367E+0002
write (125.2367:16); _1.2523670E+0002

Теперь, когда мы познакомились с примерами, можно сформулировать общее правило записи процедур вывода:

· Список вывода разделяется запятыми;

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

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

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

· Если форматы не указаны, под целое число, символ и строку отводится минимальный необходимый для их представления количество позиций. Под вещественное число всегда отводится 23 позиции, причем 14 из них – под его дробную часть.

· Форматы могут быть выражениями целого типа.

Теперь изучено достаточно материала, чтобы с полным пониманием написать первую законченную программу.

Пример. Написать программу, которая переводит температуру в градусах по Фаренгейту в градусы по Цельсия по формуле: С=5/9(F-32), где С – температура по Цельсию, F – температура по Фаренгейту.

program P1;

Var

fahr, cels: real;

Begin

Writeln('Введите температуру по Фаренгейту');

Readln(fahr);

cels:=5/9*(fahr-32);

Writeln('По Фаренгейту: ', fahr:6:2,

' в градусах Цельсия: ',cels:6:2);

Readln;

end.







Дата добавления: 2015-08-12; просмотров: 415. Нарушение авторских прав; Мы поможем в написании вашей работы!




Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


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


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

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

РЕВМАТИЧЕСКИЕ БОЛЕЗНИ Ревматические болезни(или диффузные болезни соединительно ткани(ДБСТ))— это группа заболеваний, характеризующихся первичным системным поражением соединительной ткани в связи с нарушением иммунного гомеостаза...

Оценка качества Анализ документации. Имеющийся рецепт, паспорт письменного контроля и номер лекарственной формы соответствуют друг другу. Ингредиенты совместимы, расчеты сделаны верно, паспорт письменного контроля выписан верно. Правильность упаковки и оформления....

БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани...

Типология суицида. Феномен суицида (самоубийство или попытка самоубийства) чаще всего связывается с представлением о психологическом кризисе личности...

Studopedia.info - Студопедия - 2014-2025 год . (0.013 сек.) русская версия | украинская версия