Построение семейства графиков функций вида Y=F(X)

Автор: Пользователь скрыл имя, 11 Декабря 2011 в 15:49, курсовая работа

Краткое описание

Цель работы: Построить семейство графиков 5 функций, заданных аналитически и определенных на известном интервале изменения аргумента [a,b] для декартовой и полярной систем координат.
Задачи работы:
1. Изучить теоретический материал по теме работы и особенности применения на практике полученных теоретических знаний.
2. Решить прикладную задачу из конкретной предметной области, создав программный продукт в одной из объектно-ориентированных инструментальных сред.
3. Описать основные приёмы работы с созданным программным средством (сеанс работы).

Оглавление

ВВЕДЕНИЕ…………………………………………………………………………..3
Глава 1.ТЕОРЕТИЧЕСКИЙ МАТЕРИАЛ……………………………………….....5
1.1 Декартовая система координат………………………………………......9
1.2 Полярная система координат…………..………………………………..11
1.3 Связь между полярной и декартовой системами координат………….21
Глава 2. СТРУКТУРНОЕ ОПИСАНИЕ РАЗРАБОТКИ………………………….23
Глава 3. ФУНКЦИОНАЛЬНОЕ ОПИСАНИЕ…………….………………………32
Глава 4. ОПИСАНИЕ ПРИЕМОВ РАБОТЫ С ПРОГРАММОЙ………………..36
ЗАКЛЮЧЕНИЕ……………………………………………………………………..40
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ………………………………..41
ПРИЛОЖЕНИЕ………………………………………………………………….......42

Файлы: 1 файл

Text.doc

— 854.50 Кб (Скачать)

               Form1.Chart1.Series[5].Clear;

           for i:=a to b do

           begin

           if i<>-1 then

             Form1.Chart1.Series[5].addxy(3*i/(1+power(i,3)),i,'',);

           end;

        // if a>b then osi(a,a)

       //else osi(b,b);

     end;  

procedure sinus (a,b:integer);

         var

        i:integer;

       dx,x:real;

       begin

       i:=1;

       dx:=0.01;

       x:=a;

           Form1.Chart1.Series[4].Clear;

           repeat

           begin

             Form1.Chart1.Series[4].addxy(x,sin(x),'',);

             x:=x+dx; 

           end;

           until (x>=b); 

          // osi(1,i);

       end;

     procedure logo(a,b:integer);

      var

      i:real;

      begin

      Form1.Chart1.Series[6].Clear;

      i:=a;

             while i<=b do

           begin

            if i>0 then

             Form1.Chart1.Series[6].addxy(i,ln(i),'',);

             i:=i+0.1;

           end;

          //osi(200);

      end;

      

 
Глава 4. ОПИСАНИЕ ПРИЕМОВ РАБОТЫ С ПРОГРАММОЙ
 

     При открытии программы появляется окно, в котором уже изображена система координат как показано на рисунке:

     Чтобы построить необходимый график функции  или изменить отрезок, на котором  построен график, выберите на панели меню пункт «Выберите функцию» и «Ограничения».

     В этом окне вы можете изменять параметры  функции. Начало и конец отрезка  могут быть введены любые из отрезка [а,b], но при этом начало должно быть меньше конца отрезка, иначе появится сообщение об ошибке. 

       

              Если функция не выбрана, появляется сообщение:

 

     Когда функция будит выбрана то программа  отрисует её на панели PageControl1  

     При построении функций в полярной системе  координат параметр Alfa должен быть больше нуля:

     В противном случае программа выдаст сообщении об ошибке:

 

     Нажатии на кнопку «Рисовать» программа отрисовывает выбранный график на выбранной системе координат:

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

 
 
 
 
 
 
 
 
 
 

     При нажатии на кнопку «очистить» программа  очищает оси координат

     При нажатии на кнопку «оси координат» программа обрисовывает ось Х  и ось Y

 
 

     Ограничения данной версии программы 

     Гарантируется работа данной программы в операционной системе Windows. При работе с программой нужно пользоваться правилами, которые приведены в разделе Описание работы программного продукта. В этом случае гарантируется правильная работа программы.  

                                              ЗАКЛЮЧЕНИЕ 

     В ходе выполнения курсовой работы выполнено следующее:

     Изучены средства Delphi, позволяющие организовать работу с графиками

     С помощью Delphi разработано программное средство, позволяющее построить семейство графиков функций, заданных аналитически и определенных на известном интервале изменения аргумента [a,b] для декартовой и полярной систем координат.

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

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

 

      СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 

  1. Архангельский А.Я. Программирование в среде Delphi 6. - М.: ЗАО «Издательство БИНОМ», 2003 г. – 1120 с.
  2. Бобровский С. И. «Delphi 7. Учебный курс» - СПб.: Питер, 2005 г.
  3. Емельянов В. И., Воробьёв В. И., Тюрина Т. П. «Основы программирования на Delphi». Учебное пособие-М.: Высшая школа 2005 г
  4. Иллюстрированный самоучитель по Delphi 7 для начинающих
  5. Культин Н.Б. Delphi 6. Программирование на Object Pascal.
  6. Писарев Т. В. «Программирование в Delphi6»: ДМК Пресс 2002 г.
  7. Сурков К., Сурков Д., Вальвачев А. Программирование в среде Delphi 2.0 – Мн.: ООО «Попурри», 1997. – 640 с.
  8. Сухарев М. В. «Основы Delphi» 2004 г.
  9. Фаронов В. В. «Delphi 6. Учебный курс». Москва, 2001 г.
  10. Фаронов В. В. «Delphi 6. Программирование на языке высокого уровня: Учебник для вузов» - СПб.: Питер, 2005 г.
  11. Шупрута В. В.  «Delphi 2006 на примерах» - СПб 2007 г.

 

