Suma unor vectori la puteri diferite

Pascal este un limbaj imperativ, creat inițial pentru a ajuta la predarea noțiunilor de programare structurati studenților. Delphi, urmașul lui Pascal, este un mediu de dezvoltare pentru aplicații Windows. Delphi este primul limbaj de programare (Object Pascal, mai exact) care a îmbinat ușurința în programare a limbajelor de nivel înalt și puterea uneltelor de lucru de nivel scăzut într-un mediu RAD.

Suma unor vectori la puteri diferite

Postby andreiandreiq » 30 Sep 2010, 18:51

Am urmatoare problema de rezolvat e:=x^1+x^2+X^3+...+x^n (x^=x la putere). Mai jos am postat modalitatea prin care am rezolvat eu problema. Dar vreu sa stiu daca exista un alt mod de rezolvare, sau daca se putea face mai usor decat asa cum am rezolvat-o eu.

  1. var x,n,i:integer;
  2.     e,z:real;
  3.     a:array[1..20] of real;
  4.  
  5. begin
  6.   z:=1;
  7.   writeln('Dati n');
  8.   readln(n);
  9.   for i:=1 to n do
  10.   begin
  11.     writeln('Dati numerele');
  12.     readln(a[i]);
  13.     if z<a[i] then
  14.        z:=z+1;
  15.        e:=e+exp(z*ln(a[i]));
  16.   end;
  17.   writeln('e=',e:4:5);
  18. end.


Multumesc anticipat ;)
0,0p / 0 votes
Image
User avatar
andreiandreiq
Word
 
Joined: 30 Dec 2009
Status: 33.33

Re: Suma unor vectori la puteri diferite

Postby DarkByte » 30 Sep 2010, 19:58

Probabil (posibil) ca exista ceva formula matematica pentru asta.

Ce nu inteleg eu e altceva ... la ce ai nevoie de vectorul a ? Ce faci cu FOR-ul ala ?

X si N le citesti de la tastatura (that is, doua valori intregi) si nimic altceva ... nu ?
0,0p / 0 votes
User avatar
DarkByte
11011011
 
Joined: 29 Dec 2009
Status: 140

Re: Suma unor vectori la puteri diferite

Postby andreiandreiq » 30 Sep 2010, 20:16

Am folosit vectorul a pentru ca asa cerea problema, sa folosesc un vector. Nici nu am incercat sa fac fara vector, acuma dupa ce ai postat tu am inlocuit vectorul a cu o variabila oarecare, si se pare ca merge.

Ce nu iti este clar cu FOR-ul? Daca nu as folosi FOR-ul, nu as putea sa calculez doar pentru n=1, pe langa asta nu mi-ar ridica X^1,X^2,X^3 etc. adica ceea ce vreau eu.
0,0p / 0 votes
Image
User avatar
andreiandreiq
Word
 
Joined: 30 Dec 2009
Status: 33.33

Re: Suma unor vectori la puteri diferite

Postby smith » 30 Sep 2010, 23:05

Nici eu nu înțeleg de ce folosești vector pentru că citești doar două elemente și apoi tu "îți faci treaba".
Cum zicea și DarkByte, probabil există o formulă ca să scapi de FOR.
Formula este:
Image

Iată și codul în C++
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. using namespace std;
  5.  
  6. double evalExpression1(double x, int n)
  7. {
  8.     double result = 0.0;
  9.     for(int i=1;i<=n;i++)
  10.     {
  11.         result = result+pow(x,i);
  12.     }
  13.     return result;
  14. }
  15.  
  16. double evalExpression2(double x, int n)
  17. {
  18.     double result = 0.0;
  19.     result = (pow(x,n+1)-x)/(x-1);
  20.     return result;
  21. }
  22.  
  23.  
  24. int main(void)
  25. {
  26.     cout<<evalExpression1(2,10);
  27.     cout<<endl;
  28.     cout<<evalExpression2(2,10);
  29.     return 0;
  30. }
0,0p / 0 votes
Ilea Cristian
User avatar
smith
Enum
 
Joined: 29 Dec 2009
Location: Cluj-Napoca
Status: 82


Return to Pascal / Delphi

Who is online

Users browsing this forum: No registered users and 0 guests