Senin, 27 April 2015

Coding Basis 2

Assalamualaikum readers..
Karena sebelumnya saya sudah memposting konsep basis 2 versi saya nah kali ini saya mau memposting coding Program konversi nilai dari desimal ke dalam bentuk basis 2 yang tidak sengaja saya buat kemarin. Langsung saja ya, semoga bermanfaat kawan...

Program basis2;
uses wincrt;
var
 a,b,c,d,i,h,j : integer;
 x : array [0..100] of integer;

Begin
 Writeln ('PROGRAM BASIS 2');
 Writeln ('===============');
 Writeln;
 Write ('Masukkan data yang ingin anda ubah ke basis 2: '); readln (b);
 Writeln;
 Write
  ('Hasil konversi data anda ke basis 2 adalah ');

 h:=0;
 a:=b;
 d:=b;
 repeat
  begin
   if a mod 2 = 0 then
   begin
    a:=a div 2 + 0;
    h:=h+1;
   end
  else
   begin
    a:=(a-1) div 2;
    h:=h+1;
   end;
  end;
 until (a=0);

 repeat
  begin
   for i:=1 to h do
   if b mod 2 = 0 then
    begin
     b:=b div 2;
     x[i]:=0;
    end
   else
    begin
     b:=(b-1) div 2;
     x[i]:=1;
    end;
   end;
 until (b=0);

 begin
 if h mod 2 = 0 then
    c:=h div 2
 else
    c:=(h-1) div 2;
 end;

 for i:=1 to c do
 begin
  x[0]:=x[i];
  x[i]:=x[(h+1)-i];
  x[(h+1)-i]:=x[0];
 end;


 for i:=1 to h do
 write (x[i]);

 Writeln;
 Writeln;
 writeln;
 Writeln ('Pembahasan');
 Writeln ('----------');

 repeat
 begin
 if d mod 2 = 0 then
   begin
   Writeln (d, ' : 2 = ',d div 2,' + "0"');
   d:=d div 2;
   end
  else
   begin
    Writeln (d, ' : 2 = ',(d-1) div 2,' + "1"/2');
    d:=(d-1) div 2;
   end;
 end;
 until (d=0);

 writeln ('Basis adalah sisa dari operasi bagi tapi di lihat dari bawah ke atas, yaitu:');
 write (x[1],' + ',x[2]);
 for i:=3 to h do
 write (' + ',x[i]);
End.

Atau kalian bisa langsung download dengan cara klik, tombol download dibawah ini..


0 komentar:

Posting Komentar