Приложение (листинг программы)

         procedure parabola (a,b:integer);

         procedure osi(x,x1,y,y1:real);

         procedure x2_1 (a,b:integer);

        procedure sinus (a,b:integer);

         procedure list (a,b:integer);

         procedure logo(a,b:integer);

         procedure cl();

     implementation

        procedure cl(); //

        var

        i:integer;

        begin

        for i:=0 to 6 do

        Form1.Chart1.Series[i].Clear;

        end;

       procedure parabola (a,b:integer);

       var

       i:integer;

       begin

       Form1.Chart1.Series[0].Clear;

           for i:=a to b do

           begin

            if i<>0 then

             Form1.Chart1.Series[0].AddXY(i,1/(i*i),'',0000);

           end;

       //if a<0 then osi (a*a,a*a)

        //     else

        //   osi(i*i,i*i);

       end;

       procedure x2_1 (a,b:integer);

       var

       i,j:integer;

       begin

           Form1.Chart1.Series[3].Clear;

           for i:=a to b do

           begin

           if i<>0 then

             Form1.Chart1.Series[3].addxy(sqrt(i*i-1),i,'',);

           end;

           //  if a<0 then osi (a*a,a*a)

          //   else

         //  osi(i*i,i*i);

       end;

       procedure sinus (a,b:integer);

         var

        i:integer;

       dx,x:real;

       begin

       i:=1;

       dx:=0.01;

       x:=a;

           Form1.Chart1.Series[4].Clear;

           repeat

           begin

             Form1.Chart1.Series[4].addxy(x,sin(x),'',);

             x:=x+dx; 

           end;

           until (x>=b); 

          // osi(1,i);

       end;

       procedure list (a,b:integer);

       var

       i:integer;

       begin

               Form1.Chart1.Series[5].Clear;

           for i:=a to b do

           begin

           if i<>-1 then

             Form1.Chart1.Series[5].addxy(3*i/(1+power(i,3)),i,'',);

           end;

        // if a>b then osi(a,a)

       //  else osi(b,b);

       end;

      procedure logo(a,b:integer);

      var

      i:real;

      begin

      Form1.Chart1.Series[6].Clear;

      i:=a;

             while i<=b do

           begin

            if i>0 then

             Form1.Chart1.Series[6].addxy(i,ln(i),'',);

             i:=i+0.1;

           end;

          //osi(200);

      end;

       procedure osi(x,x1,y,y1:real);

       begin

     Form1.Chart1.Series[1].AddXY(y1,0,'',0000);

     Form1.Chart1.Series[1].AddXY(y,0,'',0000);

     Form1.Chart1.Series[2].AddXY(0,x1,'',0000);

     Form1.Chart1.Series[2].AddXY(0,x,'',0000);

       end;

     end. 

     procedure TForm1.Button1Click(Sender: TObject);

     var

      a,b,x,i:integer;

     begin

       if spinedit1.Value>=spinedit2.Value then

             begin

                     messagedlg('Не правильно введен интервал',mterror,[mbok],1);

                     exit;

             end; 

       a:=spinedit1.Value;

       b:=spinedit2.Value;

       case combobox1.ItemIndex  of

             0:parabola(a,b);

             1:x2_1(a,b);

             2:sinus (a,b);

             3:list (a,b);

Информация о работе Построение семейства графиков функций вида Y=F(X)