Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 6007.doc
Скачиваний:
46
Добавлен:
30.04.2022
Размер:
14.56 Mб
Скачать

Глава 2. Использование эвм при решении задач инструментального проектирования

2.1. Понятие об алгоритме и алгоритмизации. Входная и выходная информации

Основой перевода любой задачи на ЭВМ является разработка алгоритма. Алгоритм — это точно определенное правило действий, для которого задано указание, как и в какой последовательности, это правило необходимо применять к исходным данным задачи, чтобы получить ее решение [39]. Иными словами, под алгоритмом следует понимать определенную, строго предписанную последовательность выполнения процесса, направленного на получение желаемой информации определенного вида и объема.

Алгоритм характеризуется следующими понятиями — детерминированностью, дискретностью, массовостью и формализацией. Детерминированность, или определенность, устанавливает однозначность результата процесса при заданных исходных данных. Дискретность означает расчлененность алгоритма на отдельные элементарные действия. Массовость предполагает решение любой задачи из класса однотипных при различных значениях исходных данных. Под формализацией, точнее степенью формализации следует понимать уровень приближения разработки алгоритма к языку программирования. Алгоритм достаточно формализован тогда, когда он может быть запрограммирован для ЭВМ существующим математическим обеспечением.

Наиболее распространены три формы представления (описания) алгоритма как документа.

Словесное описание — это общее описание процедур на естественном языке. Степень детализации вычислительного процесса — весьма низкая, формализация процесса практически отсутствует. Положительным моментом следует считать емкое и компактное представление о ходе решения задачи целиком. Словесное описание алгоритма используется обычно в различных реферативных изложениях решаемой задачи, на начальной стадии разработки алгоритма, в технической документации, статьях и т. п.

Операторное описание заключается в подробном описании процесса, расчлененного на отдельные формулы (или отдельные арифметические операции) со словесным или символьным указанием последовательности действий. Такое представление алгоритма сопровождается почти полной формализацией, в связи, с чем программирование его упрощается. Операторную форму описания алгоритма целесообразно употреблять для несложных по характеру (простота логических связей) и малых по объему расчетных задач.

В противном случае алгоритм становится труднообозримым со всеми вытекающими последствиями.

Описание в виде блок-схем, являясь по содержанию операторной формой, вместе с тем существенно отличается от нее по форме представления, так как использует графику и графические символы для отображения всего процесса. Каждая операция алгоритмизируемого процесса заключается в графический символ-блок, характеризующий выполняемую операцию. Связь между блоками также указывается графически.

Изображение алгоритмов в виде блок-схем стандартизировано ГОСТ 19427—74 и ГОСТ 19428—74. В табл. 2.1 приведены основные из обозначений, необходимых при описании конкретных алгоритмов.

Размеры графических символов регламентируются следующим образом:

  1. размер а должен выбираться из ряда 10; 15; 20 мм;

  2. размер b = 1,5а;

  3. допускается увеличивать размер а на число, кратное 5.

Таблица 2.1

Графическое изображение операторов

Функциональное назначение блока

Графическое

обозначение

Выполнение операции или группы последовательных операций

Логическое или арифметическое сравнение

Использование ранее созданных и отдельно описанных блоков (предопределенный процесс)

Ввод и вывод данных, носителем которых служит бумага

Ввод и вывод данных, носителем которых служит перфокарта

Ввод и вывод данных, носителем которых служит перфолента

Межстраничный соединитель

Связь между блоками, т. е. направление алгоритмического процесса, изображается прямыми линиями, так называемыми линиями потока. Направление движения по алгоритму сверху вниз и слева направо принимается за основное и стрелками не обозначается. В остальных случаях связующие линии обозначаются стрелками. Расстояние между отдельными блоками — не менее 10 мм, а между линиями потока — не менее 3 мм.

В качестве примера, иллюстрирующего приведенные формы представления алгоритма, рассмотрим алгоритмическое решение задачи нахождения величины угла α по известному значению его инволюты.

Выражение инволюты угла следующее:

inv α = tg α – α. (2.1)

Значение invα известно. Требуется найти угол α.

Выражение (2.1) является трансцендентным и решается методом последовательных приближений. Существуют различные способы приближения. Используем простейший из них, учитывая, что численное значение tgα растет быстрее, чем α.

