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

4.4. Условные и составные операторы

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

Для организации ветвлений в программах используют операторы передачи управления (операторы перехода).

Допускается запись условного оператора в двух формах - пол­ной и краткой.

Полная форма условного оператора if предназначена для программирования разветвлений и имеет вид:

If Логическое выражение then оператор 1 else оператор 2;

где опера­тор1, оператор2 простые (в том числе и условные) или составные операторы. Здесь используются ключевые слова: if – если; then [зен] – тогда (то); else [элз] – иначе.

В дальнейшем для удобства изложения оператор 1 будем называть then-ветвью, а оператор 2 - else-ветвью. Подчеркнем, что в каждой из ветвей может находиться только один оператор. Перед else символ ’;не ставится никогда.

Оператор if выполняется так:

1) вычисляется значение логического выражения, результат вычислений анализи­руется;

2) если результатом является true, выполняется опера­тор 1, если falseоператор 2.

После выполнения любой из ветвей выполняется следующий по порядку оператор программы.

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

Var a, b, max: real;

begin

write ('введите числа a,b'); readln(a, b);

if a > b then max:=a else max:=b;

writeln ( max:10:2 )

end.

Если a > b, то выполняется оператор max:=a (ветвь then), в против­ном случае – оператор max:=b (ветвь else). После выполнения любой ветви следующим будет выполнен оператор вывода.

Если в одной или в обеих ветвях оператора if необходимо раз­местить не один, а несколько операторов, то каждую такую группу следует представить в виде одного составного оператора.

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

Составной оператор начинается служебным словом begin и за­канчивается словом end. Между этими словами размещаются необходи­мые для вычислений операторы. Слова begin и end играют в составном операторе роль скобок и называются, поэтому операторными скобками. Например

begin

c:=a; a:=b; b:=c

end

Пример 4.9. Решить уравнение ax2 + bx + c = 0 ( a 0 )

var

a, b, c, x1, x2, d : real;

begin

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

d := sqr(b) – 4*a*c;

if (d < 0) then write ('корни комплексные ')

else

begin

d := sqrt (d); a:=2*a;

x1:= ( - b + d ) / a; x2 := ( - b – d ) / a;

writeln (x1:10:2, x2:10:2)

end

end.

Если условие d < 0 истинно, выводится сообщение «корни комп­лексные», после чего работа программы заканчивается. В противном случае выполняется else-ветвь, содержащая составной оператор (че­тыре оператора присваивания и оператор вывода).

Краткая форма условного оператора if. Эта форма используется при программировании ответвлений и имеет вид:

If Логическое выражение then оператор 1;.

Если логическое выражение есть true, то выполняется опера­тор 1, в противном случае выполняется следующий оператор програм­мы.

Пример 4.10. Даны два числа. Если второе число больше первого – уменьшить его в два раза.