Разветвляющиеся программы

 

Разветвляющиеся программы организуются с помощью условного оператора IF.

Различают однострочные и многострочные условные операторы.

Форматы однострочного оператора IF:

а) простой однострочный оператор

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

При выполнении оператора IF проверяется условие и, если оно исти­нно, то выполняется действие, указанное после оператора THEN. Если вы­ражение ложно, то управление передается на оператор, следующий за опе­ратором IF.

IF x<e THEN GOTO m1

IF x<a THEN y=SIN(x)*EXP(2^LOG(x)): GOTO m2

б) простой расширенный оператор IF

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

При выполнении оператора IF, если условие истинно, то выполняются операторы, указанные после оператора THEN, в ином случае выполняются операторы, следующие за оператором ELSE. После выполнения соответству­ющей группы операторов управление передается на оператор, следующий за оператором IF.

IF x<a THEN y=SIN(x)*EXP(2^LOG(x)) ELSE y=3*x^2-5*x+4

После операторов THEN и ELSE может быть указано несколько опера­торов, разделенных двоеточием. Однако, число операторов ограничено дли­ной строки. Этих недостатков лишен многострочный оператор IF.

Пример 9.4.7. Вычислить выражение

x2 - 5 , если x<a

y = x , если а<= х <=b

-x , если x>b

 

Решение.

INPUT "Введите значение Х", Х

INPUT "Введите значения a и b ",a,b

IF x<a THEN y = x^2 –5: GOTO m1

IF x>=a AND x<=b THEN y=x: GOTO m1

y = -x

m1:

PRINT "x="; x, "y="; y

END

При использовании многострочного IF алгоритм для решения примера 9.4.7 будет выглядеть следующим образом:

INPUT "Введите значение Х", Х

INPUT "Введите значения a и b ",a,b

IF x<a THEN

y = x^2 –5

ELSEIF x>=a AND x<=b THEN

y=x

ELSE

y = -x

END IF

PRINT "x="; x, "y="; y

END

Форматы многострочного оператора IF:

а) простой IF <условие> THEN <первая группа операторов> ELSE <вторая группа операторов> END IF б) расширенный IF <условие> THEN <первая группа операторов> ELSEIF <условие> THEN <вторая группа операторов> ELSE <третья группа операторов> END IF

При записи операторов следует обращать внимание на структуру за­писи. Структура должна соответствовать той, что указана в примере.

Достоинство многострочного IF состоит в том, что число операто­ров в группах не ограничено.