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

Olimpiade Sains Provinsi (OSP) 2011 - Komputer , Nomor 35 - 37

Deskripsi untuk soal nomor 35 - 37

Perhatikan program berikut:

var
mm,r,x,h : integer;
larik : array[1..10] of integer;

{ dengan instruksi sebagai berikut: }
function D(y,z:integer):boolean; forward;
procedure C(r:integer); forward;
procedure B(r:integer); forward;
procedure A; forward;
procedure main(m: integer); forward;

{ pemanggilan function / procedure dapat dilakukan dengan benar tanpa memperdulikan
 urutan penulisan fungsi }

function D(y,z:integer):boolean;
begin
  r:=32767;
  if ((y=0) or (z=0)) then
    D:= (y=0)
  else if (r=32767) then
    D:=D(y+1,z+1);
end;

procedure C(r:integer);
begin
  x:=larik[r];
  if D(x-mm,h-mm) then h:=x;
  B(r-1);
end;

procedure B(r:integer);
begin
  if (r<>0) then C(r);
end;

procedure A;
begin
  B(r);
  writeln(h);
end;

procedure main(m: integer);
begin
  mm:=m;
  h:=-m;
  r:=10;
  A;
end;
35

Misalkan variable larik yang merupakan array dan setiap elemennya diisi sehingga bernilai sebagai berikut: 2,3,1,4,9,-1,7,-9,-2,5.

Pada program berikut ini, apakah output yang tampil di layar?

begin
  main(10);
end.
36

Misalkan setiap elemen larik diisi sehingga bernilai sebagai berikut: 12,33,1,49,9,-11,7,-91,-2,53.

Dengan program utama berikut ini, apakah output yang tampil di layar?

begin
  main(10);
end.
37

Asumsikan larik adalah array dengan ukuran tak hingga. Tentukan nilai r yang membuat program tidak berhenti dengan benar untuk larik dengan nilai sembarang!