Организация программ разветвляющихся структур
Условный оператор используется, когда выполнение программы зависит от выполнения некоторого условия. В Паскале различают две формы условного оператора: полная и сокращенная. Полная форма условного оператора Формат полной формы условного оператора имеет вид: 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. Блок-схема алгоритма Листинг программы 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, график зависимости приведён на рисунке. {Использование полной формы условного оператора} 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 Организация ПРОГРАММ РАЗВЕТВЛЯЮЩИХСЯ Работа посвящена изучению управляющих конструкций языка программирования при помощи различных форм оператора условия. Цель работы. Изучить управляющие структуры языка и получить навыки составления программ с разветвлениями. Задание. Проверить попадание точки в заданную область. Постановка задачи. Записать логическое выражение, соответствующее заданной области истинности. Варианты заданий
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|