Fórum PiR2
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

VisualG

Ir para baixo

VisualG Empty VisualG

Mensagem por Pedr0 Paul0 Ter 21 Jul 2020, 13:35

 Você deve elaborar um algoritmo no Visualg para conversão binário-decimal. Seu algoritmo deve exibir um menu ao usuário para escolher entre:
1 - Converter binário em decimal
2 - Converter decimal em binário
3 - Sair
Quando nenhuma dessas opções for selecionada, o algoritmo deve exibir: "Opção inválida"
Quando uma das opções de conversão for selecionada, seu algoritmo deve perguntar quantos dígitos ou bits o número tem e realizar a conversão apropriada. Mostrando na tela o resultado final.
Eu consegui fazer algumas coisa, mas meu programa está errado pois só funciona até um certo número. Eu sei a logica que devo usar, porem não to conseguindo executar. Penso que se eu generalizar os cálculos que faço usando alguma estrutura de repetição eu consiga o resultado. Espero que alguém possa me ajudar. Desde já, agradeço. Forte abraço. 
Programa :

Algoritmo "semnome"
// Disciplina   : [Linguagem e Lógica de Programação]
// Professor   : Antonio Carlos Nicolodi 
// Descrição   : Aqui você descreve o que o programa faz! (função)
// Autor(a)    : Nome do(a) aluno(a)
// Data atual  : 19/07/2020
Var
// Seção de Declarações das variáveis 
p6,p5,p4,p3,p2,p1,numero,x:inteiro
d,a,b,c,f,g: real
a1,b1,c1,d1,f1,g1 :real



Inicio
// Seção de Comandos, procedimento, funções, operadores, etc... 
escreval ("1. Converter binário em decimal")
escreval ("2. Converter decimal em binaril")
escreval ("3. Sair")
leia (x)
     se x = 1 entao
     escreval ("Digite o numero em binario ")
     leia(numero)
     p6 <- int((numero % 1000000)/100000)
     p5 <- int((numero % 100000)/10000)
     p4 <- int((numero % 10000)/1000)
     p3 <- int((numero % 1000)/100)
     p2 <- int((numero % 100)/10)
     p1 <- int((numero % 10)/1)


     d <- (p6*2^5)+(p5*2^4)+(p4*2^3)+(p3*2^2)+(p2*2^1)(p1*2^0)
     escreval (d)
     fimse
     
     se x = 2 entao
     escreval ("Digite o numero em decimal ")
     leia(numero)


     
     a <- int(numero%2)
     a1 <- int (numero/2)
     b <- int(a1%2)
     b1<-int(a1/2)
     c <- int(b1%2)
     c1<-int(b1/2)
     d <- int(c1%2)
     d1<-int(c1/2)
     f <- int(d1%2)
     f1<-int(d1/2)
     g <- int(f1%2)
     g1<-int(f1/2)
     
     escreval (g,f,d,c,b,a)
     fimse


     se x = 3 entao
     escreval ("Tchau Brigadu")
     fimse


            se x > 3 entao
            escreval ("Opção inválida")
            fimse
            fimalgoritmo

Pedr0 Paul0
iniciante

Mensagens : 1
Data de inscrição : 21/07/2020

Ir para o topo Ir para baixo

Ir para o topo


 
Permissão neste fórum:
Você não pode responder aos tópicos