Jump to content

Pascal uzdevums - aritmētiskā progresija


iuzy
 Share

Recommended Posts

Jāizveido programma, kas izvada aritmētiskas progresijas pirmos n elementus. 1.locekli, diferenci un progresijas locekļu skaitu ievada lietotājs.

Pagaidām programma izvada tikai 1.locekli un tā vērtību, kas trūkst?

program progresija;
var a,dif,rez:real;
    n,i:byte;
begin
    write('Ievadiet aritmetiskas progresijas 1.locekli: ');
    readln(a);
    write('Ievadiet aritmetiskas progresijas diferenci: ');
    readln(dif);
    write('Ievadiet aritmetiskas progresijas loceklu skaitu: ');
    readln(n);

    rez:=0;
    n:=1;
    while i<=n do
         begin
         rez:=a+(n-1)*dif;
         i:=n+1;
         end;
    writeln(a:2:0,'. loceklis: ',rez:8:2);
    readln;
end.
Link to comment
Share on other sites

While ciklā tu kā skaitītāju izmanto mainīgo i, bet i vērtība visu laiku ir nemainīga, jo n vērtība nemainās. Proti i:=n+1 ir konstants lielums, jo n=1. Pareizi būtu i:=i+1 un pirms cikla vajadzētu i piešķirt vērtību.

 

Edit: Rindiņā pirms while cikla vērtība jāpiešķir i, nevis n.

Labots - Fiasco
Link to comment
Share on other sites

Pati pamanīju vēl vienu kļūdu - pēdējā izvades rindā "a" vietā jābūt "n", kas norāda locekļa kārtas skaitli.

 

Gala beigās programmai jāizvada visas progresijas no 1. līdz n loceklim - šobrīd izvadās tikai pēdējā, tā ka krītu no viena grāvja otrā...

Labots - iuzy
Link to comment
Share on other sites

Izveido kontu, vai pieraksties esošajā, lai komentētu

Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas

Izveidot jaunu kontu

Piereģistrējies un izveido jaunu kontu, tas būs viegli!

Reģistrēt jaunu kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share

×
×
  • Izveidot jaunu...