Словесное описание алгоритма

  1. Задаться начальным значением α = 0.

  2. Увеличивать значение α с определенным шагом до тех пор, пока правая часть не станет больше исходной величины invα.

  3. Возвратиться к предыдущему значению α.

  4. Уменьшить шаг наращивания (итерации) α.

  5. Повторять процедуру вычислений с п. 2 до выполнения выражения (2.1) с определенной погрешностью (например 0,000001).

Операторная форма описания

  1. Присвоить А = invα.

  2. Присвоить α = 0.

  3. Принять шаг наращивания переменной α(t=10°).

  4. Вычислить В = tgα — α.

  5. Если (A-В)≤0,000001, перейти к оператору 8.

  6. Если A>В, принять α = α+t и перейти к оператору 4.

  7. Если А<В, принять α = α-0,5t, t = 0,5t и перейти к оператору 4.

  8. Останов машины. Задача решена.

Блок-схемное описание алгоритма

Алгоритм (рис. 2.1) содержит следующие блоки:

  1. ввода исходных данных (блок 1);

  2. вычисления (блоки 2, 3, 5, 8, 9);

  3. арифметическое сравнение (блок 4, 6);

  4. вывода информации на печатающее устройство (блок 7);

  5. останов машины (блок 10). Представление алгоритмов в виде блок-схем является наиболее употребительным. Часто блок-схемы используются и при составлении словесного описания алгоритмов когда, само словесное описание выполняемых процедур оформляется графически, как и связи между ними.

Приступая к разработке алгоритма и его блок-схемы, следует предварительно определить содержание входной и выходной информации.

Входная информация представляет ряд (массив) чисел, последовательность расположения которых для данной задачи строго определенная. Она должна содержать полностью те величины, которые необходимы для реализации автоматизируемого вычислительного процесса.

Выходная информация должна обеспечить желаемый объем выходных данных. В процессе разработки алгоритма и формирования выходной информации количество входных величин может корректироваться. Имеется вполне определенная и объяснимая связь между объемом входной информации и объемом алгоритма и выходных данных. Чем больше объем входной информации, тем более широкие задачи можно решать с помощью алгоритма и тем больше выходной информации можно получить в результате реализации программы на ЭВМ. Сам алгоритм в этом смысле становится универсальнее. Вместе с тем следует помнить, что большое количество входных данных не только удлиняет время их подготовки, но и увеличивает количество возможных описок, ошибок и т. д. В каждом конкретном случае разработчик алгоритма должен выбирать такой объем входной и выходной информации, который в наибольшей степени отвечает условиям эксплуатации программы в производственных условиях.

Рис. 2.1. Блок-схема алгоритма нахождения угла

по значению его инволюты

Различают количественную и качественную информацию. К количественной информации относят различные численные характеристики объекта. При проектировании металлорежущих инструментов это, как правило, параметры детали, используемые как входные величины, конструктивные элементы и размеры профиля инструмента. Например, модуль, число зубьев, диаметры, длины, величины углов и т. п. Входные величины берутся из чертежа детали, а также из технологического процесса ее изготовления.

Качественная информация характеризует состояние описываемого объекта и обычно при ручном, неавтоматизированном проектировании представляется словесно. Например, направление винтовой канавки (правое или левое), материал детали, типы хвостовиков и т. п.

При автоматизированном проектировании качественная информация кодируется (шифруется) с помощью специальных кодов, т. е. как бы переводится в количественную информацию. Пример простейшей кодировочной таблицы:

Направление винтовой канавки

Код НВК

левое

— 1

прямое

0

правое

1

Иногда вместо кодов используют знак какого-либо параметра. Например, характеризуя угол β наклона косозубого колеса, можно одновременно закодировать и направление угла наклона (β = 0— прямозубое колесо, β>0— косозубое колесо с правым углом наклона, β<0 — с левым углом наклона).

При разработке конкретного алгоритма следует тщательно изучить процесс проектирования инструмента, проанализировать материалы по этой тематике, обобщить практический опыт. Затем разрабатывается укрупненная блок-схема алгоритма с выделением самостоятельных частей, несущих законченный смысловой характер, в отдельные подпрограммы (модули). Устанавливаются необходимые связи между ними, объем входной и выходной информации, кодировочные таблицы.

Разработка алгоритма — процесс творческий. Хорошо составленный алгоритм не содержит лишних операций, повторений, запутанных логических связей. Он компактен, легко воспринимается и сравнительно просто корректируется как при отладке на ЭВМ, так и на стадии эксплуатации. Квалифицированно разработанный алгоритм может рассматриваться самостоятельно, как формализованная методика проектирования, используемая и при ручном проектировании.