Лекция 6. Ввод данных логического типа нельзя осуществлять с помощью операторов ввобда read и readln

Ввод данных логического типа нельзя осуществлять с помощью операторов ввобда read и readln. При необходимости их можно задать в разделе констант.

ВЫВОД ДАННЫХ НА ЭКРАН МОНИТОРА.

Вывод данных осуществляется с помощью операторов вывода, таких как: write и writeln, которые имеют вид

Write (<список вывода>)

Writeln(<список вывода>)

Список вывода представляет собой перечисленные через запятую имена переменных, констант, значение констант, а так же выражения, которые до вывода должны быть вычеслены. Операторы последовательно выведут без разделителей значения элементов списка вывода (в соответствии значений элементов списка вывода, в соответствии с указанными в списке форматами, если таковые имеются). Оператор writeln отличается от write тем, что после вывода всех элементов списка вывода осуществляется переход курсора к началу следующей строки экрана. Оператор writeln может использоваться и без списка, то есть просто writeln; что применяется обычно для пропуска строки на экране при выводе информации. Оператор writeln; = write(#13,#10);

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

При без форматном выводе данных символьного, целых, логического, а так же строкового типов под них отводится реально необходимое количество позиций. Под символом одна позиция, под целое число количество позиций, равное числу значащих цифр + одна позиция под знак, если число отрицательное, под значение логического типа: 4 позиции под true и 5 под false (выводятся заглавными буквами). Под строковую константу число позиций равное количеству символов в ней это следует учитывать при выводе последовательности элементов данных. Добавляя разделители, например пробел между ними.

При выводе без формата данных вещественных типов, число представляется в форме с плавающей точкой и нормализованной мантиссой и под все число отводиться 17 позиций.

(-)#.##########E+(-)##

Первая позиции – знак числа. Если число положительное, то + не ставиться, но позиция под него отводиться (просто пробел).

Вторая позиция (до Е) – мантисса. В нормализованной мантиссе целой части должна быть только одна значащая цифра. (1..9)

Е – основание десятичной системы счисления.

+ (-) – знак порядка.

Последние две позиции сам порядок.

152.7=1.527х10^2

Writeln (152.7);

1.5270000000E+02

Writeln (-0.000012);

-1.2000000000E-05

Выше сказанное справедливо, если в турбо паскале не подключена опция 8087. Пример вывода данных различных стандартных типов без форматов:

Целые, символьный, вещественный и логический.

Const A=FALSE; B=-451; C=3586.25; D=’*’;

Begin writeln (A);

Writeln (B);

Writeln (C);

Writeln (D);

End.

FALSE

-451

3.5862500000E+03

*

Writeln (A,B,C,D); все подряд

Чтобы данные не сливались при выводе, необходимо ввести разделители и строковые константы, поясняющие кому принадлежат данные значения.

При выводе по формату. Элемент списка может иметь один из двух видов:

1. (при одинарном формате) <идентификатор или выражение>:m (целое, положительное) обозначает количество позиций отводимых на экране при выводе данного элемента в списке. Если m позиций не достаточно для вывода данного значения, то поле (отводимое при выводе) автоматически увеличивается до нужного размера. Если данное значение требует при выводе менее чем m позиций, то при выводе на него отводится поле из m позиций, при чем лишние позиции заполняются пробелами в левой части отведенного кода. Для вещественных значений, m >= 8. И число представляется в форме с плавающей точкой, если m<8, то ширина отводимого поля автоматически увеличивается до 8 позиций. При формате 8 выделяется 1 позиция, при формате 9 выделиться 2 позиции. При формате 17 и более – 10. Дробная часть мантиссы при недостаточном количестве позиций округляется. При формате 18 и более число сдвигается к правому краю отводимого поля. А слева свободные позиции поля заполняются пробелами. Например:

Если в приведенном выше примере заменить процедуру вывода на следующую: writeln (A:4);

Writeln (B:7);

Writeln (C:11);

Writeln (D:3);

То будет выведено:

FALSE

-451

3.5863E+03

*

2. (при двойном формате) <идентификатор или выражение>:m:n; такой формат может применяться только для вещественных чисел. M количество позиций отводимых под все число (включая знак и десятичную точку), а n под дробную часть. Если дробная часть выводимого числа имеет цифр больше n, то она округляется до значащих цифр, а если меньше, то лишние позиции заменяются справа нулями, если для вывода целой части числа требуется больше чем m-n-1 позиции, то количество позиций отводимых под целую часть, автоматически увеличивается до нужного размера. А если меньше, то число сдвигается к правому краю отводимого поля, а свободные позиции заполняются пробелами слева. X=-68.4807

Writeln (x:6:2);

-68.48

Writeln (x:9:3);

-68.481

Writeln (x:10:6);

-68.480700

Writeln (x:4:0); при n=0 число выведено без дробной части и десятичной точки

-68

Writeln (-68.6:4:0);

Обычно данные всех стандартных типов, кроме вещественного выводят без форматов. А данные вещественных типов по двойному формату. Кроме больших и очень маленьких чисел, которые выводят по одинарному формату.

Выражения и стандартные функции.

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

Операнды – это то, над чем выполняется операция, например 1+2 это операция, а 1 и 2 операнды. Каждый операнд, как и выражение в целом характеризуется своим значением и типом. Наиболее часто используются арифметические и логические выражения.

Арифметическое выражение может содержать данные целых и вещественных типов, знаки арифметических операций, круглые скобки, арифметические функции. Результатом вычисления арифметического выражения является значение целого или вещественного типа. Существуют следующие знаки арифметических операций: умножение (*), вещественное деление(/), div (целочисленное деление), mod (целый остаток от целочисленного деление), +(сложение), - (вычитание). Знаки операций (div и mod) должны быть отделены от операндов. Например пробелом, если тип операндов целый, то тип результата всех перечисленных операций, кроме вещественного деления будет целым. А для вещественного всегда вещественным. Если тип операндов вещественный или смешанный, то тип результата операций */+- будет вещественным. Для операций див, мод, как операнды, так и результат имеют целый тип. В операции деления, делитель на ноль не делят.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: