1. Valoarea functiei Ch x (cosinus hiperbolic) cu ajutorul sirului Taylor, exactitate eps, conform formulei

 

#include <iostream>
#include <conio.h>
#include <math.h>

using namespace std; 

int main(){
    const int MaxIter = 500;    /*Numarul maxim admisibil de iteratii*/
    double x = 3.0;    //argumentul
    double eps = DBL_EPSILON;    //exactitate

    /*cout << "\nIntroduceti argumentul\n";
    cin >> x;*/

    double ch = 1;            //primul mebru al sirului
    double y = ch;            //vloarea sumei
           
    for(int n = 0; fabs(ch) > eps && n < MaxIter; n++){
        ch *= x * x / ((2 * n + 1) * (2 * n + 2));    //membrul sirului
        y += ch;                                    //adaugare membru al sirului la suma

    cout << "\nValoarea functiei dupa : " << n << " iteratii este " << y << endl;
    }
    
    cout << "\nValoarea functiei: " << y << " pentru x = " << x << endl;
    
    cosh(x);
    cout << "\nValoarea functiei(din biblioteca math.h): " << y << " pentru x = " << x << endl;
    
    getche();
    
return 0;
}

Rezultat


Valoarea functiei dupa : 0 iteratii este 5.5

Valoarea functiei dupa : 1 iteratii este 8.875

Valoarea functiei dupa : 2 iteratii este 9.8875

Valoarea functiei dupa : 3 iteratii este 10.0502

Valoarea functiei dupa : 4 iteratii este 10.0665

Valoarea functiei dupa : 5 iteratii este 10.0676

Valoarea functiei dupa : 6 iteratii este 10.0677

Valoarea functiei dupa : 7 iteratii este 10.0677

Valoarea functiei dupa : 8 iteratii este 10.0677

Valoarea functiei dupa : 9 iteratii este 10.0677

Valoarea functiei dupa : 10 iteratii este 10.0677

Valoarea functiei dupa : 11 iteratii este 10.0677

Valoarea functiei dupa : 12 iteratii este 10.0677

Valoarea functiei dupa : 13 iteratii este 10.0677

Valoarea functiei: 10.0677 pentru x = 3

Valoarea functiei(din biblioteca math.h): 10.0677 pentru x = 3

 


1. De calculat si de afisat sub forma de tabel valoaea functiei F pe intervalul Xinc -  Xsf, cu pasul dX:

 

unde a, b, c  - numere reale.

Functia F trebuie sa primeasca valoarea reala, daca expresia (Aint SAU Bint) SI (Aint SAU Cint) nu este egala cu zero, si valoarea intreaga in caz contrar.  Aint, Bint, Cint reprezinta partea intreaga al valorilor a,b,c.Operatiile SI si SAU - sunt pe biti. Valorile lui a,b,c,Xinc, Xsf, dX sa fie introduse de la tastatura.

#include <iostream>
#include <conio.h>
#include <math.h>

using namespace std; 

int main(){
   double xInitial, xTerminal, dX, a, b ,c, F;
   
   printf("Introduceti xInitial, xTerminal, dX, a, b ,c \n");
   scanf("%lf%lf%lf%lf%lf%lf" ,&xInitial, &xTerminal, &dX, &a, &b ,&c);

  /* xInitial = 1;
   xTerminal = 5;
   dX = 0.1;
   a = 0;
   b = 0;
   c = 0;*/

   printf(" ---------------------------\n");
   printf("|      X      |      F     |\n");
   printf(" ---------------------------\n");
   for(double x = xInitial; x <= xTerminal; x += dX){
        if(x < 0 && b != 0) F = (a*x*x) + b;
        if(x > 0 && b == 0) F = (x - a) / (x - c);
        else F = x/c;

        if( (((int)a | (int)b) & ((int)a | (int)c)) !=0 )
            printf("|%9.2lf    | %9.2lf  |\n", x, F);
        else
            printf("|%9.2lf    | %9d  |\n", x, (int)F);
   }
    
    getche();
    
return 0;
}

Introduceti xInitial, xTerminal, dX, a, b ,c
-10
10
1
5
6
8
 ---------------------------
|      X      |      F     |
 ---------------------------
|   -10.00    |     -1.25  |
|    -9.00    |     -1.13  |
|    -8.00    |     -1.00  |
|    -7.00    |     -0.88  |
|    -6.00    |     -0.75  |
|    -5.00    |     -0.63  |
|    -4.00    |     -0.50  |
|    -3.00    |     -0.38  |
|    -2.00    |     -0.25  |
|    -1.00    |     -0.13  |
|     0.00    |      0.00  |
|     1.00    |      0.13  |
|     2.00    |      0.25  |
|     3.00    |      0.38  |
|     4.00    |      0.50  |
|     5.00    |      0.63  |
|     6.00    |      0.75  |
|     7.00    |      0.88  |
|     8.00    |      1.00  |
|     9.00    |      1.13  |
|    10.00    |      1.25  |

 


2. De calculat si de afisat sub forma de tabel valoaea functiei F pe intervalul Xinc -  Xsf, cu pasul dX:

unde a, b, c  - numere reale.

Functia F trebuie sa primeasca valoarea reala, daca expresia (Aint SAU Bint) SI (Aint SAU Cint) nu este egala cu zero, si valoarea intreaga in caz contrar.  Aint, Bint, Cint reprezinta partea intreaga al valorilor a,b,c.Operatiile SI si SAU - sunt pe biti. Valorile lui a,b,c,Xinc, Xsf, dX sa fie introduse de la tastatura.

#include <iostream>
#include <conio.h>
#include <math.h>

using namespace std; 

int main(){
   double xInitial, xTerminal, dX, a, b ,c, F;
   
   printf("Introduceti xInitial, xTerminal, dX, a, b ,c \n");
   scanf("%lf%lf%lf%lf%lf%lf" ,&xInitial, &xTerminal, &dX, &a, &b ,&c);

  /* xInitial = 1;
   xTerminal = 5;
   dX = 0.1;
   a = 1;
   b = 2;
   c = 3;*/

   printf(" ---------------------------\n");
   printf("|      X      |      F     |\n");
   printf(" ---------------------------\n");
   for(double x = xInitial; x <= xTerminal; x += dX){
        if((x + 5 < 0) && c == 0) F = (1 / (a*x)) - b;
        if((x + 5 > 0) && c != 0) F = (x - a) / x;
        else F = 10 * x / (c - 4);

        if( (((int)a | (int)b) & ((int)a | (int)c)) !=0 )
            printf("|%9.2lf    | %9.2lf  |\n", x, F);
        else
            printf("|%9.2lf    | %9d  |\n", x, (int)F);
   }
    
    getche();
    
return 0;
}

Introduceti xInitial, xTerminal, dX, a, b ,c
-6
6
1
2
4
6
 ---------------------------
|      X      |      F     |
 ---------------------------
|    -6.00    |    -30.00  |
|    -5.00    |    -25.00  |
|    -4.00    |      1.50  |
|    -3.00    |      1.67  |
|    -2.00    |      2.00  |
|    -1.00    |      3.00  |
|     0.00    |     -1.#J  |
|     1.00    |     -1.00  |
|     2.00    |      0.00  |
|     3.00    |      0.33  |
|     4.00    |      0.50  |
|     5.00    |      0.60  |
|     6.00    |      0.67  |

 


3.