12.73.-1 Napisati program za izračunavanje sume niza:
1 - 1/2 + 1/3 -+ ... -+ 1/n
Opis rješenja: Imamo n sabiraka, i formiramo sumu od sabiraka. Predznak pri sabiranju se posebno izračunava svakom prolazu (znak).
Listing programa |
Ekran |
Opis |
PROGRAM Suma_1_n; |
|
Naslov programa |
VAR |
|
Promjenljive |
i, n, znak: INTEGER; |
|
|
s : REAL; |
|
|
BEGIN |
|
|
WRITELN('Suma 1/i'); |
Suma 1/i |
Naslov programa |
s := 0; |
|
Početna vrijednost sume s |
znak := 1; |
|
Znak je pozitivan |
WRITE('Do broja '); |
Do broja |
|
READLN(n); |
3 |
|
IF n <1 THEN WRITELN('Nekorektan unos'); |
|
Provjera upisane vrijednosti
Nekorektna vrijednost |
ELSE |
|
Ispravna |
BEGIN |
|
|
FOR i := 1 TO n DO |
|
Promjena i |
BEGIN |
|
|
s:=s+znak*1/i; |
|
Uvećanje sume |
znak := -znak; |
|
Promjena predznaka |
END; |
|
|
WRITELN ('Suma +- 1/i =',s:7:5); |
Suma +-1/i= 1.33333 |
Ispis sume |
END; |
|
|
END. |
|
Kraj programa |
Listing programa:
PROGRAM Suma_1_n;
USES
WinCrt;
VAR
i, n, znak: INTEGER;
s : REAL;
BEGIN
WRITELN('Suma 1/i');
s := 0;
znak := 1;
WRITE('Do broja ');
READLN(n);
IF n < 1 THEN WRITELN('Nekorektan unos');
ELSE
BEGIN
FOR i := 1 TO n DO
BEGIN
s:=s+znak*1/i;
znak := -znak;
END;
WRITELN ('Suma +- 1/i =',s:7:5);
END;
END.
Index
|
|