
Беловский институт (филиал)
ФГБОУ ВПО «Кемеровский государственный университет»
Кафедра математики и естественных наук
Реализация графических возможностей в среде Turbo Pascal с применением циклических структур
КУРСОВАЯ РАБОТА
по дисциплине «Основы программирования»
направление подготовки: 010300.62 Фундаментальная информатика и информационные технологии
Профиль подготовки: Открытые информационные системы
Выполнил
студентка группы ИТ-121
Проценко Т. В.
Руководитель
Злобин А.Ю.
Работа защищена
«___»___________ 20___ г.
с оценкой ____________________
Белово – 2013
Содержание
Введение 6
1 Назначение и область применения 7
2 Постановка задачи 7
3 Используемые методы 8
4 Описание алгоритма программы 9
4.1 Деление на подпрограммы 9
4.2 Основные алгоритмы и процедуры 10
4.3 Основная программа 12
5 Программное и аппаратное обеспечение программы 15
6 Руководство пользователя 15
Заключение 16
Список использованных источников 17
Приложение А. Листинг программы 18
Приложение Б. Результат выполнения программы 25
CD-диск:
– файл программы «KR01.PAS» в формате Turbo Pascal 7.0;
– файл программы «KR01.EXE» (файл готовый к исполнению);
– файл документа «ИТ121_ОП_КР01_ВАР09_Проценко.doc».
(В конверте на обороте обложки)
Введение
Цель работы: получение знаний, навыков в области разработки алгоритмов обработки анимаций, реализация их на персональном компьютере и демонстрация возможностей Turbo Pascal 7.0 при работе с графикой.
Научная значимость имеет значения только для создателя проекта так как исследуются и изучаются графические способности Turbo Pascal. Практическая значимость заключается в использование готовой программы с анимацией в основе.
Вопрос реализации анимаций в Turbo Pascal достаточно актуальный. Потому что наш век – век информации, а, как известно графика это один из лучших способов представления информации. А анимация – это технология, позволяющая при помощи неодушевленных неподвижных объектов создавать иллюзию движения, что позволяет еще более эффективней представить информацию или дополнить уже созданный дизайн.
Основное средство достижения поставленной цели – это использования приобретенных знаний на практике.
В результате ожидается получить программу «Поздравление» созданную в среде Turbo Pascal, в которой будут продемонстрированы графические возможности программы на практике, в частности в целях поздравить одногруппников с новым годом.
Назначение и область применения
Назначение программы «Поздравление» направленно на демонстрацию графических возможностей Turbo Pascal.
Область применения интересуемой темы, достаточно широкая. Анимации и просто графика в современной жизни встречается везде, и создать анимацию в Turbo Pascal это один из способов реализации данной задачи.
2 Постановка задачи
Достижение поставленной цели подразумляет решение следующих задач:
Изучить литературу и интернет ресурсы о графических возможностей Turbo Pascal;
Рассмотреть основные алгоритмы программы;
Описание входных и выходных данных;
Разработать основную программу, ее блок схему;
Реализация программы «Поздравление» в Turbo Pascal.
3 Используемые методы
Для написания программы был использован следующие методы:
Метод изучить литературы и интернет ресурсов о графических возможностей Turbo Pascal;
Метод рассмотрения и анализа основных алгоритмов программы; Метод выявления входных и выходных данных;
Метод разработки основной программы, ее блок схемы;
Практический метод реализация программы «Поздравление» в среде Turbo Pascal.
4 Описание алгоритма программы
Деление на подпрограммы
В целом программа достаточна, массивна, и что бы упростить ее создание, целесообразно применить метод модульного программирования то есть деления на мелкие подзадачи, которые после составят конечную программу (анимацию).
Всю программу «Поздравление» можно разделить на пять основных частей, кадров, которые будут друг друга сменять. В каждой программе будут более мелкие.
Изначально задаются основные переменные, которые будут формировать вывод на экран изображений, с помощью различных процедур.
Входные данные отсутствуют, так как программа направлена на воспроизведение одной и той же анимации, что не требует вводить дополнительные переменные.
Первая подзадаче заключается в выводе на экран надписи «IT 121» с помощью движущейся окружности, которая и «пишет» необходимые символы. Все задается с помощью цикла с постусловием.
Вторая подзадача выводит на экран окружность, которая постепенно стирает все с экрана с использованием цикла с постусловием.
Третья подзадача выводит 15 лиц, которые одинаковы, различны только координаты расположения изображения это выводится с помощью цикла с предусловием и разного цвета.
Четвертая подзадача точно такая же, как вторая, отличаясь лишь цветом.
Пятая подзадача выводит на экран основное изображение, поздравление, на котором присутствуют несколько рисунков выведенных с помощью основных графических процедур. И поздравительных слов «с новым годом».
Данные кадры можно создать отдельно и после соединить в одну целую программу «Поздравление».
Основные алгоритмы и процедуры
В основе программы лежит стандартный линейные алгоритм то есть последовательное выполнение действий. Так же при разработке данной программы часто использован циклический алгоритм. Цикл - это многократно повторяющийся участок.
В работе присутствуют, как циклы, в которых заранее известно, количество необходимых повторений, такие циклы называется арифметическими. Так и циклы где количество повторений заранее неизвестно - итерационномциклы.
В итерационных циклах производится проверка некоторого условия, и в зависимости от результата этой проверки происходит либо выход из цикла, либо повторение выполнения тела цикла. Если проверка условия производится перед выполнением блока операторов, то такой итерационный цикл называется циклом с предусловием (цикл "пока"), а если проверка производится после выполнения тела цикла, то это цикл с постусловием (цикл "до").
В работе используется циклы с предусловием – цикл «for». Оформляется он следующим образом: for переменная := значение 1 to значение 2 do оператор.
Пример цикла For из программы «Поздравление»:
x:=50; y:=50; {заранее заданные параметры}
for i:=1 to 3 do {цикл, который будет повторен три раза от 1 до 3х}
begin {операторная скобка }
for j:=1 to 5 do { цикл, который будет повторен пять раза от 1 до 5ти }
begin { операторная скобка }
Circle(y*2*J,x*2*i,20); {вывод на экран окружности}
end; { операторные скобки }
end;
Так и циклы с постусловием – цикл «repeat», оформляется он следующим образом:
repeat
оператор;
...
оператор
until выражении.
Пример цикла repeat из программы «Поздравление»:
y1:=0; {заранее заданные параметры}
repeat {начало цикла}
circle(y1,15,600); {вывод на экран окружность}
y1:=y1+1; {изменение изначального параметра}
until y1>1200; {условия до которых цикл будет повторяться}
Исходя из того что вся программа направлена на графический вывод информации логично что в основном используются процедуры модуля GRAPH.
Модуль Graph реализует полную библиотеку из более чем 50 графических программ - от вызовов процедур и функций высокого уровня, как, например, SetViewPort, Bаr3D, DrаwPoly, до программ, ориентированных на работу с битами, таких, как GetImage или РutImage. Поддерживается несколько видов закрашивания и типов линий, и имеется несколько шрифтов, которые можно изменять повеличине, выравнивать и ориентировать горизонтально или вертикально.
Процедуры модулям Graph использованные в создание программы:
Arc(X, Y: Integer; StartAngle, EndAngle, Radius: Word) Рисует дугу от начального угла к конечному, (X,Y) — центр;
Bar(X1, Y1, X2, Y2: Integer) Рисует прямоугольник, используя текущий стиль и цвет;
Bar3D(X1,Y1,X2,Y2: Integer; Depth: Word; Top: Boolean) Рисует параллелепипед, используя текущий стиль и цвет;
Circle(X,Y: Integer; Radius: Word) Рисует окружность, (X,Y) — центр;
Line(X1,Y1,X2,Y2: Integer) Рисует прямую линию от точки (X1,Y1) до точки (X2,Y2);
PutPixel(X,Y: Integer; ColorPixel: Word) Высвечивает на экране точку (пиксель) с координатами (X,Y) цветом ColorPixel;
SetBkColor(Color: Word) Устанавливает цвет фона;
SetColor(Color: Word) Устанавливает основной цвет для рисования.
SetFillStyle(Pattern, Color: Word) Устанавливает тип и цвет заполнения.