determinar o valor de b.
algoritmo "Dec2Bin"
var
b: literal
n, q, r: inteiro
inicio
b <- " "
escreva("Entre com um número")
leia(n)
q <- n
r<- q % 2
q <- q\2
se r = 0 entao
b <- "0" + b
senao
b <- "1" + b
fimse
r <- q % 2
q <- q\2
se r = 0 entao
b <- "0" + b
senao
b <- "1" + b
fimse
r <- q % 2
q <- q\2
se r = 0 entao
b <- "0" + b
senao
b <- "1" + b
fimse
r <- q % 2
q <- q\2
se r = 0 entao
b <- "0" + b
senao
b <- "1" + b
fimse
r <- q % 2
q <- q\2
se r = 0 entao
b <- "0" + b
senao
b <- "1" + b
fimse
escreva(n, " em decimal é representado por ", b, " em binário")
fimalgoritmo
Seguindo esse algoritmo será impresso 11111 SEMPRE, independente do valor de 'n'
Para corrigir basta trocar o 'numerico' por 'inteiro', nao havera problemas pois estamos convertendo numeros inteiros.
A cada modulo (separados por uma linha) é feito o calculo do novo dividendo e do resto, verifica se o resto é zero ou um e acrescenta na variavel 'b'. Porque a variavel 'b' nao podia ser do tipo inteiro? Pois zero a esquerda nao vale nada, entao o binario 01010 (10 em decimal) seria mostrado '1010'
Nenhum comentário:
Postar um comentário