Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metod3O.doc
Скачиваний:
6
Добавлен:
14.08.2019
Размер:
6.93 Mб
Скачать

2.2.2. Условный оператор

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

if A then S1 else S2;

где if (если), then (то), else (иначе) – служебные слова,

А –логическое выражение,

S1, S2 – операторы.

Перед then и else нельзя ставить точку с запятой.

Если логическое выражение А принимает значение true,

то выполняется оператор S1, в противном случае выполняется оператор S2.

Пример:

if x > 0 then y:= ln(x) else y:=1;

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

Составной оператор – это последовательность операторов, взятая в операторные скобки beginend, т. е. это конструкция вида

begin S1;

S2;

... ;

Sk

end;

где S1, S2,…, Sk – операторы.

Пример:    if abs(x) <= abs(y) then

begin z := x + y;

write(z:5:2)

end

else

begin z:= sqr(x) – sqr(y);

write(z:5:2)

end;

Краткий условный оператор имеет вид:

if A then S;

где А – логическое выражение,

S оператор.

Если выполняется условие (логическое выражение принимает значение true), то выполняется оператор S, иначе управление передается оператору, следующему за данным условным оператором.

Пример:    if у < 1 then z := ехр(у);

Пример:    if (a > b) and (x > 0) then

begin с := а b;

у := х + 2

end;

Часто в программах требуется найти максимальное или минимальное значения среди нескольких переменных.

В Turbo Pascal нет стандартных функций для их нахождения. Определяют максимум или минимум, используя условный оператор.

Пример 1. Найти максимальное из значений двух переменных, т. Е. х = мах(a, b).

If а > b then х := a else х := b;

Пример 2. Найти максимальное из значений трех переменных, то есть х = мах(а, b, с).

If a > b then x := a else x := b;

if c > x then x := c.

Примечание. При нахождении минимального значения знак неравенства меняется на противоположный.

Пример выполнения задания 1 контрольной работы

Даны три числа A, B и C. Вычислить значения переменных X Y, Z. Вывести их на экран монитора.

Пусть Dl и D2 – заштрихованные части плоскости (см. рис.1) и пусть U определяется как функция X и Y. Вывести на экран значение функции U. Вывод результатов оформить пояснительным текстом. Составить блок-схему задачи.

Если то

иначе

Вычислить значение функции U по правилу:

Записи     (x, y)  Dl,   (x, y)  D2

означают, что точка с координатами (х, у) принадлежит области D1 или D2.

Рис. 1

Program lab2;

uses crt;

var u, x, y, z:real;

a, b, c:integer;

begin clrscr;

writeln (‘Введите a, b, c);

readln (a, b, c);

if a + b > с then begin x:= a + b;

y:= sqrt(a*a + b*b);

z:= ln(b + c)

end

else

begin x:=a с;

y:= a*ac*c;

z:=ln(a*c)

end;

writeln (‘x=’, x:5:2,’ y=’, y:5:2,’ z=’, z:5:2)

if (y <=2*x/3 + 2) and (y >= x*x) then и:=x*x

else

if (sqrt(sqr(x) + sqr(y)) >= 2)

and (sqrt(sqr(x) + sqr(y))<=3) and (y < 0)

then u:=x + y

else u := 0;

writeln(‘u=’, u:7:2);

readkey

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]