Технологии программирования

Знакомство с наиболее известными технологиями программирования. Особенности разработки программ для вычисления интеграла по формуле средних прямоугольников. Общая характеристика методов структурного программирования. Рассмотрение формулы Симпсона.

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

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

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

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

Введение

В настоящее время резко возрос интерес к языкам высокого уровня благодаря возможности использования в научных исследованиях, в технике и экономике вычислительных машин, выполняющих построение некоторых величин в точном соответствии с указанным алгоритмом. Эта возможность привлекательна по той причине, что явления и процессы, которые изучаются в рамках упомянутых исследований, часто удается описать с помощью понятий математики - функций, систем уравнений, неравенств - и для получения конкретных сведений об изучаемых явлениях и процессах надо провести некоторые действия над математическими объектами. Человеку достаточно описать алгоритм необходимых преобразований и вычислений, а сами действия (как правило, настолько обширные и громоздкие, что их невозможно выполнить вручную) выполнит вычислительная машина.

Правила записи алгоритма для выполнения его вычислительной машиной оказываются очень жесткими - автомат не может ничего додумывать за человека. Совокупность средств и правил представления алгоритма в виде, пригодном для выполнения вычислительной машиной, называется языком программирования, а каждый алгоритм, записанный на некотором языке программирования, называется программой. Для удобства составления программ предлагаются различные языки программирования.

Задание на курсовую работу: разработать приложение для вычисления интеграла от заданной функции в заданных пределах по формуле Симпсона, прямоугольников, трапеций.

1.Краткое описание предметной области

Для приближенного вычисления определенного интеграла

разбивается отрезок интегрирования [a,b] на n равных частей точками

Значения функции y=f(x) в точках разбиения xi обозначено через yi. Непрерывная подынтегральная функция y=f(x) заменяется сплайном - кусочно-полиномиальной функцией S(x), аппроксимирующей данную функцию.

Интегрируя функцию S(x) на отрезке [a,b], получается некоторая формула численного интегрирования (квадратурная формула).

В зависимости от функции , аппроксимирующей подынтегральную функцию, получаются различные квадратурные формулы.

Если на каждой части [xi-1,xi] (i=1,n) деления отрезка [a,b] функцию y=f(x) заменить функцией, принимающей постоянное значение, равное, например, значению функции y=f(x) в серединной точке i-й части

то функция будет иметь ступенчатый вид:

в этом случае:

и получается квадратурную формулу прямоугольников:

Если функцию y=f(x) на каждом отрезке [xi-1,xi] заменить её линейной интерполяцией по точкам (xi-1,yi-1) и (xi,yi), то получится непрерывная кусочно-линейная функция

,

Графиком этой функции является ломаная линия.

В этом случае:

в итоге получена квадратурная формула трапеций:

Можно получить квадратурную формулу Симпсона, называемую также формулой парабол, если сплайн S(x), аппроксимирующий подынтегральную функцию y=f(x), представляет собой непрерывную функцию, составленную из примыкающих парабол. На отрезке [xi-1,xi] парабола проходит через точки (xi-1,yi-1), (xi-1/2,yi-1/2), (xi,yi). Используя построение интерполяционного многочлена Лагранжа второго порядка на отрезке [xi-1,xi], получим сплайн:

Для дальнейших преобразований вводится переменная t € [0,1] с помощью равенства x = xi-1+h*t. Выражают сплайн через новую переменную:

Учитывая, что

В результате получена квадратурная формула парабол(или формула Симпсона):

которая при интегрировании степенной функции, степень которой не выше трёх, квадратурная формула Симпсона даёт точный результат.

2.Описание последовательности действий программы при вычислении интеграла от заданной функции в заданных пределах по формулам Симпсона, прямоугольников и трапеций

1. Вводим функцию, как она есть, соблюдая правила расстановки знаков и скобок.

2. Вводим нижний предел.

3. Вводим верхний предел.

4. Вводим количество отрезков для разбиения.

5. Выбираем метод для вычисления интеграла

- По формуле Симпсона

- По формуле прямоугольников

-.По формуле трапеций

6. Нажимаем кнопку вычислить.

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

