Операторы вывода (Write, Writeln)

Write(<списоквыражений, через запятую>);

Writeln(<список выражений, через запятую>);

На экран выводятся значения выражений, начиная с текущей позиции текстового курсора. Cследует различать термины "переменная", "значение" и "выражение". "Выражение" - это наиболее общее понятие. "Значение" и "переменная" это тоже выражения, только простейшие.

Основное отличие оператора Write от Writeln в том, что после вывода на экран значений выражений оператором Write текстовый курсор остается в конце выведенной цепочки символов, а после вывода оператором Writeln курсор переходит на начало следующей строки.

Операторы Write и Writeln предоставляют возможность форматировать значения выражений различных типов при выводе их на экран:

< OutExpr > [: <n1> [: <n2>] ] .

Здесь <OutExpr> – выводимое выражение, n1 , n2 - выражения типа WORD (квадратные скобки означают возможность отсутствия заключенных в них параметров). Подпараметр n1, если он присутствует, указывает ширину поля, в которое будет записываться символьное представление значения <OutExpr>. Если символьное представление имеет меньшую длину, чем n1 , оно будет дополнено слева пробелами, если - большую длину, то подпараметр n1 игнорируется и выводится необходимое число символов.

Подпараметр n2 задает количество десятичных знаков в дробной части вещественного числа. Он может использоваться только совместно с n1 и только по отношению к выводимому выражению одного из вещественных типов. Если ширина поля вывода не указана, то значение выводится вслед за предыдущим без какого-либо их разделения.

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

При выводе логических выражений в зависимости от их значения выводятся строки TRUE или FALSE. (Ввод логических констант процедурами READ или READLN не предусмотрен).

Известно, что любое вещественное число можно представить в виде:

Операторы вывода (Write, Writeln) - student2.ru ,

где # - десятичная цифра. Такое изображение числа называется экспоненциальным. Вещественные числа выводятся в экспоненциальном формате, если не указан подпараметр n2 . Экспоненциальный формат представляет вещественное число в виде

s#.###...##E Операторы вывода (Write, Writeln) - student2.ru ####,

где знак s - пробел для положительного и знак «-» для отрицательного числа; # десятичная цифра; Е - символ десятичного основания. Если подпараметр n1 опущен, принимается его значение по умолчанию 23.

Пример, число -120.3с параметром n1=12 будет выглядеть на экране таким образом: -1.203Е+0002 .

Если подпараметр n2 для вещественных выражений равен нулю, ни дробная часть числа, ни десятичная точка не выводятся. При отрицательном значении n2 этот параметр игнорируется и число выводится в экспоненциальном формате с учетом n1. Если значение n2 больше 18, принимается значение 18. Следует учесть, что при указании подпараметра n2 вещественное число всегда будет выводиться в формате с фиксированной точкой и требуемым количеством знаков в дробной части, даже если значение подпараметра n1 окажется недостаточным для размещения целой части. В этом случае значение n1 автоматически увеличивается.

Если <OutExpr> в нижеследующем выражении

<OutExpr> : <n1> ,

является выражением целого, строкового или булевого типа, то значение переменной прижимаются к правому краю поля вывода. Если n1 отрицательно, то значение выражения <OutExpr> прижимается к левому краю.

Примеры:

Writeln (A: 6: 3);

Write( M: 7: 3, Т: 4: 2, В: 7: 4);

В дальнейшем мы познакомимся с типом String , а сейчас уточним, что операторы Write и Writeln позволяют выводить на экран строковые значения. Сами строковые значения заключаются в апострофы: 'ABCDF', 'мама мыла раму'. Пользуясь этим, мы можем выводить на экран различные сообщения и комментарии, чередуя в случае необходимости их со значениями выражений других типов.

Примеры:

1. Writeln('А=', А);{на экранбудет выведена строка 'А=' изначение переменной А : А=75}

2. Write('число простое '); {на экранбудет выведена строка

«число простое»}

3. Writeln (' Yes ') ; {на экранбудет выведена строка

«Yes» и курсор перейдёт на следующую строку}

Оператор присваивания

Присвоить переменной конкретное значение в языке Паскаль можно двумя способами. Первый способ – это указать переменную в списке ввода оператора Read или Readln. Например:

Read(a, b);

В результате выполнения этого оператора переменным a и b будут присвоены конкретные значения.

Второй способ присвоения переменным значений – это указать переменную в левой части оператора присвоения. В Паскале оператор присваивания состоит из двух символов (:=) и отличается от символа операции сравнения (=).

Структура оператора присваивания:

<идентификатор — имя переменной>:= < выражение

соответствующего типа>;

Примеры:

А:= 5;

B:= 3.7;

N:= Sqr(T) + Sqr(U);

M:= 25 * Т - 80 * L;

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

Обычно ошибки, возникающие при компиляции оператора присваивания, связаны с несоответствием типа выражения типу переменной (Type mismatch), а ошибки во время выполнения возникает из-за неправомочности операции в выражении: деление на ноль (Division by zero), неправильная операция с плавающей точкой (Invalid floating point operation).

Составной оператор

Часто возникает необходимость объединения нескольких операторов в один (тело процедуры, тело оператора ветвления, тело цикла и т. д. ). Для реализации этой потребности в Паскале существует возможность организации составного оператора, имеющего следующую структуру.

begin

<оператор 1>;

<оператор 2>;

……………….

<оператор n> ;

end;

Примеры:

1)

begin

writeln(A[i] ) ;

max:= A [ i ] ;

inc(t);

k:= i;

end;

2)

begin

writeln('да');

n:= 1000;

end;

Иногда, ключевые слова begin – end называют операторными скобками, так как окаймляют операторы внутри себя аналогично скобкам в арифметических выражениях..

Простейшим случаем составного оператора является пустой составной оператор:

begin

end;

Наши рекомендации