Advertisement
Guest User

Untitled

a guest
Dec 19th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.35 KB | None | 0 0
  1. /**
  2. AuPLa1401. Sastādīt C++ funkciju, kas tuvināti aprēķina ln(1+x) vērtību. Aprēķinu balstīt uz formulas:
  3. ln(1+x) = x – x2/2 + …+
  4. (-1)n-1xn/n +…,
  5. kur -1<x <1 un n = 1, 2, 3, ...
  6. Aprēķinu vienkāršot, katra nākošā saskaitāmā vērtību iegūstot no iepriekšējā saskaitāmā vērtības.
  7. Rēķināšanu beigt tad, kad kārtējā saskaitāmā absolūtā vērtība ir kļuvusi mazāka par doto skaitli eps (piemēram, eps=0.001).
  8. Parādīt, kā šo funkciju izsaukt ar konkrētām argumentu vērtībām.
  9. **/
  10. #include <iostream>
  11. #include <cmath>
  12. #include "lvfriendly.h"
  13. using namespace std;
  14. float ln_tuv(float x, float eps)
  15. {
  16. int n=1; float sask=x; float f=x; // Jāievieto formulā skaitļi lai atbilst sākumam rez.
  17. do
  18. {
  19. sask=sask*((-n)*x)/(n+1);
  20. f=f+sask;
  21. n++;
  22. //cout<<"f= "<<f<<" "<<"sask= "<<sask<<" "<<"eps= "<<eps<<endl;
  23. }
  24. while(abs(sask)>= abs(eps)); //abs absolutā vērtība
  25.  
  26. return f;
  27. }
  28. int main()
  29. {
  30. float f;
  31. float x;
  32. float eps;
  33. int a;
  34. do
  35. {
  36. cout<<"Ievadiet eps, piemēram 0.001: ";
  37. cin>>eps; //0.001
  38. cout<<"Ievadiet x no -1 līdz 1: ";
  39. do
  40. {
  41. cin>>x;
  42. if (x<-1 || x>1) cout<< "Jūs ievadījāt nepareizu x, vadiet vēlreiz:"<<endl;
  43. }
  44. while(-1<x &&x>1);
  45. f=ln_tuv(x,eps);
  46. cout<<"Ja x ir "<<x<<" "<<"ln(1+x)="<<f<<endl;
  47. cout<<"Vai vēlies turpināt? (Y=1 N=0): ";
  48. cin>>a;
  49. }
  50. while(a==1);
  51. return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement