Розробка програми для побудови графіка функції y=1/x2 та знаходження площі фігури методом трапеції

Знаходження площі фігури методом трапеції. Обчислення площ криволінійних трапецій. Геометричний сенс чисельника. Розробка програми для демонстрації нижчезазначеної математичної функції. Використання базових бібліотек класів, написаних на мові С++.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 24.12.2013
Размер файла 1,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Зміст

Переваги використання MFC

Знаходження площі фігури методом трапеції

Постановка задачі

Додаток А: Код програми

Додаток Б: Вікно програми

Список використаної літератури

Переваги використання MFC

MFC - це базовий набір (бібліотека) класів, написаних на мові С + + і призначених для спрощення і прискорення процесу програмування для Windows. Бібліотека містить багаторівневу ієрархію класів, що налічує близько 200 членів. Вони дають можливість створювати Windows-додатки на базі об'єктно-орієнтованого підходу. З точки зору програміста, MFC являє собою каркас, на основі якого можна писати програми для Windows.

Бібліотека MFC розроблена для спрощення завдань, що стоять перед програмістом. Як відомо, традиційний метод програмування під Windows вимагає написання досить довгих і складних програм, що мають ряд специфічних особливостей. Зокрема, для створення тільки каркаса програми таким методом знадобиться близько 75 рядків коду. У міру ж збільшення складності програми її код може досягати справді неймовірних розмірів. Однак та ж сама програма, написана з використанням MFC, буде приблизно в три рази менше, оскільки більшість приватних деталей приховано від програміста.

