Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Организация программ разветвляющихся структур




Условный оператор используется, когда выполнение программы зависит от выполнения некоторого условия.

В Паскале различают две формы условного оператора: полная и сокращенная.

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

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

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

ELSE оператор2;

где IF (если), THEN (тогда), ELSE (иначе) – служебные слова; оператор1, оператор2 – простые или составные операторы.

Перед ELSE точка с запятой не ставится.

Условие – это любое выражение логического типа, использующее операции сравнения: =, <>, >=, <=; и операции булевой алгебры: and (и), or (или), not (не).


Пример 3.1. Вычислить y=x+1, если x<0 и y=√x, если x ≥ 0.

IF X ≥ 0 THEN Y:= SQRT(X)

ELSE Y:= X+1;

 
 

Если условие сложное, то оно ставиться в круглые скобки.

Пример 3.2. Вычислить k=ln(x/y), если x>0 и y≠0, и k=sin(x), во всех остальных случаях.

IF (X>0) AND (Y<>0) THEN K:= LN(X/Y)

ELSE K:= SIN(X);

Пример 3.3. Вычислить:


IF A=B THEN

IF C<D THEN X:=1

ELSE X:=2

ELSE X:=3;


Действие условного оператора расширяется, если использовать после служебных слов составной оператор. Составной оператор – это последовательность действий больше одного, которые заключаются в операторные скобки (begin, end).

IF <лог_усл> THEN

BEGIN

оператор1;

…..

операторN;

END

ELSE

BEGIN

оператор1;

…..

операторN;

END;



Пример 3.4.

Фрагмент программы

IF SUM>K THEN

BEGIN

A:= A+K;

M:= M+1;

END

ELSE

BEGIN

A:= A+SUM;

WRITELN (A);

END;


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


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

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

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

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...