Построение графика функции с использованием программирования

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



инициализация графического режима, затем происходит установка фона и цвета с помощью функций SETBKCOLOR и SETCOLOR. Далее процедура OKNO с использованием процедур BAR, RECTANGLE вычерчивает на экране окна в которых отображается справочная информация. В этой процедуре используется так же следующие стандартные процедуры SETLINESTYLE - установка линий, SETTEXTSTYLE - установка стиля текста и процедура OUTTEXTXY - вывод строки с заданной позиции. Затем вызывается процедура INTER, которая осуществляет ввод начального и конечного значения аргумента t, в графическом режиме. Для вывода на экран числового значения используется процедура STR которая преобразует числовое значение в строковую переменную. Процедура KOEF осуществляет вывод коэффициентов на экран с помощью процедуры Outtext. После ввода интервала, на котором строится график и вывода коэффициентов вызывается процедура построения координатной сетки OSI. Сначала устанавливается тип линий и цвет. Сначала выводятся линии которые ограничивают область построения графика слева и снизу. Далее выводится название осей.

По оси абсцисс будет отображаться значение аргумента T, по оси ординат - значение функции S.

Далее задается число линий сетки. Оно одинаково по горизонтали и вертикали и определяется переменными nx=10; ny=10;

Затем определяется шаг расстановки линий по горизонтали и вертикали dx и dy. Далее устанавливается стиль линии и цвет. Потом устанавливается начальное значение по горизонтали и вертикали lx = 50, ly = 10.

Далее в цикле происходит увеличение координаты по оси T для перехода на следующую засечку. Так как оси координат уже начерчены, то сразу происходит переход на вторую засечку. Потом вычерчивается линия засечки по оси T, т.к. по оси S первой засечки нет, то сначала вычерчивается она, а только потом происходит переход следующую засечку.

После выполнения процедуры OSI запускается процедура Y_INTER. Переменные MAXPICX и MAXPICY показывают сколько пикселей по горизонтали и вертикали можно использовать для построения графика. Далее iитается шаг изменения по оси X от пикселя к пикселю. Для этого используется переменная MASHX. Далее находится минимальное и максимальное значение функции. Для этого сначала полагаем MAXY = 1000000, MINY = 1000000, далее от начала интервала iитаем значение и сравниваем это значение с максимальным и минимальным. Затем переходим к следующему пикселю и операция повторяется. После перехода всей области в переменных MAXY, MINY будут храниться минимальные и максимальные значения функции. Затем эти значения выводятся на экран с пояснительным текстом. После завершения процедуры Y_INTER происходит рисование графика с помощью процедуры GRaphik.

Сначала iитается шаг изменения по оси S. Начальное значение интервала (переменная LFT). Вычисляется значение функции Y (переменная У). Затем переменной J присваивается значение функции в абсолютных координатах, затем с помощью процедуры PUTPIXEL высвечивается точка с координатами. Указатель перемещается в эту точку. Далее в цикле пока не будет пройдена вся область по оси T выполняются следующие действия. Значение X (абсциссы) увеличивается на шаг mashx. iитается значение функции (переменная Y). iитаются значения абсолютной координаты по S. И строится линия от текущей позиции до точки с полученными координатами. После того как завершается построение графика запускается процедура OZIFR которая производит оцифровку осей. Cначала, выбирается цвет линий. В переменную dxc записывается цена засечки. Переменной ch присваивается начальное значение интервала по T и это значение выводится под первой засечкой. Также вычисляется значение S в этой точке и проводится преобразование в строковую переменную. Далее в цикле происходит переход к следующей засечке. Значение Ch увеличивается на цену деления и выводится на экран. После завершения оцифровки оси S определяется цена деления по оси T. Оцифровка начинается с минимального значения и далее аналогично оцифровке оси T.

После завершения процедуры OZIFR программу ожидание нажатия на любую клавишу. После того как клавиша нажата происходит закрытие графического режима и программа завершает свою работу.

3. Блок схема алгоритма

Схема алгоритма процедуры ZAS.

Схема алгоритма процедуры okno

Схема алгоритма функции f

Схема алгоритма процедуры inter

Схема алгоритма процедуры koef

Схема алгоритма процедуры osi

Схема процедуры Y_inter

Схема алгоритма процедуры ozifr

Схема алгоритма процедуры Graphik

Схема алгоритма основной программы

4. Листинг программы

USES GRAPH, CRT;

Var,GraphMode,ErrorCode:Integer;,s1,s2,s3:String;,rgh,a,b,ch,dxc,dyc:Real;,ny,dx,dy,lx,ly,i,j:Integer;,MaxPicY:Integer;,mashY,miny,maxy,x,y:Real;zas;(19);;

textcolor(11);(12,2);('КУЗНЕЦКИЙ ИНСТИТУТ ИНФОРМАЦИОННЫХ И УПРАВЛЕНЧЕСКИХ ТЕХНОЛОГИЙ'); textcolor(5);(20,6);('КУРСОВОЕ ПРОЕКТИРОВАНИЕ ПО КУРСУ ИНФОРМАТИКА');

gotoxy(21,10);(4);('ТЕМА ПРОЕКТА:');

gotoxy(35,10);(7);('Разработка программы решения');(22,12);('задачи по раiету и построению графиков');(20,14);('функций в среде программирования Turbo Pascal.');

textcolor(4);(38,24);('2005г.');(22,18);(1);('Выполнил студент гр. 04КМ1 Калашников В');

gotoxy(22,20);('Преподаватель: Шевченко Ольга Анатольевна');

readkey;;

{******** Исследуемая функция **********************}f:real;:=a*x*x/2;;okno;:=Detect;(GraphDriver,GraphMode,'d:\bp\bgi');(0);(White);

{************** Изображение окон *********************} SetColor(Brown);(0,0,3);(620,17,478,138);(620,152,478,400);(2,17,469,398);(0,HorizDir,1);

end;

{*************** Ввод интервала по Х ****************}

procedure inter;(Brown);(0,HorizDir,1);(490,25,'Интервал по t:');(490,7