Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PASСAL_a4_2007.doc
Скачиваний:
31
Добавлен:
13.09.2019
Размер:
2.51 Mб
Скачать

Теоретическая работа в. Алгоритмические конструкции: условный оператор

Мы познакомились с командой присваивания, командами ввода и вывода информации. Это так называемые простые операторы. Для того, чтобы было удобно записывать алгоритмы, используются алгоритмические конструкции. К таким алгоритмическим конструкциям относятся:

  • составной оператор;

  • условные операторы;

  • циклы.

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

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

BEGIN

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

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

...

<оператор N>

END;

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

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

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

4.2.1. Команда ветвления

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

Если <условие> то <действие>; (пример 1)

или

Если <условие> то <действие 1>

иначе <действие 2>; (пример 2)

Такая алгоритмическая конструкция называется развилкой и в языке Pascal записывается следующим образом:

IF <условие>

ТHEN

<оператор 1>

ELSE

<оператор 2>

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

>

больше

<=

не больше

>=

не меньше

<>

не равно

<

меньше

=

равно

В качестве примера рассмотрим программу, которая определяет максимальное из двух чисел:

PROGRAM MAXIMUM;

VAR X,Y: INTEGER;

BEGIN

WRITE('Введите два целых числа: ');

READLN(X,Y);

WRITE('Максимальное из двух чисел равно ');

IF X>Y THEN WRITE(X)

ELSE WRITE(Y)

END.

Обратите внимание, что ключевые слова THEN и ELSE отделяются от следующих за ними операторов пробелами ( если вы поставите точку с запятой, то это будет ошибкой!).

Если в команде ветвления после слов THEN или ELSE требуется выполнить не одну, а несколько команд, то они заключаются в операторные скобки BEGIN - END.

Например:

IF D<>0 THEN

BEGIN

X1:=((-B+sqrt(D))/(2*A);

X2:=((-B-sqrt(D))/(2*A);

END

ELSE WRITELN('действительных корней нет');

Допустима и сокращенная форма команды ветвления:

IF <условие> THEN <оператор>;

Например:

IF D<0 THEN WRITE('Делить на 0 нельзя');

5. Сложные условия

5.1. Что такое True и False

Все приведенные выше примеры содержат простые условия. Под условием мы будем понимать какое-либо выражение, о котором (после определения всех значений входящих в него переменных) можно сказать, что оно либо ИСТИННО (по-английски TRUE - читается как ТРУ-У-У), либо ЛОЖНО (по-английски FALSE - читается как ФЭ-Э-ЛС). Например: If a>b then ... - здесь условие a>b является True только тогда, когда значение переменной a больше значения переменной b. ЭТО ЖЕ условие можно записать по другому: a-b>0 или b<a или b-a<0. И во всех приведенных случаях выражение является истинным (True) тогда и только тогда, когда значение переменной a больше значения переменной b.

Выражения, значения которых могут равняться True или False, принято называть ЛОГИЧЕСКИМИ. Как правило, в логических выражениях всегда присутствует знаки сравнения: <, <=, =, >=, >, <>.

Попробуйте сами определить, когда приведенные ниже значения выражений являются True, а когда - False:

a=b a>=b a+1=b-1 s*s<=121 abs(x-x0)<e

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]