Osnovy_informatiki_-_4_Operatory_-_2_chast
.pdfОператоры
2012/2013 учебный год
Условный оператор
if <логическое выражение> then <оператор1> [else <оператор2>]
<оператор1> и <оператор2>
могут быть простым оператором (в том числе и пустым) или составным
2 |
Чердынцева М.И., мехмат ЮФУ29.09.2012 |
2 |
29.09.2012 |
Чердынцева М.И. мехмат ЮФУ |
|
Семантика оператора
if B then S1 |
да |
нет |
|
else S2
да |
нет |
|
|
|
|
|
if |
B then S1 |
3 |
Чердынцева М.И., мехмат ЮФУ 29.09.2012 |
3 |
29.09.2012 |
Чердынцева М.И. мехмат ЮФУ |
|
Пример
Hайти минимум из чисел a, b.
if b>a then min:=a
else min:=b;
29.09.2012 |
Чердынцева М.И. мехмат ЮФУ |
4 |
|
Пример
Упорядочить значения переменных a, b по возрастанию
if a>b then begin v:=a; a:=b; b:=v
end;
29.09.2012 |
Чердынцева М.И. мехмат ЮФУ |
5 |
|
Вложенные условные операторы
|
|
a 2 |
b2 |
|
|
||
|
|
|
|
|
, |
если a |
b, |
|
2 |
|
|||||
|
|
|
|
|
|||
y |
2(a 2 |
b2 ) , |
если a |
b, |
|||
|
1 |
, |
если a |
b |
|||
|
|
|
|
||||
|
4 |
||||||
|
|
|
|
|
if a<b then y:=(a*a+b*b)/2.0 else
if a>b then y:=2.0*(a*a+b*b) else y:=0.25;
29.09.2012 |
Чердынцева М.И. мехмат ЮФУ |
6 |
|
Правило «ближайшего if»
if B then
if C then S1 else S2
да |
нет |
да |
нет |
29.09.2012 |
Чердынцева М.И. мехмат ЮФУ |
7 |
|
if B then
begin if C then S1 end
else S2 да нет
или
if B then |
да |
нет |
if C then |
S1 |
|
else else S2
29.09.2012 |
Чердынцева М.И. мехмат ЮФУ |
8 |
|
Оператор выбора варианта
case <переключатель> of
<список выбора 1>: <оператор1>;
...
<список выбора N>: <операторN>; [else <оператор0>]
end
29.09.2012 |
Чердынцева М.И. мехмат ЮФУ |
9 |
|
Пример
case DayOfWeek of 1..5: writeln('Будний');
6,7: writeln('Выходной'); else writeln('Ошибка');
end;
29.09.2012 |
Чердынцева М.И. мехмат ЮФУ |
10 |
|