OSP 2013

Perhatikan potongan program di bawah ini, untuk soal no 48 dan 49
function flop(a,b:longint):longint;
forward;

function flip(a,b:longint):longint;
begin
    if (a = 0) then 
        flip:=0
    else 
        flip:=a+flop(a-1,b);
end;

function flop(a,b:longint):longint;
begin
    if (b = 0) then 
        flop:=0
    else 
        flop:=b+flip(a,b-1);
end;
  1. Berapakah nilai yang dihasilkan dari pemanggilan fungsi flip(4,7)?

  2. Berapakah nilai yang dihasilkan dari pemanggilan fungsi flop(100,200)?


    Fungsi flip dan flop akan menambahkan a dan b dari nilai semula sampai salah satunya bernilai 0. Flip menggunakan nilai a, sedangkan flop menggunakan nilai b.

  1. Jika nilai awal a = 4 dan b = 7, maka nilai yang dihasilkan akan sama dengan:
    flip = (4 + 7) + (3 + 6) + (2 + 5) + (1 + 4) + flip(0,3) = 32.

  2. Untuk flop:
    flop(100,200) = (200 + 100) + (199 + 99) + (198 + 98) + … + (101 + 1) + flop(0,100)
    = (200 + 1) + (199 + 2) + (198 + 3) + … + (101 + 100) + flop(0,100).
    Perlu diketahui bahwa flop(0,100) akan bernilai 100, sedangkan flip(0,100) bernilai 0, sehingga flop(100,200) = 201*100 + 100 = 20200.

Share Now:

5 2 votes
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!