VisualG
Página 1 de 1
VisualG
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
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
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|