Лекция №7. Классификация операторов
Алгоритм решения любой задачи состоит из отдельных шагов. В программе для каждого шага алгоритма записывается отдельная инструкция (команда). Отдельные инструкции записываются также для организации ветвлений и циклов. Эти инструкции в программировании называются операторами.
Операторы языка ТР можно разделить на простыеисложные. Простые не содержат внутри себя других операторов. Сложные– представляют собой конструкции, содержащие простые операторы. К простым операторам относятся: присваивания, перехода, операторы ввода-вывода. К сложным операторам относятся: составной оператор, оператор условного перехода, оператор выбора, оператор присоединения в записях.
Операторы могут объединятся в более крупные конструкции – составные операторы, процедуры и функции. Такие конструкции состоят из нескольких элементарных операторов.
Оператор присваивания
Для изменения значения переменной используется оператор присваивания. Оператор содержит операцию присваивания, которая обозначается двумя символами :=. Слева от операции присваивания указывается имя переменной, которой нужно присвоить новое значение, справа – значение, которое следует присвоить указанной переменной. Один оператор от другого отделяется точкой с запятой. Оператор присваивания имеет вид:
ИмяПеременной:= выражение;
Знак ‘:=’читается, как "присвоить значение".
Например:
Sort:= 1; cena:= 12.34; x:= x+1; y:= x; name:= 'модель 1';
Оператор присваивания можно считать основным языком языка ТР, т.к. именно в нем выполняются практически все действия по обработке данных.
Следует знать:
Оператор присваивания используется для изменения значений переменных. Он предписывает выполнить выражение, заданное в его правой части, и присвоить результат переменной, стоящей в левой части;
Имеется три вида выражений: арифметические, логические, символьные;
Тип результата, полученного при вычислении выражения, должен быть совместим по типу с переменной, которой он присваивается.
Необходимо следить за тем, чтобы тип переменной совпадал с типом выражения. Если переменная REAL, а выражение INTEGER, то оператор выполнится успешно, в противном случае компилятор выдаст сообщение об ошибке.
Например:
Var
X: integer; Y: real;
Begin
X:= 5;
Y:= 0.5;
Y:= Y + X; ------ так можно!
X:= Y;------------ так нельзя!
Нельзя с помощью оператора присваивания присвоить нескольким переменным одно и то же значение.
Например:
I:= J:= K:= M:= 0; ------------ так нельзя!
I:= 0; J:= 0; K:= 0; M:= 0; ------- нужно так!
Операторы ввода-вывода
Ввод данных.Ввод данных – это передача исходных данных в ОП ПК.
Для ввода данных в Паскале применяют операторы READ или READLN, которые имею одинаковый формат записи:
READ(список ввода);
В операторе после ключевого слова READ следует заключенный в круглые скобки список переменных, в котором переменные друг от друга отделяются запятыми. Оператор завершается точкой с запятой. Например:
VAR
A, B, C: REAL;
READ(A,B,C);
При выполнении оператора READ программа приостанавливает свои действия в ожидании ввода значений, которые по очереди в соответствии с приведенным в операторе списком будут присвоены переменным. Значения переменных могут вводиться с клавиатуры во время исполнения программы или читаться из файла. Тип вводимых значений должен соответствовать типу переменных.
Оператор READLN по своим действиям аналогичен оператору READ, за исключением того, что по окончании чтения значения последней переменной из списка ввода он дает указание на переход к началу новой строки. Оператор READLN может быть применен и без списка, тогда будет произведен переход на новую строку.
Вывод данных.Вывод данных – это передача данных после обработки из ОП на внешние устройства. Вывод данных организуется операторами WRITE и WRITELN. Формат записи имеет вид:
WRITE(список вывода);
В списке вывода приводят разделенные запятыми переменные и выражения типа INTEGER, REAL, BOOLEAN, CHAR, заключенные в кавычки строки символов:
WRITE(DAY[3], SIN(X), LETTERS, 'Результат =');
Формат вывода.Формат выводимых данных может быть изменен явным указанием числа отводимых позиций. Для этого после идентификаторов переменных в списке вывода указывается отведенная ширина поля для выводимой информации и точность представления числа (только для вещественных чисел). Эти две величины должны быть целыми и положительными, отделяться от имен и друг от друга двоеточием. Они соответственно указывают количество позиций в строке, отводимых под значение переменной, и количество мест под цифры дробной части. Например:
WRITE('I =', I:3, 'K =', K:5:2);
На экране появится
I =-12 K =3.25
В отличие от WRITE, оператор WRITELNавтоматически организует перевод курсора на новую строку. При его использовании последующий оператор WRITE, если он присутствует в программе, начинает вывод информации с новой строки. Оператор WRITELN без списка выводит пустую строку. Например, после выполнения операторов:
WRITELN('ЗАДАЧА');
WRITELN('I=', I:3, '; К=’, K:5:2);
WRITELN('Z=', Y);
на экране появиться следующая информация:
ЗАДАЧА
I=-12; K=3.25
Y=3.7800E+02