8. Для формулы Симпсона, сначала рассчитываются первые два узла интегрирования и шаг.(для других методов аналогично, только меняются пункты 8, 9, 10)

9. После, рассчитываются результаты интегрирования на 3ем узле и 4том. Здесь используются потоки, в зависимости от количества отрезков на каждый узел.

10. После суммируются и умножаются переменные содержащие суммы результатов интегрирования на всех отрезках.

11. На экран выводится метка с результатом интегрирования.

12. После расчетов и просмотра результатов, окончание работы программы производится кнопкой выход.

3.Краткая инструкция по работе программы

программирование средний прямоугольник формула

Данная программа разработана для вычисления интеграла от заданной функции в заданных пределах по формуле Симпсона, прямоугольников, трапеций

Для того чтобы начать работу необходимо запустить файл PrIntegral.exe. После запуска на экране появится окно (рис. 1).

Рис 1. Запуск программы.

Далее необходимо ввести функцию (рис. 2).

Рис 2. Ввод функции

Далее необходимо ввести пределы интегрирования (верхний и нижний) (рис. 3,4).

Рис 3,4. Ввод верхнего и нижнего пределов интегрирования.

Далее необходимо ввести количество частей, для подготовки функции к разбиению (рис. 5).

Риск 5. Ввод количества частей для разбиения

После выбирается необходимый метод для вычисления интеграла (рис. 6).

Рис 6. Выбор метода для вычисления

Далее после ввода всех данных и выбора метода необходимо нажать кнопку вычислить (рис. 7).

Рис 7. Вычисление.

После появится метка в левом нижнем экране с результатом вычислений (рис. 8).

Рис 8. Результат вычислений.

Для выхода из программы необходимо кликнуть на кнопку Выход (рис. 9).

Рис 9. Результат вычислений

4.Листинг программы

Исходный текст программы (основной модуль)

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, UFunction, jpeg, ExtCtrls, Unit2, Unit3;

type

TForm1 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Button1: TButton;

Edit4: TEdit;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

RadioButton3: TRadioButton;

Edit5: TEdit;

Button4: TButton;

Image1: TImage;

GroupBox1: TGroupBox;

Label5: TLabel;

Label6: TLabel;

Label4: TLabel;

Label3: TLabel;

procedure Edit1KeyPress(Sender: TObject; var Key: Char);

procedure Edit2KeyPress(Sender: TObject; var Key: Char);

procedure Edit4KeyPress(Sender: TObject; var Key: Char);

procedure Button1Click(Sender: TObject);

procedure Edit5KeyPress(Sender: TObject; var Key: Char);

procedure Button4Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

simc2,simc3:extended; //переменные для суммирования результатов потока

end;

var

Form1: TForm1;

OldFStroka: string;

a, b : extended;//границы интегрирования,счетчик

nc: integer;//разбить на nc частей

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin

label3.Visible:=False;

label4.Visible:=False;

end;

procedure TForm1.Edit5KeyPress(Sender: TObject; var Key: Char);

begin

if not (key in['0'..'9', 'a'..'z', #8, #13, '-', '+', '*', '/',

'^', ',', '.', '(', ')']) then key:=#0;

