Вычисление интегралов Pascal
12 (примеры описания объекта) type LevPr = object {opredelenie klassa, kotoriy realizuet metod levyh pryamougolnikov}
Public function f1(x:real):real; function f2(x:real):real; function integralf1(a:real; b: real; h:real):real; function integralf2(a:real; b: real; h:real):real; function levprf1(a:real; b:real; eps: real; n:integer):real; function levprf2(a:real; b:real; eps: real; n:integer):real; end;
type PravPr = object {opredelenie klassa, kotoriy realizuet metod pravyh pryamougolnikov}
Public function f1(x:real):real; function f2(x:real):real; function integralf1(a:real; b: real; h:real):real; function integralf2(a:real; b: real; h:real):real; function Pravprf1(a:real; b:real; eps: real; n:integer):real; function Pravprf2(a:real; b:real; eps: real; n:integer):real; end;
type SRPr = object {opredelenie klassa, kotoriy realizuet metod srednih pryamougolnikov}
Public function f1(x:real):real; function f2(x:real):real; function integralf1(a:real; b: real; h:real):real; function integralf2(a:real; b: real; h:real):real; function Srprf1(a:real; b:real; eps: real; n:integer):real; function Srprf2(a:real; b:real; eps: real; n:integer):real; end;
type Trap = object {opredelenie klassa, kotoriy realizuet metod trapeciy}
Public function f1(x:real):real; function f2(x:real):real; function integralf1(a:real; b: real; h:real):real; function integralf2(a:real; b: real; h:real):real; function Trapf1(a:real; b:real; eps: real; n:integer):real; function Trapf2(a:real; b:real; eps: real; n:integer):real; end;
{opisaniya motodov klassov} function LevPr.f1(x: real):real; begin f1:=sqr(x); end;
function LevPr.f2(x: real):real; begin f2:=sqr(x)*sin(x)/(exp(0.3*ln(abs(cos(x))))); end;
function LevPr.integralf1(a:real; b: real; h:real):real; var s, x: real; begin x:=a; s:=0; while x<b do begin s:=s+LevPr.f1(x)*h; x:= x+h; end; integralf1:=s; end;
function LevPr.integralf2(a:real; b: real; h:real):real; var s, x: real; begin x:=a; s:=0; while x<b do begin s:=s+LevPr.f2(x)*h; x:= x+h; end; integralf2:=s; end;
function LevPr.levprf1(a:real; b:real;eps: real; n:integer):real; label l1; var i: integer; x, y, h, y1:real; begin h:=(b-a)/n; y1:=LevPr.integralf1(a, b, h); l1: n:=n*2; h:=(b-a)/n; y:=LevPr.integralf1(a, b, h); if (abs(y-y1)>eps) then begin y1:=y; goto l1; end; levprf1:=y1; end;
function LevPr.levprf2(a:real; b:real; eps: real; n:integer):real; label l1; var i: integer; x, y, h, y1:real; begin h:=(b-a)/n; y1:=LevPr.integralf2(a, b, h); l1: n:=n*2; h:=(b-a)/n; y:=LevPr.integralf2(a, b, h); if (abs(y-y1)>eps) then begin y1:=y; goto l1; end; levprf2:=y1; end; Обработка измерений (процедура, подсчитывающая коэффициенты) begin label1.visible:=true; label4.visible:=true; n:=strtoint(edit1.Text); k:=0; l:=0; m:=0; v:=0; w:=0; r:=0; for i:=1 to n do begin x[i]:=strtofloat(t1.cells[0,i]); y[i]:=strtofloat(t1.cells[1,i]); k:=k+ln(x[i]); l:=l+ln(y[i]); m:=m+ln(x[i])*ln(y[i]); v:=v+sqr(ln(x[i])); w:=w+ln(sqr(x[i])); a:=fa0(i,k,l,m,v,w); b:=fb(i,k,l); yp[i]:=b*exp(ln(x[i])*a); r:=r+yp[i]; t1.cells[2,i]:=floattostr(a); t1.cells[3,i]:=floattostr(b); t1.cells[4,i]:=floattostr(yp[i]); end; min:=yp[1]; max:=yp[1]; for i:=1 to n do begin d:=abs((r/n-yp[i])/yp[i]); t1.cells[5,i]:=floattostr(d); if d<min then min:=d; if d>max then max:=d; end; label1.Caption:= label1.Caption+' '+floattostr(min); label4.Caption:= label4.Caption+' '+floattostr(max); button3.enabled:=true; button4.enabled:=true; end; Выводы
Компьютеры стали неотъемлемой частью нашей жизни. Но без хороших программ компьютер – это просто груда железа. Поэтому так важно осваивать языки программирования, чтобы не оказаться за бортом жизни и цивилизации. Данная курсовая работа является завершающим этапом работы по предмету «Программирование на языках высокого уровня». Она является прекрасной возможностью закрепить свои практические знания по предмету, а также получить новые, которые не входили в программу курса. Данная работа состоит из двух частей. В первой было необходимо разработать приложения на языках Pascal и С++ для вычисления численного значения определённого интеграла с заданной степенью точности. Выполнение задачи получилось не сразу, но после некоторого времени, потраченного на работу с программными кодами и их исправление, программы стали работать. Вторая часть требовала составить программу обработки полученных прямых измерений, основанную на методе наименьших квадратов. Следует отметить практическую пользу такой обработки. Она позволяет не только найти аппроксимированную прямую, наиболее близко подходящую к результатам, но и увидеть ее графическое исполнение. Таким образом, после выполнения поставленных задач я завершаю свою работу. Список литературы
1. Калитки Н.Н. Численные методы: Учеб. пособие для вузов. – М. : Наука., 1978 г. – 512 с. 2. Котлинская Г.П., Галиновский О.И. Программирование на языке Си : Справочное пособие. – Минск. : Высшая школа., 1991. – 156 с. 3. Пахомов Б.И. C/C++ и MS Visual C++ 2005 для начинающих: Пособие для начинающих. – СПб. : БХВ – Петербург, 2007. – 464 с. 4. Программирование Учебник Turbo Pascal [электронный ресурс] Оператор case...of...end <http://www.cyberguru.ru/programming/pascal/pascal-introduction-page8.html> 22.05.2010 5. Самарский А. А., Гулин А. В. Численные методы : Учеб. пособие для вузов. — М.: Наука. Гл. ред. физ-мат. лит., 1989. — 432 с. Приложения
12
Популярное: Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... Почему стероиды повышают давление?: Основных причин три... Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (338)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |