Разветвляющимся называется алгоритм в котором порядок выполнения действий зависит от некоторого условия.
Общий вид блок-схем алгоритмической структуры “ветвление”
рис. 2.
Задание 3.2. Составим блок схему сказочного алгоритма: “Поехал Иван – Царевич на сером волке за Жар – Птицей. Ехал он, ехал, глядь – перед ним лежит огромный камень. На камне надпись: “Направо пойдешь – коня потеряешь, налево пойдешь – голову сложишь…”
Ответ: Рисунок 3.
рис. 3.
Задание 3.3. По условию в блок-схеме определить результат:
рис. 4.
Ответ: 1 – кислая среда; 2 – щелочная среда; 3- нейтральная среда.
Синтаксис на языке программирования Pascal:
Полное ветвление: if <условие> then <оператор1> else <оператор2>;
Неполное ветвление: if <условие> then <оператор1 >;
Если <условие> истинно (true), то выполняется <оператор_1>, в противном случае (false) - <оператор_2>.
<Условие> - логическое выражение типа Boolean;
Если <условий> несколько, то они заключаются в скобки и объединяются ключевыми словами: and, or, not.
Математическая запись
=
Запись на языке TurboPascal
=
<
>
<
>
<
>
<=
>=
<>
В Pascal, если в качестве оператора должны выполняться серия операторов, то они объединяются в операторные скобки Begin – end;
if <условие> then
begin
<операторы>;
end;
else
begin
<операторы>;
end;
4. Осмысление
Задание 4.1. Даны два числа А и В. Найти наибольшее из них.
(Задача решается на основе этапов решения задач на ПК)
1. Постановка задачи
2. Математическая постановка задачи
3. Разработка алгоритма
4. Разработка программы на изучаемом языке программирования
Дано: А и В – целые
Найти: наибольшее из А или В
Если А>B, то А – наибольшее число, иначе В – наибольшее.
рис. 5.
Язык программирования TurboPascal:
Program Vetvlenie1;
Var a,b: integer;
Begin
write (‘а=’); readln (a);
write (‘b=’); readln (b);
if a>b then
writeln (‘а - наибольшее’)
else
writeln (‘b - наибольшее’);
end.
5. Реализация программы на ПК и её отладка.
6. Тестирование
5. Подведение итогов.
Задание 5.1. Если а = - 3, то чему будет равно Z после выполнения фрагмента программы:
if a>=0 then z:=10;
if a<0 then if a<-5 then z:=20;
if a>=-5 then if a<-3 then z:=30 else z:=0;
Ответ: z = 0
Задание 5.2. (домашнее) Составить блок-схему и программу, в которой значение переменной вычисляется по формуле: a + b, если а – нечетное и a*b, если а – четное (условие четности числа: а mod 2 = 0).