Файл: Фролов, С. А. Кибернетика и инженерная графика.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 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