У вас вопросы?
У нас ответы:) SamZan.net

Создание программы табуляции функций

Работа добавлена на сайт samzan.net: 2015-07-05

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 4.3.2025

Содержание

Введение

Теоретическая часть

2 Программная реализация решения задачи

3 Пример выполнения программы

Заключение

Список использованных источников и литературы


Введение

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

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

Данная программа, написанная на языке высокого уровня C++ в среде визуального программирования CodeGear RadStudio 2009.

Цель написания данной курсовой работы – табуляция функций.

Курсовая работа проста, удобна и практична в использовании.

Курсовая работа содержит: введение, теоретическую часть, практическую реализацию, заключение, литературу, которая использовалась при написании курсовой работы.


1. Теоретическая часть

Понятие функции.

Пусть Х и Y - некоторые множества.

Если каждому элементу xХ ставится в соответствие по некоторому правилу единственный элемент y Y , то говорят, что на множестве Х задана функция (отображение) со значениями в множестве Y :

f : XY, y=f(x).

Множество Х называется областью определения функции и обозначается Dom(f) или D(f), множество Y называется множеством значений функции и обозначается Im(f) или I(f).

Если функция f переводит элемент xХ в элемент y Y, т.е. y=f(x), то у называют образом элемента х, а х называют прообразом элемента у. Образ всегда единственен.

Если обратное соответствие, переводящее У в Х является функцией, т.е. у каждого элемента yУ имеется единственный прообраз xХ, то это соответствие называют обратным отображением, или обратной функцией.

f -1 : YХ, х=f -1 (у).

Обратная функция обратима, и обратная функция к обратной функции совпадает с исходной функцией (f -1) -1= f .

Графиком числовой функции y=f(x) называется совокупность точек плоскости вида (x , f(x)), где хD(f).

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


2. Программная реализация решения задачи

Файл UTabulation.h

//---------------------------------------------------------------------------

#ifndef UTabulationH

#define UTabulationH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include "HandTuning.h"

#include "Chart.hpp"

#include "Series.hpp"

#include "TeEngine.hpp"

#include "TeeProcs.hpp"

#include <ExtCtrls.hpp>

#include "HandTuning.h"

#include <Grids.hpp>

//---------------------------------------------------------------------------

class TfrmTabulation : public TForm

{__published: // IDE-managed Components

THandTuning *htMin;

THandTuning *htMax;

THandTuning *htStep;

TLabel *Label1;

TLabel *Label2;

TLabel *Label3;

TChart *chGraph;

TFastLineSeries *Series1;

TButton *btnCalc;

TButton *btnExit;

TButton *btnClear;

TStringGrid *sgrXY;

TRadioGroup *rgrFunction;

void __fastcall btnExitClick(TObject *Sender);

void __fastcall btnCalcClick(TObject *Sender);

void __fastcall btnClearClick(TObject *Sender);

private: // User declarations

double __fastcall function1(double x);

double __fastcall function2(double x);

double __fastcall function3(double x);

double __fastcall function4(double x);

double __fastcall function5(double x);

double __fastcall function6(double x);

public: // User declarations

__fastcall TfrmTabulation(TComponent* Owner);};

//---------------------------------------------------------------------------

extern PACKAGE TfrmTabulation *frmTabulation;

//---------------------------------------------------------------------------

#endif

Файл UTabulation.cpp

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "UTabulation.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma link "Chart"

#pragma link "HandTuning"

#pragma link "Series"

#pragma link "TeEngine"

#pragma link "TeeProcs"

#pragma link "HandTuning"

#pragma resource "*.dfm"

TfrmTabulation *frmTabulation;

double __fastcall TfrmTabulation::function1(double x)

{return sin(x);}

//---------------------------------------------------------------------------

double __fastcall TfrmTabulation::function2(double x)

{return tan(3 * x);}

//---------------------------------------------------------------------------

double __fastcall TfrmTabulation::function3(double x)

{return cos(2 * x);}

//---------------------------------------------------------------------------

double __fastcall TfrmTabulation::function4(double x)

{return (4 - x) / 2;}

//----------------------------------------------------------

double __fastcall TfrmTabulation::function5(double x)

{return (1 - tan(x)) / (1 + tan(x));}

//----------------------------------------------------------

double __fastcall TfrmTabulation::function6(double x)

{return cos(x) + sin(x);}

//----------------------------------------------------------__fastcall TfrmTabulation::TfrmTabulation(TComponent* Owner)

: TForm(Owner)

{sgrXY->Rows[0]->Strings[0] = "y";

sgrXY->Rows[0]->Strings[1] = "x";}

//----------------------------------------------------------

void __fastcall TfrmTabulation::btnExitClick(TObject *Sender)

