Soal dan Pembahasan OSK Komputer 2014

Perhatikan potongan program berikut untuk soal nomor 42 dan 43

procedure callfoo(var a : integer; b : integer);
var p,q : integer;
begin
if (b ≤ 2) then
	a := 1
	else begin
		callfoo(p,b-1);
		callfoo(q,b-2);
		a := p + q;
	end;
end;

var x,y : integer;
begin
	x := ...; y := ... ; {inisialisasi}
	callfoo(x,y);
	writeln(x);
end.
  1. Apakah output program jika inisialisasi x := 0; y := 5; ?

      1. 5
      2. 10
      3. 15
      4. 20
      5. 25
  2. Apakah output program jika inisialisasi x := 0; y := 12; ?

      1. 12
      2. 24
      3. 48
      4. 72
      5. 144

    Pada prosedur callfoo, jika parameter kedua bernilai 1 atau 2,
    maka nilai a (parameter pertama) = 1. Selain itu, prosedur
    akan melakukan rekursi dan menjumlahkan hasil parameter pertama.
    Ini sama seperti bilangan fibonacci.
    Jadi urutan bilangan itu adalah
    1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,…

  1. Karena nilai awal x = 0 dan y = 5, maka
    program akan mencetak fibonacci ke-5 + x
    = 5 + 0 = 5 (A).
  2. x = 0, y = 12, maka program akan
    mencetak fibonacci ke-12 + 0
    = 144 (E).

Share Now:

5 1 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x

Follow TikTok Kami @cahinfor

Pembahasan soal tahun 2023 sudah tersedia di TikTok Kami loh!