OSP 2012

Potongan program berikut ini merupakan pseudocode untuk soal nomor 41-42
function xxx(x:longint):longint;
begin
    xxx:=x*x;
end;
function xyz(x,y:longint):longint;
begin
    if(y = 1)then
        xyz:=x
    else if ((y mod 2) = 0) then
        xyz:=xxx(xyz(x, y div 2))
    else
        xyz:=x*xyz(x,y-1);
end;
  1. Untuk pemanggilan xyz(2,12) akan menghasilkan nilai berapa?

  2. Jika fungsi xyz dipanggil dengan nilai argumen y=100, berapa kalikah fungsi xyz ini akan dieksekusi?


    Sebenarnya soal ini memiliki konsep yang sama dengan soal nomor 35-36, hanya saja tidak dengan operasi mod.

  1. xyz(x,y) = xy
    xyz(2,12) = 212 = 4096.

  2. Pemanggilan dengan y=100 akan memanggil y = 50, 25, 24, 12, 6, 3, 2, 1.
    Dengan demikian terdapat 9 kali eksekusi fungsi (termasuk ketika y = 100).

Share Now:

5 1 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments

Langganan

Subscribe To Our Newsletter

0
Would love your thoughts, please comment.x
()
x

Follow TikTok Kami @cahinfor

Pembahasan soal tahun 2023 sudah tersedia di TikTok Kami loh!