Отчет (Готовая курсовая по программированию)
Описание файла
Документ из архива "Готовая курсовая по программированию", который расположен в категории "". Всё это находится в предмете "информатика" из 3 семестр, которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика" в общих файлах.
Онлайн просмотр документа "Отчет"
Текст из документа "Отчет"
Московский Авиационный Институт (Технический Университет)
Курсовая работа
По программированию
Студента гр. 13-201
Голостенова Михаила
Москва, 2006 год
Содержание
-
Условие задачи
-
Словесный алгоритм (описание)
-
Блок-схема программы
-
Текст программы
-
Результаты работы программы
-
Процедуры и функции модуля graf, используемые в программе
Процедуры и функции модуля graf, используемые в программе
В программе используются следующие процедуры и функции:
InitGraph – инициализация графического режима
CloseGraph – закрытие графического режима
SetVisualPage – установка видимой графической страницы
SetActivePage – установка активной графической страницы
SetFillStyle – задания цвета заливки объектов
SetColor – установка цвета прорисовываемой фигуры
Rectangle – отображение прямоугольника
Bar – отображение закрашенного прямоугольника
FillEllipse – отображение закрашенного эллипса
FillPoly – отображение закрашенного полигона (многоугольника)
Условие задачи
Составить программу на языке Pascal, которая в графическом режиме отображает сцену торпедирования корабля подводной лодкой и последующую эвакуацию людей. Анимация должна быть плавной и без мерцания изображения.
Словесный алгоритм (описание)
Для предотвращения мерцания картинки, применяется смена графических страниц. При этом, прорисовываемое изображение находится на невидимой графической странице и только после окончательной обработки выводится на экран. Все элементы изображения вынесены в отдельные процедуры. Исходя из этого практически весь текст основной программы состоит из вызовов процедур тех или иных элементов картинки с заданными параметрами в виде изменения координат объекта относительно предыдущего кадра, к примеру:
For m:=1 to 200 do
Begin
SetActivePage(p); <- смена активной графической страницы
Backgr; <- процедура отображения фона
shlupka(-1,0); <- процедура отображения шлюпки
SetVisualPage(p); <- смена видимой графической страницы
Delay(5000); <- задержка
Case p of <- смена номера графической страницы
1: p:=0;
0: p:=1;
end;
Здесь используются две процедуры – backgr, отображающая статичный фон, и shlupka (-1,0), отображающая шлюпку в координатах левее на 1 пиксел по оси Х, чем в прошлом кадре. Первичные координаты объекта указываются в процедурах:
Procedure korabl(x,y:integer);
Const
kor: array[1..4] of PointType = ((X: 1; Y: 125),
(X: 101; Y: 125), (X: 80; Y: 135), (X: 20; Y: 135));
Здесь указаны координаты полигона (многоугольника), который входит в состав рисунка корабля. Все остальные детали модели прорисовываются уже относительно этой первичной части:
Bar(kor[1].X+20,kor[1].Y,kor[1].X+75,kor[1].Y-10);
Rectangle(kor[1].X+20,kor[1].Y,kor[1].X+75,kor[1].Y-10);
Для смещения объекта по координатам, указанных в параметрах процедуры, используется цикл:
for i:=1 to SizeOf(kor) div SizeOf(PointType) do
begin
kor[i].X:=kor[i].X+x;
kor[i].Y:=kor[i].Y+y;
end;
В результате ко всем координатам вершин главного полигона (многоугольника) прибавляются параметры x и y, указанные в параметрах вызова процедуры. Все остальные элементы изображения построены на том же принципе.
Результаты работы программы