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;
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.
Pada pemanggilan ZZ(3), berapa kali procedure printarray akan dipanggil?
Misalkan ZZ(8) dijalankan di suatu computer selama 1 detik, kira-kira berapa lama ZZ(10) dijalankan?
Sebutkan SATU KATA saja yang menunjukkan proses apa yang dilakukan pseudocode ini pada data dalam array ?