operasi MOD dan DIV pada pascal


Hmmm.. MOD dan DIV, ya? mungkin simple nya, mod bwat nyari sisa pembagian tertentu, div mencari 'bagian' integer dari hasil pembagiannya. 
jadi misal pada operasi terhadap bilangan 5 dan 2, maka :
5 mod 2 = 1 (5:2 = 2 bersisa 1)
sedangkan 
5 div 2 = 2 (5:2 = 2 bersisa 1)
atau mungkin bisa 'disamakan' dengan fungsi int(), umumnya digunakan pada pembulatan ke bawah bilangan real,  misal : int(2,5) = 2.


Jadi untuk permasalahan di atas... mungkin bisa dicoba : 
- masukkan pecahan yang akan di gunakan ke dalam sebuah array, misal : 
cacah : array [0..10] of real = (25,50,100,200,500,1000,5000,10000,20000,50000,100000);
- masukkan total uang yang akan dipecah, misal menggunakan variabel total,
- perulangan dari 10 turun ke 0, lakukan : 
-- cek hasil bagi total dengan cacah uang yang diinginkan apakah lebih besar dari 0, 
--- tuliskan integer hasil bagi tersebut untuk cacah uang yang diperiksa,
--- total diupdate dengan nilai total dibagi dengan cacah yang diinginkan 
- sisa akhir adalah total setelah keluar dari perulangan di atas.

kurang lebih jadi seperti ini : 
* dengan operator div & mod
Code: [Select]
   for i:=10 downto 0 do
   begin
      if total div cacah[i] > 0 then
        begin
          writeln(total div cacah[i],' lembar uang Rp.',cacah[i]);
          total := total mod cacah[i];
        end;
   end;

* tanpa operator div & mod
Code: [Select]
................
if int(total/cacah[i]) > 0 then
        begin
          writeln(int(total/cacah[i]):0:0,' lembar uang Rp.',cacah[i]:0:0);
          total := total - int(total/cacah[i])*cacah[i];
        end;

ntah, silaken di cek aja. Gw coba sekilas aja,  kalo ada kurangnya ya mohon diperbaiki :)