/>Содержание
Введение
1 Теоретическая часть
2 Программная реализация решения задачи
3 Пример выполнения программы
Заключение
Список использованных источников и литературы
Введение
В XXI веке в развитиичеловеческой цивилизации происходят глобальные изменения, ведущие к её новомуэтапу — постиндустриальному обществу, все шире использующемукомпьютеризированные орудия труда и информационные технологии.
Стремительное развитиеиндустрии, влечет за собой все больший и больший интерес начинающихпрограммистов создавать то, что актуально в наше время. Мы в своей курсовойработе предлагаем упрощенный и автоматизированный вариант табуляции функций.
Данная программа,написанная на языке высокого уровня C++ в среде визуального программирования CodeGear RadStudio 2009.
Цельнаписания данной курсовой работы – табуляция функций.
Курсоваяработа проста, удобна и практична в использовании.
Курсоваяработа содержит: введение, теоретическую часть, практическую реализацию,заключение, литературу, которая использовалась при написании курсовой работы.
1. Теоретическаячасть
Понятие функции.
Пусть Х и Y — некоторые множества.
Если каждому элементу xХ ставится в соответствие по некоторому правилу единственныйэлемент y Y, то говорят, что на множестве Х задана функция(отображение) со значениями в множестве Y :
f: XY, 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
#include
#include
#include
#include«HandTuning.h»
#include«Chart.hpp»
#include«Series.hpp»
#include«TeEngine.hpp»
#include«TeeProcs.hpp»
#include
#include«HandTuning.h»
#include
//---------------------------------------------------------------------------
classTfrmTabulation: 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
__fastcallTfrmTabulation(TComponent* Owner);};
//---------------------------------------------------------------------------
extern PACKAGETfrmTabulation *frmTabulation;
//---------------------------------------------------------------------------
#endif
Файл UTabulation.cpp
//---------------------------------------------------------------------------
#include
#pragmahdrstop
#include«UTabulation.h»
//---------------------------------------------------------------------------
#pragmapackage(smart_init)
#pragma link«Chart»
#pragma link«HandTuning»
#pragma link«Series»
#pragma link«TeEngine»
#pragma link«TeeProcs»
#pragma link«HandTuning»
#pragmaresource "*.dfm"
TfrmTabulation*frmTabulation;
double__fastcall TfrmTabulation::function1(double x)
{returnsin(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);}
//----------------------------------------------------------__fastcallTfrmTabulation::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 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. Архангельский,А.Я. Программирование в С++ Builder6. [Текст] / А.Я.Архангельский. – М.: Бином, 2003. С. 1154.
2. Ахо, А…Построение и анализ вычислительных алгоритмов [Электронный ресурс] / А. Ахо,Дж. Хопкрофт, Дж… Ульман. – М.: Мир. 1999. С. 143.
3. Бронштейн, И.Н. Справочник по математике для инженеров и учащихся втузов[Текст] / И.Н. Бронштейн, К.А. Семендяев. – М.: Наука, 2007. – 708 с.
4. Кремер, Н.Ш.Высшая математика для экономистов: учебник для студентов вузов. [Текст] /Н.Ш.Кремер, 3-е издание – М.: ЮНИТИ-ДАНА, 2006. C. 412.
5. Калиткин, Н.Н.Численные методы. [Электронный ресурс] / Н.Н. Калиткин. – М.: Питер, 2001. С.504.
6. Павловская, Т.А.Программирование на языке высокого уровня. [Текст] / Т.А. Павловская. – М.:Питер, 2003. С. 461.
7. Семакин, И.Г. Основыпрограммирования. [Текст] / И.Г.Семакин, А.П.Шестаков. – М.: Мир, 2006. C. 346.
8. Табуляция функций[Электронный ресурс] – Режим доступа: programmer.zp.ua/index.php