CyfrifiaduronRhaglennu

Beth yw'r dull Simpson, a sut i'w weithredu yn yr iaith Pascal

I gyfrifo gwerth o integrol, er fras, mae yn ddull ardderchog, a enwyd ar ôl ei crëwr - y dull o Simpson. Galwodd hefyd parabolas dull, oherwydd ei fod yn defnyddio y gwaith o parabola adeiladu. Mae'r ffigur hwn yn seiliedig mor agos â phosibl at y swyddogaeth. Mewn gwirionedd, y ffordd sut i adeiladu parabola, sy'n awgrymu cyd-fynd yn union â'r pwyntiau y swyddogaeth, nid oes modd, ac yr integryn cael ei approximated. Fformiwla lleoliad ei ffiniau gyda a b yn edrych fel hyn: 1 / h * (y + 4y 0 1 + 2y 2 + 4y 3 + ... + 4y n-1 + y n). Yma, mae'n rhaid i ni gyfrifo bob y o 0 i n, lle mae n yr ydym yn diffinio ein hunain - y mwyaf, y gorau, oherwydd po fwyaf y-au, y mwyaf fras i'r gwir werth ein gwaith. O ran h, ac yna mae hyn gam yn cael ei gyfrifo gan y fformiwla ganlynol: (ba) / (n-1).

Mewn theori, mae popeth yn eithaf syml, ond byddai angen i weithredu hyn i gyd yn ymarferol. I lawer o rhaglenwyr oes ffordd well i ddatrys y broblem hon, fel dull o Simpson - Pascal neu Delphi. Yn yr amgylchedd hwn, mae'n hawdd iawn nid yn unig i enrhifo'r integryn, ond hefyd i adeiladu graff y swyddogaeth iddo, a hyd yn oed adeiladu ei trapîs. Felly, rydym yn edrych ar sut y gallwch weithredu dull o Simpson yn gyflym a hyd yn oed i egluro, os dymunir, yma ac sy'n cael ei drefnu, pawb sydd â diddordeb.

Ond yr wyf yn cofio sut mae'n edrych cyn hyn annatod. Mae'r ffigur hwn, sy'n cael ei ffinio gan linellau sy'n dechrau gyda echel 'X', hy a a b.

Felly, i gychwyn y rhaglen angen i chi greu un o swyddogaethau ar gyfer swyddogaethau integradwy (maddeuwch y tautology), sydd yn syml i ysgrifennu f: = a rhywbeth y byddwn yn dod o hyd i'r rhan annatod. Yma, mae'n hanfodol peidio â gyfeiliorni yn mynd i swyddogaeth yn Pascal. Ond mae'n stori wahanol. Bydd y cod yn deillio edrych rhywbeth fel hyn:

ffwythiant f (x: go iawn): real;

Ac mae'r nodweddion testun sylfaenol

dechrau

f: = 25 * ln (x) + sin (10); {Yma ac angen i chi ysgrifennu cynnwys ei swyddogaethau}

ben;

Yna ysgrifennwch swyddogaeth i weithredu'r dull o Simpson. Bydd Start yn rhywbeth fel:

simpsonmetod swyddogaeth (a, b: real; n: cyfanrif): real;

Nesaf, rydym yn datgan newidynnau:

var

s: real; {Is-gyfansymiau (deall bellach)}

h: real; {} Cam

fy: cyfanrif; Dim ond {} cownter

MnO: cyfanrif; {} Mae'r lluoswyr nesaf

Ac yn awr, mewn gwirionedd, y rhaglen ei hun:

dechrau

h: = (ba) / (n-1); {Disgwyl cam yn ôl y fformiwla safonol. Weithiau, bydd y cam wedi ei ysgrifennu yn y swydd, yn yr achos hwn, nid yw'r fformiwla hon yn berthnasol}

s: = f (b) + f (a); {Gwerth cae cychwynnol O ystyried}

MnO: = 4; {Cofiwch y fformiwla - 1 / h * (y + 4y 0 1 ... bod 4 hyn yma ac sillafu, yr ail ffactor yw 2, ond yn fwy am hyn yn ddiweddarach}

Nawr bod un fformiwla sylfaenol:

ar gyfer fy: 1 = i n-2 yn dechrau

s: = s + MnO * f (a + h * Mu); I grynhoi {ychwanegu ffactor arall luosi â 4 * y n neu 2 * y n}

os (MnO = 4) yna MnO: = 2 arall MnO: = 4; {Mae'r ffactor hwn yn amrywio ac - os yn awr yw 4, yn cael ei newid i 2 ac fel arall}

ben;

simpsonmetod: = s * h / 3; Nesaf {swm sy'n deillio cylch yn cael ei luosi gan f / 3} yn ôl y fformiwla

diwedd.

Dyna ni - gwneud yr holl gamau gweithredu yn ôl y fformiwla. Os nad ydych wedi cyfrifedig gwybod sut i wneud cais yn y prif ddull raglen enghraifft Simpson eich helpu gyda hyn.

Felly, ar ôl ysgrifennu holl swyddogaethau ysgrifennu

dechrau

n: = 3; Rydym yn gosod {n}

q: = simpsonmetod (a, b, n); {Gan fod y dull Simpson yw i gyfrifo annatod o ib, bydd sawl cam cyfrifiad, felly trefnu cylch}

ailadrodd

C2: = q; {Cam blaenorol cof}

n: = n + 2;

q: = simpsonmetod (a, b, n); {A} gwerth yn cael ei gyfrifo fel a ganlyn

tan (abs (q-C2) <0.001); {cywirdeb lleoliad wedi ei ysgrifennu, felly nes i chi gyrraedd cywirdeb gofynnol, mae angen ailadrodd yr un camau gweithredu}

Dyma fe - Dull Simpson. Yn wir, nid oes dim yn gymhleth, mae popeth ysgrifenedig yn gyflym iawn! Nawr agor eich Turbo Pascal a dechrau ysgrifennu'r rhaglen.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 cy.delachieve.com. Theme powered by WordPress.