Мегаобучалка Главная | О нас | Обратная связь


Описание работы программы



2020-02-04 191 Обсуждений (0)
Описание работы программы 0.00 из 5.00 0 оценок




 

После запуска программы осуществляется вывод титульного листа, с помощью процедуры Zas. В этой процедуре используются процедуры модуля CRT, такие как gotoxy - переход на точку с указанными координатами, и outtextxy - вывод сообщения.

Затем выполняется процедура OKNO, где происходит инициализация графического режима, затем происходит установка фона и цвета с помощью функций 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 показывают сколько пикселей по горизонтали и вертикали можно использовать для построения графика. Далее считается шаг изменения по оси X от пикселя к пикселю. Для этого используется переменная MASHX. Далее находится минимальное и максимальное значение функции. Для этого сначала полагаем MAXY = 1000000, MINY = 1000000, далее от начала интервала считаем значение и сравниваем это значение с максимальным и минимальным. Затем переходим к следующему пикселю и операция повторяется. После перехода всей области в переменных MAXY, MINY будут храниться минимальные и максимальные значения функции. Затем эти значения выводятся на экран с пояснительным текстом. После завершения процедуры Y_INTER происходит рисование графика с помощью процедуры GRaphik.

 

 

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

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

 


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

 

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

 

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

 


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

 


 

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

 


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

 

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


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

 


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

 

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

 


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

 


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

 

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);('задачи по расчету и построению графиков');(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,70,'от до'); GotoXY(66,5);(lft);

(74,5);(rgh);(rgh:5:2,S);;

{********** Ввод коэффициентов **************}koef;(490,245,'a= ');(66,16);(a);(a:5:2,S);

end;

{********* Рисование осей и координатных линий ************} procedure osi;

begin(0,15,635,400,ClipOn);(0,0,1);(5);(50,10,50,350);(50,350,460,350);(5,10,'S');(450,370,'T');

nx:=10; { Число вертикальных линий }

:=10; { Число горизонтальных линий } dx:=Round((460-50)/nx); { Шаг расстановки линий по х} dy:=Round((350-10)/ny); { Шаг расстановки линий по y} SetLineStyle(0,0,1);

SetColor(5);:=50;:=10;i:=1 To nx do:=lx+dx;(lx,10,lx,350);(50,ly,460,ly);:=ly+dy;

End;;

{ Определение интервала по Y }

procedure y_interval;:=460-50;:=350-10;:=(rgh-lft)/MaxPicX;:=1000000;:=-1000000;:=lft;i:=50 to 460 do:=f;y > maxY then maxY:=y;y < minY then minY:=y;

x:=x+mashX;;

{Вывод интервала по Y }

SetViewPort(0,0,GetmaxX,GetmaxY,ClipOn); SetColor(Brown); OutTextXY(500,300,'Интервал по Y:'); Str(minY:5:2,s1);(maxY:5:2,s2); OutTextXY(480,320,'от'+s1+' до'+s2); end;

{Рисование графика }graphik;(10,15,480,400,ClipOn);:=(maxY-minY)/MaxPicY;:=lft;:=f; j:=(350+round(minY/mashy)-round(y/mashY)); PutPixel(60,j,red);(50,j);i:=51 to 460 do:=x+mashX;:=f; j:=(350+round(minY/mashy)-round(y/mashY)); LineTo(i-10,j);;;

{Оцифровка осей }ozifr;(4);:=abs(rgh-lft)/nx;:=2;:=lft;(ch:5:2,s);(lx-57,355,s);i:=1 to nx do:=lx+dx;:=ch+dxc;:=ch;:=f;(y:5:2,s3);(ch:5:2,s);(lx,355,s);:=s1+' '+s;:=s2+' '+s3;;:=abs(maxY-minY)/ny;:=345;:=minY;(ch:5:2,s);(1,ly+52,s);i:=1 to ny do:=ly-dy;:=ch+dyc;(ch:5:2,s);(1,ly,s);; SetViewPort(0,0,GetmaxX,GetmaxY,ClipOn);

{ SetViewPort(10,410,620,480,ClipOn); }(0,HorizDir,1); outtextxy(12,420,'x= '+s1); outtextxy(12,440,'y= '+s2);;;;

{end;};;;;;_interval;

graphik;;.

 




2020-02-04 191 Обсуждений (0)
Описание работы программы 0.00 из 5.00 0 оценок









Обсуждение в статье: Описание работы программы

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (191)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)