Автор работы: Пользователь скрыл имя, 15 Апреля 2012 в 11:23, курсовая работа
В данном курсовом проекте мы должны рассмотреть и изучить основные аспекты работы с компьютерной графикой.
Главной задачей нашей работы является углубленное изучение машинной графики и работы в графическом режиме, в частности построение графика функции y=4хsin(x) на заданном отрезке [a;b].
Введение…………………………………………………………………………..3
Глава I. Построение графика функции……………………………………...4
Глава II. Основные сеансы работы с программой…………………………..7
Заключение……………………………………………………………………....10
Список литературы………………………………………………………………11
Приложение………………………………………………………………………12
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ
НОУ ВПО «РЕГИОНАЛЬНЫЙ ОТКРЫТЫЙ СОЦИАЛЬНЫЙ
ИНСТИТУТ»
АНО НССУЗ «ТЕХНИКУМ РЕГИОНАЛЬНОГО ОТКРЫТОГО СОЦИАЛЬНОГО ИНСТИТУТА»
ПРЕДМЕТНАЯ (ЦИКЛОВАЯ) КОМИССИЯ
СПЕЦИАЛЬНЫХ КОМПЬЮТОРНЫХ ДИСЦИПЛИН
тема: «Машинная графика в Turbo Pascal 7.0. Построение графика функции
Глава I. Построение графика функции……………………………………...4
Глава II. Основные сеансы работы с программой…………………………..7
Список литературы……………………………………………………
Приложение……………………………………………………
В данном курсовом проекте мы должны рассмотреть и изучить основные аспекты работы с компьютерной графикой.
Главной задачей нашей работы является углубленное изучение машинной графики и работы в графическом режиме, в частности построение графика функции y=4хsin(x) на заданном отрезке [a;b].
Во время выполнения курсового проекта мы ознакомились с:
инициализацией графического режима;
процедурами и функциями модуля Graph;
нахождением минимального и максимального значения функции;
расчетом масштабных коэффициентов;
переводом аналитических координат в экранные координаты;
особенностями построения системы координат;
выводом подписей к осям;
построением графика функции;
выводом текста в графическом режиме.
Рассмотрим построение графика функции y=4хsin(x) на заданном диапазоне значений [a;b] в среде программирования Borland Pascal 7.0.
Глава I. Построение графика функции
Задание: построить график функции y=4xsin(x) на заданном диапазоне значений [a;b].
Этапы решения задачи показывает следующая блок-схема (рис.1):
Вв
рис 1. Основные этапы решения задачи.
В программе используются следующие глобальные переменные:
a,b:real – используются для хранения концов отрезка [a;b];
t:real – используется в случае, если a>b, чтобы поменять их местами;
ymin,ymax:real – хранят минимальное и максимальное значения функции;
mx,my:real – в них содержатся значения масштабных коэффициентов по осям Ox и Oy;
Также для решения поставленной задачи используются следующие процедуры и функции:
MyGraphInit; – процедура, которая инициализирует графический режим. Параметры в нее не передаются. Содержит локальные переменные: gd – содержит значение соответствующего графического драйвера (определяется автоматически), gm – хранит значение графического режима (также определяется автоматически), ErCo – в этой переменной находится код ошибки.
Grafik (ox,oy:integer;a,b,mx,my:real)
osi(ox,oy,px,py); - выводит оси на экран. В эту процедуру передаются: px,py – отступы от левой, правой и верхней, нижней границ экрана; ox,oy – отступы для осей Oy и Ox соответственно. В процедуре не используются локальные переменные.
podpisi (ymin,ymax,a,b,mx,my:real; ox,oy,px,py: integer); – эта процедура используется для того, чтобы вывести подписи к осям. В нее передаются следующие параметры: a,b – концы введенного пользователем отрезка [a;b]; ymin,ymax – минимальное и максимальное значения функции; mx,my – масштабные коэффициенты по осям Ox и Oy; px,py – отступы от боковых и верхней, нижней границ экрана; ox,oy – отступы для осей Oy и Ox. Также в данной процедуре используются локальные переменные: ymin1,ymax1 – крайние точки подписей по оси Oy; a1,b1 – границы подписей по оси Ox; y,x – хранят значение текущей точки подписи по осям Oy и Ox соответственно; s – используется для хранения значения подписи в строковом типе, чтобы вывести подпись на экран.
min(a,b:real):real; – при помощи данной функции вычисляется минимальное значение функции. Оперирует следующими параметрами: a,b - концы отрезка [a;b]. Локальные переменные: fmin – хранит текущее минимальное значение функции; x – точка по оси Ox, в которой вычисляется значение функции; y – текущее значение функции; h - шаг в соответствии с которым определяется следующая точка по оси Ox.
max(a,b:real):real; – функция, вычисляющая максимальное значение функции. В нее передаются следующие параметры: a,b - концы отрезка [a;b]. В функции содержатся локальные переменные: fmax – хранит текущее максимальное значение функции; x – точка по оси Ox, в которой вычисляется значение функции; y – текущее значение функции; h - шаг в соответствии, с которым определяется следующая точка по оси Ox.
Глава II. Основные сеансы работы с программой
Рассмотрим основные сеансы работы программы, реализующей алгоритм построения графика функции y=4хsin(x) на заданном диапазоне значений [a;b].
В начале работы программы пользователю предлагается ввести значения a и b. После чего необходимо ввести эти значения (рис.2):
рис.2 Ввод диапазона значений [a;b].
Если введён диапазон [-66..-2], то выводится следующее сообщение: (рис.3)
рис.3 Сообщение, которое выдаётся при вводе диапазона [-66..-2]
Программа по заданному диапазону [-50..50] выводит график следующего вида: (рис.4):
рис.4 График функции в диапазоне [-50..50]
Для диапазона [0.1..25] программа выводит следующий график (рис.5):
рис.5 График функции в диапазоне [0.1..25]
Если пользователь вводит равные значения a и b, то на экран выдается следующие сообщение (рис.6):
рис.6 Сообщение, выдаваемое при вводе равных значений [a;b]
В курсовом проекте мы построили график функции y=4xsin(x) на заданном диапазоне значений [a;b].
Нами было углубленно изучено программирование в графическом режиме на языке Borland Pascal 7.0. А в частности, мы ознакомились с возможностями, которые дает нам машинное графика, реализованными процедурами и функциями модуля Graph, нахождением минимального и максимального значения функции, особенностями масштабирования, построения осей системы координат, вывода подписей к осям.
В ходе работы мы пришли к выводам, что среда программирования Borland Pascal 7.0 позволяет весьма эффективно работать с компьютерной графикой.
1. Марченко А. И. Программирование в среде Borland Pascal 7.0
Киев: Век, Киев: Юниор,2000.480 с.
2. Немнюгин С. А. Turbo Pascal: Учебник. СПб.: Питер, 2001, 496 с.
3. Немнюгин С. А. Turbo Pascal:Практикум. СПб.: Питер, 2001, 256 с.
4. Фаронов В. В. . Turbo Pascal 7.0. Практика программирования. 7-е изд. М.: Нолидж, 2001. 416 с.
Program kursovaya;
uses crt,graph;
var ox,oy,px,py:integer;
a,b,t,z,ymin,ymax,mx,my:real;
Procedure MyGraphInit; {инициализирует графический режим}
var gd,gm,ErCo:integer;
begin
gd:=detect;
initGraph(gd,gm,'C:\bp\bgi');
ErCo:=graphresult;
if ErCo<>Grok
then begin
writeln('Ошибка инициализации графики');
readln;
halt(1);
end;
end;
Procedure Grafik(ox,oy:integer;a,b,mx,
var y1,y2,x1,x2,h:real;
begin
h:=0.05;
x1:=a;
x2:=x1+h;
setcolor(10);
while x2<=b do
begin
if x1>0
then y1:=4*exp(sin(x1)*ln(x1))
else if x1=0
then y1:=0
else y1:=4/exp(sin(x1)*ln(-x1));
if x2>0
then y2:=4*exp(sin(x2)*ln(x2))
else if x2=0
then y2:=0
else y2:=4/exp(sin(x2)*ln(-x2));
line(round(ox+mx*x1),round(oy-
x1:=x1+h;
x2:=x1+h;
end;
end;
Procedure osi(ox,oy,px,py:integer);
begin
line(ox,round(getmaxy-py/2),
line(ox,round(py/2),ox-3,
line(ox,round(py/2),ox+3,
line(round(px/2),oy,round(
line(round(getmaxx-px/2),oy,
line(round(getmaxx-px/2),oy,
outtextxy(ox+3,oy+3,'0');
outtextxy(ox,round(py/2)-13,'
outtextxy(round(getmaxx-px/2)-
end;
Procedure podpisi(ymin,ymax,a,b,mx,my:
ox,oy,px,py:integer); {выводит подписи}
var ymin1,ymax1,a1,b1,y,x:real;
s:string;
begin
settextstyle(2,0,4);
if ymin>0
then ymin1:=0
else ymin1:=ymin;
if ymax<0
then ymax1:=0
else ymax1:=ymax;
y:=ymin1;
while y<=ymax1+0.01 do
begin
if (y<>0)
then begin
setcolor(15);
line(ox-5,round(oy-my*y),ox+5,
Информация о работе Машинная графика в Turbo Pascal 7.0. Построение графика функции у=4хsin(x)