Алгоритмизация и программирование задач. Петрова М.В. - 9 стр.

UptoLike

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

9
Казалось бы, решение этой задачи можно описать алгоритмом линейной
структуры. Однако для удовлетворения свойств массовости и результативности
алгоритма необходимо, чтобы при любых исходных данных был получен ре-
зультат или сообщение о том, что задача не может быть решена при заданных
исходных данных. Действительно, если
0
=
y , задача не может быть решена, так
как деление на 0 невозможно. Поэтому в алгоритме необходимо предусмотреть
этот случай и выдать в качестве результата информацию о том, что
0=y
. Таким
образом, рассматриваемый вычислительный процесс должен иметь две ветви: в
одной, если
0y , необходимо вывести и отпечатать значение переменной
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. Вычислить значение функции:
.
,
,cos
,sin
<<
=
bxеслиtgx
bxaеслиx
axеслиx
z
Здесь вычислительный процесс имеет три ветви. С помощью условного
блока можно проверить выполнение только условия, по которому будет опре-
делен выбор выражения для реализации одной ветви. Поэтому, чтобы устано-
вить, по какой из двух оставшихся ветвей должен идти вычислительный про-
цесс в случае невыполнения первого условия, необходимо использовать еще
один условный блок. Блок-схема этого алгоритма представлена на рис.3.
Блок 3 проверяет условие x
a, а в случае его выполнения осуществляется
переход к блоку 4, вычисляющему z=sin x. Если x>a, то блок 5 проверяет усло-
вие x
b. Если это условие выполняется, то осуществляется переход к блоку 6,
вычисляющему z=tg x. В противном случае x лежит в интервале между a и b и
происходит переход к блоку 7, вычисляющему z=cos x. После вычисления по
любой из формул осуществляется переход в общую ветвь к блоку печати.
2.3. Вычислить корни квадратного уравнения ax
2
+bx+c=0.