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

Автор работы: Пользователь скрыл имя, 23 Июня 2013 в 21:51, курсовая работа

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

Язык Бейсик входит в состав программного обеспечения почти всех выпускаемых в настоящее время ПЭВМ. Разработчики ПЭВМ , как правило , включают в реализуемую версию языка средства, позволяющие использовать все возможности , предоставляемые аппаратурой конкретной ПЭВМ. Благодаря этому для пользователя , не являющемся профессиональным программистом (а таких пользователей ПЭВМ большинство) , Бейсик выполняет роль "базового" языка подобно языку ассемблера для профессиоального программиста.

Содержание работы

Введение................................................................................................................
4
1 Структура современных ЭВМ...........................................................................
5
2 Постановка задачи.............................................................................................
6
3 Математическая часть.......................................................................................
7
4 Описание алгоритма работы программы.........................................................
11
5 Описание работы программы...........................................................................
14
6 Инструкция для пользователей.........................................................................
15
Заключение............................................................................................................
16
Список используемых источников.....................................................................

Файлы: 5 файлов

ALGORITM.VSD

— 126.33 Кб (Скачать файл)

EGAVGA.BGI

— 5.42 Кб (Скачать файл)

FUNK.PAS

— 5.02 Кб (Скачать файл)

OTCHET.DOC

— 1.48 Мб (Скачать файл)

При построении графика программа cтроит каждую ветвь графика  функции отдельно , это связано с областями существования функции , в которых и происходит построение графика.

В завершении своей работы программа ожидает нажатия пользователем любой клавиши , затем происходит закрытие графического режима и выход из программы.

 

6 ИНСТРУКЦИЯ ДЛЯ ПОЛЬЗОВАТЕЛЕЙ

 

Разработанная программа funk.pas предназначена для исследования функции и построения её графика на экране компьютера.

Данная программа предназначена для своего использования операционной системой MS-DOS.

Для запуска программы необходимо вставить дискету с программой в дисковод компьютера , считать корневой каталог дискеты и вызвать на выполнение запускаемый файл funk.exe. Для нормальной работы программы на дискете должен находится файл графической библиотеки языка Turbo Pascal - egavga.bgi.

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

Для выхода из программы пользователь должен ещё раз нажать любую клавишу.

Для нормальной работы данной программы необходимо наличие персонального компьютера типа IBM PC стандартной конфигурации.

Программа работает в графическом режиме 640х480 точек , 16 цветов.

 

ЗАКЛЮЧЕНИЕ

 

В курсовой работе решена задача исследования функции и построения её графика на экране компьютера.

Был разработан  алгоритм  решения  задачи  и  составлена программа на алгоритмическом языке Turbo Pascal , анализ  работы которой показал , что задача успешно решается.

 

 

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

 

 

1. И.Н.Бронштейн,К.А.Семендяев "Справочник по математике для  инженеров и учащихся ВТУЗов";М:  Гос.изд.науч.тех.лит.  , 1957. - 608 с.: ил.

2. Белецкий Я. Турбо Паскаль  с  графикой  для  персональных компьютеров/перевод с польского Д.И.Юренкова. -  М.:Машиностроение,1991. - 320 с.

3. Сергиевский М.В., Шалашов А.В. Турбо Паскаль 7.0; язык, среда программирования.       -М:  Машиностроение. - 1994 , - 254 с.ил.

 

ПРИЛОЖЕНИЕ 1

 

