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