Instructiunea repeat {Pascal}

Rezolvarea problemelor de matematica prin realizarea unor programe.
resort
utilizator
utilizator
Mesaje: 34
Membru din: 24 Feb 2008, 14:41

Instructiunea repeat {Pascal}

Mesaj de resort » 20 Ian 2012, 23:47

Sa se rezolve intr-un singur program problemele propuse, daca la intrare se introduce numai o singura data un numar n>0, integer:
Calculati sumele
a) s1=1*2+2*3+3*4+...+(n-1)*n
b) s2=1+1*2+1*2*3+...+1*2*3*...*n
c) s3=12+22+32+42+...+n2
d) s4=21+22+23+24+...+2n
e) s5=-1+2-3+4-5+6-7+...+n
f) s6=1/2+2/3+3/4+4/5+...+n/(n+1)

Daca ma poate ajuta cineva puteti si fara sa faceti intrun program tot. Eu fac singur
Ultima oară modificat 22 Ian 2012, 14:15 de către resort, modificat 1 dată în total.

Avatar utilizator
Cosmin_NTG
junior
junior
Mesaje: 240
Membru din: 23 Aug 2010, 13:46
Localitate: Bucuresti

Mesaj de Cosmin_NTG » 21 Ian 2012, 17:11

Aici se lucreaza frumos cu contorul.
In pseudocod se face asa:

Cod: Selectaţi tot

pentru&#58; contor<-1, pana la n, executa&#58;
S=S+contor*&#40;contor+1&#41;;
Asta pentru prima suma.
In C++ ar arata cam asa:

Cod: Selectaţi tot

for&#40;int i=1; i<=n; i++&#41;
S+=i*&#40;i+1&#41;;
La b)

Cod: Selectaţi tot

for&#40;int i=1; i<=n; i++&#41;
&#123;  for&#40;int j=1; j<=i; j++&#41;
    &#123;  p*=j; &#125;
    S=S+p;
&#125;
Nu am verificat aceste instructiuni dar pe ansamblu cam asa se lucreaza.
La celelalte, incearca sa gandesti si sa le rezolvi singur. Daca nu te descurci, say it![/code]
Ultima oară modificat 21 Ian 2012, 23:15 de către Cosmin_NTG, modificat 1 dată în total.

Blaugranas

Mesaj de Blaugranas » 21 Ian 2012, 18:50

La b) ai gresit.... Inainte de a incepe al 2-lea for... tb p initializat cu 1, + e p*=j nu i.
O varianta mai simpla e urmatoarea:
p=1;
for(int i=1;i<=n;i++)
{p*=i; s+=p;}

cipry13
utilizator
utilizator
Mesaje: 57
Membru din: 08 Ian 2012, 13:04

Mesaj de cipry13 » 21 Ian 2012, 20:51

la c)

Cod: Selectaţi tot

s3=0;
for&#40;i=1;i<=n;i++&#41;
  s3+=i*10+2;
la e)

Cod: Selectaţi tot

s5=0;k=-1;
for&#40;i=1;i<=n;i++&#41;&#123;
  s5+=i*k;
  k*=&#40;-1&#41;;&#125;
la f)

Cod: Selectaţi tot

float s6=0;
for&#40;i=1;i<=n;i++&#41;
  s6+=&#40;i/&#40;i+1&#41;&#41;;
Nu le'am testat in C++ dar nu cred sa fii gresit ceva.

Avatar utilizator
Cosmin_NTG
junior
junior
Mesaje: 240
Membru din: 23 Aug 2010, 13:46
Localitate: Bucuresti

Mesaj de Cosmin_NTG » 21 Ian 2012, 23:17

Da, ai dreptate. Am modificat. N-am mai pus p=1 pentru ca am crezut ca se subantelege. Data viitoare o sa pun tot codul.

Blaugranas

Mesaj de Blaugranas » 22 Ian 2012, 00:35

Impresionant. Mai cipry13 am crezut ca esti bun numai la postat si propus probleme. Vad ca stii si limbajul C/C++. Sau asta e un fel de intro pt o prb de info pe care vrei s-o propui? :D
P.S. Cosmin vezi ca nu se subintelege... pt ca nu e inainte de primul for... e chiar intre for-uri. Cu alte cuvinte e foarte important acel p=1 pus unde tb.

Blaugranas

Mesaj de Blaugranas » 22 Ian 2012, 10:42

c) O varianta mai simpla.
s=0;
for(i=12;i<93;i+=10)
s=s+i;
d)
s=0;
for(i=21;i<30;i++)
s=s+i;
e)
s=0;
for(i=1;i<=n;i+=2)
s++;
if(n%2==1)
s-=n;
sau
s=0;
for(i=1;i<=n;i++)
if(i%2==1)
s-=i;
else
s+=i;

resort
utilizator
utilizator
Mesaje: 34
Membru din: 24 Feb 2008, 14:41

Mesaj de resort » 22 Ian 2012, 14:14

baieti mersi mult dar ati putea in pascal sa faceti aceasta?

resort
utilizator
utilizator
Mesaje: 34
Membru din: 24 Feb 2008, 14:41

Mesaj de resort » 22 Ian 2012, 14:16

ca eu nu invat C++

cipry13
utilizator
utilizator
Mesaje: 57
Membru din: 08 Ian 2012, 13:04

Mesaj de cipry13 » 22 Ian 2012, 16:10

Blaugranas scrie:Impresionant. Mai cipry13 am crezut ca esti bun numai la postat si propus probleme. Vad ca stii si limbajul C/C++. Sau asta e un fel de intro pt o prb de info pe care vrei s-o propui? :D
P.S. Cosmin vezi ca nu se subintelege... pt ca nu e inainte de primul for... e chiar intre for-uri. Cu alte cuvinte e foarte important acel p=1 pus unde tb.
Nu e intro pentru nicio problema. Ma stiu cat de cat la informatica, in clasa a 5'a si a 8'a am fost la ONI, acum sunt a 10'a . Am alte site'uri pe care lucrez [banuiesc ca nu pot sa le zic pentru ca se considera reclama] :?:

Blaugranas

Mesaj de Blaugranas » 22 Ian 2012, 17:35

Poti sa zici in privat daca tii musai sa zici, daca nu ... cum vrei.

Scrie răspuns