Bantu temanmu belajar dengan menambahkan soal di Kujawab. Klik disini..

Olimpiade Sains Kota (OSK) 2012 - Komputer , Nomor 37 - 39

Deskripsi untuk soal nomor 37 - 39

Perhatikan potongan program berikut:

procedure swap(a,b,c:integer);
var
 temp : array[1..20]:integer;
 i,j : integer;
begin
 j := 1;

 for i := b+1 to c do
 begin
   temp[j] := x[i];
   j := j+1;
 end;

 for i := a to b do
 begin
   temp[j] := x[i];
   j := j+1;
 end;

 j := 1;

 for i := a to c do
 begin
   x[i] := temp[j];
   j := j+1;
 end;
end;
37

Jika array x berisi (1,2,3,4,5,6). Dan dilakukan pemanggilan swap(2,4,6) maka akan menghasilkan output :

A. 1,6,5,4,3,2

B. 1,5,6,4,2,3

C. 1,4,5,6,2,3

D. 1,5,6,2,3,4

E. 1,2,5,6,3,4

38

Jika array x berisi (6,4,3,5,1,2). Dan dilakukan pemanggilan swap(1,2,4) dan swap(3,4,5) maka akan menghasilkan output :

A. 3,5,1,4,6,2

B. 4,3,1,5,6,2

C. 1,3,6,4,5,2

D. 4,3,5,1,6,2

E. 3,5,1,6,4,2

39

Jika array x berisi (5, 8, 10, 11, 25, 30, 33, 42, 49, 54, 63, 64, 66, 75, 78, 84, 93, 96). Dan diinginkan baris tersebut tersusun terbalik. Berapa kali minimal pemanggilan swap dilakukan?

A. 16

B. 17

C. 18

D. 19

E. 20