Как мы уже говорили, любой алгоритм можно составить из нескольких базовых структур. Простейшей из них является линейная (следование). В ней команды выполняются однократно в той последовательности, как они записаны. Однако далеко не всегда для решения задачи последовательность действий одна и та же при любых исходных данных. Если на каком-то этапе исполнитель должен выбирать один вариант из нескольких, в алгоритме используют ветвление.
В алгоритме разветвленной структуры (ветвлении) в зависимости от истинности или ложности некоторого условия выбирается одна из двух серий команд.
Блок-схема
Программа на языке Pascal
program choice;
var a, b, c, d: real;
begin
readln(a, b, c);
d := b * b - 4 * a * c;
if d < 0 then writeln('корней нет')
else writeln('корни есть');
end.
Обратите внимание, что перед словами then и else точка с запятой не ставится — они считаются частями одного условного оператора
В том случае, если при ложности условия никаких действий не выполняется, на блок-схеме на стрелке «НЕТ» не чертят никаких блоков, а в записи условного оператора пропускают «else».
Если серия состоит более чем из одной команды, ее необходимо заключить в
if x > 0 then
begin
y := sqrt(x);
z := z + y;
end
else z := z + x;