end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if not (key in['0'..'9', #8, '-', 'E', 'e', ',', '.']) then key:=#0;

end;

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);

begin

if not (key in['0'..'9', #8, '-', 'E', 'e', ',', '.']) then key:=#0;

end;

procedure TForm1.Edit4KeyPress(Sender: TObject; var Key: Char);

begin

if not (key in['0'..'9', #8]) then key:=#0;

end;

procedure Pr;

begin

FStroka:=Form1.Edit5.Text;

if length(OldFStroka) = 0 then

begin

CreateSh;

OldFStroka:=FStroka;

end else

if OldFStroka <> FStroka then

begin

DeleteSh;

CreateSh;

OldFStroka:=FStroka;

end;

end;

function Log: boolean;

begin

if Form1.Edit5.Text <> '' then Log:=true else Log:=false;

if Form1.Edit1.Text <> '' then a:=strtofloat(Form1.Edit1.Text) else

Log:=false;

if Form1.Edit2.Text <> '' then b:=strtofloat(Form1.Edit2.Text) else

Log:=false;

if Form1.Edit4.Text <> '' then nc:=strtoint(Form1.Edit4.Text) else

Log:=false;

end;

//формула Симпсона

function IntegralSimpson: extended;

var c0, c1, c2, c3, c4, dx: extended;

i: integer; Thr: Threadc2;Thr2: Threadc3;

k: real;

begin

c0:=(b-a)/(3*nc);

c1:=(F(a)+F(b))/2;

dx:=(b-a)/nc;

c2:=0; i:=0;

c3:=0; k:=-0.5;

repeat

i:=i+1;

Thr:=Threadc2.Create(False);

Thr.Priority:=tpHighest;

Thr.FreeOnTerminate:=True;

Thr.a:=a;

Thr.dx:=dx;

Thr.nc:=nc;

Thr.i:=i;

until i = nc-1;

repeat

k:=k+1;

Thr2:=Threadc3.Create(False);

Thr2.Priority:=tpHighest;

Thr2.FreeOnTerminate:=True;

Thr2.a:=a;

Thr2.dx:=dx;

Thr2.nc:=nc;

Thr2.k:=k;

until k = nc-0.5;

IntegralSimpson:=c0*(c1+Form1.simc2+2*Form1.simc3);

end;

//формула прямоугольников

function IntegralPrmg: extended;

var sum, dx: extended;

k: real;

begin

dx:=(b-a)/nc;

sum:=0; k:=-0.5;

repeat

k:=k+1;

sum:=sum+F(a+dx*k);

until k = (2*nc-1)/2;

IntegralPrmg:=dx*sum;

end;

//формула трапеций

function IntegralTrap: extended;

var dx, c0, c1: extended;

i: integer;

begin

dx:=(b-a)/nc;

c0:=(F(a)+F(b))/2;

c1:=0; i:=0;

repeat

i:=i+1;

c1:=c1+F(a+dx*i);

until i = nc-1;

IntegralTrap:=dx*(c0+c1);

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

Pr;simc2:=0;simc3:=0;

label3.Caption:='';

if Log then

if Form1.RadioButton1.Checked then Form1.Label3.Caption:=floattostr(IntegralSimpson)

else

if Form1.RadioButton2.Checked then Form1.Label3.Caption:=floattostr(IntegralPrmg) else

if Form1.RadioButton3.Checked then Form1.Label3.Caption:=floattostr(IntegralTrap);

label3.Visible:=True;

label4.Visible:=True;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

close;

end;

end.

Исходный текс потока 1(Unit2)

unit Unit2;

interface

uses

Classes;

type

Threadc2 = class(TThread)

private

{ Private declarations }

protected

procedure Execute; override;

procedure SIMP;

Public

dx,a,tr2,c,cc,c0,c1,c2,c3,nc,k:Extended;

i:integer;

end;

implementation

uses unit1, Forms, SysUtils, UFunction;

{ Threadc2 }

procedure Threadc2.SIMP;

begin

c2:=F(a+dx*i);

Form1.simc2:=Form1.simc2+c2;

end;

procedure Threadc2.Execute;

begin

SIMP;

end;

end.

Исходный текс потока 2(Unit3)

unit Unit3;

interface

uses

Classes;

type

Threadc3 = class(TThread)

private

{ Private declarations }

protected

procedure Execute; override;

procedure SIMP;

Public

dx,a,tr2,c,cc,c0,c1,c2,c3,nc,k:Extended;

i:integer;

end;

implementation

uses unit1, Forms, SysUtils, UFunction;

{ Threadc3 }

procedure Threadc3.SIMP;

begin

c3:=F(a+dx*i);

Form1.simc3:=Form1.simc3+c3;

end;

procedure Threadc3.Execute;

begin

SIMP;

end;

end.

Дополнительный модуль(UFunction):

unit UFunction;

interface

uses

Windows, SysUtils, Math;

Const

a: array[1..10] of string[6] = ('arcsin', 'arccos', 'arctan', 'sin', 'cos', 'tan', 'ctg', 'ln', 'exp', 'abs');

Type

PExt = ^extended;

ElemSh = ^Dat;

Dat = record

L, R: PExt;

fn: integer;

Rez: extended;

Next: ElemSh;

end;

Var

FStroka: string;//функция в виде строки

Mch: array of PExt;

n, nn: integer;

p: PExt;

FX: extended;

U: ElemSh;

BeginUz: ElemSh;

function F(X: extended): extended;//функция

procedure CreateSh;//создать схему

procedure DeleteSh;//удалить схему

implementation

function StrToLogstr(str: string): string;

var i, k: integer;

s: string;

begin

s:=str;

while pos(' ', s) <> 0 do delete(s, pos(' ', s), 1);

if s[1] = '-' then insert('0', s, 1);;

while pos('(-', s) <> 0 do insert('0', s, pos('(-', s)+1);

for i:=low(a) to high(a) do

while pos(a[i], s) <> 0 do

begin

insert('f'+inttostr(i), s, pos(a[i], s));

delete(s, pos(a[i], s), length(a[i]));

end;

i:=0;

repeat

i:=i+1;

if s[i] = 'f' then

begin

k:=i+1;

while s[k] <> '(' do

begin

k:=k+1;

if k > length(s) then break;

end;

i:=i+(k-i-1);

end else

if s[i] in ['0'..'9', ',', '.'] then

begin

k:=i;

while s[k] in['0'..'9', ',', '.'] do

begin

k:=k+1;

if k > length(s) then break;

end;

n:=n+1;

p:=new(PExt);

setlength(MCh, n+1);

MCh[n]:=p;

p^:=strtofloat(copy(s, i, k-i));

delete(s, i, k-i);

insert('<'+inttostr(n)+'>', s, i);

if n < 10 then i:=i+2 else if n < 100 then i:=i+3 else if n < 1000 then i:=i+4;

end else

if (s[i] = 'p') or (s[i] = 'e') then

begin

p:=new(PExt);

if s[i] = 'p' then p^:=pi else p^:=exp(1);

if s[i] = 'p' then delete(s, i, 2) else delete(s, i, 1);

n:=n+1;

insert('<'+inttostr(n)+'>', s, i);

setlength(MCh, n+1);

MCh[n]:=p;

if n < 10 then i:=i+2 else if n < 100 then i:=i+3 else if n < 1000 then i:=i+4;

end else

if s[i] = 'x' then

begin

delete(s, i, 1);

n:=n+1;

insert('<'+inttostr(n)+'>', s, i);

setlength(MCh, n+1);

MCh[n]:=@FX;

if n < 10 then i:=i+2 else if n < 100 then i:=i+3 else if n < 1000 then i:=i+4;

end;

until i >= length(s);

nn:=n;

StrToLogstr:=s;

end;

procedure InsUz(AddrL, AddrR: PExt; fnd: integer; var U: ElemSh);

begin

new(U);

U^.L:=AddrL;

U^.R:=AddrR;

U^.fn:=fnd;

U^.Next:=nil;

end;

function Fbs(str: string): string;

var i, k, t, m, NOper: integer;

s: string;

Q: ElemSh;

begin

s:=str;

while (pos('^', s) <> 0) or (pos('*', s) <> 0) or (pos('/', s) <> 0) do

begin

Q:=U;

i:=4;

while not (s[i] in['^', '*', '/']) do i:=i+1;

NOper:=0;

if s[i] = '*' then NOper:=high(a)+3 else

if s[i] = '/' then NOper:=high(a)+4 else

if s[i] = '^' then NOper:=high(a)+5;

k:=i-2;

while s[k-1] <> '<' do k:=k-1;//(k-1) - поз. '<'

m:=strtoint(copy(s, k, i-k-1));

t:=k;

k:=i+2;

while s[k+1] <> '>' do k:=k+1;//(k+1) - поз. '>'

InsUz(Mch[m], Mch[strtoint(copy(s, i+2, k-i-1))], NOper, U);

if Q <> nil then Q^.Next:=U else BeginUz:=U;

n:=n+1;

setlength(MCh, n+1);

MCh[n]:=@U^.Rez;

delete(s, t, k-t+1);

insert(inttostr(n), s, t);

end;

while (pos('+', s) <> 0) or (pos('-', s) <> 0) do

begin

Q:=U;

i:=2;

while not (s[i] in['+', '-']) do i:=i+1;

NOper:=0;

if s[i] = '+' then NOper:=high(a)+1 else

if s[i] = '-' then NOper:=high(a)+2;

k:=i-2;

while s[k-1] <> '<' do k:=k-1;//(k-1) - поз. '<'

m:=strtoint(copy(s, k, i-k-1));

t:=k;

k:=i+2;

while s[k+1] <> '>' do k:=k+1;//(k+1) - поз. '>'

InsUz(Mch[m], Mch[strtoint(copy(s, i+2, k-i-1))], NOper, U);

if Q <> nil then Q^.Next:=U else BeginUz:=U;

n:=n+1;

setlength(MCh, n+1);

MCh[n]:=@U^.Rez;

delete(s, t, k-t+1);

insert(inttostr(n), s, t);

end;

Fbs:=s;

end;

procedure Skb(str: string; var U: ElemSh);

var i, k, g: integer;

s, sc: string;

Q: ElemSh;

begin

s:=str;

while pos('(', s) <> 0 do

begin

i:=pos(')', s);

k:=i-4;

while s[k] <> '(' do k:=k-1;

if s[k-1] in['0'..'9'] then

begin

sc:=Fbs(copy(s, k+1, i-k-1));

Q:=U;

g:=k-1;

while s[g-1] <> 'f' do g:=g-1;

InsUz(MCh[strtoint(copy(sc, 2, length(sc)-2))], nil, strtoint(copy(s, g, k-g)), U);

if Q <> nil then Q^.Next:=U else BeginUz:=U;

n:=n+1;

setlength(MCh, n+1);

MCh[n]:=@U^.Rez;

delete(s, g-1, i-g+2);

insert('<'+inttostr(n)+'>', s, g-1);

end else

if (k-1 = 0) or (s[k-1] in['+', '-', '*', '/', '^', '(']) then

begin

sc:=Fbs(copy(s, k+1, i-k-1));

delete(s, k, i-k+1);

insert(sc, s, k);

end; end;

sc:=Fbs(s);

if U <> nil then if BeginUz <> U then U^.Next:=BeginUz;

end;

procedure CompileUz(var U: ElemSh);

begin

case U^.fn of

1: U^.Rez:=arcsin(U^.L^);

2: U^.Rez:=arccos(U^.L^);

3: U^.Rez:=arctan(U^.L^);

4: U^.Rez:=sin(U^.L^);

5: U^.Rez:=cos(U^.L^);

6: U^.Rez:=sin(U^.L^)/cos(U^.L^);

7: U^.Rez:=cos(U^.L^)/sin(U^.L^);

8: U^.Rez:=ln(U^.L^);

9: U^.Rez:=exp(U^.L^);

10: U^.Rez:=abs(U^.L^);

11: U^.Rez:=U^.L^+U^.R^;

12: U^.Rez:=U^.L^-U^.R^;

13: U^.Rez:=U^.L^*U^.R^;

14: U^.Rez:=U^.L^/U^.R^;

15: if U^.L^ = 0 then U^.Rez:=0 else U^.Rez:=exp(U^.R^*ln(U^.L^));

end;

end;

procedure CreateSh;

begin

Skb(strtologstr(FStroka), U);

n:=-1;

setlength(MCh, nn+1);

end;

procedure DeleteSh;

var Q: ElemSh;

i: integer;

begin

U:=BeginUz;

if U <> nil then if U^.Next = nil then Dispose(U) else

begin

repeat

Q:=U;

U:=U^.Next;

Dispose(Q);

until U^.Next = BeginUz;

Dispose(U);

end;

U:=nil;

for i:=low(Mch) to nn do if Mch[i] <> @FX then dispose(Mch[i]);

setlength(MCh, 0);

p:=nil;

end;

function F(X: extended): extended;

begin

FX:=X;

U:=BeginUz;

if U = nil then F:=Mch[0]^ else

begin

if U^.Next = nil then CompileUz(U) else

begin

repeat

CompileUz(U);

U:=U^.Next;

until U^.Next = BeginUz;

CompileUz(U);

end;

F:=U^.Rez;

end;

end;

Begin

n:=-1;

end.

Заключение

В заключение хотелось бы отметить, что методы структурного программирования позволяют более мобильно и качественно проводить работу по модернизации программного обеспечения. Так достаточно усовершенствовать отдельный модуль откомпилировать его и главный модуль, для достижения, желаемого результата. Более того, текст главной программы более читаем, и занимает меньше места. Имеющиеся наработки в отдельных модулях можно использовать в других программах, не задумываясь об их работоспособности. Четко вычерченная структура позволяет яснее представить цели и задачи стоящие перед программистом. Не нужно все время перемещаться по тексту взад и вперед. В любой промежуток времени работы над очень большой программной появляется возможность сконцентрироваться на отдельном модуле. Открывается возможность совместной работы нескольких человек над одной громоздкой программной. Удачно разработанный модуль одного программиста становиться, доступен другим.

Список литературы

1. Культин Н.П. Delphi в задачах и примерах.- БХВ-Петербург, 2010. - 288 с

2. Амосов А. А., Дубинский Ю.А., Копченова Н.В. Вычислительные методы для инженеров.- М.: Высшая школа, 2008. - 544 с

3. Хомосенко А.А, Гофман В.А., Мещеряков Е.В., Никифоров И.П. Delphi 7. Наиболее полное руководство.- БХВ - Петербург, 2009. - 355 с.

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


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

  • Рассмотрение методов приближенного численного анализа. Формулы интегрирования, прямоугольников, трапеций, формула Симпсона. Оценка погрешностей интегрирования. Вычисление интеграла по формуле трапеций с тремя десятичными знаками и по формуле Симпсона.

    курсовая работа [995,7 K], добавлен 09.07.2012

  • История формирования традиционной технологии программирования. Задачи и предмет структурного программирования, как одного из крупнейших достижений в технологии программирования. Подпрограмма, типы управляющих структур. Понятие модульного программирования.

    презентация [1,8 M], добавлен 05.11.2016

  • Постановка задачи и математическое описание ее решения. Назначение программного обеспечения. Описание принятых идентификаторов. Выбор языка программирования и написание программы на входном языке. Методика отладки программы и проведение ее тестирования.

    курсовая работа [96,1 K], добавлен 25.06.2013

  • Создание программного модуля для вычисления интеграла по формулам трапеции и Симпсона, определяя шаг интегрирования по оценке остаточного члена. Для разработки используется табличный процессор Excel и язык программирования Visual Basic for Application.

    курсовая работа [159,7 K], добавлен 30.08.2010

  • Модульная структура программного продукта и типовые управляющие структуры алгоритмов обработки данных различных программных модулей в основе структурного программирования. Особенности пошаговой разработки программ. Основные типы базовых конструкций.

    контрольная работа [163,7 K], добавлен 04.06.2013

  • Средства Delphi для разработки Windows приложений. Математическая формулировка задачи, описание программы вычисления определенного интеграла по формуле левых прямоугольников. Руководство пользователя, методика испытаний продукта. Листинг программы.

    курсовая работа [178,1 K], добавлен 14.11.2010

  • Рассмотрение и ознакомление с одним из наиболее используемых языков программирования - С++. Его применение в процессе работы со строковыми типами данных и символами. Исследование кодов написания программ в режиме разработки консольного приложения.

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

  • MPI - библиотека передачи сообщений на языке программирования C/C++, ее переносимость, стандартизация, эффективная работа, функциональность. Форматы фактических вызовов MPI. Метод прямоугольников для приближенного вычисления определенного интеграла.

    курсовая работа [286,0 K], добавлен 20.06.2012

  • Основные методы структурного программирования. Методы половинного деления, Крамера, прямоугольников. Применение языка программирования Turbo Pascal 7.0. Решение системы линейных алгебраических уравнений. Описание стандартных и не стандартных функций.

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

  • Математическое обоснование метода решения задачи: определенный интеграл, квадратурная формула Симпсона (формула парабол). Словесное описание алгоритма и составление его блок-схемы. Выбор языка программирования. Текст программы решения задачи, ее листинг.

    курсовая работа [593,6 K], добавлен 09.07.2012

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