Selain dengan menggunakan perulangan for, kita juga bisa menghitung faktorial dengan perulangan while do seperti contoh berikut:

program HitungFaktorial3;
{$APPTYPE CONSOLE}
var
  n,i,faktorial:cardinal;  
begin
  Write('Masukkan sebuah bilangan: ');
  Readln(n);
  faktorial:=1;
  if (n<>0) then
  begin
    i:=1;
    while (i<=n) do
    begin
      faktorial:=faktorial*i;
      i:=i+1;
    end;
  end;
  Write('Faktorial dari ',n);
  Writeln(' adalah ',faktorial);
  Writeln('Tekan Enter');
  Readln;
end.

Sebelum masuk kedalam perulangan, kita tentukan nilai i terlebih dahulu. Di dalam perulangan, nilai i kita modifikasi dengan cara menambahnya dengan 1.

Berbeda dengan perulangan menggunakan for yang perubahan variabelnya selalu selisih 1, maka perubahan variabel pada perulangan dengan while do tidak selalu selisih 1.

Time limit is exhausted. Please reload the CAPTCHA.

Notify me of followup comments via e-mail. You can also subscribe without commenting.