- •Методические указания к выполнению курсового проектирования по дисциплине «технология программирования»
- •1. Цели и задачи выполнения курсовой работы
- •2. Единая система программной документации (еспд)
- •3. Методические указания по разработке технического задания
- •3.1. Общие положения
- •3.2. Содержание разделов
- •4. Методические рекомендации по разработке программного средства.
- •4.1. Порядок решения задачи курсовой работы
- •4.2. Техника программирования задачи курсовой работы
- •1. Ввод и вывод данных
- •2. Инициализация данных и создание динамических переменных
- •3. Подсчет времени работы программы
- •4. Работа с клавиатурой.
- •5. Методические рекомендации по тестированию программного средства.
- •6. Методические указания по оформлению курсовой работы
- •6.1. Основные правила оформления программной документации
- •6.2. Правила оформления расчетно-пояснительных записок при курсовом проектировании
- •7. ИспользованиеMicrosoftVisioдля разработки блок-схем
- •7.1. Соединение элементов блок-схемы
- •7.2. Навигация в многостраничных блок-схемах
- •Техническое задание №1
- •1. Введение
- •2. Основание для разработки
- •3. Назначение
- •4. Требования к программе или программному изделию
- •5. Требования к программной документации
- •Техническое задание №2
- •1. Введение
- •2. Основание для разработки
- •3. Назначение
- •4. Требования к программе или программному изделию
- •5. Требования к программной документации
- •Курсовой работа по дисциплине технологии программирования :
5. Требования к программной документации
Разрабатываемые программные модули должны быть самодокументированны, т. е. тексты программ должны содержать все необходимые комментарии.
Программная система должна включать справочную информацию о работе и подсказки пользователю.
В состав сопровождающей документации должны входить:
Пояснительная записка на 25-30 листах, содержащая описание разработки.
Руководство системного программиста.
Руководство пользователя.
Графическая часть на трех листах формата А1:
Схема структурная программной системы.
Диаграмма компонентов данных.
Формы интерфейса пользователя.
Приложение 2. Образец титульного листа
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Белгородский государственный технологический университет
имени В.Г. Шухова
Институт ИТУС
Кафедра Информационных технологий
Курсовой работа по дисциплине технологии программирования :
«Разработка игровой программы «АБВГДейка»
Выполнил студент группы ИТ- 11
Петров Петр Петрович
Проверил к.т.н., доц..
Белгород 2016
Приложение 3. Пример программы, моделирующей работу секундомера
Program Sekundomer;
Uses Crt,Graph;
Сonst Radius=100; { радиус циферблата }
OX=340; OY=240; { начало координат }
{клавиши управления}
KEYESC=27;
KEYENTER=13;
KEYSPACE=32;
VarGd,Gm:integer; {переменные, используемые при инициализации граф. режима}
Alpha:integer; {угол стрелки секундомера в градусах}
xAlpha:real; { угол стрелки секундомера в ражианах }
x2,y2:integer; {координаты острия стрелки}
flag:boolean; { признак старт/стоп секундомера}
key:char; {код нажатой клавиши}
count:integer; {счетчик}
st:string; {строка, содержащая текущее время в секундах}
{Процедура инициализации графического режима}
Procedure InitGR(Gd,Gm:integer);
begin
Gd:=Detect;
InitGraph(Gd,Gm,'c:\bp\bgi');
if GraphResult<> grOk then Halt(1);
end;
{ Процедура изображающая секундомер на экране }
Procedure DrawSecundomer(color:word);
Var i:integer;
Begin
ClearDevice;
SetColor(color);
Circle(OX, OY, 2);
SetLineStyle(SolidLn, 0, ThickWidth);
Circle(OX, OY, Radius);
OutTextXY(OX+Radius-10, OY, '3');
OutTextXY(OX, OY+Radius-10, '6');
OutTextXY(OX-Radius+10, OY, '9');
OutTextXY(OX, OY-Radius+10, '0');
SetLineStyle(SolidLn, 0, NormWidth);
line (OX, OY, OX, OY-Radius+3);
SetFillStyle(SolidFill, BLACK);
Bar(OX-30, OY-Radius-15, OX+30, OY-Radius-5);
Count:=Count+1;
Str((Count div 6), st);
OuttextXY(OX, OY-Radius-15, st);
End;
{основная часть программы}
begin
InitGR(Gd,Gm);
DrawSecundomer(YELLOW);
Alpha:=89;
flag:=false;
Count:=1;
{ цикл управления секундомером }
Repeat
if keypressed then key:=readkey;
{анализ кода нажатой клавиши}
case ord(key) of
KEYESC: break;
KEYSPACE: begin
if flag then begin
flag:=false;
setcolor(WHITE);
line (OX, OY, OX+(x2), OY-(y2));
end
else begin
flag:=true;
setcolor(BLACK);
line (OX, OY, OX, OY-Radius+3);
end;
key:='0';
end;
KEYENTER: begin
Alpha:=89;
flag:=false;
key:='0';
DrawSecundomer(YELLOW);
Count:=1;
end;
end;
if flag then begin
xAlpha:=Alpha*(Pi/180);
x2:=round(cos(xAlpha)*(Radius-3));
y2:=round(sin(xAlpha)*(Radius-3));
setcolor(WHITE);
line (OX, OY, OX+(x2), OY-(y2));
delay(5000);
setcolor(BLACK);
line (OX, OY, OX+(x2), OY-(y2));
Alpha:=Alpha-1;
setcolor(WHITE);
OutTextXY(OX+Radius-10, OY, '3');
OutTextXY(OX, OY+Radius-10, '6');
OutTextXY(OX-Radius+10, OY, '9');
OutTextXY(OX, OY-Radius+10, '0');
SetFillStyle(SolidFill, BLACK);
Bar(OX-30, OY-Radius-15, OX+30, OY-Radius-5);
Count:=Count+1;
Str((Count div 6), st);
OuttextXY(OX, OY-Radius-15, st);
end;
until ord(key)=KEYESC;
end.