Одним з основних переваг роботи з MFC є можливість багаторазового використання одного і того ж коду. Так як бібліотека містить багато елементів, спільних для всіх Windows-додатків, немає необхідності кожного разу писати їх заново. Замість цього їх можна просто наслідувати (кажучи мовою об'єктно-орієнтованого програмування). Крім того, інтерфейс, що забезпечується бібліотекою, практично незалежний від конкретних деталей, його реалізують. Тому програми, написані на основі MFC, можуть бути легко адаптовані до нових версій Windows (на відміну від більшості програм, написаних звичайними методами).

Ще одним істотним перевагою MFC є спрощення взаємодії з прикладним програмним інтерфейсом (API) Windows. Будь-який додаток взаємодіє з Windows через API, який містить кілька сот функцій. Значний розмір API ускладнює спроби зрозуміти і вивчити його цілком. Часто навіть складно простежити, як окремі частини API пов'язані один з одним! Але оскільки бібліотека MFC об'єднує (як інкапсуляція) функції API у логічно організоване безліч класів, інтерфейсом стає значно легше управляти.

Оскільки MFC являє собою набір класів, написаних на мові С + +, тому програми, написані з використанням MFC, повинна бути в той же час програмами на С + +. Для цього необхідно володіти відповідними знаннями. Для початку необхідно вміти створювати власні класи, розуміти принципи успадкування та вміти перевизначати віртуальні функції. Хоча програми, що використовують бібліотеку MFC, зазвичай не містять надто специфічних елементів з арсеналу С + +, для їх написання тим не менш потрібні солідні знання в даній області.

Зауваження. Невелике число класів, визначених у бібліотеці, не пов'язане безпосередньо з програмуванням під Windows. Це, зокрема, класи, призначені для створення рядків, управління файлами і обробки особливих ситуацій. Іноді звані класами загального призначення, вони можуть використовуватися як Windows-, так і не-Windows-додатками.

Головна частина бібліотеки MFC складається з класів, які використовуються для побудови компонентів програми. З кожним MFC-додатком зв'язується визначає його на верхньому рівні об'єкт theApp, що належить класу, похідного від CWinApp.

Як правило, структура програми визначається архітектурою Document-View (документ-вигляд). Це означає, що додаток складається з одного або декількох документів - об'єктів, класи яких є похідними від класу CDocument (клас "документ"). З кожним з документів пов'язані один або кілька обліко - об'єктів класів, похідних від CView (клас "вигляд") і визначають вигляд документа.

Клас CFrameWnd ("вікна-рамки") і похідні від нього визначають вікна-рамки на дисплеї. Елементи управління, створювані при проектуванні інтерфейсу користувача, належать до сімейства класів елементів управління. Що з'являються в процесі роботи програми діалогові вікна - це об'єкти класів, похідних від CDialog.

Класи CView, CFrameWnd, CDialog і всі класи елементів управління успадковують властивості та поведінку свого базового класу CWnd ("вікно"), що визначає по суті Windows-вікно. Цей клас у свою чергу є спадкоємцем базового Ласса CObject ("об'єкт").

Одна з труднощів у розумінні принципів пристрою MFC-приложения, полягає в тому, що об'єкти, з яких воно будується, успадковують властивості та поведінку всіх своїх предків, тому необхідно знати базові класи.

бібліотека програма математичний функція

Знаходження площі фігури методом трапеції

Чисельне інтегрування (історична назва: (чисельна) квадратура) - обчислення значення певного інтеграла (як правило, наближене), засноване на тому, що величина інтеграла чисельно дорівнює площі криволінійної трапеції, обмеженої віссю абсцис, графіком інтегрований функції і відрізками прямих

x = a і x = b,

де a і b - межі інтегрування.

Необхідність застосування чисельного інтегрування найчастіше може бути викликана відсутністю у первісної функції подання в елементарних функціях і, отже, неможливістю аналітичного обчислення значення певного інтеграла за формулою Ньютона-Лейбніца. Також можлива ситуація, коли вигляд первісної настільки складний, що швидше обчислити значення інтеграла чисельним методом.

Основна ідея більшості методів чисельного інтегрування полягає в заміні подинтегральной функції на більш просту, інтеграл від якої легко обчислюється аналітично. При цьому для оцінки значення інтеграла виходять формули виду

де - кількість точок, в яких обчислюється значення подинтегральной функції.

Точки називаються вузлами методу, числа - вагами вузлів. При заміні подинтегральной функції на поліном першого й другого ступеня виходять відповідно методи прямокутників, трапецій і парабол (Сімпсона).

Нехай на відрізку [а; b] осі Ох задана безперервна функція f, не міняє на ньому знака. Фігуру, обмежену графіком цієї функції, відрізком [а; b] та прямими х = а і х = b (рис. 1), називають криволінійною трапецією. Різні приклади криволінійних трапецій наведені на малюнках 1, а -д

Для обчислення площ криволінійних трапецій застосовується наступна теорема:

Теорема. Якщо f - безперервна й невід'ємна на відрізку [а; b] функція, a F - її Первісна на цьому відрізку, то площа S відповідної криволінійної трапеції (рис. 2) дорівнює приростові первісної на відрізку [а; b] тобтоS=F(b)-F(a). (1)

Доказ. Розглянемо функцію S (х), визначену на відрізку [а; b]. Якщо а <x ? b, то S (х) - площа тієї частини криволінійної трапеції, яка розташована лівіше вертикальної прямої, що проходить через точку М (х; 0) (рис. 2, а). Якщо х = а, то S (а) = 0. Відзначимо, що S (b) = S (S - площа криволінійної трапеції).

Доведемо,що

S'(x)=f(x). (2)

За означенням необхідно довести, що

при (3)

З'ясуємо геометричний сенс чисельника Д S (х). Для простоти розглянемо випадок ДX> 0. Оскільки Д S (х) = S (х + Д х) - S (х), то Д S (х) - площа фігури, заштрихованої на рисунку 2, б. Візьмемо тепер прямокутник тій же площі Д S (x), що спирається на відрізок [х; х + Д х] (рис. 2, в). У силу безперервності функції f верхня сторона прямокутника перетинає графік функції в деякій точці з абсцисою з ? [х; х + Д х] (в іншому випадку цей прямокутник або міститься в частині криволінійної трапеції над відрізком [х; x + Дx], або містить її; відповідно його площа буде менше або більше площі Д S (X)). Висота прямокутника дорівнює f (с). За формулою площі прямокутника маємо Д S (x) = f (с) Д х, звідки (Ця формула вірна і при Д х <0.) Оскільки точка з лежить між х і х + Дx; то з прагне до х прі. Так як функція f неперервна, при. Отже, при. Формула (2) доказана.Ми отримали, що S є Первісна для f. Тому в силу основного властивості первісних для всіх х ? [а; b] маємо:

S(x) = F(x)+C,

де С - деяка постійна, a F - одна з первісних для функції f. Для знаходження З підставимо х = а:

F (a) + C = S (a) = 0,

звідки C =- F (a). Отже,

S (x) = F (x)-F (a). (4)

Оскільки площа криволінійної трапеції дорівнює S (b), підставляючи

х = b у формулу (4), отримаємо:

S=S(b)=F(b)-F(a).

Область графіка функції, заданої обмежена областю, розбивається на n відрізків.

Якщо функцію на кожному з часткових відрізків апроксимувати прямою, що проходить через кінцеві значення, то отримаємо метод трапецій.
Площа трапеції на кожному відрізку:

Похибка апроксимації на кожному відрізку:

де

Повна формула трапецій в разі поділу всього проміжку інтегрування на відрізки однакової довжини h:

де

Похибка формули трапецій:

де

Постановка задачі

Розробити програму для демонстрації нижчезазначеної математичної функції. У програмі має бути виконано:

* демонстрація базової функції та функції в загальному вигляді з можливістю зміни параметрів A, B, C, D.

* збереження поточних параметрів у файлі з наступним завантаженням.

* Діалогове вікно з зазначенням відомостей про програму і автора.

* Виклик вікна установки параметрів A, B, C, D повинен проводитися за допомогою меню, кнопки на панелі інструментів, і клавішами швидкого виклику.

* Підписи шкали осей координат і точки центру осей координат.

* Друк отриманого графіка.

* Обчислення площі отриманої фігури даним методом.

Базова функція: y=1/x2

Загальний вигляд: Y=A/(Bx+C)2+D

Метод обчислення: метод трапецій

Додаток А: Код програми

kDoc.h : interface of the CKDoc class

#if !defined(AFX_KDOC_H__088FB134_0943_485C_A307_8B5322257D22__INCLUDED_)

#define AFX_KDOC_H__088FB134_0943_485C_A307_8B5322257D22__INCLUDED_

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

class CKDoc : public CDocument

{

protected: // create from serialization only

CKDoc();

DECLARE_DYNCREATE(CKDoc)

// Attributes

public:

//CString String;

int A;

int B;

int C;

int D;

int a;

int b;

// Operations

public:

// Overrides

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL(CKDoc)

public:

virtual BOOL OnNewDocument();

virtual void Serialize(CArchive& ar);

//}}AFX_VIRTUAL

// Implementation

public:

virtual ~CKDoc();

#ifdef _DEBUG

virtual void AssertValid() const;

virtual void Dump(CDumpContext& dc) const;

#endif

protected:

// Generated message map functions

protected:

//{{AFX_MSG(CKDoc)

// NOTE - the ClassWizard will add and remove member functions here.

// DO NOT EDIT what you see in these blocks of generated code !

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

//{{AFX_INSERT_LOCATION}}

// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif!defined(AFX_KDOC_H__088FB134_0943_485C_A307_8B5322257D22__INCLUDE)

// kDoc.cpp : implementation of the CKDoc class

//

#include "stdafx.h"

#include "k.h"

#include "kDoc.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE[] = __FILE__;

#endif

// CKDoc

IMPLEMENT_DYNCREATE(CKDoc, CDocument)

BEGIN_MESSAGE_MAP(CKDoc, CDocument)

//{{AFX_MSG_MAP(CKDoc)

// NOTE - the ClassWizard will add and remove mapping macros here.

// DO NOT EDIT what you see in these blocks of generated code!

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

// CKDoc construction/destruction

CKDoc::CKDoc()

{

}

CKDoc::~CKDoc()

{

}

BOOL CKDoc::OnNewDocument()

{

if (!CDocument::OnNewDocument())

return FALSE;

// TODO: add reinitialization code here

// (SDI documents will reuse this document)

return TRUE;

}

// CKDoc serialization

void CKDoc::Serialize(CArchive& ar)

{

if (ar.IsStoring())

{

//сохранение

ar << A;

ar << B;

ar << C;

ar << D;

ar << a;

ar << b }

else

{

//загрузка

ar >> A;

ar >> B;

ar >> C;

ar >> D;

ar >> a;

ar >> b; }

}

// CKDoc diagnostics

#ifdef _DEBUG

void CKDoc::AssertValid() const

{

CDocument::AssertValid();

}

void CKDoc::Dump(CDumpContext& dc) const

{

CDocument::Dump(dc);

}

#endif //_DEBUG

// kView.cpp : implementation of the CKView class

#include "stdafx.h"

#include "k.h"

#include "math.h"

# include <windows.h>

#include "kDoc.h"

#include "kView.h"

#include "Const.h"

#include "Color.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE[] = __FILE__;

#endif

// CKView

IMPLEMENT_DYNCREATE(CKView, CView)

BEGIN_MESSAGE_MAP(CKView, CView)

//{{AFX_MSG_MAP(CKView)

ON_COMMAND(ID_PARAMETRES_CONSTANTS, OnParametresConstants)

ON_COMMAND(ID_PARAMETRES_COLOUR, OnParametresColour)

//}}AFX_MSG_MAP

// Standard printing commands

ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)

ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)

ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)

