Jumat, Januari 06, 2012

Program Pascal Konversi Bilangan dan Nilai

Program Konversi_Bilangan_Desimal_ke_Biner;

uses wincrt;

var

des,rita :integer;

bin :string;

lagi :char;

begin

repeat

clrscr;

write('Masukkan bilangan Desimal =');read(des);

rita:=des;

bin:=' ';

repeat

if(des mod 2 =0) then

bin:='0'+bin

else

bin:='1'+bin;

des:=des div 2;

until des = 0;

writeln(' (',rita,') desimal =' ,bin,' (biner)');

write('Lagi ...... [Y/T]');lagi:=upcase(readkey);

writeln(lagi);

until lagi <> 'Y';

end.


 

Program Konversi_Bilangan_Desimal_ke_Heksadesimal;

Uses WinCrt;

Var

des,desi : integer;

Heks,temp : String;

Begin

Write('Masukkan Suatu Bilangan Desimal :');Readln(des);

desi:=des;

Heks:='';

repeat

if (des mod 16 < 10) then Heks:=chr(48+ des mod 16)+Heks

else Heks:=chr(55+ des mod 16)+Heks;

des:=des div 16;

writeln(des:4,Heks:20);

until des=0;

writeln('(',desi,') desimal =',Heks,' (Heksadesimal)');

end.


 

Program konversi_bilangan_heksadesimal_ke_desimal;

Uses WinCrt;

Var

des,desi : string;

i, z,j,jlh,jlh1,a,z1,a1,K : longint;

x,y : integer;

Begin

Write('Masukkan Bilangan Heksadesimal :');Readln(des);

desi:=des;

writeln(des);

jlh:=0;

K:=0;

for i:= length(des) downto 1 do

begin

if (des[i] in ['A','B','C','D','E','F']) THEN

begin

a:=ord(des[i])-55;

a1:=i-1;

if i= length(des) then z:=a

else

begin

z1:=1;

K:=K+1;

for j:=1 to K do

z1:=z1*16;

z:=z1*a;

writeln(z1);

end;

end

else

begin

val(des[i],x,y);

if i= length(des) then z:=x

else BEGIN

K:=K+1;

if x=0 then z:=0

else

begin

z1:=1;

for j:=1 to K do

z1:=z1*16;

z:=x*z1;

end;

end; END;

Jlh:=jlh+z

end;

writeln('(',desi,') Heksadesimal =',jlh,' (desimal)');

end.


 

Program konversi_bilangan_desimal_ke_romawi;

Uses WinCrt;

Const

Rom : array [1..13] of String =

('M','CM','D','CD','C','XC','L','XL','X','IX','V','IV','I');

Des : array [1..13] of integer =

(1000,900,500,400,100,90,50,40,10,9,5,4,1);

Var

Bil,i,Bil1 : Integer;

Roma : String;

Begin

Write('Masukkan Suatu Bilangan [1..3999] : ');

Readln(Bil);

Bil1 := Bil;

if (Bil > 0) and (Bil < 4000) then

Begin

For i:=1 to 13 do

Begin

while (Bil >= Des[i]) do

Begin

Bil := Bil - Des[i];

Roma := Roma + Rom[i]

End;

End;

Write('Desimal ',Bil1,' Romawinya ',Roma)

end

else

Writeln('Tidak Diketahui Simbol Romawinya.....');

End.


 

Program Koversi_nilai;

uses wincrt;

var

nilai :integer;

lagi :char;

begin

repeat

clrscr;

Write('Masukkan nilai :');readln(nilai);

case nilai of

81..100 :writeln('A');

61..80 :writeln('B');

41..60 :writeln('C');

21..40 :writeln('D');

0..20 :writeln('E');

else

writeln('Salah nilai');

end;

write('Lagi.....[Y/T]');lagi:=upcase(readkey);

writeln(lagi);

until lagi <> 'Y';

end.

Tidak ada komentar:

Posting Komentar