Вы находитесь на странице: 1из 18

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

Федеральное Государственное бюджетное образовательное учреждение


высшего образования
«Сибирский государственный индустриальный университет»
Институт информационных технологий и автоматизированных систем
Кафедра автоматизации и информационных систем

Курсовая работа
по дисциплине: «Программирование и алгоритмизация»
на тему:
Разработка программно-алгоритмического обеспечения для построения
переходных процессов в объектах регулирования

Выполнил: студент гр. ИАТ-18


Бяков А.С.

Проверил: к.т.н., доцент


Ляховец М.В.

Новокузнецк
2019
Министерство науки и высшего образования РФ

Федеральное государственное бюджетное образовательное учреждение


высшего образования
«Сибирский государственный индустриальный университет»

Кафедра автоматизации и информационных систем

УТВЕРЖДАЮ
Заведующий кафедрой
__________ Ляховец М.В.
(подпись)
«______» _____________ 20__г.

ЗАДАНИЕ
на курсовую работу
по дисциплине «Программирование и алгоритмизация»

студента ______________________________________________________
(фамилия, имя, отчество)
группы _______

Тема курсовой работы: Разработка программно-алгоритмического


обеспечения для построения переходных процессов в объектах регулирования

Срок сдачи студентом законченной работы «__» ________ 20__г.


Исходные условия и данные к работе: вариант № 1
Цель работы: Разработать программно-алгоритмическое средство для
построения переходных процессов в объектах регулирования
Задачи работы:
1.Построить схему соединения типовых звеньев
2.Реализовать разностную форму звеньев для их математического
моделирования
3. Разработать алгоритм построения переходного процесса
4.Разработать программную реализацию алгоритма и сравнить с
реализацией в электронной таблице

Руководитель работы _______________ Ляховец М.В.


(подпись)

Задание к исполнению принял ________________ «____» __________ 20____ г.


(подпись)
3

Содержание
Введение...........................................................................................................................4

1 Типовые звенья линейных динамических систем.....................................................5

2 Алгоритм построения графиков..................................................................................7

2.1 Понятие алгоритма.................................................................................................7


2.2 Алгоритм для построения графиков.....................................................................8
3 Реализация графиков переходных процессов в Excel.............................................10

3.1 Табличный процессор Microsoft Excel...............................................................10


3.2 Построение графиков типовых звеньев в MSExcel..........................................11
4 Среда программирования..........................................................................................13

4.1 Язык программирования......................................................................................13


