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

Olimpiade Sains Kota (OSK) 2012 - Komputer , Nomor 31 - 34

Deskripsi untuk soal nomor 31 - 34

Perhatikan potongan program berikut:

for i := 0 to ((1 shl n) – 1 do
begin
  for j := 0 to n - 1 do
  begin
    if((i and (1 shl j)) <> 0)then
    write('1')
  else
    write('0');
  end;
writeln;
end;
31

Jika kode di atas dijalankan dengan n = 3, maka banyak angka 0 yang dihasilkan oleh instruksi pada baris ke-5 adalah:

A. 5

B. 4

C. 3

D. 2

E. 1

32

Agar keluaran kode di atas sama dengan 1100, maka nilai n yang harus diinput adalah:

A. 5

B. 4

C. 3

D. 2

E. 1

33

Untuk setiap baris hasil keluaran, selisih jumlah angka 1 paling banyak adalah:

A. n*n

B. n*(n-1)/2

C. n

D. log(n)

E. log(n)/2

34

Agar keluaran kode di atas menjadi angka 0 semua pada baris ganjil dan hanya sebuah angka 1 pada baris genap paling kiri, maka baris kelima harus diganti menjadi:

A. if ((i and (1 shl j)) = 1) then

B. if ((i or (1 shl j)) = 0) then

C. if ((j and (1 shl i)) = 1) then

D. if ((j or (1 shl i) = 0) then

E. if ((j xor (1 shl i) = 0) then