arradyscode

http://www.arradyscode.com

Welcome to arradyscode.
Share algorithms, logic and codes of programming languages.

Penjumlahan Infinite Digits pada Delphi

Bagi programmer delphi pasti sudah tidak asing dengan fungsi strtoint(), fungsi ini mengubah string menjadi integer, yang kemudian hasilnya dalam dioperasikan secara matematika. Sebagai contoh:
procedure TForm1.Button2Click(Sender: TObject);
var
  hasil : integer;
begin
  hasil := strtoint(edit1.text) + strtoint(edit2.text);
end;
Permasalahannya adalah, strtoint hanya menampung bilangan dengan kapasitas integer. Bagaimana jika digit angkanya terlalu banyak? Memang dalam penggunaannya nanti, kemungkinan digit terlalu banyak ini kecil sekali. Namun apa salahnya kita bermain logika sejenak mengimplimentasikan konsep penjumlah yang dulu pernah dipelajari di sekolah dasar (SD).
Langsung saja saya share coding nya.
procedure TForm1.Button1Click(Sender: TObject);
var
  ank_1, ank_2 : string;
  hasil : string;
  pjg,i,tampung,simpan : integer;
begin
  {valuenya}
  ank_1 := edit1.Text;
  ank_2 := edit2.Text;

  if length(ank_1) > length(ank_2)
  then pjg := length(ank_1)
  else pjg := length(ank_2);

  for i := 0 to pjg do begin
    if length(ank_1) < pjg then ank_1 := '0' + ank_1;
    if length(ank_2) < pjg then ank_2 := '0' + ank_2;
  end;

  hasil  := '';
  simpan := 0;
  for i := pjg downto 1 do begin
    tampung := strtointdef(ank_1[i],0)
             + strtointdef(ank_2[i],0)
             + simpan;

    hasil := inttostr(tampung mod 10)
             + hasil;
    simpan := tampung div 10;
  end;

  if simpan <> 0 then hasil := inttostr(simpan) + hasil;
  edit3.Text := hasil;
end;
Dan berikut adalah tampilan form setelah dijalankan:
Anda dapat melihat bahwa angka dimasukkan melampaui kapasitas integer namun tetap dapat dijumlahkan. Semoga logikanya berguna untuk bermain-main diwaktu senggang.

Terbaru di blog ini:

Mungkin Anda juga ingin membaca:

Berkomentarlah sesuai topik.
Gunakan kode berikut untuk menambahkan emoticon ke komentar:
:)
:(
=(
^_^
:D
=D
|o|
@@,
;)
:-bd
:-d
:P
:ngakak:

Untuk menuliskan Syntax: [code] code disini [/code]

Untuk menuliskan Quote: [quote] quote disini [/quote]

Berkomentarlah sesuai topik