A expressão ""(exp (expoente*ln(2)))"" equivale a potência, pois o pascalzim não reconhece a função ""^"".
codigo
Program binario_decimal com Expoente ;
var
binario:string;
i,expoente,tam:integer;
decimal:real;
Begin
write ('Informe um número binário ');
read (binario);
tam:=length(binario);
for i:=tam downto 1 do
begin
if binario[i]='1' then
decimal:=decimal+(exp (expoente*ln(2)));
expoente:=expoente+1;
end;
write ('O número binário ',binario,' é igual a ',decimal:0:0,' decimal');
end.
Código:
Program decimal_binario ;
var
decimal,quociente,resto:integer;
binario,strresto,strquociente:string;
Begin
write ('Digite o valor decimal ');
read (decimal);
quociente:=decimal;
while (quociente>=2) do
begin
resto:=quociente mod 2;
str(resto,strquociente);
binario:=strquociente+binario;
quociente:=quociente div 2;
end;
str(quociente,strquociente);
binario:=strquociente+binario;
writeln ('O valor decimal ',decimal,' em binário é ',binario);
End.
Código: Binario
Program binario_decimal_binario ;
var
sair:boolean;
opcao:char;
procedure binario_decimal;
var
binario:string;
i,expoente,tam:integer;
decimal:real;
vld:boolean;
Begin
clrscr;
writeln;
write (' Informe o número binário ');
read (binario);
tam:=length(binario);
vld:=true;
for i:=tam downto 1 do
begin
if binario[i]='1' then
decimal:=decimal+(exp (expoente*ln(2)));
expoente:=expoente+1;
if (binario[i]<>'1') and (binario<>'0') then
vld:=false;
end;
writeln;
if (vld=false) then
writeln (' O número informado é inválido! possui dígitos diferentes de 1 e 0')
else
begin
writeln (' O número binário ',binario,' é igual a ',decimal:0:0,' decimal');
writeln;
write (' Pressione qualquer tecla para voltar ao menu principal ');
end;
readkey;
End;
procedure decimal_binario;
var
decimal,quociente,resto:integer;
binario,strresto,strquociente:string;
Begin
clrscr;
writeln;
write (' Informe o valor decimal ');
read (decimal);
quociente:=decimal;
while (quociente>=2) do
begin
resto:=quociente mod 2;
str(resto,strquociente);
binario:=strquociente+binario;
quociente:=quociente div 2;
end;
str(quociente,strquociente);
binario:=strquociente+binario;
writeln;
writeln (' O valor decimal ',decimal,' é igual a ',binario,' em binário');
writeln;
write (' Pressione qualquer tecla para voltar ao menu principal ');
readkey;
End;
Begin
repeat
clrscr;
textcolor (lightred);
writeln;
writeln;
writeln (' Informe a opção desejada');
writeln;
writeln;
write (' 1');
textcolor (lightgreen);
writeln (' - Transformar numero binário em decimal');
writeln;
textcolor (lightred);
write (' 2');
textcolor (lightgreen);
writeln (' - Transformar numero decimal em binário');
textcolor (lightred);
writeln;
write (' 3');
textcolor (lightgreen);
write (' - Sair');
opcao:=readkey;
case opcao of
#49:binario_decimal;
#50:decimal_binario;
#51:sair:=true;
end;
until (sair=true);
clrscr;
writeln;
write ('
readkey;
End.
0 comments:
Postar um comentário