END_MESSAGE_MAP()

CKView::CKView()

{

// TODO: add construction code here

}

CKView::~CKView()

{

}

BOOL CKView::PreCreateWindow(CREATESTRUCT& cs)

{// TODO: Modify the Window class or styles here by modifying

// the CREATESTRUCT cs

return CView::PreCreateWindow(cs);}

// CKView drawing

void CKView::OnDraw(CDC* pDC)

{

CRect rect;

CKDoc* pDoc = GetDocument();

ASSERT_VALID(pDoc);

GetClientRect(&rect);pDC -> MoveTo(rect.right/2,0);

pDC -> LineTo(rect.right/2,rect.bottom); // ось oy

pDC -> TextOut(rect.right/2+10,rect.top,"y");

pDC -> MoveTo(0,rect.bottom/2);

pDC -> LineTo(rect.right,rect.bottom/2); // ось ox

pDC -> TextOut(rect.right-10,rect.bottom/2-20,"x");

pDC -> TextOut(rect.right/2-10,rect.bottom/2+3,"0"); // начало координат 0

pDC -> MoveTo(rect.right/2,0);

pDC -> LineTo(rect.right/2-5,rect.top+12); // верхняя левая стрелка

pDC -> MoveTo(rect.right/2,0);

pDC -> LineTo(rect.right/2+5,rect.top+12); //верхняя правая стрелка

pDC -> MoveTo(rect.right,rect.bottom/2);

pDC -> LineTo(rect.right-12,rect.bottom/2-5); //правая верхняя стрелка

pDC -> MoveTo(rect.right,rect.bottom/2);

pDC -> LineTo(rect.right-12,rect.bottom/2+5); //правая нижняя стрелка

//устанавливаем отрезки

char S[30];

int k=0;

for(int q=0;q<600;q++)

{

q = q+40;

k++;

itoa(k,S,10);

// левая часть оси ox

pDC -> MoveTo(rect.right/2-q,rect.bottom/2);

pDC -> LineTo(rect.right/2-q,rect.bottom/2-3);

pDC -> LineTo(rect.right/2-q,rect.bottom/2+5);

pDC -> TextOut(rect.right/2-q-3,rect.bottom/2+8,S); //выводим цифры

pDC -> TextOut(rect.right/2-q-6,rect.bottom/2+8,"-"); //выводим минус

// правая част оси ох

pDC -> MoveTo(rect.right/2+q,rect.bottom/2);

pDC -> LineTo(rect.right/2+q,rect.bottom/2-3);

pDC -> LineTo(rect.right/2+q,rect.bottom/2+5);

pDC -> TextOut(rect.right/2+q-3,rect.bottom/2+8,S); //выводим цифры

//верхняя часть оси оу

pDC -> MoveTo(rect.right/2,rect.bottom/2-q);

pDC -> LineTo(rect.right/2-3,rect.bottom/2-q);

pDC -> LineTo(rect.right/2+4,rect.bottom/2-q);

pDC -> TextOut(rect.right/2-16,rect.bottom/2-q-8,S); //выводим цифры

//нижняя часть оси оу

pDC -> MoveTo(rect.right/2,rect.bottom/2+q);

pDC -> LineTo(rect.right/2-3,rect.bottom/2+q);

pDC -> LineTo(rect.right/2+4,rect.bottom/2+q);

pDC -> TextOut(rect.right/2-16,rect.bottom/2+q-8,S); //выводим цифры

pDC -> TextOut(rect.right/2-19,rect.bottom/2+q-8,"-"); //выводим "-"

}

//рисуем сетку

CPen GridPen(PS_SOLID, 1, RGB(200, 200, 200));

pDC->SelectObject(&GridPen);

for( q=0;q<600;q++)

{

q = q+40;

pDC -> MoveTo(rect.right/2-q,rect.bottom/2);

pDC -> LineTo(rect.right/2-q,rect.bottom/2-600);

pDC -> LineTo(rect.right/2-q,rect.bottom/2+600);

pDC -> MoveTo(rect.right/2+q,rect.bottom/2);

pDC -> LineTo(rect.right/2+q,rect.bottom/2-600);

pDC -> LineTo(rect.right/2+q,rect.bottom/2+600);

pDC -> MoveTo(rect.right/2,rect.bottom/2-q);

pDC -> LineTo(rect.right/2-600,rect.bottom/2-q);

pDC -> LineTo(rect.right/2+600,rect.bottom/2-q);

pDC -> MoveTo(rect.right/2,rect.bottom/2+q);

pDC -> LineTo(rect.right/2-600,rect.bottom/2+q);

pDC -> LineTo(rect.right/2+600,rect.bottom/2+q);

}

CPen AxisPen(PS_SOLID, 1, RGB(225, 0, 0));

pDC->SelectObject(&AxisPen);

//рисуем график

double A=1,B=1,C=0,D=0;

double d,x,y, yy,xx;

//правая часть

for(x=-100;x<0;x+=0.1)

{

y=1/ pow(x,2);

y=y*40;

d=x*40;

pDC -> SetPixel(rect.right/2-d,rect.bottom/2-y,RGB(255,0,0)); // устанавливаем точки графика

if(x==-100)

{xx=d;

yy=y;

continue;}

pDC -> MoveTo(rect.right/2-xx,rect.bottom/2-yy);

pDC -> LineTo(rect.right/2-d,rect.bottom/2-y); //соединяем точки графика

xx=d;

yy=y;

}

d=0;y=0;

//левая часть

for(x=0;x<100;x+=0.1)

{

y =1/ pow(x,2);

y=y*40;

d=x*40;

pDC -> SetPixel(rect.right/2-d,rect.bottom/2-y,RGB(255,0,0)); // устанавливаем точки графика

if(x==0)

{xx=d;

yy=y;

continue;}

pDC -> MoveTo(rect.right/2-xx,rect.bottom/2-yy);

pDC -> LineTo(rect.right/2-d,rect.bottom/2-y);

xx=d;

yy=y;

}

//вычисляем площадь фигуры

double a=-10,b=10,i;

double Sum=0,h,n=100,l;

double Q;

h=(b-a)/n;

for(i=1;i<n;i++)

{

l = a+i*h;

if(l==0)continue;

d=pow((B*l + C),2);

Sum = Sum + A/(d)+D;

}

Q = h*((A/(pow((B*a + C),2)) + A/(pow((B*b + C),2)))/2+Sum);

itoa(Q,S,10);

pDC -> TextOut(rect.left+10,rect.top+4,"Площадь фигуры:");

pDC -> TextOut(rect.left+10,rect.top+20,S);

CPen GridDarkPen(PS_SOLID, 1, RGB(0,255, 0));

pDC->SelectObject(& GridDarkPen);

//считываем значения переменных и перерисовываем график

itoa(pDoc -> A, S, 10);

A = pDoc -> A;

itoa(pDoc -> B, S, 10);

B = pDoc -> B;

itoa(pDoc -> C, S, 10);

C = pDoc -> C;

itoa(pDoc -> D, S, 10);

D = pDoc -> D;

//D=D*163,33;

for(x=-100;x<0;x+=0.1)

{

y = A/pow((B*x+C),2)+D;

y=y*40;

d=x*40;

pDC -> SetPixel(rect.right/2-d,rect.bottom/2-y,RGB(0,0,255));

{xx=d;

yy=y;

continue;}

pDC -> MoveTo(rect.right/2-xx,rect.bottom/2-yy);

pDC -> LineTo(rect.right/2-d,rect.bottom/2-y);

xx=d;

yy=y;

}

for(x=0;x<100;x+=0.1)

{

y = A/pow((B*x+C),2)+D;

y=y*40;

d=x*40;

pDC -> SetPixel(rect.right/2-d,rect.bottom/2-y,RGB(0,0,255));

if(x==0)

{xx=d;

yy=y;

continue;}

pDC -> MoveTo(rect.right/2-xx,rect.bottom/2-yy);

pDC -> LineTo(rect.right/2-d,rect.bottom/2-y);

xx=d;

yy=y;

}

//вычисляем площадь новой фигуры

if(pDoc -> a>pDoc -> b)

{

a=pDoc -> b;

b=pDoc -> a;}

else

{

a=pDoc -> a;

b=pDoc -> b;}

h=(b-a)/n;

if (A<0) A = A*(-1);

for(i=1;i<n-1;i++)

{

l = a+i*h;

if(l==0)continue;

Sum = Sum + A/(pow((B*l + C),2))+D;

}

Q = h*((A/(pow((B*a + C),2)) + A/(pow((B*b + C),2)))/2+Sum);

itoa(Q,S,10);

pDC -> TextOut(rect.left+10,rect.top+4,"Площадь фигуры:");

pDC -> TextOut(rect.left+10,rect.top+20,S);

// TODO: add draw code for native data here

}

