Tudd Intuíció, előadás, funkcionális típus c #

Magasabb rendű funkciók

Az egyik legfontosabb alkalmazása küldöttek miatt magasabb rendű funkciókat. magasabb rendű függvény olyan függvény (eljárás) az osztály, amely egy vagy több argumentum tartozik a funkcionális típus. programozás elég nehéz megtenni anélkül, hogy ezeket a funkciókat. A klasszikus példa a számítási funkcióra integrál, ami az egyik érv meghatározza az integrandus. Egy másik példa egy olyan funkció. berendezéseit. Argumentuma függvény összehasonlítása. két objektum. Attól függően, hogy az összehasonlító függvényt kerül át a rendezési funkció bemenete tárgyak lesznek rendezve különböző módokon, például név vagy kulcs vagy több mezőt. Options lehet sok, és ők határozzák meg az osztály, amely leírja az objektumok sorrendje.

A számítás a szerves

Vessünk egy közelebbi pillantást a helyzet a magasabb rendű funkciók példaként a probléma kiszámításának határozott integrál pontossággal. Erre a célra létre egy osztályt, hogy a küldöttek ismertetjük. Meghatározza a szerződést. kinek kell felelnie a integrandusok. Ugyanebben az osztályban definiáljuk a módszert integrál kiszámításánál. Valójában a probléma maga, ez a módszer egy magasabb rendű függvény. Itt a kód, amely leírja egy osztály:

  • HighOrderIntegral osztály célja, hogy működjön együtt funkciókat. Fektetett funkcionális osztály leírása - SubIntegralFun küldöttet. mesterkurzusán funkciót egyetlen érv típusú kétágyas és értékét adja vissza az azonos típusú.
  • EvalIntegral módszer - a fő módszer az osztály lehetővé teszi számunkra, hogy meghatározzuk a határozott integrál. Ez a módszer egy olyan funkció, magasabb rendű. mint annak egyik érv az integrandus tulajdonában SubIntegralFun osztályban.
  • Kiszámításához az integrál alkalmazzák a klasszikus rendszer. Az integrációs intervallum van osztva n alkatrészek és kiszámítja a részösszegként a trapéz módszerrel. képviselő egy hozzávetőleges értéke az integrál. Akkor n értéke megduplázódott, és egy új ellenőrző összeg kiszámítása. Ha a különbség a két közelítések a modulusa kisebb, mint a megadott pontosság EPS. a számítás a szerves végek, egyébként a folyamat ismétlődik egy hurokban. A ciklus befejezése után érünk egy előre meghatározott pontossággal, vagy amikor n eléri a határértéket (a mi esetünkben - 2 15).
  • A számítás a részösszegként integrál trapezoid módszer megvalósított zárt eljárásban I.
  • Ezt követően, az osztály bővíthető, és amellett, hogy a szerves számítási ki tudja számítani, funkciók és más jellemzők.

Annak igazolására, a művelet egy class HighOrderIntegral. Funkciók fog több osztályban. melyben számos olyan funkcióval rendelkezik, a szerződés teljesítésére. amelyek meghatározzák class SubIntegralFun:

Most tekintsük az ügyfél osztály módszer, akkor hozza létre a szükséges objektumokat és a vizsgálati munka:

Kapcsolódó cikkek