Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабы по МПО / Sissy_Metr / operators pascal

.doc
Скачиваний:
22
Добавлен:
01.05.2014
Размер:
47.62 Кб
Скачать

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

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

Оператор присваивания служит для присваивания значений переменным, например: x:=1; a:=5. 02; b := 32*a+Sin(x); S:= 'Иван Иваныч';

Составной оператор Begin "операторы" end;

Составной оператор служит для записи в свое тело других операторов, последовательность которых рассматривается в данном случае как один оператор. Этим оператором начинается и заканчивается раздел выполнения основной программы, подпрограммы, функции. После последнего оператора END основной программы ставится точка.

 

Условные операторы языка Паскаль

Тип BOOLEAN

Переменная булевского типа принимает значение TRUE или FALSE. Эти величины упорядочены следующим образом: FALSE<TRUE.

Операция AND(логическое умножение, пересечение, операция "и"). Выражение А AND В дает значение TRUE (истина), только в том случае, если А и В имеют значение TRUE. Во всех остальных случаях значение выражения А AND В - FALSE (ложь).

TRUE AND TRUE = TRUE

TRUE AND FALSE = FALSE

FALSE AND FALSE = FALSE

Операция OR (логическое сложение, объединение, операция "или"). Выражение А OR В дает значение FALSE в том и только в том случае, если и А, И В имеют значения FALSE. Во всех остальных случаях результат - TRUE.

TRUE OR TRUE = TRUE

TRUE OR FALSE = TRUE

FALSE OR FALSE = FALSE

Операция NOT (отрицание, операция "не"). Выражение NOT имеет значение, противоположное значению А.

NOT TRUE = FALSE

NOT FALSE = TRUE

Простой и составной оператор

Простой оператор не содержит в себе составных операторов.

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

Замечение редактора: составной оператор можно использовать не только внутри условного оператора, после BEGIN тоже можно ставить ;, хотя это и не принято, после END ; может и не ставится. Такое происходит, например, в случае наличия ещё одного END сразу после него.

Пример:

BEGIN

I:=2;

K:=I/5;

END;

Слова BEGIN и END играют роль операторных скобок. Тело самой программы также имеет вид составного оператора. После последнего END ставится точка. Нельзя извне составного оператора передавать управление внутрь его.

Примечание редактора: имеется в виду неизучаемый нами оператор GOTO (безусловного перехода).

Условный оператор

Этот оператор имеет две разновидности: if и case.

Оператор IF

Общий вид оператора if: IF A THEN ST Здесь А - логическое (булевское) выражение, ST - оператор (простой или составной). Простейшее логическое выражениями являются выражения отношения: А1 ОР А2, А1 и А2 - выражения, а ОР - операция отношения. Операции отношения на языке паскаль обозначаются так:

=

-

равно

<

-

меньше

>

-

больше

<=

-

меньше или равно

>

-

больше или равно

<>

-

не равно

Примеры: 3<5; 18>=2; A=B;

Перейдём к описанию работы оператора IF. Если А - "истина", то выполняется оператор ST. Если А "ложь", то управление сразу передается следующему за ST оператору.

Пример: IF A<>0 THEN B:=X/A;

Если А <> 0, то выполняется оператор B:=x/a, если А=0, то этот оператор пропускается и управление передается следующему оператору.

Оператор if может иметь такой вид:

IF A THEN ST1 ELSE ST2;

Здесь А - логическое (булевское) выражение, ST1, ST2- операторы. Если А - истина, то выполняется ST1; если А - ложь - выполняется ST2, затем в обоих случаях управление передается следующему оператору.

ЗАМЕЧАНИЕ: ПЕРЕД ELSE НЕЛЬЗЯ СТАВИТЬ ТОЧКУ С ЗАПЯТОЙ.

Пример: IF A <> 0 THEN B:=1/A ELSE B:=0;

Если А не = 0, то В присваивается значение 1/А; если А=0, то значение 0.

Замечание 2. Неоднозначность выполнения оператора

IF A1 THEN IF A2 THEN ST1 ELSE ST2

трактуется так:

IF A1 THEN

BEGIN IF A2 THEN ST1 ELSE ST2 END;

Пример:

IF A <> 0 THEN IF B<>0

THEN C:=A/B ELSE C:=0;

K:=1;

Если А не равно 0, то В для В не равного 0 С=А/В, для В=0 С=0, затем выполняется оператор K:=-1.

Оператор Case (оператор выбора - ред.)

Общий вид:

CASE N OF

A1,...,AN:ST1;

B1,...,BN:ST2;

...

ELSE ST_ELSE

END;

Здесь N - переключатель (селектор), АI,ВI,...(I=1,2,...) - метки, которые отличаются по смыслу от меток, описываемых в разделе LABEL (про них мы говорить не будем никогда - ред.). Переключатель и метки должны быть одного и того же скалярного типа, кроме REAL. Короткий вариант CASE не иcпользует ELSE. С помощью оператора CASE можно написать простейшее меню.

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

Пример:

VAR X:INTEGER;

BEGIN

WRITELN ('----------------МЕНЮ-----------------');

WRITELN ('1: ----');

WRITELN ('2: ----');

WRITELN ('3: exit');

READLN (X);

CASE X OF

1: WRITELN ('Выполнился 1 пункт');

2: WRITELN ('Выполнился 2 пункт');

3: BEGIN

WRITELN ('Вы покидаете наше меню.');

WRITELN('До встречи!');

End;

ELSE WRITELN ('Вы не смогли попасть ни в один пункт меню');

END;

END.

Соседние файлы в папке Sissy_Metr