4.2 Среда разработки..................................................................................................13
5 Реализация в Visual Studio (C#).................................................................................15

Заключение.....................................................................................................................17

Библиографический список..........................................................................................18
4

Введение

Объектно-ориентированное, или объектное, программирование (ООП) —


парадигма программирования, в которой основными концепциями являются
понятия объектов и классов. Данная концепция в настоящее время является
ведущей в области программирования. Количество прикладных языков
программирования, реализующих объектно-ориентированную парадигму,
является наибольшим по отношению к другим парадигмам. Данный подход
реализован в таких языках программирования как С, C++, ObjectPascal, Java, С# и
другие.

C# относится к семье языков с C-подобным синтаксисом, из них его


синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию,
поддерживает полиморфизм, перегрузку операторов (в том числе операторов
явного и неявного приведения типа), делегаты, атрибуты, события, свойства,
обобщённые типы и методы, итераторы, анонимные функции с поддержкой
замыканий, LINQ, исключения, комментарии в формате XML. В настоящее время,
С# является одним из наиболее динамично развивающихся языков
программирования.

ЯзыкС# как средство обучения программированию обладает рядом


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

Немаловажно, что С# является не учебным, а профессиональным языком,


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

1 Типовые звенья линейных динамических систем

Звено системы регулирования – это элемент, обладающий определенными


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

Имеется огромное количество разнообразных систем автоматического


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

В варианте 1 используются инерционное звено и звено запаздывания. Схема


соединения типовых звеньев представлена на рисунке 1.

Рисунок 1 – Схема соединения типовых звеньев

Функция инерционного звена имеет вид:

dy (t)
T + y ( t )=k ∙u(t)
dt

Разностная форма инерционного звена имеет вид:

k ∙u(l) ∙ ΔT +T ∙ y (l−1)
y ( l )=
T+ ΔT

Функция звена запаздывания имеет вид:

y ( t ) = y 1(t−τ )

Разностная форма звена запаздывания имеет вид:

y ( l )= y 1 ( l− λ ) , λ=τ /∆ T
7

2 Алгоритм построения графиков

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

В математике для решения типовых задач мы используем определенные


правила, описывающие последовательности действий. Например, правила
сложения дробных чисел, решения квадратных уравнений и т. д. Обычно любые
инструкции и правила представляют собой последовательность действий, которые
необходимо выполнить в определенном порядке. Для решения задачи надо знать,
что дано, что следует получить и какие действия и в каком порядке следует для
этого выполнить. Предписание, определяющее порядок выполнения действий над
данными с целью получения искомых результатов, и есть алгоритм.
В процессе программирования и решения задач главной является разработка
алгоритма. Это один из наиболее сложных этапов решения задачи. В начале
обучения программированию, целесообразно не привязываться сразу к какому-
либо языку, разрабатывать алгоритмы без записи на языках программирования
высокого уровня, а, например, с помощью блок-схем или иным аналогичным
способом. После такой «чистой» алгоритмизации проще перейти к записи того же
алгоритма на определённом языке программирования.
Под алгоритмом понимают набор правил, определяющих процесс
преобразования исходных данных задачи в искомый результат.
Алгоритм – это определенным образом организованная последовательность
действий, за конечное число шагов приводящая к решению задачи.
Свойства алгоритма:
1. Дискретность — алгоритм должен представлять процесс решения
задачи как последовательное выполнение некоторых простых шагов. При этом
для выполнения каждого шага алгоритма требуется конечный отрезок времени, то
есть преобразование исходных данных в результат осуществляется во времени
дискретно;
8

2. Конечность – однозначная определенность результатов выполнения


каждого шага алгоритма за конечное время;
3. Детерминированность (определённость). В каждый момент времени
следующий шаг работы однозначно определяется состоянием системы. Таким
образом, алгоритм выдаёт один и тот же результат (ответ) для одних и тех же
исходных данных;
4. Понятность — алгоритм должен включать только те команды,
которые доступны исполнителю и входят в его систему команд;
5. Результативность – получение конечного результата за конечное
время;
6. Массовость – возможность использования алгоритма для некоторого
класса исходных данных;
7. Правильность – получение правильных результатов решения
поставленной задачи. Говорят, что алгоритм содержит ошибки, если можно
указать такие исходные данные или условия, при которых выполнение алгоритма
либо не завершается вообще, либо не будет получено никаких результатов, либо
полученные результаты окажутся неправильными.

2.2 Алгоритм для построения графиков

Блок-схема — распространенный тип схем (графических моделей),


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

Рисунок 1 - Блок-схема построения графиков


10

3 Реализация графиков переходных процессов в Excel

3.1 Табличный процессор Microsoft Excel

Современные технологии обработки информации часто приводят к тому,


что возникает необходимость представления данных в виде таблиц. В языках
программирования для такого представления служат двухмерные массивы. Для
табличных расчетов характерны относительно простые формулы, по которым
производятся вычисления, и большие объемы исходных данных. Такого рода
расчеты принято относить к разряду рутинных работ, для их выполнения следует
использовать компьютер. Для этих целей созданы электронные таблицы—
прикладное программное обеспечение общего назначения, предназначенное для
обработки различных данных, представимых в табличной форме. Электронная
таблица (ЭТ) позволяет хранить в табличной форме большое количество
исходных данных, результатов, а также связей между ними. При изменении
исходных данных все результаты автоматически пересчитываются и заносятся в
таблицу. Электронные таблицы не только автоматизируют расчеты, но и являются
эффективным средством моделирования различных вариантов и ситуаций. Меняя
значения исходных данных, можно следить за изменением получаемых
результатов и из множества вариантов решения задачи выбрать наиболее
приемлемый.
Современные табличные процессоры обеспечивают:
 ввод, хранение и корректировку большого количества данных;
 автоматическое проведение вычислений при изменении исходных
данных;
 дружественный интерфейс (средства диалога человека и компьютера);
 наглядность и естественную форму документов, представляемых
пользователю на экране;
 эффективную систему документирования информации;
11

 графическую интерпретацию данных в виде диаграмм;


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

3.2 Построение графиков типовых звеньев в MS Excel

В курсовой работе необходимо построить два типовых звена систем


регулирования, в данном случае инерционного звена и звена запаздывания.
Для построения графиков использовался табличный процессор MS Excel.
Было принято время дискретизации dT равное 2. В качестве коэффициента
передачи k было принято значение равное 5.

График инерционного звена представлен на рисунке 2.

Рисунок 2 - График инерционного звена в MS Excel


12

График звена запаздывания представлен на рисунке 3.

Рисунок 3 - График звена запаздывания в MS Excel


13

4 Среда программирования

4.1 Язык программирования

С# — простой, современный объектно-ориентированный и типобезопасный


язык программирования. C# относится к широко известному семейству языков C,
и покажется хорошо знакомым любому, кто работал с C, C++, Java или JavaScript.
C# является объектно-ориентированным языком, но поддерживает также
и компонентно-ориентированное программирование.Разработка современных
приложений все больше тяготеет к созданию программных компонентов в форме
автономных и самоописательных пакетов, реализующих отдельные
функциональные возможности. Важная особенность таких компонентов — это
модель программирования на основе свойств, методов и событий. Каждый
компонент имеет атрибуты, предоставляющие декларативные сведения о
компоненте, а также встроенные элементы документации. C# предоставляет
языковые конструкции, непосредственно поддерживающие такую концепцию
работы. Благодаря этому C# отлично подходит для создания и применения
программных компонентов.

4.2 Среда разработки

Для написания программного кода в курсовой работе использовалась среда


разработки VisualStudio.С VisualStudio многие начинают знакомиться с языком и
не расстаются с ней на протяжении всей карьеры программиста.

Плюсы:

 Официальная. Так как и язык, и среда разработки созданы в Microsoft,


логично предположить, что ничего более функционального вы не найдете во всем
14

Интернете. В некоторых случаях без VisualStudio не обойтись — например, при


использовании технологий UWP и WPF.
 Бесплатная. Версии «Communityedition» для рядового пользователя
будет достаточно. Тем более, теперь можно подключать плагины (в отличие от
старой версии Express).
 Функциональная. В VisualStudio множество качественных плагинов. С
их помощью можно расширить функциональность приложения и подключить
другие языки.
 Поддерживает платформы .NET. VisualStudio имеет широкие
возможности по разработке приложений под Windows, в том числе в .NET-
сегменте.
 Облачные хранилища. Зарегистрируйтесь в сообществе VisualStudio
— и получите доступ к облачному хранилищу, где сможете располагать файлы
проектов.
 Корпоративность. Технология бэклога позволяет членам команды
взаимодействовать при гибкой методологии разработки.
Минусы:

 Баги при переходах с триал-версии. При переходе на платную версию


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

5 Реализация в Visual Studio (C#)

Программа была выполнена в Windows Forms. Form — это представление


любого окна, отображаемого в приложении. Класс Form можно использовать для
создания стандартных окон, инструментов, без границ и плавающих окна. Можно
также использовать класс Form для создания модальных окон, таких как
диалоговое окно.

Ввод данных в код программы осуществляется в файле кода Form1.cs


(рисунок 4).

Рисунок 4 – Пример ввода данных


Код ввода данных представлен на рисунке 5.

Рисунок 5 – Ввод данных


16

Рисунок 6 – Цикл кода


Работа программы осуществляется при нажатии клавиши F5 или при
нажатии кнопки «Построить». Пример работы программы представлен на рисунке
7.

Рисунок 7 – Построение графиков


17

Заключение

В данной курсовой работе было приведено краткое описание типовых


звеньев линейных динамических систем, табличного процессора Microsoft Excel и
среды программирования C#. Для операции построения графиков переходных
процессов была описана блок-схема. Для инерционного звена и звена
запаздывания были построены графики в MS Excel и в среде программирования
C# - Visual Studio.

Итогом курсовой работы можно считать закрепление знаний в области


создания алгоритмов, навыков программирования на языке C# и создании
программно-алгоритмического средства для построения переходных процессов в
объектах регулирования.
18

Библиографический список

1. Динамическое звено // Wikipedia URL:


https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%BD
%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA
%D0%BE%D0%B5_%D0%B7%D0%B2%D0%B5%D0%BD%D0%BE
(дата обращения: 24.12.2019).

2. Макаров Г.В. Курс лекций по дисциплине «Программирование и


алгоритмизация» //
do.sibsiu.ruURL:http://do.sibsiu.ru/day/pluginfile.php?file=
%2F257588%2Fmod_resource%2Fcontent%2F0%2F%D0%9B
%D0%B5%D0%BA%D1%86%D0%B8%D0%B8%202019.pdf(дата
обращения: 24.12.2019).
3. Табличный процессор MicrosoftExcel // Информатика и
информационно – коммуникационные технологии URL:
http://www.kolomna-school7-ict.narod.ru/st40201.htm (дата обращения:
25.12.2019).
4. Лучшие IDE для разработки на C# // GeekBrains URL:
https://geekbrains.ru/posts/c_sharp_ides (дата обращения: 25.12.2019).