uses crt;
var n:integer;
function faktorial (n : integer):integer;
begin
if (n=0) then
faktorial:=1
else
faktorial:=n*faktorial(n-1);
end;
begin
clrscr;
write('Masukan Angka : '); readln(n);
writeln ('Hasil ',n,'! : ',faktorial(n));
readln;
end.
Program rekursif untuk mencari nilai faktorial seperti di atas termasuk program yang sederhana. Pada program tersebut hanya menggunakan satu buah fungsi dan fungsi tersebut hanya mempunya satu buah parameter. Pada fungsi faktorial di atas terdapat pernyataan jika nilai n>0 maka program akan menjalankan perintah faktorial:=n*faktorial(n-1); . Hal itu berarti jika nilai n yang diinputkan lebih dari 0 maka program akan menjalankan perintah untuk mengalikan n dengan nilai n itu sendiri dikurang 1. Misalnya nilai n = 5, maka program akan melakukan operasi seperti berikut :
faktorial:= 5 *4*3*2*1
Tampilan hasil dari program di atas dapat dilihat pada gambar di bawah ini :
This comment has been removed by the author.
ReplyDeleteterimakasiihhh sangat membantu tugas alpro ku ><
ReplyDeleteduplicate identifier
ReplyDelete