{this->Close();}

//----------------------------------------------------------

void __fastcall TfrmTabulation::btnCalcClick(TObject *Sender)

{Series1->Clear();

sgrXY->Cells[0][1] = "";

sgrXY->Cells[1][1] = "";

sgrXY->RowCount = 2;

for(double i = htMin->Value, j=0; i < htMax->Value; i = i + htStep->Value, j++)

{sgrXY->RowCount++;

sgrXY->Rows[j+1]->Strings[0] = FormatFloat("0.00", i);

switch(rgrFunction->ItemIndex)

{case 0:

sgrXY->Rows[j+1]->Strings[1] = FormatFloat("0.00", function1(i));

Series1->AddXY(i, function1(i), "",clRed) ;

break;

case 1:

sgrXY->Rows[j+1]->Strings[1] = FormatFloat("0.00", function2(i));

Series1->AddXY(i, function2(i), "",clRed) ;

break;

case 2:

sgrXY->Rows[j+1]->Strings[1] = FormatFloat("0.00", function3(i));

Series1->AddXY(i, function3(i), "",clRed) ;

break;

case 3:

sgrXY->Rows[j+1]->Strings[1] = FormatFloat("0.00", function4(i));

Series1->AddXY(i, function4(i), "",clRed) ;

break;

case 4:

sgrXY->Rows[j+1]->Strings[1] = FormatFloat("0.00", function5(i));

Series1->AddXY(i, function5(i), "",clRed) ;

break;

case 5:

sgrXY->Rows[j+1]->Strings[1] = FormatFloat("0.00", function6(i));

Series1->AddXY(i, function6(i), "",clRed) ;

break;}}

sgrXY->RowCount = sgrXY->RowCount >= 2 ? sgrXY->RowCount : sgrXY->RowCount--;}

//----------------------------------------------------------

void __fastcall TfrmTabulation::btnClearClick(TObject *Sender)

{Series1->Clear();

sgrXY->Cells[0][1] = "";

sgrXY->Cells[1][1] = "";

sgrXY->RowCount = 2;

htMin->Value = 0;

htMax->Value = 0;

htStep->Value = 0.1;}

//---------------------------------------------------------------------------

3. Пример выполнения программы

Пример 1.

Рисунок 1Табуляция функции 


Пример
 2.

Рисунок 2Табуляция функции 

Пример 3.

Рисунок 3Табуляция функции 

Пример 4.

Рисунок 4Табуляция функции 


Пример
 5.

Рисунок 5Табуляция функции 

Пример 6.

Рисунок 6Табуляция функции 

Пример 7.

Рисунок 7Очистка


Заключение

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

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


Список использованных источников и литературы

  1.  Архангельский, А.Я. Программирование в С++ Builder 6. [Текст] / А.Я.Архангельский.М.: Бином, 2003. С. 1154.
  2.  Ахо, А.. Построение и анализ вычислительных алгоритмов [Электронный ресурс] / А. Ахо, Дж. Хопкрофт, Дж.. Ульман.М.: Мир. 1999. С. 143.
  3.  Бронштейн, И.Н. Справочник по математике для инженеров и учащихся втузов [Текст] / И.Н. Бронштейн, К.А. Семендяев.М.: Наука, 2007.с.
  4.  Кремер, Н.Ш. Высшая математика для экономистов: учебник для студентов вузов. [Текст] / Н.Ш.Кремер, 3-е изданиеМ.:ЮНИТИ-ДАНА, 2006. C. 412.
  5.  Калиткин, Н.Н. Численные методы. [Электронный ресурс] / Н.Н. Калиткин.М.: Питер, 2001. С. 504.
  6.  Павловская, Т.А. Программирование на языке высокого уровня. [Текст] / Т.А. Павловская.М.: Питер, 2003. С. 461.
  7.  Семакин, И.Г. Основы программирования. [Текст] / И.Г.Семакин, А.П.Шестаков.М.: Мир, 2006. C. 346.
  8.  Табуляция функций [Электронный ресурс] –Режим доступа: http://programmer.zp.ua/index.php



1. В этой главе я буду говорить о частях органических каковыми являются государственные служители
2. Субъекты административного права
3. управленческая решетка Р
4. задание- 1 Составить и построить уравнение эллипса фокусы которого лежат на оси абсцисс симметрично относ
5. Финансист правовед 2007 год Высшее- University of Interntionl Business специальность ~ Финансист 2010 год Сертификат про
6. Мифы о продажах.html
7. Тейлериоз крупного рогатого скот
8. Правовые гарантии доступа к информации1
9. Centruroides grcilis подростки 500 400 300 Centruroid
10. Методика проведения анализа финансовых результатов деятельности организации