Diberikan program seperti di bawah ini. Berapakah output dari program tersebut? {tuliskan jawaban sesuai dengan output yang dihasilkan}
var i,j,k,sum:integer;
begin
sum:=0;
for i:= 1 to 10 do
begin
j:=0; k:=i;
while (k>0) do
begin
sum:=sum+j+k;
j:=j+1; k:=k-1;
end;
end;
writeln(sum);
end.
pada soal, perulangan while akan diulangi sebanyak k kali. dan penjumlahan j + k akan selalu bernilai k pada setiap perulangan karena j akan menjadi (j+1) dan k akan menjadi (k - 1), dan hasil penjumlahan menjadi (j + k), dimana j dan k berisi nilai di awal.
sehingga diperoleh 1*1 + 2*2 + 3*3 + ... + 10*10. dengan menggunakan Sigma i2 , dan maka dihasilkan 385
Jika ingin mendownvote, jangan lupa juga untuk komen tentang kesalahannya. That'll be helpful for everyone, don't let that be a habit.
Sebenarnya bisa anda buktikan bahwa untuk setiap iterasi ke- pada for-loop, nilai dari
akan selalu konstan dan nilainya selalu sama dengan
. Hanya saja while-loop (while (k > 0) do ...) ini melakukan iterasi sebanyak
kali, dan sum ditambahkan
sebanyak
kali yang sehingga untuk
, program tersebut akan mengeluarkan output
Pertambahan ini mempunyai rumus tersendiri, yaitu . Substitusi
, akan didapat 385.
Masuk untuk menulis jawaban
sama aj dg 1^2 + 2^2 + 3^2 +.....+n^2
nah skrg i nya 10
sub n = 10
jadinya 1^2 + 2^2 + 3^2 + ...... + 10^2
= 385
bukannya lebih mudah dg 1^2 + 2^2 + 3^2 +...,, dari pd pakai sigma??
pakai aj rumus mtknya