Курсовая работа по предмету "Программирование, компьютеры и кибернетика, ИТ технологии"


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



Содержание

Введение

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

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. - 708 с.

4. Кремер, Н.Ш. Высшая математика для экономистов: учебник для студентов вузов. [Текст] / Н.Ш.Кремер, 3-е издание - М.:ЮНИТИ-ДАНА, 2006. C. 412.

5. Калиткин, Н.Н. Численные методы. [Электронный ресурс] / Н.Н. Калиткин. - М.: Питер, 2001. С. 504.

6. Павловская, Т.А. Программирование на языке высокого уровня. [Текст] / Т.А. Павловская. - М.: Питер, 2003. С. 461.

7. Семакин, И.Г. Основы программирования. [Текст] / И.Г.Семакин, А.П.Шестаков. - М.: Мир, 2006. C. 346.

8. Табуляция функций [Электронный ресурс] - Режим доступа: http://programmer.zp.ua/index.php




Не сдавайте скачаную работу преподавателю!
Данную курсовую работу Вы можете использовать для написания своего курсового проекта.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем курсовую работу самостоятельно:
! Как писать курсовую работу Практические советы по написанию семестровых и курсовых работ.
! Схема написания курсовой Из каких частей состоит курсовик. С чего начать и как правильно закончить работу.
! Формулировка проблемы Описываем цель курсовой, что анализируем, разрабатываем, какого результата хотим добиться.
! План курсовой работы Нумерованным списком описывается порядок и структура будующей работы.
! Введение курсовой работы Что пишется в введении, какой объем вводной части?
! Задачи курсовой работы Правильно начинать любую работу с постановки задач, описания того что необходимо сделать.
! Источники информации Какими источниками следует пользоваться. Почему не стоит доверять бесплатно скачанным работа.
! Заключение курсовой работы Подведение итогов проведенных мероприятий, достигнута ли цель, решена ли проблема.
! Оригинальность текстов Каким образом можно повысить оригинальность текстов чтобы пройти проверку антиплагиатом.
! Оформление курсовика Требования и методические рекомендации по оформлению работы по ГОСТ.

Читайте также:
Разновидности курсовых Какие курсовые бывают в чем их особенности и принципиальные отличия.
Отличие курсового проекта от работы Чем принципиально отличается по структуре и подходу разработка курсового проекта.
Типичные недостатки На что чаще всего обращают внимание преподаватели и какие ошибки допускают студенты.
Защита курсовой работы Как подготовиться к защите курсовой работы и как ее провести.
Доклад на защиту Как подготовить доклад чтобы он был не скучным, интересным и информативным для преподавателя.
Оценка курсовой работы Каким образом преподаватели оценивают качества подготовленного курсовика.

Сейчас смотрят :

Курсовая работа Лишение свободы как основной вид наказания
Курсовая работа Особенности финансов унитарных предприятий
Курсовая работа Организация складского хозяйства и направление его совершенствования на ОАО "Льнокомбинат" Орши
Курсовая работа Сенсорное развитие детей раннего возраста с нарушенным слухом
Курсовая работа Бизнес-план кофейни
Курсовая работа Стратегия и миссия фирмы
Курсовая работа Коммуникативная грамматика при обучении английскому языку на среднем этапе
Курсовая работа Налоговое планирование на предприятии
Курсовая работа Разработка и оценка эффективности инвестиционного проекта
Курсовая работа Правоохранительная деятельность в таможенных органах
Курсовая работа Разработка комплекса маркетинговых коммуникаций в сфере туризма
Курсовая работа Состояние и пути совершенствования учета затрат на производство и исчисления себестоимости продукции молочного скотоводства на примере СПК "Коммунар" Кировского района Калужской области
Курсовая работа Повышение научно-технического уровня производства – важный фактор роста производительности труда и эффективности экономики
Курсовая работа Правовое положение мировых судей в судебной системе РФ
Курсовая работа Управление инвестиционными рисками предприятия