Интегрирование функции методами симпсона(порабол) и трапеций

Автор: Гузель Сафина, 11 Июня 2010 в 10:33, курсовая работа

Описание работы

в курсовой представлена программа на С, которая вычисляет интеграл методами симпсона и трапеций
Данная работа содержит 20 страниц, включая 5 приложени й, 3 иллюстрации.
Цель работы: разработать программу на языке C, которая вычисляет определенный интеграл.
Объект исследования: программа, разработанная в C++Builder 6. Актуальность реализации программы на компьютере заключается в простом использовании и возможности доработки дизайна и программного кода.

Работа содержит 13 файлов

Аннотация, 3.doc

— 45.50 Кб (Открыть, Скачать)

Библиографический список 9.doc

— 53.50 Кб (Открыть, Скачать)

Введение, 5.doc

— 48.50 Кб (Открыть, Скачать)

задание на подпись 2.doc

— 19.00 Кб (Открыть, Скачать)

Заключение 8.doc

— 67.50 Кб (Открыть, Скачать)

описание структуры программы 7.doc

— 227.50 Кб (Открыть, Скачать)

Приложение А 10.doc

— 56.50 Кб (Открыть, Скачать)

Приложение Б 11.doc

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

    Приложение  Б

    Листинг файла Unit1.cpp

    #include <vcl.h>

    #include<stdio.h>

    #include<conio.h>

    #include<math.h>

    #include"integrals.h"

    #pragma hdrstop 

    #include "Unit1.h"

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

    #pragma package(smart_init)

    #pragma resource "*.dfm"

    TForm1 *Form1;

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

    __fastcall TForm1::TForm1(TComponent* Owner)

    : TForm(Owner)

    {

    }

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

    void __fastcall TForm1::Button1Click(TObject *Sender)

    {

    int N;

    double y1,a,b;

    if((Edit1->Text<0)||(Edit2->Text<0)||(Edit3->Text<0))

    ShowMessage("  Вы ввели недопустимые данные или ввели не все значения!");

    else

    {

    N=StrToInt(Edit3->Text);

    a=StrToFloat(Edit1->Text);

    b=StrToFloat(Edit2->Text);

    if (RadioButton1->Checked==true)

    {

    ListBox1->Items->Text="Метод прямоугольников:";

    ListBox1->Items->Append(FloatToStr(rectangle(N,a,b)));

    }

    else

    if (RadioButton2->Checked==true)

    {

    ListBox1->Items->Text="Метод  Симпсона:";

    ListBox1->Items->Append(FloatToStr(simpson(N,a,b)));

    }

    if (CheckBox1->Checked==true)

    {

    ListBox1->Items->Append("Проверка по формуле Ньютона-Лейбница:");

    ListBox1->Items->Append(proverka(a,b));

    }

    } 

    }

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

    void __fastcall TForm1::BitBtn1Click(TObject *Sender)

    {

    FILE *f;

    double a=0,b=1,y1,y2,y3;

    static int n=10;

    if (n==10)

    {

    f=fopen("Результаты.txt","w");

    fprintf(f,"-------------------------------------------------------------\n");

    fprintf(f,"| Кол-во разбиений | Метод прямоугольников | Метод Симпсона |\n");

    fprintf(f,"-------------------------------------------------------------\n");

    }

    else

    f=fopen("Результаты.txt","a+");

    y1=simpson(n,a,b);

    y2=proverka(a,b);

    y3=rectangle(n,a,b);

    Series1->AddXY(n,y1);

    Series3->AddXY(n,y2);

    Series2->AddXY(n,y3);

    fprintf(f,"|       %d       |      %10.9lf      |   %10.9lf   |\n",n,fabs(y2-y3),fabs(y2-y1));

    fprintf(f,"-------------------------------------------------------------\n");

    n+=10;

    fclose(f);

    }

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

    void __fastcall TForm1::BitBtn2Click(TObject *Sender)

    {

    double a,y,y1;

    for(a=0;a<=15;a++)

    {

    y=pow((1+3*a+2*a*a),(-0.5));

    FastLineSeries1->AddXY(a,y);

    }

    for(a=0;a<15;a++)

    {

    for(double k=a;k<a+1;k+=0.001)

    Series4->AddXY(k,0);

    y1=pow((1+3*a+2*a*a),(-0.5));

    for(double y=0;y<=y1;y+=0.001)

    Series4->AddXY(a,y);

    }

    }

Приложение В 12.doc

— 55.50 Кб (Открыть, Скачать)

Приложение Г 13.doc

— 56.50 Кб (Открыть, Скачать)

Приложение Д 15.doc

— 53.50 Кб (Открыть, Скачать)

Содержание 4.doc

— 55.00 Кб (Открыть, Скачать)

Теоретическое обоснование 6.doc

— 96.50 Кб (Открыть, Скачать)

Информация о работе Интегрирование функции методами симпсона(порабол) и трапеций