24.2.3.24010710. Iz matematičke analize je poznato da je za dovoljno veliko n vrijednost sume (1),
približno jednaka vrijednosti funkcije F = ex, s obzirom da za (2)
vrijednost sume S konvergira ka F (s obzirom da je S Taylorov razvoj funkcije F, koji konvergira za svaku vrijednost x). Napisati program koji za zadanu vrijednost x određuje minimalnu vrijednost n takvu da se S i F poklapaju na barem prvih 5 decimala (tj. da je | S – F | < 10–5). Program treba da ispiše nađenu vrijednost n, kao i odgovarajuće vrijednosti S i F (da bi se uvjerili da se one zaista poklapaju barem na prvih 5 decimala). Pri računanju sume S nije dozvoljeno posebno računati faktorijel niti koristiti funkciju “pow” za računanje stepena x k, već treba iskoristiti ovisnost koja postoji između k-tog i k+1-vog člana sume.

Opis rješenja:

Listing programa:

#include <iostream>
#include <conio.h>
#include <cmath.h>
using namespace std;
int main()
{
long double x,F,S(1),a;
const double v(1e-5);
int n(0);
cout<<"Unesite broj x:\n\n";
cin>>x;
a=x;
F=sinh(x)+sqrt(sinh(x)*sinh(x)+1);
while(1){
if(abs(S-F) < v)break;
S+=a;
a*=x/(n+2);
n++;
}
cout<<"\n\nTrazeni minimalni broj n je:\n\n"<<n<<"\n\nTatada je S="<<S<<", kao i F="<<F;
getch();
return 0;}

Ispis na ekranu:

Riješeni zadaci 2    Index