lucr2

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

Upload: cornelgg474469

Post on 24-Feb-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lucr2

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

Page 2: Lucr2

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.