Perhatikan potongan algoritma berikut ini

j := 2;

for i := 0 to 10 do begin
if j > 0 then writeln(‘ok’);
j := 5 - (j*2);
end;

32. Berapa kalikah pencetakan keluaran ‘ok’ dilakukan oleh potongan program itu?


      a. 7
      b. 3
      c. 5
      d. 6
      e. 4

jawaban: A, pembahasan:


i yang ke-    harga awal j          cetak    harga akhir j
i=0                  j=2 maka j>0          ok           j=1
i=1                   j=1 maka j>0         ok           j=3
i=2                   j=3 maka j>0         ok           j=-1
i=3                   j=-1                                          j=7
i=4                   j=7 maka j>0         ok           j=-9
i=5                   j=-9                                          j=23
i=6                   j=23 maka j>0       ok          j=-41
i=7                   j=-41                                        j=87
i=8                   j=87 maka j>0       ok           j=-169
i=9                   j=-169                                      j= 343
i=10                 j=343 maka j>0     ok          j=-681

33. Berapakah harga j setelah keluar dari iterasi for tersebut?
a. 681
b. 600
c. -681
d. -702
e. -101
jawaban: C, Pembahasan sama persis seperti di atas