Yuk bantu teman kamu belajar dengan menambahkan soal di Kujawab. Klik disini..

Olimpiade Sains Kota (OSK) 2019 - Komputer , Nomor 30 - 31

Deskripsi untuk soal nomor 30 - 31

 
type
    arr= array of integer;
var
    slark : array [0 .. 10] of integer = (26, 12, 10, 17, 20, 14, 44, 35, 5, 24, 33);
    centaur : integer = 5;
function kwekkwok (slark: arr; left,right: integer): integer;
var
    i,j,tmp,pivot:integer;
begin
    i:= left; j:=right; pivot:=slark[(left+right) div 2];
    while (i <= j) do begin
        while (slark[i]<pivot) do
            i:=i+1;
        while (slark[j]>pivot) do
            j:=j-1;
        if (i<=j) then begin
            tmp:=slark[i];
            slark[i]:=slark[j];
            slark[j]:=tmp;
            i:=i+1;
            j:=j-1;
        end;
    end;
    if (slark[centaur]=pivot) then begin
        kwekkwok:=pivot;
    end else if ((left<j) and (centaur>=left) and (centaur<=j)) then begin
        kwekkwok:=kwekkwok(slark, left, j);
    end else if ((i<right) and (centaur>=i) and (centaur<=right)) then
        kwekkwok:=kwekkwok(slark, i, right);
end;

 

 

30

Berapa hasil yang dikembalikan jika dijalankan fungsi kwekkwok(slark, 0, 10)?
a. 5
b. 12
c. 17
d. 20
e. 44

31

Ada berapa kali pemanggilan fungsi kwekkwok pada soal nomor 31?
a. 4
b. 6
c. 8
d. 10
e. 11