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

Olimpiade Sains Provinsi (OSP) 2010 - Komputer , Nomor 34 - 37

Deskripsi untuk soal nomor 34 - 37

var D:array[0..6] of char = ('A','B','C','D','E','F','G'); 

// procedure untuk menukarkan isi array D[a] dan D[b] 
procedure swap(a: integer; b: integer); 
var tmp: char; 
begin 
  ...... // perintah-perintah untuk menukarkan 
end; 

// procedure untuk mencetak isi array dalam satu baris. 
procedure printarray; 
var i: integer; 
begin 
  ........ // perintah-perintah untuk mencetak 
end; 

procedure ZZ(m: integer); 
var i: integer; 
begin 
  if (m <= 0) then 
    printarray 
  else 
  begin 
    ZZ(m-1); 
    for i := m-2 downto 0 do 
    begin 
      swap(i,m-1); 
      ZZ(m-1); 
      swap(i,m-1); 
    end; 
  end; 
end;
34

Jika swap(a,b) dimaksudkan untuk menukarkan isi array D[a] dengan D[b], tuliskan perintahperintah yang seharusnya ada di bagian ". . . . . . . . ." di dalam procedure swap tersebut. 

35

Pada pemanggilan ZZ(3), berapa kali procedure printarray akan dipanggil?

36

Misalkan ZZ(8) dijalankan di suatu computer selama 1 detik, kira-kira berapa lama ZZ(10) dijalankan? 

37

Sebutkan SATU KATA saja yang menunjukkan proses apa yang dilakukan pseudocode ini pada data dalam array ?