// CKView printing

BOOL CKView::OnPreparePrinting(CPrintInfo* pInfo)

{

// default preparation

return DoPreparePrinting(pInfo);

}

void CKView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)

{

// TODO: add extra initialization before printing

}

void CKView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)

{

// TODO: add cleanup after printing

}

// CKView diagnostics

#ifdef _DEBUG

void CKView::AssertValid() const

{

CView::AssertValid();

}

void CKView::Dump(CDumpContext& dc) const

{

CView::Dump(dc);

}

CKDoc* CKView::GetDocument() // non-debug version is inline

{

ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CKDoc)));

return (CKDoc*)m_pDocument;

}

#endif //_DEBUG

// CKView message handlers

void CKView::OnParametresConstants()

{

CConst dlg;

int result = dlg.DoModal();

if (result == IDOK) {

CKDoc* pDoc = GetDocument();

ASSERT_VALID(pDoc);

pDoc -> A = dlg.m_A;

pDoc -> B = dlg.m_B;

pDoc -> C = dlg.m_C;

pDoc -> D = dlg.m_D;

pDoc -> a = dlg.m_a;

pDoc -> b = dlg.m_b;

Invalidate();

}

}

Додаток Б: Вікно програми

Список використаної літератури

1. Visual C++ и MFC. Программирование для Windows NT и Windows 95. А. Мешков, Ю. Тихонов.

