kurs_09
.pdfФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Московский государственный институт электроники и математики (Технический университет)
Кафедра информационных технологий и автоматизированных систем
МЕТОДИЧЕСКИЕ УКАЗАНИЯ для выполнения курсовой работы по дисциплине
«Программирование на языках высокого уровня» (язык Си)
МОСКВА 2009
2
Составители: ст. преподаватель Е.А. Ерохина, магистрант А.К. Мельниченко.
Предназначены для студентов первого курса специальности 230104, изучающих программирование на языках высокого уровня Паскаль и Си. Содержатся сведе-
ния по подготовке технического задания на разработку программы и поясняются основные стадии и этапы разработки. В заключение приводятся варианты инди- видуальных заданий. Содержат пример разработки и оформления программы на языке С.
УДК 681.3.06
Методические указания для выполнения курсовой работы по дисциплине "Программирование на ЯВУ” / Сост. Е.А. Ерохина, А.К. Мельниченко ; Федер. агентство по образованию, Моск. гос. ин-т электроники и математики . – М. :
МИЭМ, 2009 . – 29 с.
Библиогр.: 4 назв.
ISBN 987-5-94506-219-1
3
ОГЛАВЛЕНИЕ
1. |
НАЗНАЧЕНИЕ И ОБЪЕМ КУРСОВОЙ РАБОТЫ.............................................................. |
4 |
|
2. |
РАЗРАБОТКА ТЕХНИЧЕСКОГО ЗАДАНИЯ ...................................................................... |
4 |
|
3. |
СОДЕРЖАНИЕ ОТЧЕТА.......................................................................................................... |
5 |
|
4. |
ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ.................................................................................... |
8 |
|
5. |
ПОСТАНОВКА ЗАДАЧИ ............................................................................................................. |
8 |
|
6. |
ВНЕШНЯЯ СПЕЦИФИКАЦИЯ ПРОГРАММЫ..................................................................... |
9 |
|
7. |
МЕТОД РЕШЕНИЯ ЗАДАЧИ ................................................................................................ |
11 |
|
8. |
ОПИСАНИЕ АЛГОРИТМА.................................................................................................... |
13 |
|
8.1. |
СТРУКТУРА ДАННЫХ ............................................................................................................ |
13 |
|
8.2. |
ВЫДЕЛЕНИЕ ПОДПРОГРАММ ................................................................................................ |
14 |
|
8.3. |
АЛГОРИТМЫ ГЛАВНОЙ ПРОГРАММЫ И ПОДПРОГРАММ ...................................................... |
14 |
|
9. |
СТРУКТУРА ПРОГРАММЫ ................................................................................................. |
18 |
|
10. |
|
ПРИМЕР ПРОГРАММЫ.................................................................................................. |
18 |
11. |
|
ВАРИАНТЫ ИНДИВИДУАЛЬНЫХ ЗАДАНИЙ ........................................................... |
23 |
12. |
|
БИБЛИОГРАФИЧЕСКИЙ СПИСОК .............................................................................. |
28 |
4
1. НАЗНАЧЕНИЕ И ОБЪЕМ КУРСОВОЙ РАБОТЫ |
|
|
|
Курсовая работа выполняется во втором семестре. Целью работы является выра- |
|||
ботка у студентов практических навыков по проектированию программ, их отлад- |
|||
ке и документированию. |
часов самостоятельной работы |
||
На выполнение курсовой работы планируется 50 |
|||
студентов. |
|
|
|
Выполнение курсовой работы начинается с разработки технического задания (ТЗ) |
|||
и завершается составлением отчета, в котором должно содержаться описание всей |
|||
проделанной работы. |
|
|
|
2. |
РАЗРАБОТКА ТЕХНИЧЕСКОГО ЗАДАНИЯ |
|
|
Техническое задание - это основной документ, регламентирующий все этапы вы- |
|||
полнения курсовой работы. Техническое задание должно содержать следующие |
|||
разделы: |
|
|
|
• |
назначение программы; |
|
|
• |
требования к программе; |
|
|
• |
требования к программной документации; |
|
|
• |
стадии и этапы разработки. |
|
|
В разделе "назначение программы" указывается, для решения какой задачи разра- |
|||
батывается программа. |
|
|
|
В разделе "требования к программе" должны быть следующие подразделы: |
|||
• |
"требования к функциональным характеристикам" - здесь |
перечисляются все |
|
|
|
организация |
организации |
|
|
); |
|
• |
"требования к надежности" - |
|
требования к |
|
|
|
входной ин- |
• |
"требования к составу технических средств" - |
устройств |
состав техни- |
|
|
и т.п.; |
|
• |
"требования к информационной и программной совместимости" - |
это требова- |
5
ния к информационным структурам на входе и выходе, методам решения, язы- кам программирования, операционным системам и другим программным сред- ствам, которые будет использовать данная программа. В курсовой работе раз- рабатывается программа на языке Си.
В разделе "требования к программной документации" указываются программные документы, которые следует разработать (в данной работе разрабатывается ТЗ). В разделе "стадии и этапы разработки" устанавливаются необходимые стадии разработки, этапы и содержание работ, а также сроки их выполнения.
Содержание работ
Разработка структур данных
Разработка алгоритма решения задачи Разработка структуры программы Разработка тестов Написание текста программы Отладка программы Написание отчета о работе
3. СОДЕРЖАНИЕ ОТЧЕТА
Отчет включает в себя следующие разделы: 1. Техническое задание.
2. Оглавление.
3. Задание на курсовую работу.
4. Постановка задачи.
5. Внешняя спецификация.
6. Метод решения задачи.
срок (неде- ля)
4
6
7
8
10
14
15
7. Описание алгоритма.
6
8. Структура программы.
9. Текст программы.
10. Распечатка тестов и результатов работы программы.
11. Выводы.
12. Список литературы.
Все страницы, кроме титульного листа, нумеруются подряд.
7
Образец титульного листа
ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ ЭЛЕКТРОНИКИ И МАТЕМАТИКИ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)
КУРСОВАЯ РАБОТА по дисциплине “ ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ ВЫСОКОГО УРОВНЯ”
(ЯЗЫК С)
Тема _______
Исполнитель: |
Руководитель: |
студент _____________ |
|
группа______________ |
___________________ |
Москва 2009
8
Образец оглавления
1. |
ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ ........................................................... |
1 |
2. |
ПОСТАНОВКА ЗАДАЧИ ............................................................................ |
2 |
3. |
ВНЕШНЯЯ СПЕЦИФИКАЦИЯ .................................................................... |
6 |
4. |
МЕТОД РЕШЕНИЯ ЗАДАЧИ ...................................................................... |
7 |
5. |
ОПИСАНИЕ АЛГОРИТМА......................................................................... |
8 |
6. |
СТРУКТУРА ПРОГРАММЫ ...................................................................... |
15 |
7. |
ТЕКСТ ПРОГРАММЫ ............................................................................. |
17 |
8. |
РАСПЕЧАТКА ТЕСТОВ И РЕЗУЛЬТАТОВ............................................... |
28 |
9. |
ВЫВОДЫ ............................................................................................... |
32 |
10.ЛИТЕРАТУРА........................................................................................ |
33 |
|
4. |
ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ |
|
Написать игровую программу на языке Си. Задание выбирается из приложения в |
||
соответствии с номером варианта. Допустимо, чтобы студент сам предложил сце- |
||
нарий игры, обязательно согласовав его с преподавателем. |
|
|
В курсовой работе обязательно наличие подпрограмм, решающих логически обо- |
||
собленные подзадачи. Также желательно хранить исходные данные и рейтинг в |
||
файле и (или) использовать динамическое распределение памяти. |
||
В качестве примера использования графических функций языка С и оформления |
||
курсовой работы рассмотрим программу построения графика функции. Пользова- |
||
тель выбирает функцию из меню и задает параметры графика. |
При наличии оши- |
|
бок в исходных данных происходит повторный запрос данных. |
|
|
5. |
ПОСТАНОВКА ЗАДАЧИ |
|
Постановка задачи содержит пункты «Дано», «Результат», «При» и «Связь». В пункте «Дано» перечисляются исходные данные, при этом необходимо указать
9
источник данных (они могут вводиться с клавиатуры, либо читаться из файла). В пункте «Результат» указываются результаты работы программы, причем результат должен быть получен при любых исходных данных, как допустимых, так и непра- вильных. В пункте «При» указываются ограничения на допустимость исходных данных. Пункт «Связь» указывает, как связаны исходные данные и результат.
Рассмотрим постановку задачи построения графиков функций.
Необходимо построить на экране график функции. Функция выбирается из меню. График строится на отрезке [a,b]. Точки графика отстоят друг от друга на рас- стояние step. Также пользователь задает масштабы по осям Ox и Oy - коэффици- енты mx и my.
Дано: k – номер функции (k выбирается из меню, остальные параметры вводятся с клавиатуры);
a, b – границы отрезка;
step – расстояние между точками графика (шаг);
mx my – масштабные коэффициенты по осям Ox и Oy.
Результат: координатные оси с отложенными на них единичными отрезками и график выбранной функции.
При: a<b, step>0, mx>0, my>0.
Связь: xm, ym – координаты точки на экране (машинные координаты) вычисля- ются по формуле:
xm = max x / 2 + x * mx; ym = max y / 2 − y * my.
Координаты точек вычисляются на отрезке [a,b]. Точки графика отстоят друг от друга на расстояние step.
6. ВНЕШНЯЯ СПЕЦИФИКАЦИЯ ПРОГРАММЫ
Во внешней спецификации указывается, как происходит диалог пользователя с программой. Также необходимо показать, как программа будет реагировать на ввод недопустимых исходных данных.
10
В одинарных угловых скобках <> размещены исходные данные, вводимые поль- зователем. В двойных угловых скобках <<>> приведены данные, выводимые на экран программой. Звездочка и двойные фигурные скобки обозначают возмож- ность повторного выполнения действий. Одинарные фигурные скобки и условие показывают возможность выбора одной из двух альтернатив.
Ниже приведена внешняя спецификация для программы построения графиков функций.
Построение графиков функций
Введите a, b (a<b)
<a> <b> до a<b
Введите step (step>0) <step>
до step>0
Введите mx, my (mx>0, my >0) <mx> <my>
до mx>0 и my>0
Выберите функцию для построения графика
sin(x)
cos(x)
x*x x
Введите номер функции
<k>
до 0<k<5