Краткая форма условного оператора

Формат краткой формы условного оператора:

IF <лог_усл> THEN оператор1;

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

Пример 3.5. Запишем пример 1 при помощи краткой формы оператора IF.

IF X<0 THEN Y := X+1;

IF X>=0 THEN Y := SQRT(X);

Определение чётности и нечётности числа:

или

IF (X MOD 2 = 0)

THEN WRITRELN (‘чётное число’);

IF (X MOD 2 <> 0)

THEN WRITELN (‘нечётное число’);

Задача 3.1. Определить, принадлежит ли точка с координатами (x,y) прямоугольнику с координатами x1, x2, y1, y2.
Примечание. Точка принадлежит прямоугольнику, если x ≥ x1, x ≤ x2; y ≥ y1, y ≤ y2.

 
 

Блок-схема алгоритма

Листинг программы

PROGRAM PRIM1;

VAR X, X1, X2, Y, Y1, Y2 : REAL;

BEGIN

READ(X1, X2, Y1, Y2);

IF (X>=X1) AND (X<=X2) AND (Y<=Y1) AND (Y>=Y2)

THEN WRITE (‘точка принадлежит прямоугольнику’)

ELSE WRITE (‘точка не принадлежит прямоугольнику’);

END.

Задача 3.2. Вычислить значение функции Y, которая принимает 3 значения.

 
 

Блок-схема алгоритма

Листинг программы

PROGRAM FUN;

USES CRT;

VAR X, Y : REAL;

BEGIN

CLRSCR;

WRITE (‘X = ’);

READLN (X);

IF X<=0.5

THEN Y:=X-EXP(COS(X))

ELSE

BEGIN

IF X<=1 THEN Y:= X*SIN(PI*X)

ELSE Y:= ESP(-X);

END;

END.

Задача 3.3. Пусть значение Y зависит от X, график зависимости приведён на рисунке.
Программа вычисления значения Y по значению X:

{Использование полной формы условного оператора}

PROGRAM PRIM1;

VAR

Y, X : REAL;

BEGIN

IF X<2 THEN Y := X

ELSE

BEGIN

IF X<3 THEN Y:=2

ELSE Y:=-X+5;

END;

END.

{ Использование краткой формы условного оператора }

PROGRAM PRIM2;

VAR

Y, X : REAL;

BEGIN

IF X<2 THEN Y := X;

IF (X>=2) AND (X<3) THEN Y := 2;

IF (X>=3) Y := -X+5;

END.

Задача 3.4. Разработать алгоритм и составить текст программы.

 
 

Блок-схема алгоритма

Листинг программы

да
да
да
PROGRAM MIN_MAX;

VAR

X, Y, Z: REAL;

BEGIN

CLRSCR;

READLN (X, Y);

IF X<0 THEN

BEGIN

IF X>Y THEN Z:=X ELSE Z:=Y;

END

ELSE

BEGIN

IF X<Y THEN Z:=X ELSE Z:=Y;

END;

WRITELN (‘Z = ’, Z:4:2);

END.

Задача 3.5. Ввести 3 числа и расположить их по возрастанию (алгоритм перестановки или сортировки методом пузырька).

 
 

Блок-схема алгоритма

Листинг программы

PROGRAM SORT;

USES CRT;

VAR

A, B, C, K: REAL;

BEGIN

CLRSCR;

READLN (A,B,C);

IF A>B THEN

BEGIN

K := A;

A := B;

B := K;

END;

IF A>C THEN

BEGIN

K := A;

A := C;

C := K;

END;

IF B>C THEN

BEGIN

K := B;

B := C;

C := K;

END;

WRITELN (‘A = ’,A:7:4);

WRITELN (‘B = ’, B:7:4);

WRITELN (‘C = ’,C:7:4);

WRITELN;

END.

Вопросы для самопроверки

1. В каком случае используется оператор условия?

2. Какие существуют виды оператора условия?

3. Какова структура краткой формы оператора условия?

4. Какова структура полной формы оператора условия?

Лабораторная работа №3

Организация ПРОГРАММ РАЗВЕТВЛЯЮЩИХСЯ
СТРУКТУР

Работа посвящена изучению управляющих конструкций языка программирования при помощи различных форм оператора условия.

Цель работы. Изучить управляющие структуры языка и получить навыки составления программ с разветвлениями.

Задание. Проверить попадание точки в заданную область.

Постановка задачи. Записать логическое выражение, соответствующее заданной области истинности.

Варианты заданий

1 у 1
 
 

-1 1 х

-1

11 у 1 х -3 -1 1 3 -2 21 у 1 -1 1 х   -1
2 у 1 -2 2 х -1 12 у 3 -3 -2 2 3 х   -3 22 у 1 -1 1 х -1 -2
3 у 2 -1 1 х 0 13 у 1 -3 3 х -2 23 у 2 1 0 1 2 х
4 у 1 -2 1 2 х -1 14 у 2 -1 1 х -1 24 у 2 -2 -1 1 2 х -2

5 у 2 1 -2 -1 1 2 х 1 15 у 2 -2 1 2 3 х -2 25 у 2 r=2 -2 x 2  
6 у 1 -1 1 х -1 16 у 2 -3 -2 -1 1 2 3 х -2 26 у 1 1 2 -1 х   -2
7 у -2 -2 -1 1 2 х -2 17 у 2 1 3 1 х -2   27 у 2 -2 1 2 х 1 -2
8 у 2 1 -3 0 2 3 х -1 -2 18 у   -2 -1 1 2 х -1 -2 28 у 2 1 -2 2 х -1
9 у 2 -2 -1 1 2 х -1 19 у 2 -1 2 х 29 у 2 1 -2 -1 1 2 х -1 -2
10 у 3 45 2 3 х 20 у 2 -2 -1 1 2 х   -2 30 у 2 -2 1 2 х -1 -2

Наши рекомендации