МИНОБРНАУКИ РОССИИ
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Тульский государственный университет»
Кафедра «Робототехника и автоматизации производства»
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
ПО ВЫПОЛНЕНИЮ КУРСОВОЙ РАБОТЫ
по дисциплине
ИНФОРМАТИКА
Направление подготовки: 15.03.06 Мехатроника и робототехника
Профиль подготовки: Роботы и робототехнические системы
Квалификация (степень) выпускника: 63 академический бакалавр
Форма обучения: очная
Тула 2014 г.
Методические указания по выполнению курсовой работы составлены профессором кафедры РТиАП, д.т.н. Котовым В.В. и обсуждены на заседании кафедры робототехники и автоматизации производства,
протокол №___ от "___"____________ 201 г.
Зав. кафедрой________________Е.В. Ларкин
Методические указания по выполнению курсовой работы пересмотрены и утверждены на заседании кафедры робототехники и автоматизации производства факультета кибернетики,
протокол №___ от "___"____________ 20___ г.
Зав. кафедрой________________Е.В. Ларкин
1. Цели и задачи курсовой работы
Целью курсовой работы является закрепление теоретических знаний и навыков практического использования вычислительной техники, приобретение опыта решения прикладных задач на ЭВМ, разработки алгоритмов и создания программ с использованием языков программирования высокого уровня. Выполняется в третьем семестре после прослушивания курса лекций и прохождения лабораторного практикума. К этому времени студенты знакомы, по крайней мере, с одним языком программирования высокого уровня, имеют представление о современном программном обеспечении и возможностях вычислительной техники.
В процессе выполнения курсовой работы должны быть получены законченный программный продукт и необходимая документация к нему.
2. Тематика курсовой работы
КР выполняется в соответствии с вариантом задания. Срок выполнения работы не превышает одного семестра. Типовая курсовая работа предусматривает разработку программы на языке высокого уровня (Паскаль, Си или аналогичный). По полученным данным составляется техническое задание (ТЗ) на проектирование, в котором указывается назначение программы, перечень основных функций, дополнительные требования. На основании ТЗ осуществляется проектирование программы, которое включает:
– построение спецификации задачи, т.е. точного, однозначного и полного описания решаемой задачи;
– разработку входных и выходных документов программного продукта;
– формирование структуры программы;
– разработку укрупнённого алгоритма программы.
Все указанные работы взаимосвязаны, а часть из них выполняется параллельно.
Варианты заданий приведены в прил. 1.
Исходными данными для курсовой работы являются:
– назначение разрабатываемой программы;
– перечисление основных функций, выполняемых программой, и основных задач, которые могут быть решены;
– способ задания исходных данных и представления результатов;
– основные ограничения на исходные данные и условия применения программного средства.
2. Структура пояснительной записки
Курсовая работа оформляется в соответствии с действующими стандартами на оформление конструкторской документации и требованиями кафедры РТиАП.
Пояснительная записка (ПЗ) объёмом 15-25 страниц должна содержать разделы описания технического задания на проектирование, анализа научной и технической литературы в заданной предметной области, разделы описания алгоритмического и программного обеспечения, разработанного в ходе проектирования, а также результатов его практического испытания.
Приложение к пояснительной записке должно содержать листинг разработанного программного обеспечения объёмом 100-150 строк.
Графическая часть курсовой работы содержит 1-2 чертежа формата А1, содержащих схему разработанного алгоритма, а также, возможно, схему данных, схему взаимодействия программ, схему ресурсов системы и т.п. в зависимости от варианта задания.
Пояснительная записка выполняется на листах белой бумаги формата А4 (210´297 мм) машинописным или рукописным способом в соответствии с требованиями государственных стандартов. Графическая часть выполняется на листах ватмана формата A1.
Курсовая работа представляется на защиту в законченном виде, полностью работоспособной и правильно оформленной.
Ниже приведён перечень обязательных разделов ПЗ:
Титульный лист. Является первой страницей ПЗ. Номер страницы не печатается.
Бланк задания. Не нумеруется и в последовательности страниц не учитывается.
Содержание. Содержит перечень основных разделов ПЗ. Объём – 0.5-1 стр.
Введение. Содержит сведения о назначении выполняемой курсовой работы. Примерный объём – 0.5-1 стр.
Анализ технического задания. Раздел содержит результаты анализа научно-технической литературы по поставленной задаче, описание общих методов решения, и т.п. Примерный объём – 1-2 стр.
Разработка схемы алгоритма решения задачи. Содержит описание последовательности действий, обеспечивающих решение задачи, анализ особых случаев, предложения структурированию программы, организации данных и т.п. Примерный объём – 1-2 стр.
Разработка программного обеспечения. Содержит описание разработанного программного обеспечения, особенности реализации тех или иных алгоритмических конструкций на выбранном языке высокого уровня, форматы входных и выходных данных, описание пользовательского интерфейса и т.п. Примерный объём – 5-7 стр.
Апробация разработанного программного обеспечения. Содержит руководство оператора по работе с программным продуктом, а также результаты контрольных прогонов с указанием исходных данных для проверки и результатов работы программы с этими данными. Примерный объём — 4-6 стр.
Заключение. Раздел содержит выводы о проделанной работе. Примерный объём – 0.5-1 стр.
Библиографический список. Раздел содержит перечень использованных источников (не менее 5-6 ссылок), в том числе ГОСТов, справочников по языку программирования и т.п. В тексте пояснительной записки на все источники должны быть приведены ссылки.
Приложение. Раздел содержит листинг разработанного программного обеспечения. Примерный объём — 2-4 стр. (в общем объёме пояснительной записки не учитывается).
3. Указания по выполнению курсовой работы
Проектирование алгоритма и программы принципиально не отличаются от проектирования любого другого технического устройства или процесса. Общие принципы подхода к проектированию применительно к созданию программ включают:
1) определение цели проектирования;
2) построение алгоритма и (или) иерархии объектов;
3) рассмотрение множества альтернативных вариантов на каждом этапе проектирования и использование количественных и качественных оценок для выбора наилучшего варианта;
4) максимальное использование стандартных и универсальных программ и алгоритмов.
В процессе анализа условий задачи и определения подхода к её решению определяются основные функции обработки данных; выделяются основные необходимые соотношения между входными и выходными данными. В результате осмысления условий задачи формируется техническое задание – краткое содержательное описание исходных данных, функций преобразования данных и получаемых результатов.
Как правило, при анализе задачи рассматриваются несколько различных подходов к её решению. Конкурирующие варианты решения оцениваются по критериям универсальности, быстродействия, надёжности и другим, после чего выбирается наилучший из них. Результатом анализа задачи является спецификация алгоритма, т.е. наиболее общее описание выполняемых преобразований данных, приведённое в терминах исходной задачи. Спецификация алгоритма включает описание класса входных данных, который задаётся системой ограничений, определяющей те данные, которые безусловно обрабатываются алгоритмом.
При проектировании программного обеспечения следует учитывать вопросы контроля и управления качеством создаваемого продукта. Можно указать несколько основных характеристик, описывающих качество разрабатываемого программного продукта.
Понятность — программа обладает свойством понятности в той степени, в которой она позволяет оценивающему лицу понять назначение программных средств. Документация должна быть написана простым и понятным языком, свободным от жаргонизмов или неадекватно определенных терминов, должна содержать ссылки на легкодоступные документы. Имена переменных и функций в листинге должны быть осмысленными.
Завершённость — наличие в программном обеспечении всех необходимых компонентов, каждый из которых разработан всесторонне. Завершенность предполагает замкнутость описания и живучесть программного обеспечения. Отрицательный пример завершенности – документ, в котором отсутствуют некоторые разделы, или отмечено, что они будут написаны позднее.
Мобильность — возможность переноса программы на ЭВМ другого типа. Положительными примерами являются: 1) использование библиотеки стандартных функций; 2) минимальное использование средств операционной системы; 3) замкнутая документация, не требующая обращения к дополнительным источникам.
Согласованность — использование единой нотации, терминологии, символики и т.п. (внутренняя согласованность). Кроме того, можно говорить о внешней согласованности, т.е. соответствии продукта установленным требованиям. Положительные примеры: 1) в документации используются общепринятые символы и обозначения; 2) программа точно соответствует блок-схемам, по которым ее можно легко проверить.
Удобство эксплуатации — возможность обновления ПО в соответствии с новыми требованиями (удобство сопровождения).
Надёжность — способность ПО выполнять заданные функции (удовлетворительно функционировать) в течение заданного промежутка времени. Существуют различные способы повышения надежности ПО (например, проверка корректности исходных данных, автоматическое фиксирование всех возникающих в процессе работы программы ошибок для их последующего анализа и т.п.)
Структурированность — продукт обладает свойством структурированности, если его взаимосвязанные части организованы в единое целое определенным образом.
Точность — программа обладает свойством точности, если выдаваемые им результаты имеют точность, достаточную с точки зрения их основного назначения.
Учёт человеческого фактора — функционирование программы без излишних затрат времени со стороны пользователя на поддержание его работоспособности. Например, рутинная обработка по преобразованию формата входных данных должна выполняться автоматически самой программой, а не возлагаться на пользователя.
Модифицируемость — обладание продуктом структуры, позволяющей легко вносить изменения.
Важным этапом проектирования программного продукта является его отладка. Отладкой называется процесс, позволяющий получить программу, функционирующую с требуемыми характеристиками в заданной области входных данных. В результате отладки программа должна соответствовать заданной системе показателей качества.
Отладка состоит из нескольких этапов (см. рис.):
1. Подготовка тестовых примеров, по которым будет осуществляться проверка правильности работы программы
2. Статическая проверка текста программы без исполнения объектного кода
3. Тестирование программы с ее исполнением на машине.
4. Диагностика и локализация причин отклонения результатов тестирования от заданных эталонных значений.
5. Изменение программы с целью исправления ошибок.
Основным методом обнаружения ошибок при отладке программ является тестирование. В технической диагностике тест – это последовательность исходных данных, поступающих на вход программы, и соответствующих им эталонных результатов, с которыми сравниваются реальные результаты, полученные после выполнения программы.
Тестированию могут подвергаться не только целые программы, но и их отдельные модули, или даже функции. Поэтому для каждого тестового набора также указывается точка ввода исходных данных и точка контроля результатов. Кроме того, при тестировании необходимо задавать допуски на отклонение результирующих данных от эталонных, в пределах которых следует считать, что полученные результаты соответствуют эталонным.
Различают три стадии тестирования:
Стадия 1: тестирование для обнаружения ошибок в программе. Основная цель – выявление максимального числа ошибок, которыми считается любое отклонение реальных результатов от эталонных.
Стадия 2: тестирование для диагностики и локализации причин обнаруженных искажений в результатах. Цель – точно установить место ошибки, явившейся причиной отклонения результатов от эталона. Эта стадия считается выполненной успешно, если локализованы все первичные ошибки, выявленные на предыдущем этапе.
Стадия 3: тестирование для контроля выполненных корректировок программ и данных. Цель – проверка успешности внесенных исправлений. Коррекция считается успешной, если не обнаружены проявления ранее найденных ошибок, а также отсутствуют вторичные ошибки.
4. Защита курсовой работы
Защите подлежит полностью выполненная и оформленная курсовая работа, включающая текстовую часть, а также распечатки текстов программ и распечатки результатов решения контрольных примеров (тестов). Работа защищается перед комиссией из 2-3 человек, включая руководителя курсовой работы. Студент представляет материалы по своей работе и делает доклад продолжительностью 5-7 минут, после чего отвечает на вопросы и замечания. По результатам защиты выставляется зачёт с оценкой. Для оценки курсовой работы используются следующие критерии:
– соответствие разработанного программного продукта заданию, включая правильность построенного алгоритма, полноту анализа особых случаев, полноту тестирований;
– надёжность программы, т.е. защищённость от ошибок данных и ошибок самой программы;
– универсальность программы и её модулей;
– стиль программирования;
– полнота и качество оформления программной документации, соответствие требованиям Единой системы программной документации (ЕСПД) и ГОСТов на текстовые документы.
5. Литература
1. Елович, И. В. Информатика : учебник для вузов / И. В. Елович, И. В. Кулибаба ; под ред. Г. Г. Раннева .— Москва : Академия, 2011 .— 395 с. : ил. — (Высшее профессиональное образование: Информатика) (Бакалавриат) .— ISBN 978-5-7695-7975-2 5 экз.
2. Острейковский, В. А. Информатика : учебник для вузов / В. А. Острейковский .— 5-е изд., стер. — М. : Высш. Шк., 2009 .— 512 с. : ил .— ISBN 978-5-06-006134-5 10 экз.
3. Цветкова А.В. Информатика и информационные технологии [электронный ресурс]: учебное пособие / А. В.Цветкова.— Саратов: Научная книга, 2012.— 190 c.— Режим доступа: http://www.iprbookshop.ru/6276. — Режим доступа : ЭБС «IPRbooks», по паролю
Приложение 1. Варианты заданий
№ |
Содержание задания |
|||||||||||||||||||||||||||||||||||||||||||||||||
1. |
Кодирование и раскодирование текста:
Вместе с таблицей задается ключевое слово, на основании которого производится шифровка текста. Буквы ключевого слова – первый столбец таблицы, буквы текста – первая строка таблицы, буквы шифрованного текста – на пересечении. Буквы ключевого слова повторяются необходимое количество раз. |
|||||||||||||||||||||||||||||||||||||||||||||||||
2. |
Лабиринт. Двумерный массив состоит из единиц и нулей. Стена лабиринта – единицы, нули – коридор. Лабиринт не содержит тупиков и колец. Программа проходит от входа до выхода, заменяя нули на восьмерки. 101111 111111 101000 881888 101011 181811 100011 188811 111111 111111 |
|||||||||||||||||||||||||||||||||||||||||||||||||
3. |
Программа вычерчивает на экране схему и вычисляет сопротивление электрической цепи. Величины сопротивлений и порядок цепи (количество сопротивлений R2) вводится во время работы программы. |
|||||||||||||||||||||||||||||||||||||||||||||||||
4. |
Калькулятор, выполняющий основные арифметические операции (сложение, вычитание, умножение и деление) над вводимыми с клавиатуры данными. |
|||||||||||||||||||||||||||||||||||||||||||||||||
5. |
Программа построения векторов на двумерной плоскости и операции с ними: - сложение, - вычитание, - зеркальное отображение, - поворот. Программа должна обеспечивать ввод координат векторов, выбор типа операции и последующую визуализацию исходных векторов и вектора, получающегося в результате заданной операции. |
|||||||||||||||||||||||||||||||||||||||||||||||||
6. |
Программа, обеспечивающая ввод, хранение, отображение и поиск информации следующего вида: - фамилия, - имя, - отчество, - адрес (индекс, область, город, улица, дом), - телефон, - день рождения, - примечание. Вводимые данные должны сохраняться в файле на диске. Поиск должен осуществляться по фамилии (или первым нескольким буквам фамилии). |
|||||||||||||||||||||||||||||||||||||||||||||||||
7. |
Программа, вычисляющая для заданного полинома n-й степени с вещественными коэффициентами действительные и мнимые части корней полинома. |
|||||||||||||||||||||||||||||||||||||||||||||||||
8. |
Программа вычисления определителя квадратной матрицы n-го порядка. |
|||||||||||||||||||||||||||||||||||||||||||||||||
9. |
Программа, которая для некоторого числа точек, принадлежащих данной плоскости, выдает координаты тех точек, через которые можно провести прямые так, чтобы разница между количеством точек, лежащих по разные стороны от этой прямой, была наименьшей (показать графически). |
|||||||||||||||||||||||||||||||||||||||||||||||||
10. |
Однострочный текстовый редактор, позволяющий отредактировать считанную из файла фразу и сохранить изменения в файл. Редактирование предполагает возможность перемещения курсора к произвольному символу фразы, вставку в точку расположения курсора нового символа, удаление существующего символа, добавление новых символов в конец фразы. |
|||||||||||||||||||||||||||||||||||||||||||||||||
11. |
Реализовать редактор матрицы: вызывает матрицу из файла, позволяет изменять значения элементов и сохранять изменения. |
|||||||||||||||||||||||||||||||||||||||||||||||||
12. |
Написать программу, в ходе выполнения которой одновременно с отысканием приближенного решения уравнения f(x)=0 с помощью алгоритма хорд строится иллюстрация применения этого алгоритма. График функции f(x), хорды и вспомогательные вертикальные отрезки должны быть окрашены в разные цвета.
|
|||||||||||||||||||||||||||||||||||||||||||||||||
13. |
Метательное устройство находится на расстоянии 800 м от цели. Изменяя начальную скорость полета снаряда Vн и угол α, под которым он выпускается, можно регулировать дальность полета. Написать программу с исходными данными Vн и α. В левом нижнем углу экрана должен появляться прямоугольник, изображающий метательный аппарат, в правом нижнем – отрезок, изображающий цель. Точка, изображающая снаряд должна перемещаться по экрану от аппарата в сторону цели по параболе определяемой исходными данным. В случае попадания в цель, отрезок, изображающий цель, исчезает.
|
|||||||||||||||||||||||||||||||||||||||||||||||||
14. |
Последовательность из 70 чисел получить с помощью генератора случайных чисел. Первые 30 чисел определяют положение на экране 10 окружностей. Остальные 40 – положение на экране 20 точек. Высветить на экране: 1– все окружности и все точки; 2– все окружности и те из точек, что лежат внутри не более чем одной окружности; 3– только те окружности, внутри которых содержится хотя бы одна из точек; 4– все точки, не попадающие внутрь окружностей и все окружности, не содержащие ни одной из данных точек.
|