7/24/2019 Lucr2
http://slidepdf.com/reader/full/lucr2 1/2
L2-1
L2. Lucrarea 2: Calcule cu polinoame.Program calcul polinom. Varianta C++.#include <conio.h>
#include <iostream.h>
typedef float vect[10]; //Obs: limitarea la 10 a gradului polinomului este
// arbitrara
float polinom(int n, vect a, float x0) //Calcul polinom in x0
{int i; float p=a[n];
for(i=n-1;i>=0;i--) p=a[i]+p*x0;
return p;
}
void main()
{int i,n,ch;
float x0;
vect a;
cout << "Introduceti rangul polinomului n="; cin >> n;
cout << "Introduceti punctul de calcul x0="; cin >> x0;
for(i=0;i<=n;i++) {cout << "a" << i << "="; cin >> a[i];}
cout << "Valoarea polinomului in punctul x0=" << x0 << "este ";
cout << polinom(n,a,x0) << "\n";
ch=getch();
}
Program calcul derivata polinom. Varianta C++.#include <conio.h>
#include <iostream.h>
typedef float vect[10];
float deriv_polinom(int n, vect a, float x0) //Calcul iterativ pentru
{int i; //derivata analitica a
float dp=n*a[n]; //polinomului
for(i=n-1;i>=1;i--) dp=i*a[i]+dp*x0;
return dp;}
void main()
{int i,n,ch;
float x0;
vect a;
cout << "Introduceti rangul polinomului de derivat, n="; cin >> n;
cout << "Introduceti punctul de calcul x0="; cin >> x0;
for(i=0;i<=n;i++) {cout << "a" << i << "="; cin >> a[i];}
cout << "Valoarea derivatei polinomului in punctul x0=" << x0 << " este ";
cout << deriv_polinom(n,a,x0) << "\n";
ch=getch();
}
Program calcul integrala polinom. Varianta C++.#include <conio.h>
#include <iostream.h>
typedef float vect[10];
float integr_polinom(int n, vect a, float x1, float x2) //Calcul iterativ
{int i; //pentru integrala anali-
float ip,ip1=a[n]/(n+1),ip2=ip1; //tica a polinomului
for(i=n;i>=1;i--)
{ip1=a[i-1]/i+ip1*x1; ip2=a[i-1]/i+ip2*x2;}
ip=ip2*x2-ip1*x1;
return ip;
}void main()
{int i,n,ch;
float x1,x2;
La cuprins
7/24/2019 Lucr2
http://slidepdf.com/reader/full/lucr2 2/2
L2-2
vect a;
cout << "Introduceti rangul polinomului de integrat, n="; cin >> n;
cout << "Introduceti limita de integrare inferioara, x1="; cin >> x1;
cout << "Introduceti limita de integrare superioara, x2="; cin >> x2;
for(i=0;i<=n;i++) {cout << "a" << i << "="; cin >> a[i];}
cout << "Valoarea integralei polinomului intre punctele=";
cout << x1 << "-" << x2 << " este ";
cout << integr_polinom(n,a,x1,x2) << "\n";
ch=getch();
}
Varianta EXCEL
Pentru a realiza aplica!iile de calcul a valorii unui polinom într-un punct x0, a valorii derivatei polinomului în acela"i punct, "i a valorii integralei polinomului în intervalul x#-x2, se poate crea tabelul dinfigura 5.3, prin procedura urm$toare:
A B C D E F G H I J K L
1
2 n a0 a1 a2 x0 x1 x2 polinom deriv_polinom integr_polinom
3 2 3 2 1 3 2 3 18 8 14,33333333
4
5
Fig.5.3.• Se completeaz$ celula B3 cu valoarea n a gradului polinomului, aici n=2;• Se completeaz$ celulele C3, D3, E3, cu valorile coeficien!ilor a0, a# "i a2 ai termenilor polinomului
y=a0+a#x+a2x2 ;
• Se completeaz$ celula F3 cu valoarea x0, celula G3 cu valoarea x# "i celula H3 cu valoarea x2;• Se creaz$ o foaie pentru module de program Visual Basic, în care se scriu func!iile de utilizator de mai
jos:
Function polinom(n, a, x0)
p = a(n + 1)
For i = n To 1 Step -1
p = a(i) + p * x0
Next i
polinom = pEnd Function
Function deriv_polinom(n, a, x0)
dp = n * a(n + 1)
For i = n To 2 Step -1
dp = (i - 1) * a(i) + dp * x0
Next i
deriv_polinom = dp
End Function
Function integr_polinom(n, a, x1, x2)
ip1 = a(n + 1) / (n + 1)
ip2 = ip1
For i = n + 1 To 2 Step -1 ip1 = a(i - 1) / (i - 1) + ip1 * x1
ip2 = a(i - 1) / (i - 1) + ip2 * x2
Next i
integr_polinom = ip2 * x2 - ip1 * x1
End Function
• În celula I3, cu ajutorul facilit$!ii Function Wizard, categoria User Defined, se introduce formula=polinom(B3;C3:E3;F3);
• În celula J3, cu ajutorul facilit$!ii Function Wizard, categoria User Defined, se introduce formula=deriv_polinom(B3;C3:E3;F3);
• În celula K3, cu ajutorul facilit$!ii Function Wizard, categoria User Defined, se introduce formula=integr_polinom(B3;C3:E3;G3;H3);
Func!iile de utilizator astfel create nu sunt dependente de structura tabelului "i pot fi plasate oriunde, pentru orice domeniu de argumente, cu condi!ia folosirii coerente.