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

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

Лекция 4 Программирование разветвляющихся алгоритмов

План лекции

1. Схемы алгоритмов разветвляющейся структуры

2. Оператор безусловного перехода GOTO

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

 

Общий вид оператора: GOTO <метка>;.

Метка ставится перед оператором, которому передается управление и отделяется от него двоеточием. Метка должна быть описана в разделе LABEL. Например:

......................................

GOTO 50;

10 S:=S+A;

....................................

50 WRITELN (Y);

...................................

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

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

Условный оператор IF записывается в виде:

IF <логическое выражение> THEN <оператор 1>

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

Оператор условного перехода IF может быть представлен схемой (рисунок 4). Если логическое выражение истинно, то выполняется оператор 1, если нет – оператор 2. В качестве операторов 1, 2 могут использоваться другие операторы IF. В этом случае каждое ELSE относится к ближайшему слеваIF. Рекомендуется словоELSE писать под соответствующим ему словом THENдля удобства восприятия программы. Перед ELSE“;” никогда не ставится.

Рисунок 4 – Схема оператора условного перехода IF

В логических выражениях используются операции отношения (таблица 4). Результатом вычисления логического выражения могут быть только два значения: истина (TRUE) или ложь (FALSE).

 

Таблица 4 – Операции отношения алгоритмического языка ТР

Операция Действие Выражение Результат
= Равно A=B True, если A=B
<> Не равно A<>B True, если A<>B
< Меньше A<B True, если A<B
> Больше A>B True, если A>B
<= Меньше или равно A<=B True, если A<=B или А=В
>= Больше или равно A>=B True, если A>=B или А=В

 

Пример 5. При заданных значениях переменных a и b вычислить Y по одной из формул:

  Рисунок 5 – Схема алгоритма решения примера 5   PROGRAM PRIMER5; VAR A,B,Y: REAL; BEGIN WRITELN (‘ВВЕДИТЕ A, B’); READLN (A,B); IF A>B THEN Y:=SIN(A) ELSE Y:=COS(B); WRITELN (‘Y=’,Y:10:6); END.

Пример 6. При заданном значении x вычислить Y по одной из формул:

 

PROGRAM PRIMER6; VAR X,Y: INTEGER; BEGIN WRITELN (‘ВВЕДИТЕ X’); READLN (X); IF X<0 THEN Y:=1 ELSE IF X<10 THEN Y:=2 ELSE Y:=3; WRITELN (‘Y=’,Y:1); END.  
Рисунок 6 – Схема алгоритма решения примера 6  

 

У оператора IF ветвь ELSE может отсутствовать, тогда оператор записывается в следующем виде:

IF <логическое выражение> THEN <оператор 1>;

и реализующая его схема имеет вид:

 

 

Рисунок 7 – Схема условного оператора IF при отсутствии ветви ELSE

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

 

Таблица 5 – Логические операции алгоритмического языка ТР

Операция Действие Выражение А В Результата
Not Отрицание Not A True   False
And И A and B True True False False True False True False True False False False
Or ИЛИ A or B True True False False True False True False True True True False
Xor Исключающее или A xor B True True False False True False True False False True True False

Вопросы для самоконтроля

1. Назовите этапы подготовки и решения задач на ПЭВМ.

2. Дайте определение алгоритма.

3. Какие вы знаете свойства алгоритма?

4. Перечислите известные вам способы описания алгоритма.

5. Что такое схема алгоритма?

6. Как обозначаются операции ввода и вывода данных в схеме алгоритма?

7. Какой геометрической фигурой обозначается блок «проверка условия» в схеме алгоритма?