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

Olimpiade Sains Kota (OSK) 2008 - Komputer , Nomor 48 - 50

Deskripsi untuk soal nomor 48 - 50

Diberikan kode program berikut ini:

var
 zzz: integer;
 junk: integer;
function ab(a, b: integer):integer;
begin
 inc(zzz);
 if (b<a) then
 begin
 ab:=a*b
 end else
 begin
 ab:=ab(a+1, b-1);
 end;
end;
function xyz(x, y, z: integer):integer;
var
 t: integer;
begin
 inc(zzz);
 t:=ab(x, z);
 xyz:=ab(t, y);
end;Soal Bidang Informatika Halaman 13 OSK 2008
{ program utama }
begin
writeln(xyz(10, 20, 30));
end.
48

Keluaran program adalah:

a. 7980

b. 6000

c. 9060

d. 4680

e. 1370

49

Manakah dari pemanggilan berikut yang akan menghasilkan nilai 2?

a. writeln(xyz(1, 1, 2));

b. writeln(xyz(2, 4, 2));

c. writeln(xyz(1, 3, 1));

d. Ada lebih dari satu jawaban benar

e. Tidak ada jawaban benar

50

Apabila program utama diganti menjadi:

begin
 zzz:=0;
 junk := xyz(10, 20, 30);
 writeln(zzz);
end.

maka, keluaran program adalah...

a. 15

b. 12

c. 13

d. 16

e. 14