2. Самоучитель Visual C++ 6. Н. Секунов.

3. Арчер, Visual C++ .NET. Библия пользователя. : Пер. с англ. - М.: Издательский дом «Вильямс», 2003.

4. Харви Дейтел, Как программировать на Си++: Пер. с англ. - М.: Издательский дом «Вильямс», 2000.

5. А.Мешков, Visual C++ и MFC: Пер. с англ. - К.: Издательский дом «Folio», 2001.

Размещено на Allbest.ru


Подобные документы

  • Складання програми на мові Pascal розрахунку за методом трапецій площі між графіками функцій. Розрахунок за методом трапецій площі між графіками функцій. Алгоритм програми. Кількість відрізків, на які розбивається дільниця інтегрування. Межа інтегрування.

    контрольная работа [1,2 M], добавлен 22.04.2009

  • Основні теоретичні відомості про метод знаходження значення функції у міжвузловій точці за допомогою інтерполяційної формули Бесселя та приклад його застосування. Розробка алгоритму за даним методом. Опис програми, лістинг та результати тестування.

    курсовая работа [70,3 K], добавлен 03.12.2009

  • Розв’язання нелінійних алгебраїчних рівнянь методом хорд. Опис структури програмного проекту та алгоритмів розв’язання задачі. Розробка та виконання тестового прикладу. Інші математичні способи знаходження коренів рівнянь, та опис виконаної програми.

    курсовая работа [4,1 M], добавлен 28.09.2010

  • Характеристика середовища програмування Microsoft Visual C++ та бібліотеки класів MFC. Знаходження коефіцієнтів при невідомих за допомогою методу найменших квадратів. Створення програми для вирішення задачі обраним методом, її алгоритм та інтерфейс.

    курсовая работа [434,8 K], добавлен 20.01.2014

  • Алгоритм, програма на мові Pascal, розрахунок за методом трапецій площі між графіками функцій. Значення відрізку інтегрування. Цикл із заздалегідь визначеним числом повторень. Розрахована площа фігури між лініями графіків. Вирішення визначеного інтегралу.

    контрольная работа [1,3 M], добавлен 18.02.2010

  • Демонстрація базової функції та функції в загальному вигляді з можливістю зміни параметрів A, B, C, D. Збереження поточних параметрів у файлі з наступним завантаженням. Підписи шкали осей координат і точки центру осей координат; друк отриманого графіка.

    курсовая работа [549,8 K], добавлен 18.12.2013

  • Основні розрахунки резисторів мікросхеми. Розробка алгоритму рішення задачі методом блок-схем. Характеристика та розробка програми на мові С++ з використанням принципів модульного і структурного програмування. План тестування і налагоджування програми.

    курсовая работа [2,9 M], добавлен 05.12.2012

  • Розробка програми для спрощення та автоматизації обчислення інтегралів методом трапецій у визначених межах інтегрування із заданою точністю. Елементи програми "Інтеграл", алгоритм, способи логічної структуризації, засоби обміну даними, мова програмування.

    курсовая работа [234,5 K], добавлен 12.12.2013

  • Стандарти OpenMP i MPI як основні засоби програмування для багатопроцесорних систем. Розробка програми паралельного розрахунку інтеграла для функції з певним кроком дискретизації, паралельної програми множення квадратної матриці на квадратну матрицю.

    курсовая работа [2,5 M], добавлен 11.12.2013

  • Формалізація моделі виробничої діяльності підприємства. Рішення за допомогою Excel. Алгоритм розрахунку моделі. Побудова моделі рішення за допомогою "С++". Знаходження оптимальної програми функціонування підприємства. Розробка коду програми.

    контрольная работа [720,1 K], добавлен 12.06.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.