function tis(a : integer) : longint; begin if(a < 10) then tis := a else tis := tis(a div 10) * 3 + tis(a div 50); end;
Berapakah hasil dari pemanggilan fungsi tis(143)?
a. 8
b. 9
c. 10
d. 11
e. 12
Tis(143) a= 143
143>10 maka tis(143 div 10) * 3 + tis(143 div 50)
= tis(14)*3 + tis(2)
karena tis(14) 14>10 maka
tis(14 div 10) * 3 + tis(14 div 50)
tis(1) * 3 + tis(0)
karena semuanya tis a<10 maka tis(a) = a
jadi 1*3 + 0 = 3
masukan 3 ke tis(!4)
3*3 + 2 = 11 (D)
bener
sampai di
masukan 3 ke tis(!4)
3*3 + 2 = 11 (D) ||kagak paham
Yahallo~
tis(143) = tis(14)*3 + tis(2)
karena 14>10 jadi masih dimasukan rumus yang sama
tis(14) = tis(1)*3
= 3
dimasukan ke tis(143)
tis(143) = 3*3 +2
= 11 (D)
itu maksudnya masukkan 3 ke tis(14)
jadi, 3*3+2 = 11
Masuk untuk menulis jawaban
karena a<10 ; a=1 dalam
dari awal
tis(a div 10)*3 + (a div 50)
a=143 (operasi pertama)
a=14 dan a=2 ==> nilai 14 melebihi 10 jadi turunkan lagi operasi
tis(a div 10) *3 +2 (operasi kedua)
a=1 dan a=2
jadi 1*3 +2
lalu kita kembali ke operasi pertama
dan menjadi
3*3 +2 (3 yang di depan datang dari hasil operasi kedua yang harus dioperasikan kembali ke operasi pertama)
jadilah 11 (D)
kurang jelas di :
masukan 3 ke tis(!4)
3*3 + 2 = 11 (D) ????????