Материал: 3178

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Министерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное

образовательное учреждение высшего образования

«Воронежский государственный лесотехнический университет имени Г.Ф. Морозова»

Программирование и алгоритмизация в задачах

автоматизации и управления

Методические указания к выполнению курсовой работы для направления подготовки бакалавра 15.03.04

Автоматизация технологических процессов и производств Профиль Автоматизация и управление в технологических системах

для очной и заочной форм обучения

Воронеж 2019

2

УДК 004.432

Программирование и алгоритмизация в задачах автоматизации и управления : методические указания к выполнению курсовой работы для направления подготовки бакалавра 15.03.04 Автоматизация технологических процессов и производств (профиль Автоматизация и управление в технологических системах) для очной и заочной форм обучения / А. В. Стариков; М-во науки и высшего образования РФ, ФГБОУ ВО «ВГЛТУ». – Воронеж, 2019. – 16 с.

Печатается по решению редакционно-издательского совета ВГЛТУ

Рецензент: заведующий кафедрой электротехники и автоматики ФГБОУ ВО «Воронежский государственный аграрный университет имени императора Петра I», доктор технических наук, профессор Афоничев Д.Н.

3

ВВЕДЕНИЕ

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

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

1. Общая формулировка задачи. На этом этапе задача формулируется в содержательных терминах, определяются входные и выходные данные задачи.

2. Математическая формулировка задачи. На этом этапе определяются

математические величины, которые будут описывать задачу, а также математические связи между ними, т.е. составляется математическая модель. Необходимо отметить, что неверно составленная математическая модель обречёт на неудачу всю дальнейшую работу над проектом, поэтому этот этап является крайне важным.

3. Выбор или разработка метода решения. Исходя как из субъектив-

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

4. Разработка алгоритма решения. На этом этапе должна чётко про-

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

5. Составление и отладка программы. На этом этапе применяются ос-

новные правила записи и преобразования команд, записанных на естественном языке, на язык машинных кодов.

6. Тестирование программы. На этом этапе происходит подтверждение или опровержение правильности работы алгоритма. Для этого, как правило, решаются задачи с такими исходными данными, для которых известно достоверное решение, либо применяются косвенные свидетельства правильности полученного решения.

7. Решение поставленной задачи и представление результатов. На

данном этапе осуществляется удобный и наглядный вывод результатов.

При решении конкретных задач некоторые из этих этапов могут исключаться самой постановкой задачи. Для каждого из этапов создания и использования программы существуют определённые приёмы обеспечения качества

4

программы. Большую роль в создании программных продуктов высокого качества играет глубина и тщательность проработки схемы алгоритма.

1 ОСНОВЫ АЛГОРИТМИЗАЦИИ ЗАДАЧ

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

1.1 Понятие алгоритма

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

Умение выполнять определённые команды является свойством, характеризующим любого исполнителя. Совокупность всех команд, которые данный исполнитель может выполнять, называется системой команд исполнителя. Соответственно алгоритм описывается в командах определённого исполнителя, который будет его реализовывать. Объекты, над которыми исполнитель может совершать действия, образуют среду исполнителя.

Алгоритм это описанная на некотором языке точная и конечная система правил, определяющая содержание и порядок действий над некоторыми объектами, строгое выполнение которых даёт решение поставленной задачи.

Можно дать и более короткое определение. Алгоритм это строго определённая последовательность действий, необходимых для решения данной задачи.

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

1)ввести исходные данные;

2)преобразовать исходные данные в результат;

3)вывести результат.

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

1. Определяются исходные данные задачи.

5

2.Процесс решения задачи разбивается на этапы, понятные и однозначные для исполнителя.

3.Указывается порядок, в котором выполняются этапы, а также признак завершения процесса.

4.Определяется, что является результатом решения задачи.

1.2 Свойства алгоритма

Свойства алгоритма – это набор свойств, отличающих алгоритм от любых предписаний и обеспечивающих его автоматическое исполнение. Алгоритм обладает следующими основными свойствами:

Дискретность (прерывистость) – свойство алгоритма, характеризующее его структуру: каждый алгоритм состоит из отдельных законченных действий, т.е. делится на шаги.

Массовость – применимость алгоритма ко всем задачам рассматриваемого типа, при любых исходных данных.

Детерминированность (определённость) – свойство алгоритма, указывающее на то, что каждый шаг алгоритма должен быть строго определён и не допускать различных толкований; также строго должен быть определён порядок выполнения отдельных шагов.

Результативность – свойство, состоящее в том, что любой алгоритм должен завершаться за конечное (пусть даже очень большое) число шагов.

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

На этапе разработки алгоритма решения задачи рекомендуется придерживаться следующих правил его составления:

1.Алгоритм должен быть максимально прост и понятен.

2.Алгоритм должен состоять из мелких шагов.

3.Сложная задача должна разбиваться на достаточно простые, легко воспринимаемые части (блоки).

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

Витоге процесс разработки алгоритма должен быть направлен на получение чёткой структуры алгоритмических конструкций.

Сущность алгоритмизации вычислительного процесса проявляется в следующих действиях, отражающих его свойства:

1) выделение законченных частей вычислительного процесса;

2) формальная запись каждого из них;

3) назначение определённого порядка выполнения выделенных частей;

4) проверки правильности выбранного алгоритма по реализации заданного метода вычислений.