Sunteți pe pagina 1din 6

UNIVERSITATEA TEHNICĂ A MOLDOVEI

Facultatea Informatică, Calculatoare și Microelectronica


Departamentul Informatică și Ingineria Sistemelor

Lucrare de laborator nr. 1


la disciplina Matematici Speciale 2

Tema: Serii numerice

Grupa: MI-191
Examinator : Buzurniuc Stepan
Serii numerice
Numim atunci serie numeric˘a de termen general xn (sau, mai simplu, serie de
termen general xn) cuplul ((xn)n≥0,(Sn)n≥0) format din ¸sirul (xn)n≥0 al termenilor
seriei ¸si ¸sirul (Sn)n≥0 al sumelor par¸tiale, definit dup ˘a regula
Sn = x0 + x1 + x2 + . . . + xn.
În aceast ˘a situatie, xn se va numi ¸si termenul de rang n sau indice n al seriei. Vom
nota o serie de termen general xn prin
x0 + x1 + x2 + . . . + xn + . . . ,
sau, sub form ˘a prescurtat ˘a, prin

Daca primii k termeni x0, x1, . . . , xk−1 nu sunt defini¸ti, vom nota seria de termen
general xn prin
xk + xk+1 + xk+2 + . . . + xn + . . . ,
respectiv prin

Sarcina lucrării: Să se calculeze cu exactitatea termenului care după valoarea absolută este mai
mic decât mărimea 10 la puterea -5 pe intervalul [a,b] cu pasul h=(b-a)/15 suma seriei.
p ( p−1 ) x 2 p ( p−1 )( p−2 ) … ( p−n+1 ) x n
Varianta: px+ +…+ +…
2! n!
1 1
[- 2 ; 4 ], p=-0.25

Termen general:

p ( p−1 )( p−2 ) … ( p−n+1 ) x n


Un =
n!

Programul în C:
#include<stdio.h>
#include<math.h>
#include<stdlib.h>

int functie_factorial (int numar);


double function (double X, int N, int FACTORIAL, double EXPRESIE);
int main(){
int n=0,c;
double a,p,b,f,h,E,x,termen,aux=1,fact,expresie,expr,verificare,S=0;
printf("a=");
scanf("%lf",&a);
printf("b=");
scanf("%lf",&b);
h=(b-a)/15;
printf("h= %.5lf\n\n",h);
E=pow(10,-5);
printf("____________________________________________________________________\n");
printf("| Suma | x | n | (1+x)^(-0.25) |\n"); printf("|
__________________|__________________|____________|_______________|\n");

for(x=a;x<b;x=x+h)
{
n=n+1;
f=1;
p=-0.25;
if(n==1) expresie=p;
else
for(c=n-1;c<=n;c++){
expr=f*(p-c+1);
f=expr;
expresie=f;
}
verificare=pow((1+x),-0.25);
fact= functie_factorial(n);
termen= function(x,n,fact,expresie);
S=S+termen;
printf("| %12.11lf | %6.3lf | %3.d | %12.5lf | \n",S,x,n,verificare);

if(fabs(termen)>E && fabs(termen)<fabs(aux))


{aux=termen;
}
}
printf("|__________________|__________________|____________|
_______________|\n");
printf("\n\nIn urma executarii a=%9lf",x);

return 0;
}

int functie_factorial (int numar){


int i,factorial=1;
for (i = 1; i <= numar; i++){
factorial=factorial*i;}
return factorial;
}
double function (double X, int N, int FACTORIAL, double EXPRESIE){
float p=-0.25,result;
result=EXPRESIE*pow(X,N)/FACTORIAL;
}
Schema block:
Domeniul de convergență:

p=-0,25

Seria converge pentru -1<x<1


Concluzii:
La realizarea lucrării am utilizat două funcții, una pentru factorial și alta pentru calcularea
termenul general pentru valoarea x dată. Pentru modificarea lui x cu pasul h am utilizat for.
Printre alte instrucțiuni utilizate se numără if. De asemenea am utilizat incrementarea, atribuirea
valorilor și altele.
Realizarea acestei lucrări îmi va fi de folos la realizarea sarcinilor viitoare.

S-ar putea să vă placă și