РАСПЕЧАТКА ПРОГРАММЫ

 

 

      program funk;

       uses crt, graph;

       const

       k=40;

       var

       grDriver,{графический драйвер}

       grMode,{графический режим}

       Errcode:integer;{код ошибки}

       {вспомогательные переменные}

       x0,y0,x,y:integer;

       t,g:real;

       {Тело программы}

       BEGIN

       grDriver:=Detect;{автораспознование}

       InitGraph(grDriver,grMode,'d:\bp\bgi');

       Errcode:=GraphResult;{результат инициализации}

       if Errcode <> grOk then begin {произошла ошибка}

       writeln('Ошибка инициализации графического режима:',GraphErrorMsg(ErrCode));

       Halt(1);

       end;

       {ВЫВОД РЕЗУЛЬТАТОВ ИССЛЕДОВАНИЯ ФУНКЦИИ

       __________________________________________________________________________________}

       SetBkColor(white);

       Setcolor(blue);

       outtextxy(80,10,'Исследование функции y=(x^2+1)/(x^2-1) и построение её графика.');

       Setcolor(cyan);

       outtextxy(10,20,'Находим область определения функции: x<>+1, x<>-1');

       outtextxy(10,25,'                                                      +    -   +');

       outtextxy(10,30,'Находим области значения функции: (y+1)/(y-1)>=0    ----•----•---->');

       outtextxy(10,38,'                                                       -1    1  ');

       outtextxy(10,40,'Находим точки пересечения с осями: OX y=0, (x^2+1)/(x^2-1)=0,');

       outtextxy(10,60,'                                   x^2+1=0, x^2=-1 - решений нет.');

       outtextxy(10,80,'Пересечения с осью OX нет.');

       outtextxy(10,100,'                                 : OY x=0, y=(0+1)/(0-1)=-1');

       outtextxy(10,120,'Пересечение с осью OY (0;-1).');

       outtextxy(10,140,'Нахождение точек разрыва: в точках х=1; х=-1 функция не существует, т.к.');

       outtextxy(10,160,'при подставлении в уравнение y=(x^2+1)/(x^2-1) x=-1,x=1 получаем ');

       outtextxy(10,180,'неопределенность 0/0 cледовательно х=1,х=-1 - точки разрыва.');

       outtextxy(10,200,'Нахождение асимптот: вертикальные х=1 и х=-1;');

       outtextxy(10,220,'горизонтальные y=1; ');

       outtextxy(10,240,'наклонные асимптоты вида y=kx+b ');

       outtextxy(10,260,'k=0 - вертикальная асимптота выродилась в горизонтальную;');

       outtextxy(10,280,'b=1 - горизонтальная асимтота.');

       outtextxy(10,300,'                                                +   +    -    -');

       outtextxy(10,320,'Находим экстремумы функции: x=0; x=1; x=-1    ----•----•----•---->');

       outtextxy(10,340,'                                               / -1  / 0 \   1 \ ');

       outtextxy(10,360,'                   f(0)=(0+1)/(0-1)');

       outtextxy(10,380,'                   (0;-1) - точка максимума');

       outtextxy(10,400,'Находим радиус кривизны: ');

       outtextxy(10,420,'R=(1+y`^2)^(3/2)/|y``|');

       outtextxy(10,440,'R=-1/2 в точке (0;-1)');

       {setcolor(4);}

       outtextxy(10,470,'ДЛЯ ПРОДОЛЖЕНИЯ НАЖМИТЕ ЛЮБУЮ КЛАВИШУ!');

       {__________________________________________________________________}

       {ЗАДЕРЖКА КАРТИНКИ НА ЭКРАНЕ}

       readkey;

       {ОЧИСТКА ЭКРАНА}

       cleardevice;

       {setcolor(4);}

       {___________________________________________________________________

        ВЫВОД ГРАФИКА ЗАДАННОЙ ФУНКЦИИ}

       outtextxy(190,10,'ГРАФИК ФУНКЦИИ.');

       outtextxy(10,470,'ДЛЯ ВЫХОДА ИЗ ПРОГРАММЫ НАЖМИТЕ ЛЮБУЮ КЛАВИШУ!');

       setcolor(9);

       x0:=250;

       y0:=250;

       {ВЫВОД КООРДИНАТНЫХ ОСЕЙ}

       line(x0,y0+150,x0,y0-150);

       line(x0-200,y0,x0+250,y0);

{       setcolor(14);}

       outtextxy(x0+5,y0+10,'0');

       outtextxy(x0+250,y0+10,'x');

       outtextxy(x0-10,y0-150,'y');

       t:=-10;

       x:=100;

       while t<-1 do

       begin

                g:=(t*t+1)/(t*t-1);

                y:=y0-13-round(g*k);

                putpixel(x,y,1);

                x:=x+1;

                t:=t+0.1;

       end;

       t:=10;

       x:=400;

       while t>1 do

       begin

                g:=(t*t+1)/(t*t-1);

                y:=y0-13-round(g*k);

                putpixel(x,y,1);

                x:=x-1;

                t:=t-0.1;

       end;

       t:=-0.9;

       x:=203;

       while t<1 do

       begin

                g:=(t*t+1)/(t*t-1);

                y:=y0+10-round(g*k);

                putpixel(x,y,1);

                x:=x+1;

                t:=t+0.019;

        end;

        setlinestyle(1,0,2);

        Setcolor(7);

        {ВЫВОД ВСПОМОГАТЕЛЬНЫХ ПРЯМЫХ}

        line(200,y0+220,200,y0-220);

        line(300,y0+220,300,y0-220);

        line(x0+220,300,x0-220,300);

        line(x0+220,200,x0-220,200);

          setcolor(Blue);

          outtextxy(253,285,'-1');

          outtextxy(253,190,'1');

          outtextxy(305,253,'1');

          outtextxy(185,253,'-1');

          setcolor(7);

          outtextxy(405,205,'y=1');

          outtextxy(303,405,'x=1');

          outtextxy(163,405,'x=-1');

          {ЗАДЕРЖКА КАРТИНКИ НА ЭКРАНЕ}

          readkey;

          {ЗАКРЫТИЕ ГРАФИЧЕСКОГО РЕЖИМА}

          Closegraph;

          END.

 

 

 

 

 

ПРИЛОЖЕНИЕ 2

РЕЗУЛЬТАТЫ РАБОТЫ ПРОГРАММЫ

 

 

 


1023.TXT

— 748 байт (Скачать файл)

Информация о работе Программа для исследования функции и построения графика