8.2.. Napisati program za ispis sume reciprocnih vrijednosti prvih n prirodnih brojeva (harmonijski niz: 1 + 1/2 + 1/3 + ... + 1/n).
Opis rješenja: Iz teksta zadatka slijedi:
Tekst zadatka: |
Suma harmonijskog niza |
prirodnih brojeva |
od k |
do n |
Elementi rješenja |
Suma s |
Kontrolna varijabla i |
Kontrolna varijabla i |
Logički izraz ponavljanja |
Ulaz |
|
|
k? |
n? |
Početna vrijednost |
s = 0 |
|
i = k |
|
Ponavljanje |
|
i = i + 1 |
|
i <= n |
Obrada |
s = s + 1 / i |
|
|
|
Izlaz |
s |
|
k |
n |
Grafički dijagram toka |
Tekstualni algoritam |
|
- učitati do kog broja se izvodi sabiranje (n)
- početna vrijednost sume s (s=0)
- početna vrijednost za i (i = 1)
- dok je i manje ili jednako n (i<=n) pređi na slijedeće korake; inače idi na nastavak programa (korak 8)
- formirati novu sumu dodavanje recipročne vrijednosti na staru vrijednost sume(s=s+1/i)
- uvećaj vrijednost kontrolne promjenljive (i=i+1)
- idi na korak 4
- ispisati granicu (n) i izračunatu vrijednost sume s
- kraj
|
Izvršavanje:
n? 20
S = 0
i = 1 1/i= 1 S = 1
i = 2 1/i= 0,5 S = 1,5
i = 3 1/i= 0,333333333 S = 1,833333333
i = 4 1/i= 0,25 S = 2,083333333
i = 5 1/i= 0,2 S = 2,283333333
i = 6 1/i= 0,166666667 S = 2,45
i = 7 1/i= 0,142857143 S = 2,592857143
i = 8 1/i= 0,125 S = 2,717857143
i = 9 1/i= 0,111111111 S = 2,828968254
i = 10 1/i= 0,1 S = 2,928968254
i = 11 1/i= 0,090909091 S = 3,019877345
i = 12 1/i= 0,083333333 S = 3,103210678
i = 13 1/i= 0,076923077 S = 3,180133755
i = 14 1/i= 0,071428571 S = 3,251562327
i = 15 1/i= 0,066666667 S = 3,318228993
i = 16 1/i= 0,0625 S = 3,380728993
i = 17 1/i= 0,058823529 S = 3,439552523
i = 18 1/i= 0,055555556 S = 3,495108078
i = 19 1/i= 0,052631579 S = 3,547739657
i = 20 1/i= 0,05 S = 3,597739657
Index
|
|