12.5.6. Napisati program koji će za učitanu vrijednost N izračunati vrijednost izraza i ispisati::

Opis rješenja: Može se koristiti knan := k; za početnu vrijednost i u ptelji knan := knan * k; II varijanta sadrži uvećanje proizvoda pri svakom prolazu za k: p=p*k*i.

Listing programa:

PROGRAM p12510321;
USES
 WinCRT;
VAR
  i, n, k, knan : Integer;
  znak :-1..1;
  s, p: Real;
BEGIN
  Write('n=');
  Readln(n);
  Write('k=');
  Readln(k);
  znak := 1;
  s := 0;
  knan := k;
  p:=1;
  FOR i:=1 TO n DO
    BEGIN
      p := p * i;
	  knan := knan * k;
      s := s + znak * knan * p;
      znak := -znak;
    END;
  Writeln('s=',s:4:0);
END.
II Varijanta
PROGRAM p12510321_2; USES WinCRT; VAR i,n, k: Integer; s, p, s1, s2 : Real; BEGIN Write('k='); Readln(k); Write('n='); Readln(n); s := 0; s1:=0; s2:=0; p:=1; FOR i:=1 TO n DO BEGIN p:=p*k*i; IF i mod 2 <>0 THEN s1 := s1 + p ELSE s2 := s2 + p; END; s:=s1-s2; Writeln('s=',s:4:2); END.

Ispis na ekranu:

Index