Selain dengan menggunakan perulangan for, kita juga bisa menghitung faktorial dengan perulangan while do seperti contoh berikut:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 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.

