Оператор условного перехода

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

Операторы ввода

Часто первыми действиями, выполняемыми программой, являются действия по вводу данных. В языке Паскаль для этой цели служит процедура чтения READ, например, READ(A, B, C);

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

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

Оператор присваивания с помощью знака присваивания := разбивается на 2 части: левую и правую. В правой части записывается выражение, значение которого необходимо вычислить. После вычисления выражения оно присваивается переменной, стоящей в левой части.

D : = SQR(B) - 4 * A * C;

D=B*B-4AC;

В языке Паскаль обязательно указываются все знаки операций (* - знак умножения).

В языке Паскаль отсутствует операция возведения в степень, но для возведения в квадрат предусмотрена стандартная функция SQR.

/ - знак операции деления

В операторах присвоения часто в левой и правой частях стоят одни и те же идентификаторы, например: X := X + 1. Этот оператор имеет следующий смысл: необходимо взять текущее значение Х, изменить его в соответствии с действиями, указанными в правой части, и полученное значение взять в качестве нового текущего значения Х.

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

READ(A, B, C);

И последующего ввода значений, 5, 3, 2 можно было бы записать три оператора присваивания:

A := 5; B := 3; C := 2;

Однако такая форма задания исходных данных для программы вряд ли может быть признана удовлетворительной. Программа оказывается “привязанной” к данным. В этом случае для выполнения программы с новыми исходными данными необходимо сначала исправить три оператора присваивания и перекомпилировать программу. В случае использования процедуры чтения подобной привязки программы к данным нет. Тогда при выполнении вычислений для новых исходных данных необходимо изменить лишь сами исходные данные.

Кроме перечисленных операторов существуют еще условные операторы, имеющие вид:

IF условие THEN оператор1 ELSE оператор2

Каждый условный оператор осуществляет выбор одной из альтернатив. Этот выбор определяется значением условия, которое стоит после разделителя IF. Условие может принимать два значения: истина или ложь. Если значение условия истина, то выполняется оператор1, а вслед за ним оператор, стоящий за всем условным оператором. Если значение условия ложь, то выполняется оператор2, а вслед за ним оператор, стоящий за всем условным оператором. Таким образом, в результате выполнения условного оператора будет выбран и выполнен один из операторов, стоящих внутри условного оператора. В языке Паскаль разрешается использовать сокращенную форму условного оператора, имеющего вид:

IF условие THEN оператор.

 

В этой форме условного оператора отсутствует часть ELSE. Соответственно модифицируется и правило его выполнения. Если значение условия есть истина, то выполняется оператор, стоящий внутри условного оператора. В противном случае весь условный оператор пропускается.

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

После разделителей THEN и ELSE может стоять один оператор. Для того чтобы обойти синтаксическое ограничение, имеется составной оператор, служащий средством группирования других операторов. Составной оператор - это один оператор. Поэтому, если после любого из разделителей THEN или ELSE по сути решения задачи требуется записать более одного оператора, то необходимо использовать составной оператор. Он начинается со слова BEGIN и заканчивается словом END. Между ними может располагаться любая последовательность операторов.

Для ввода и вывода данных предусмотрены процедуры:

READ

READLN

WRITE

WRITELN

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

Процедура READLN (А) считывает данные из одной строки и обеспечивает переход к началу следующей строки. Процедура READLN без параметров осуществляет переход к началу следующей строки.

READLN(A, B, C, D); эквивалентно

READ(A); READ(B); READ(C); READ(D); READLN;

Для вывода данных используются процедуры WRITE и WRITELN. Различие между ними такое же, как между READ и READLN. WRITELN начинает сообщение с новой строки, а WRITE помещает в выходную запись сообщения друг за другом.

Для того чтобы сделать результаты работы программы более наглядными, в качестве параметров процедур WRITE и WRITELN используются строки, заключенные в апострофы. Последовательность символов, заключенная вапострофы, просто копируется на экран.

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

WRITELN(‘X=‘, X:4,’ Y=‘, Y:4); X= 5 Y= 7

Под представление Х и Y в этом случае отводиться по четыре позиции. Если одно из значений не помещается в указанное поле, то ошибки не возникает. Число все равно будет напечатано, причем под его представление будет отведено столько позиций, сколько необходимо, чтобы представить его полностью. Часто ширина поля не указывается. Тогда по умолчанию отводится некоторое число позиций, в которых и размещается выводимое число.

WRITELN(X:7:3)