ukoliko bi program glasio ovako ....
program:
program ciklus;
var
i,j,k,n,p,r: integer;
begin
read(k,p,r);
n:=1;
j:=0;
while(j<3) do
begin
for i:=p downto r do
n:=n + k;
k:= 2k + sqr(j-1) + n;
j := j+1;
end;
writeln (k);
end.
resenje bi bilo ....
- naredbom read(k,p,r); bi trebalo jedan za drugim da uneses tri cela broja preko tastature odvajajuci ih enterima .... recimo za k 5 ... za p 3 ... i za r 7
- n dobija vrednost 1 a j dobija vrednost 0 ...
- while(j<3) do ... sve dok je j manje od 3 radi ...
begin
for i:=p downto r do
n:=n + k;
k:= 2k + sqr(j-1) + n;
j := j+1;
end;
- for i:=p downto r do .... od i je p snizavajuci do r radi n:=n + k ... u nasem slucaju p je 3 a r je 7 ... sto znaci da se nece uraditi nista .... odnosno da postavka zadatka nije dobra jer je trebalo naglasiti da r mora biti manje od p .... .... da bi ipak zavrsio zadatak kako treba uzecu da je p 7 ... r 3 ... a k cu ostaviti 5 ... znaci ti ces uneti redom na pocetku zadatka 5 za k .. 7 za p i 3 za r ... umesto prvobitnih 5 za k .. 3 za k i 7 za r ........ dalje sledi ... od 7 smanjujuci do 3 .... n=n+k ... odnosno n je u prvom koraku 1 + 5 ... u drugom p je 6 r je 3 n je 6 + 5 ... u trecem p je 5 r je 3 n je 11 + 5 .... u cetvrtom ... p je 4 r je 3 n je 16 + 5 ... u petom p je 3 r je 3 n je 21 + 5 ... odnosno n je 26
- k:= 2k + sqr(j-1) + n; ... prvo ukazujem na jos jednu gresku .... 2k nije nista ... u postavci treba da pise 2*k da bismo racunali kao 2 puta k .... .... ja cu u daljem resavanju smatrati da je to puta .... k je 2 puta 5 + -1 puta -1 + 26 ... odnosno k je 37 .... sqr od x .... sintaksa sqr(x) je ustvari kvadrat od x ... odnosno x puta x ... x*x ... podsecanja radi .... sqrt od x je koren od x ....
- i na kraju j se povecava za 1 .. odnosno dobija vrednost 1 .... za koju ti opet na isti nacin od pocetka radis petlju ....
begin
for i:=p downto r do
n:=n + k;
k:= 2k + sqr(j-1) + n;
j := j+1;
end;
iz razloga sto je j 1 a 1 je manje od 3 ... while(j<3) do .... isto to ces raditi i za 2 ...
... kontrolni rezultati za j je 1 su ti ...
n je 26 k je 37
7 3
26+37
6 3
63 +37
5 3
100 +37
4 3
137 +37
3 3
174 +37
n je sad 211 k je 37
k je 74 +0 + 211
k je 285
j je 2
.... kontrolni rezultati za j je 2 su ti ...
n je 211 k je 285
7 3
211 +285
6 3
496 + 285
5 3
781 + 285
4 3
1066 +285
3 3
1351 + 285
n je sad 1636 k je 285
k je 570 + 1 + 1636
k je 2207
j je 3
.... rezultat koji ce komadnda .... writeln(k); ispisati na ekranu u slucaju k je 5 .. p je 7 .. r je 3 je .... 2207 ...
... eto ... djabe sam pisao ... steta sto nisam video ranije ... a razocaranje ti je opravdano ... ipak da prokomentarisem do kraja ....
postavka zadatka nije dobra jer je trebalo naglasiti da r mora biti manje od p
da me neko ne bi pogresno razumeo ... u slucaju da je .... ne kazem da se program ne bi izvrsio u slucaju da je r vece od p ... cak naprotiv ... dobilo bi se resenje .... ali ...
u tom slucaju ...
for i:=p downto r do
n:=n + k;
nema nikakvog smisla jer se nikad ne izvrsava ... ne ulazi se u tu petlju .... a samim tim i n se u datom slucaju nikada ne menja ... te ga nije potrebno ni pominjati ... dovoljno bi bilo i .... k:= 2*k + sqr(j-1) + 1; .... umesto k:= 2*k + sqr(j-1) + n; .... ili isto tako glupo ali opet bolje nego u datoj postavci ... na pocetku staviti const n:=1; a n:=1 izbaciti ... .... sve u svemu sledi ... da je zadatak takav kakav je besmislen ....
u slucaju za k je 5 ... za p je 3 ... i za r je 7 kontrolni rezultati bi bili ...
n je 1 .. j je 0 .. k je 5
k je 12
j je 1
n je 1 .. je je 1 .. k je 12
k je 25
j je 2
n je 1 .. j je 2 .. k je 25
k je 52
j je 3
rezultat ispisan na ekranu bio bi ... 52
a za one koji me nisu razumeli .. ili nemogu da se snadju u gore napisanom ... evo i kod programa koji daje kontrolne rezultate po koracima ....
program ciklus;
uses crt;
var
i,j,k,n,p,r: integer;
begin
clrscr;
read(k,p,r);
n:=1;
j:=0;
while(j<3) do
begin
for i:=p downto r do
begin
n:=n + k;
writeln (i,' ',r,' ',k,' ',n);
end;
writeln

;
k:= 2*k + sqr(j-1) + n;
writeln (k);
j := j+1;
writeln (j);
end;
writeln (k);
end.
...
toliko od mene .... drugi zadatak nema potrebe da radim ... prvo jer je laksi .. a drugo jer coveku vise ne treba ....