Calculați exponentul cu o precizie dată, sarcini pentru pascal, programare pentru începători

Formularea. Având un număr real x. Se calculează valoarea funcției exponențiale (de exemplu, funcția exponențială un e x, în cazul în care e - constantă matematică) într-un punct x cu o anumită precizie eps cu ajutorul seriei Taylor:







Nota 1: Funcțiile formularului x se numesc exponențiali. unde a este un număr real, x este o variabilă independentă care este un exponent.

Nota 2: Taylor - o reprezentare a funcției ca suma (eventual infinit) anumite alte funcții în conformitate cu normele speciale (care necesită o justificare matematică detaliată, că în acest caz nu avem nevoie).

Soluția. Fără a intra în partea teoretică și presupunem că formula prezentată este corectă, să încercăm să înțelegem ce trebuie să facem pentru a rezolva această problemă:

1) Ne dăm un punct pe axa Ox. și trebuie să calculam valoarea funcției e x la acest punct. Să presupunem că, dacă x = 4. atunci valoarea funcției în acest punct va fi egală cu;

2) În acest caz, calculul trebuie realizat cu ajutorul unei anumite formule infinite, în care adăugarea fiecărui termen următor crește precizia rezultatului;

3) Precizia trebuie să fie un număr real de eps. mai puțin de 1 - aceasta înseamnă că atunci când următoarea adăugată la suma summand este mai mică decât eps. atunci trebuie să completați calculul și să afișați rezultatul pe ecran. Această condiție este în mod necesar îndeplinită, așa cum este demonstrat matematic că fiecare termen succesiv în seria Taylor este mai mică decât cea anterioară, prin urmare, o secvență infinită de termeni - este în descreștere infinit de secvență.







Acum, să ne uităm la calculul seriei în sine. Este evident că orice mandat, pornind de la 2-a, pot fi obținute de la cele de mai sus, înmulțirea cu x și divizare cu un număr întreg, care este numărul curent pas al calculelor secvențiale (se ia în considerare faptul că, în timp ce măsuri trebuie să fie numerotate de la zero). Știm valoarea lui x la orice pas, dar numărul pasului curent (îl vom păstra în variabila n) va trebui să fie fixat.

Creați o expf variabilă reală (din funcția exponențială engleză - exponențială) pentru a acumula suma summandelor. Vom presupune că etapa zero a fost deja îndeplinită, deoarece primul termen al seriei este constant 1 și, prin urmare, expf poate fi preinalizat cu numărul 1:

Din moment ce începe cu puterea de calcul nu este zero, și cu primul pas, de asemenea, trebuie să inițializa valorile în n (numărul 1 ca urmatorul pas va fi primul) și p (se va stoca ultima valoare calculată a termenului):

Acum puteți continua dezvoltarea ciclului. Având în vedere acuratețea specificată a eps, condiția pentru continuarea ei este abs (p)> = eps. unde abs (p) este modulul p (modulul este necesar astfel încât să nu apară nici o eroare dacă se introduce x negativ).

În buclă, multiplicați p cu x și împărțiți-l cu numărul curent al etapei n. pentru a asigura realizarea factorului în numitor, după care adăugăm un nou termen p la rezultatul expf și crește n pentru următorul pas:

în timp ce abs (p)> = eps începe

După ieșirea din buclă, trebuie să efectuați o ieșire formatată a rezultatului expf pe ecran cu un anumit număr de cifre după punctul, de exemplu, cinci. Rețineți că dacă eps-urile introduse conțin mai puțin de 5 cifre după punct, atunci valoarea generată a expf va fi, respectiv, inexactă.







Trimiteți-le prietenilor: