Информатика. Петрова М.В. - 34 стр.

UptoLike

Составители: 

34
Продолжение приложения В
2. Программирование алгоритмов разветвляющейся структуры
На практике редко удается представить схему алгоритма решения задачи
в виде линейной структуры. В программу может быть включено условие
(например, выражение отношения или логическое отношение), в зависимости
от которого, вычислительный процесс идет по той или иной ветви. Алгоритм
такого вычислительного процесса называется
алгоритмом разветвляющейся
структуры. В общем случае количество ветвей в таком алгоритме не
обязательно равно двум.
2.1. Вычислить значение функции
0,5+)xnsin(=yгдеy,/x=z
3
.
Казалось бы, решение этой задачи можно описать алгоритмом линейной
структуры. Однако для удовлетворения свойств массовости и результативности
алгоритма необходимо, чтобы при любых исходных данных был получен
результат или сообщение о том, что задача не может быть решена при заданных
исходных данных.
Действительно, если
0=
y
, задача не может быть решена, так как деление
на
0 невозможно. Поэтому в алгоритме необходимо предусмотреть этот случай
и выдать в качестве результата информацию о том, что
0=
y
. Таким образом,
рассматриваемый вычислительный процесс должен иметь две ветви: в одной,
если
0
y
, необходимо вывести и отпечатать значение переменной
z
, а в
другойвывести на печать информацию, что
0=
y
. Блок-схема алгоритма
решения этой задачи представлена на рис. В.2. Этот вычислительный процесс
можно описать условным выражением:
Вычислить
z=x
3
/y, если y
0. Вывести y=0, если y=0.
В блок- схеме до блока номер 4 располагаются блоки сначала одной ветви
(блоки 5,6), а затем второй ветви (блок 7). Поскольку после выполнения блоков
первой ветви нет необходимости выполнять блоки второй ветви,
осуществляется переход сразу к концу алгоритма (к блоку 8).
В алгоритме дважды нарушается естественный порядок выполнения
блоков: 1) при проверке условия
y=0 (условный переход); 2) после
выполнения блоков первой ветви (безусловный переход).
2.2. Вычислить значение функции:


.bxесли,xtg=z
b;x<a<если,xcos=z
a;xесли,xsin=z