8.3.. Izračunati i ispisati sumu prvih n prirodnih brojeva. Koristiti REPEAT petlju.
Opis rješenja: Početna vrijednost varijable s (suma) je 0, a kontrolne varijable i jedan (1). Vrijednost sume s se uvećava za vrijednost kontrolne varijable i (s+i=0+1=1). Izračunata vrijednost se pridružuje varijabli s sa izrazom (s=s+i) (odnosno s:=s+i). Vrijednost kontrolne varijable i se uvećava za 1 te se dodaje na vrijednost sume s (s+i=1+2=3). Ovo je nova vrijednost sume s. Proces uvećanja kontrolne varijable i i dodavanja na vrijednost sume se ponavlja sve dok je vrijednost kontrolne varijable i manja ili jednaka n.
Opis programa: Vrijednost varijable n (koliko će se sabrati brojeva) se upisuje na početku. Zatim se postavljaju početne vrijednosti varijable s (s:=0) i varijable i (i:=1). REPEAT petlja počinje sa izrazom s:=s+i. Računar izvodi prvo desni dio ovog izraza. Vrijednost varijable s se uvećava za vrijednost varijable i (s+i). Ova vrijednost se pridružuje varijabli s. Zatim se uvećava vrijednost varijable i. Petlja se ponavlja sve dok vrijednost varijable i ne bude veća od n. Izračunata vrijednost s se ispisuje na kraju programa.
Postavljanje početne vrijednosti sume je u liniji 8, a uvećanje vrednosti sume je u liniji 11. Ispis vrijednosti sume u liniji 14.
Tabela 8.30. Suma do n
** |
Listing programa |
Ekran |
Opis |
1 |
PROGRAM Suma_1_n; |
|
Naslov programa |
2 |
VAR |
|
Promjenljive |
3 |
i, n, s : Integer; |
|
|
4 |
BEGIN |
|
Početak programa |
5 |
WRITELN('Suma 1_n'); |
1-n |
Naslov |
6 |
WRITE('Do broja '); |
Do broja |
|
7 |
READLN(n); |
3 |
|
8 |
s := 0; |
|
Početne vrijednosti sume |
9 |
i:= 1; |
|
Početne vrijednosti i |
10 |
REPEAT |
|
Početak petlje |
11 |
s: = s + i; |
|
Uvećanje sume |
12 |
i := i + 1; |
|
Slijedeći |
13 |
UNTIL i>n; |
|
? Kraj petlje |
14 |
WRITELN('Suma 1_ ',n,' je ',s); |
Suma 1_3 je 6 |
Ispis sume |
Listing programa:
PROGRAM p08312001;
{suma prvih N prirodnih brojeva}
USES
WinCrt;
VAR { deklarisanje promjenljivih }
i, n, s : Integer; { cjelobrojne promjenljive }
BEGIN
WRITELN('Suma 1_n');
WRITE('Do broja ');
READLN(n);
s := 0; { pocetna vrijednost sume }
i:=1; { pocetna vrijednost kontrolne varijable }
REPEAT { pocetak repeat petlje - radi/ponavljaj }
s := s + i; { suma s postaje stara vrijednost sume uvecana za vrijednost i }
i := i + 1; { slijedeca vrijednost kontrolne varijable i }
UNTIL i > n; { ponavljaj sve dok nebude i > n - kraj repeat petlje }
WRITELN('Suma 1_ ',n,' je ',s);
END.
Ispis na ekranu:
Index
|
|