Для решения сложных задач обработки информации программист должен составить алгоритм – подробное описание последовательности арифметических и логических действий, расположенных в строгом логическом порядке и позволяющем решить конкретную задачу. Алгоритм называется разветвленным, если он создает несколько ветвей, отличающихся друг от друга ходом вычислений.
При программировании разветвленных алгоритмов используются операторы условной и безусловной передачи управления, операторы выбора.
1) Оператор перехода.
В языке Pascal принят естественный порядок выполнения программы. Однако возникает необходимость изменения естественного выполнения операторов.
Для этого предназначен оператор перехода (безусловный оператор), который имеет следующую форму записи:
Goto Имяметки;
Метка представляет собой произвольный идентификатор оператора на который передается управление. Метка располагается перед помеченным оператором и отделяется от него двоеточием.
Метка должна быть объявлена в разделе описания меток.
Пример,
Program metka;
LABEL m100;
……
BEGIN
if y<0 then goto m100
else a:=x*ln(n);
m100: writeln('вывести на принтер');
…
END.
2) Инструкция условия if.
Выбор действия в зависимости от выполнения условия может быть реализован при помощи инструкций if и case.
Инструкция if используется в программе, когда в зависимости от некоторого условия надо выбрать одно из двух действий, или когда некоторое действие должно быть выполнено только при выполнении некоторого условия.
В общем виде инструкция условия if записывается:
Ifусловие
Then
Begin
{ инструкции, выполняемые, если условие истинно}
End
Else
Begin
{ инструкции, выполняемые, если условие ложно}
end;
На рисунке Д.1 представлена блок-схема, соответствующая инструкции if-then-else.
Рисунок Д.1 – Блок-схема, соответствующая инструкции if-then-else
3) Инструкция выбора Case.
Инструкция выбора Case используется при множественном разветвлении алгоритма, например, если необходимо по числовому значению дня недели указать его название (1 - понедельник, 2 - вторник, 3 – среда и т.д.).
Инструкция выбора case позволяет реализовать множественный выбор и записывается:
Case выражение of
список констант 1: begin
{ последовательность инструкций 1 }
end;
список констант 2: begin
{ последовательность инструкций 2 }
end;
список констант N: begin
{ последовательность инструкций N }
end;
Else
Begin
{ последовательность инструкций, выполняемая }
{ в случае, если значение выражения не попало }
{ ни в один из списков констант }
end;
end;
Если между begin и end находится только одна инструкция, то их можно не писать.
Блок-схема алгоритма, соответствующая инструкции case представлена на рисунке Д.2.
Рисунок Д.2 – Блок-схема, соответствующая инструкции case
Приложение Е
(информационное)