Формат краткой формы условного оператора:
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. Разработать алгоритм и составить текст программы.
Блок-схема алгоритма
Листинг программы
|
|
|
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. Какова структура полной формы оператора условия?