8.3.. Naći proizvod prirodnih brojeva u intervalu od k do n, koristiti REPEATpetlju.

Opis rješenja: Proizvod se izračunava u izrazu p*i. Početna vrijednost proizvoda je 1, to je jedinični element za operaciju množenja.Pri izvođenju programa računar množi vrijednosti varijabli p i i (p*i=1*k=1). Ova vrijednost se pridružuje varijabli p. Zatim se uvećava vrijednost varijable i za jedan (i=k+1). Ponovo se izvodi množenje varijabli i i p, te se izračunata vrijednost pridružuje varijabli p. Proces se ponavlja sve dok je i manje ili jednako n.

Opis programa: Prvo se upisuju granice intervala k i n, provjerava se da li je donja granica manja od gornje. Slijedi postavljanje početnih vrijednosti proizvoda p (p:=1) i kontrolne varijable i (i:=k). Prva naredba u REPEAT petlji je formiranje proizvoda (p:=p*i). Izračunata vrijednost se pridružuje proizvodu p. Slijedi uvećanje vrijednosti kontrolne varijable i (i:=i+1). Provjera ponavljanja se izvodi sa naredbom UNTIL. Ispis izračunatog proizvoda je na kraju.

Tabela 8.11. Proizvod prirodnih brojeva od k do n

Tekstualni algoritam 

Listing programa:

Ekran

 

PROGRAM 08311007;

 

 

VAR

 

 

 i, k, n, p:Integer;

 

 

BEGIN

 

 

  REPEAT

 

 

   Write('Granice');

 

1. upis granice intervala (k,n)

    Readln(k, n);

Granice 3 5

2. ako su pogrešne granice (k>n), idi na 1

  UNTIL k<n;

 

3. početna vrijednosti

  i := k;

 

 

  p := 1;

 

 

  REPEAT

 

4. formirati novi proizvod (p=p*i)

    p := p * i;

 

5. uvećati i (i=i+1)

    i := i + 1;

 

5. ako je i<=n tada idi na 4

  UNTIL i > n;

 

6. ispisati izračunati proizvod

Writeln('Od ', k, ' do ', n, ' prizvod prirodnih brojeva je   ',p);

Od 3 do 5  prizvod prirodnih brojeva je 60

 

END.

 

Listing programa :

PROGRAM p08312042;
USES
  WinCrt;
VAR
  i, n, p: Integer;
BEGIN
  WRITE('Od broja  ');
  READLN( k );
  WRITE('Do broja  ');
  READLN( n );
  p := 1;
  i := k;
  REPEAT
    p := p * i;
    i := i + 1;
  UNTIL i > n;
  Writeln('Od ', k, ' do ', n, ' prizvod prirodnih brojeva je   ',p);
END.

Index