Perhatikan fungsi berikut ini:
function tail(x, y: integer): integer;
begin
if (y=0) then tail:=x else tail:=tail(y, x mod y);
end;
Fungsi rekursif di atas ekivalen dengan fungsi...
A.
function tail(x, y:integer): integer;
var z:integer;
begin
while (y<>0) do
begin z:=x mod y; x:=y; y:=z end;
tail:=x;
end;
B.
function tail(x, y:integer): integer;
var z:integer;
begin
while (y<>0) do
begin z:=x mod y; x:=y; y:=z end;
tail:=z;
end;
C.
function tail(x, y:integer): integer;
begin
if (y=0)
then tail:=y
else tail:=tail(y, x mod y);
end;
D.
function tail(x, y:integer): integer;
begin
if (y=0)
then tail:=x
else tail:=tail(y mod x, y);
end;
E.
function tail(x, y:integer): integer;
begin
if (x=0)
then tail:=x
else tail:=tail(y, x mod y);
end;ahsiyap
Jangan terkecoh dgn pilihan c,d,dan e. mereka serupa tapi tak sama.
jawaban b
karena y <> 0 (berarti y tidak sama dengan 0), lalu menjalan kan while loop dengan kondisi yang sama dengan kondisi else di pernyataan awal. ketika y=0 maka looping berhenti dan tail=x.
makasih jawabannya B. cmiww
function tail(x, y:integer): integer;
begin
if (x=0)
then tail:=x
else tail:=tail(y, x mod y);
end;
kalo diliat liat ini program cari FPB ya ? jadi isinya A kayaknya CMIIW :3
Masuk untuk menulis jawaban
Yeji, ngedate yuk sama a'a min cok