quinta-feira, 16 de junho de 2011

Digita um numero na Base10 e mostra na Base2 - (Converte Decimal em Binário)

{Elabore um algoritmo que o usuario forneça um número inteiro (que é decimal),
calcule e mostre este numero em binario.}
Program Pzim ;
var
binario:array[1..15]of integer;
i,j,num,y:integer;
 Begin
     writeln('Digite um número : ');           {solicita que seja digitado um numero}
     read(y);                                  {armazena o numero na variavel y}
     num:=y;                                   {armazena a var Y na var NUM}
     for i:=1 to 15 do
         begin                                 {atribui zeros no vetor binario}
             binario[i]:=0;
         end;
     for j:=15 downto 1 do           {faz do ultimo, 8 até o primeiro, armazena os ddos no vetor binario
                                     de forma inversa, devido a forma de converter decimal em binario}
         begin
                      binario[j]:=(y mod 2); {o vetor binario recebe o valor do resto da var y (mode 2), e coloca na ultima posição}
                     y:= (y div 2);                   {a var y recebe o valor do quociente e repete o processo anterior }
                                                {até terminar o processo de divisão, qdo o quociente de y for indivisivel por 2(parte inteira)}
         end;
             writeln('O numero  ',num, ', base 10');     {exibe mensagem}
            writeln('tem como correspondente');
      for i:=1 to 15 do
          begin
              write(binario[i],' ');                    {mostra o vetor binario e seus valores de 0 e 1}
          end;
              write(', na base 2');                       {exibe mensagem}
 End.