Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИНФ_ЛЕКЦИИ_(1 С)_2011.doc
Скачиваний:
5
Добавлен:
16.04.2019
Размер:
898.56 Кб
Скачать

Var a, b : real;

begin

write ('введите a, b '); readln (a, b);

if a < b then b := b / 2;

writeln ( a:10:2, b:10:2 )

end.

В операторе if непосредственно за ключевыми словами then и else могут следовать любые операторы, в том числе и операторы if. В этом случае они называются вложенными. Ниже приведены примеры, в которых используются вложенные операторы if.

Пример 4.11. Вычислить значение функции у по формуле при a > b.

Блок-схема алгоритма приведена на рис. 4.1. Здесь в линейную структуру вложена ветвящаяся, ветвь «нет» которой, в свою очередь, составляет еще одна ветвящаяся структура. Глубина вложения такой ветвящейся структуры равна 2.

Вложенная ветвящаяся структура (глубина вложения равна 1)

Да

Да

Нет

Нет

Вложенная ветвящаяся структура

(глубина вложения равна 2)

Рис. 4.1. Алгоритм с тремя ветвями

Программа имеет следующий вид.

var

X, y, a, b : real;

begin

writeln ('введите x, a, b ');

readln (x, a, b);

if x <= a then y := sqr (x)

else if x > b then y := sqr (sqr (x))

else y := x * sqr (x);

writeln ( y:10:2 )

end.

Пример 4.12. Составить программу решения следующей задачи

Схема алгоритма на рис 4.2.

Да

Нет

Да

Нет

Рис. 4.2. Ветвление со сложными условиями

Программа имеет следующий вид:

Var X, a, z : real;

begin

write ('введите x,a'); readln (x, a);

if (a = 2) and (x = 1) then z := sqr (a * x)

else

if (a = 3) or (x = 2) then

z := exp (1 / 3 * ln (x*a))

else z := exp (1 / 5 * ln (x));

writeln ( z:10:2 )

end.

В отличие от предыдущих примеров, где в качестве условий в операторах if использовались выражения отношения, здесь условия представляют собой более сложные логические выражения, содержащие логические операции and и or. В большинстве случаев это делает программу более простой и понятной.

4.5. Операторы цикла

Циклическим называют вычислительный процесс, алгоритм ко­торого представляет собой линейную структуру с вложенными в нее од­ной или несколькими циклическими структурами, каждая из которых имеет глубину вложения равную 1.

Для организации циклов используются специальные операторы языка, называемые операторами цикла.

В языке TurboPascal таких операторов три: цикл с предусловием While, цикл с постус­ловием Repeat и цикл с парамет­ром For.