ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 21.10.2024
Просмотров: 152
Скачиваний: 0
|
Ввод |
|
|
программы |
|
Пооба:на количество |
оОразов |
|
|
•ж. |
|
Формирование |
Обращение |
|
к о п е р а т о р у ! ! |
||
нулей на месте |
||
(определение |
||
коэффициентов |
||
уравнения |
||
А, В, С |
прямой) |
|
|
Перенос |
|
Подпрограмма |
коэффициента |
|
прямой |
||
перехода |
в фиксированные |
|
к варианту Л |
адреса А к Вк С к |
|
Х=Х; y=ioea-y |
ТГ<Г |
|
|
N=6 |
|
I вариант |
|
_ Точки 1 нет |
|||
|
4- |
|
|
|
|
|
|
Д вариант |
|
|
|
|
|
|
Обращение |
|
|
|
|
|
|
к оператору И б |
|
|
|
|
|
(определение |
|
|
|
|
||
|
точки 1) |
|
1взриант |
|||
|
|
|
||||
|
Обращение |
|
Точки Знет |
|||
|
|
> |
*J |
ПС |
||
к |
оператору Н а |
|
< |
|
||
|
(определение |
|
| Д вариант |
|||
|
точки 2) |
|
||||
|
|
|
|
|
||
|
|
к |
Обращение |
|||
|
Обращение |
операторуД |
||||
|
(определение |
|||||
к |
операторуИб |
|||||
|
уравнения |
|||||
|
(определение |
|
||||
|
|
прямой |
|
|||
|
точки 5) |
|
|
|||
|
|
проходящей |
||||
|
|
через |
точку2 |
|||
|
Обращение |
|
и парал |
|||
|
|
лельной |
2 ) |
|||
к |
операторуШа |
|
||||
|
|
|
|
(определение точки 6)
Обращение
к оператору Y (определение точки 1)
Обращение
к оператору y j a (определение точки 2)
Обращение к оператору У (определение
точки 3)
Обращение к оператору Ш а (определение
точки 4)
Обращение
к оператору I (определение уравнения прямой 2-4)
Обращение к оператору У (определение
точки 5)
Обрацение
к оператору И а
(определение точки 6)
Т
Стоп,
Рис. 55
•N = 6
Проба: на точечный оораз №4 (при 5-м обходе)
Обращенне ; к оператору» (определение
точки О)
Обращение к оператору!? (определение
уравнения
горизонтальной
прямой) |
|
|
|
|
|
|
|
|
|
|
к |
|
015 ращение |
И е |
|
|
|
|
|
оператору |
|||
|
|
|
|
(определение |
|||
|
|
|
|
|
точки 1) |
|
|
Точки Знет |
к |
|
Обращение^" |
||||
|
|
|
|
оператору |
И » |
||
|
|
|
(определение |
|
|||
Обращение |
|
|
|
точки |
2) |
|
|
|
|
|
|
|
|
||
к оператору |
Д |
к |
|
Обращение |
|
||
(определение |
|
оператору Ш к |
|||||
уравнения |
|
|
(определение |
||||
прямой |
|
|
|
точки 3) |
|
||
проходящей |
|
|
Т |
|
|
||
[через |
точку2 |
|
|
|
|
||
и |
парал |
|
|
|
ООращенне^. |
||
5 ) |
к, оператору |
Ш 2 |
|||||
лельной |
|
(определение |
|||||
|
|
|
|
|
точки 4) |
|
|
|
|
|
|
|
Обращение |
|
|
|
|
|
к |
оператору |
I |
||
|
|
|
|
(определение |
|||
|
|
|
|
|
уравнения |
|
|
|
|
|
|
|
прямой |
2-4) |
|
Точки 4 нет |
к |
Обращение |
Y |
||||
оператору |
|||||||
|
|
|
|
(определение |
|||
|
|
|
|
|
точки |
6) |
|
U-
Обращение
к оператору Y J a (определение точки 5)
80
исходных данных, кроме того, для 1, 5, 6 и 8 вариантов плоскость задавалась как параллельными, так и пересе кающимися прямыми (в том числе и следами). Во всех случаях ЭЦВМ самостоятельно справлялась с задачей выбора правильного пути решения.
Мы подробно остановились на вопросе определения обобщенного алгоритма, взяв для примера задачу по нахождению точки встречи прямой с плоскостью, так как описанная методика — расчленение задачи на выпол нение элементарных графических операций, составление «схемы счета», представление этой «схемы» в терминах машинных операторов, составление таблицы из «частных» схем счета (или построение разветвляющейся схемы) и, наконец, составление схемы счета обобщенного алгоритма может быть применено и для любого другого типа задач. Кроме того, эта задача является составной частью многих более сложных задач. Поэтому полученную программу
можно рассматривать как |
специальную |
подпрограмму |
||
(СП). В § 9 будет показано |
использование |
СП для |
реше |
|
ния |
задач по нахождению |
линии пересечения |
линей |
|
чатой |
поверхности плоскостью. |
|
|
§ 8. ОПРЕДЕЛЕНИЕ РАЦИОНАЛЬНОГО
АЛГОРИТМА РЕШЕНИЯ ЗАДАЧ
Решение одной и той же задачи может быть осуще ствлено различными графическими методами и спосо бами, каждому из которых соответствует свой алгоритм. Возникает вопрос, какому из них следует отдать пред почтение при решении задачи? Принято считать, что гра фическое решение задачи тем лучше, чем меньше коли чество и проще характер геометрических построений, которые надо выполнить для получения ответа. Разра боткой способов, которые давали бы возможность сде лать количественную оценку простоты и точности графи ческих решений, занимается геометрография.
Вопросам оценки |
простоты и точности геометриче |
||
ских |
построений уделялось большое |
внимание совет |
|
скими |
и зарубежными |
специалистами. |
Несмотря на мно |
жество опубликованных трудов и разнообразие предло женных в них способов, основным критерием для оценки решения служит величина суммарного значения коэф фициентов, оценивающих элементарные операции, на которые могут быть расчленены геометрические построе-
6 С. А. Фролов |
81 |
ния (приложить линейку к точке, провести прямую, поместить острие циркуля в данную точку, провести ок ружность и т. д.).
Пользуясь геометрографией, можно ответить на воп рос, «какой чертеж лучше», но нельзя сделать правильное заключение о том, какое решение рациональнее, так как построения, изображенные на чертеже, являются завер шающей стадией процесса решения задачи. Геометрографические коэффициенты дают оценку только этой стадии процесса решения. Умственная работа (весь ход логи ческих рассуждений), которая предшествует завершаю щей стадии, во внимание не принимается. Для решения вопроса о целесообразности применения того или иного способа в качестве исходных данных следует брать не чертеж выполненного решения, а более содержательное понятие — алгоритм решения задачи.
Сравнивая между собой различные алгоритмы решения поставленной задачи, можно получить более объектив ную оценку, чем при геометрографическом способе.
Возникает вопрос: каким способом можно сравнить алгоритм I с алгоритмом I I и что следует брать в качестве критерия, позволяющего сделать вывод о том, что один из рассматриваемых алгоритмов дает более простое и точное решение? Описанный выше способ выражения «графического алгоритма» в виде «схемы счета», соста вленной из элементарных графических операций, поз воляет получить не только качественную, но и количе ственную оценку какого-либо алгоритма. Для этого до статочно подсчитать число машинных операций (команд), которые необходимо выполнить для реализации алго ритма на ЭЦВМ. Это можно сделать, заменив в схеме счета элементарные операции (§ 7, табл. 2) стандартными операторами (§ 6, табл. 1), и выразить их числом содер жащихся в них команд. Кроме того, исследуя струк туру построения схем счета, можно сделать вывод о целе сообразности использования какого-либо алгоритма для машинного решения.
Поясним сказанное на примере. Чтобы легче показать сущность предлагаемого способа, рассмотрим вопрос о вы боре рационального алгоритма для простейшей задачи —
определение^проекций линий пересечения |
kx и |
/ 2 плос |
кости а (а X Ь) с плоскостями проекции Пх |
и Я 2 |
(рис. 56). |
Один из способов решения этой задачи сводится к опре делению точек M i , Ml; М|; М\, N\, Nl, Nl, N\ В после-
82
довательности, указанной верхними индексами, и прове дению прямых через точки М.\, N\ И М\, NI. Решение этой же задачи можно получить другим путем, опреде ляют точки пересечения в следующей последовательности:
М\, М\, Ml, М\, Nu N2, затем проводим прямую М\,
N\ |
И находим |
точку |
L \ . |
После |
этого проводим |
прямую |
||||
L \ M \ . Алгоритм |
ручного |
решения в символике элемен |
||||||||
тарных |
графических |
опе |
|
|
|
|
||||
раций можно |
записать: |
|
|
|
|
|||||
для |
первого |
случая |
|
|
|
|
|
|||
Е1С2Е3; |
EfibE6; |
|
Е~С8Е9; |
|
|
|
|
|||
|
|
|
|
A1SAU; |
|
(18) |
|
|
|
|
для |
второго |
случая |
|
|
|
|
|
|||
EiC^E^, |
EfibEft, |
Е7СаЕ9\ |
|
|
|
|
||||
|
|
4 o £ i H i 2 - |
|
(19) |
|
|
|
|
||
Заменив |
|
графические |
|
|
|
|
||||
операции |
стандартными |
|
|
|
|
|||||
операторами, |
выражения |
|
|
|
|
|||||
(18) |
и |
(19) |
запишем: |
|
|
|
|
|
||
|
VJIWs; |
|
VJII5Ve; |
V,IIIaV9; |
V 1 0 / / / U V 1 2 ; |
I13IU; |
(20) |
|||
|
|
VJII2V3] |
VtIIIbVe; |
V7III8Va; |
/ 1 0 V u / l |
a . |
(21) |
Для машинного решения возможно использовать и другие алгоритмы. Один из них может быть получен заменой двух операторов III, V одним VIa. В этом случае схема счета (20) примет вид
ViVIa,; |
V3VIat; V5VIa,; |
V7Vh8; |
/ 9 /ю . |
|
(22) |
|||
Если принять во внимание, что любая точка |
оси х 1 2 |
|||||||
имеет значение |
у = п |
(в |
частном случае |
п = 500), то |
||||
можно отказаться от использования оператора V, |
заменив |
|||||||
его оператором |
VI6. |
Алгоритм |
решения |
задачи |
в |
этом |
||
случае будет следующим: |
|
|
|
|
|
|
||
1) определить значение х точки, принадлежащей |
пря |
|||||||
мой и имеющей у = п (точка М.\); |
|
|
|
|
||||
2) определить значение у точки, принадлежащей пря |
||||||||
мой и имеющей |
значение х |
х |
\ (точка |
М%), и т. д. |
|
6* |
83 |
Схема счета такого алгоритма запишется:
VI6lVIa,\ |
Vl63VISi; |
VI6lVIa.; |
VI6lVIa |
- / 9 / 1 0 . |
(23) |
Аналогично из второго алгоритма ручного решения можно получить два новых машинных алгоритма, схемы счета которых будут:
ViVIai; V3Vh- VBVIt.; W 9 ; |
(24) |
VI6yU,VI6,Vhyi6yia,I7VI6.h. |
(25) |
Легко заметить, что в каждой схеме имеется определен ная последовательность одинаковых комбинаций опера торов — массивов Q. Так, в схеме (20), прежде чем при ступить к определению проекций искомых прямых, не
обходимо |
четырежды |
выполнить |
массив |
(V |
III |
V); |
||||||
в схеме (22) — столько же раз комбинацию (V |
VIa). Если |
|||||||||||
учесть, что, с точки зрения |
трудоемкости, выполнение |
|||||||||||
операторов |
Vla |
и VI6 |
равнозначно, |
то |
решение |
этой |
же |
|||||
задачи по алгоритму, выраженному схемой (23), |
сводится |
|||||||||||
к восьмикратному выполнению |
оператора VI. |
|
|
|
||||||||
Условно |
выражения |
(20), |
(22), |
(23) |
можно |
записать: |
||||||
|
|
|
4 |
(V III |
V) I I; |
|
|
|
(26) |
|||
|
|
|
4 (V |
VI) |
I |
I; |
|
|
|
|
(27) |
|
|
|
|
|
8 (VI) I I . |
|
|
|
|
(28) |
|||
Выражения |
(21), |
(24), |
(25) |
могут |
быть |
приведены |
||||||
к следующему |
виду: |
|
|
|
|
|
|
|
|
|
|
|
|
|
3 (V |
Ш |
V) I |
V I ; |
|
|
|
(29) |
|||
|
|
3 |
(V |
VI) |
I |
V |
I ; |
|
|
|
|
(30) |
|
|
|
6 (VI) |
I VII. |
|
|
|
|
|
(31) |
Сопоставляя между собой выражения (26)—(31), можно сделать заключение, что предпочтение следует отдать алгоритмам, записанным в виде схем (28) и (31), так как их реализация на ЭЦВМ сводится в основном к выполне нию одного и того же цикла (оператор VI). Такой итеррационный способ решения является наиболее целесообраз ным для вычислительной машины.
Для количественной оценки достаточно подсчитать число операций, которые должна выполнить машина, осу ществляя решение по каждому из рассматриваемых ва риантов. Учитывая, что операторы реализуются числом
84