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