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;
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
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
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