курсовые,контрольные,дипломы,рефераты
Содержание
Введение
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 <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
Содержание Введение 1 Теоретическая часть 2 Программная реализация решения задачи 3 Пример выполнения программы Заключение Список использованных источников и литературы Введение В XXI веке в развитии человеческо
Создание программы электронного учета успеваемости студентов с дальнейшим выводом ее в Интернет
Создание программы-переводчика текстов с английского на русский язык
Создание с помощью SQL Server базы данных для магазина продуктов
Создание сайта "Красная книга"
Создание сайта "Электронные таблицы Excel"
Создание средств наглядности с использованием программной среды Delphi и Microsoft Movie Maker
Создание тестирующей программы
Создание функциональной модели вычисления минимума заданной функции методом парабол
Создание цифрового образовательного ресурса "Задачник по языку программирования. Циклические алгоритмы"
Составить программу на языке Turbo Pascal для параллельной сортировки чисел
Copyright (c) 2024 Stud-Baza.ru Рефераты, контрольные, курсовые, дипломные работы.