Ir ao conteúdo
  • Cadastre-se

VisualG Programa não esta seguindo a ordem de execução


Posts recomendados

Olá galera! Sou novo aqui então se tiver cometendo algum erro por favor me perdoem. Venho através desse tópico pedir a ajuda de você para um erro que está acontecendo na minha programação, sou aluno do 2 ano de Automação Industrial integrado e tenho uma atividade avaliativa para criar um conversor de binário/decimal, mas o problema não é esse e sim o programa não seguir a ordem da programação feita. Eu primeiro fiz uma tela de apresentação e depois uma de login e ai que esta o problema. Quando o usuário termina de se cadastrar o programa encerra e não vai para o principal objetivo que seria a conversão que ele desejaria, ele encerra a programação no fimalgoritmo . Espero que possam me ajudar! Abraços 


 

algoritmo "pedro"
// Função : converter decima-binario/binario-decimal
// Autor :
// Data : 16/02/2018
// Seção de Declarações 
var
login,Usuario,Nome,SobreN: caractere
Password,Senha,Csenha: real
o,V:inteiro

decimaleuteodeio01,decimaleuteodeio02,decimaleuteodeio03,decimaleuteodeio04,decimaleuteodeio05,decimaleuteodeio06, decimal: inteiro
numero1 : caracter
 binario,decimalk : inteiro
inicio
// Seção de Comandos
 timer 1000

escreval ("      110     10101001  10101001  10101001           WELCOME       ")
escreval ("     100001   10101001  10101001  10101001              TO         ")
escreval ("    10000000  10101001  10101001  10101001          CONVERTER      ")
escreval ("     010000   10101001  10101001  10101001 ")
escreval ("      0101    10101001  10101001  10101001 ")
escreval
escreval ("    00000000  00000000                               BEM VINDO     ")
escreval ("    10110101  10101010                                   AO        ")
escreval ("    11010100  10101101                               CONVERSOR     ")
escreval ("    10101001  10110101                    ")
escreval ("    01010110  10110101                    ")
escreval ("    11001101  01101100                    ")

escreval ("    00000000  10101010  10101010  00001101 ")
escreval ("    10110101  10101011  01010100  10101110 ")
escreval ("    11010100  01101101  10110111  01110100 ")
escreval ("    10101001  10111100  10111010  00110101 ")
escreval ("    01010110  10110100  10101101  11000010 ")
escreval (" ")
escreval (" ")
escreval ("    00000000  001010101  ")
escreval ("    10110101  101101010  ")
escreval ("    11010100  110011111  ")
escreval ("    10101001  000111110  ")
escreval ("    01010110  100011101  ")
escreval ("    11001101  100110010  ")
escreval
timer 2000

//-----------------------------------------------------------------------------
Escreva (" ****** BEM VINDO AO CONVERSO BINARIO/DECIMAL IFMA - AUTOMAÇÃO INDUSTRIAL ******")
Escreval (" ")
Escreval (" ")

Escreval (" PRAZER, SOU O ALUNO Pedro Henrique do CURSO DE AUTOMAÇÃO INDUSTRIAL ")
ESCREVA (" ")
eSCREVA (" ")
timer 2000
ESCREVA (" ESPERO QUE GOSTE DO MEU PROGRAMA, ABRAÇOS! ")
limpatela
 timer 0

 //-----------------------------------------------------------------------------

Escreval("-------------------------------------------------------------------------------------------------")
Escreval("Olá visitante seja bem vindo ao nosso programa,crie seu cadastro agora ")
Escreval("-------------------------------------------------------------------------------------------------")
Escreval(" ")
Escreval("Por Favor! Digite seu nome APENAS O PRIMEIRO NOME")
Escreva("Nome: ")
Leia(Nome)
Escreval(" ")
Escreval("Por Favor! Digite seu segundo nome")
Escreva("Segundo Nome: ")
leia(SobreN)
Escreval(" ")
Escreval("Por Favor! Informe um nome de usuario 'APENAS LETRAS'")
Escreva("Usuario ")
Leia(Usuario)
Escreval(" ")
Escreval("Por Favor! Digite uma Senha 'APENAS NUMEROS'")
Escreva("Senha: ")
Leia(Senha)
Limpatela
Escreval("--------------------------------------------------------------------------------")
Escreval("           Olá ", Nome, " ", SobreN, " SPor Favor! Confirme sua Senha        ")
Escreval("--------------------------------------------------------------------------------")
Escreval(" ")
Escreval("Confirme sua senha")
Escreva("Senha: ")
Leia(Csenha)
Se (Senha <> Csenha) então
   Escreval(" ")
   Escreval("Senha Incorreta! Por favor digite novamente sua senha")
   Escreva("Senha: ")
   leia(Csenha)
FimSe
//---------------------------------------------------------------------------------------
Limpatela
Escreval("--------------------------------------------------------------------------------")
Escreval("          Olá ", Nome, " ", SobreN, " SPor Favor! Confirme sua Senha            ")
Escreval("--------------------------------------------------------------------------------")
Escreval(" ")
Escreval("Confirme sua senha")
Escreva("Senha: ")
Leia(Csenha)
Enquanto (Senha <> Csenha) Faca
   Escreval(" ")
   Escreval("Senha Incorreta! Por favor digite novamente sua senha")
   Escreva("Senha: ")
   leia(Csenha)
FimEnquanto
LimpaTela
Escreval("--------------------------------------------------------------------------------")
Escreval("   Olá ", Nome, " ", SobreN, " Seu cadastro foi realizado com sucesso!       ")
Escreval("--------------------------------------------------------------------------------")
Escreval(" ")
Escreval("Por Favor! Entre na sua conta para continuar")
Escreva("Usuario: ")
Leia(login)
Escreval("Por Favor! Digite sua senha")
Escreva("Senha: ")
Leia(Password)
Escreval(" ")
Se (login = Usuario) e (Password = Senha) então
Senao
   Escreval("Usuario ou Senha incorreta! Por Favor tente novamente")
   Escreval(" ")
   Escreval("Digite o nome de usuario")
   Escreva("Usuario: ")
   Leia(login)
   Escreval(" ")
   Escreval("Digite novamente sua senha")
   Escreva("Senha: ")
   Leia(Password)
   Escreval(" ")
Fimse
Se (Password <> Csenha) ou (login <> Usuario) então
Limpatela
   Escreval("----------------------------------------------------------------------------")
   Escreval("Você esqueceu de seu Usuario e Senha, por favor escolha umas das opçoês abaixo")
   Escreval(" ")
   Escreval("1-Tentar Novamente")
   Escreval("2-Mudar Usuario e Senha")
   Escreval(" ")
   Escreva("Opçâo?: ")
   Leia(o)
   Escreval(" ")
senao
   limpatela
   Escreval("--------------------------------------------------------------------------------")
   Escreval("Olá ", Nome, " ", SobreN, ", Seu login foi efetuado com sucesso")
   Escreval("--------------------------------------------------------------------------------")
   Escreval(" ")
   Escreval("Espero que esse codigo tenho que ajudo em algo :)")
FimSe
escolha o
Caso 1
   limpatela
   Escreval("------------------------------------------------------------------------------------")
   Escreval("Olá ", Nome, " ", SobreN, ", Tente Novamente Para continuar entre em sua conta")
   Escreval("------------------------------------------------------------------------------------")
   Escreval(" ")
   Escreval("Digite seu Usuario")
   Escreval("Usuario: ")
   Leia(login)
   Escreval("")
   Escreval("Digite sua Senha")
   Escreval("Senha: ")
   Leia(Password)
   Enquanto (login <> Usuario) ou (Password <> Senha) faca
      limpatela
      Escreval("------------------------------------------------------------------------------------")
      Escreval("Olá ", Nome, " ", SobreN, ", Você digitou Usuario ou senha incorreto!")
      Escreval("------------------------------------------------------------------------------------")
      Escreval(" ")
      Escreval("Digite seu Usuario")
      Escreva("Usuario: ")
      Leia(login)
      Escreval("")
      Escreval("Digite sua Senha")
      Escreva("Senha: ")
      Leia(Password)
   FimEnquanto
   limpatela
   Escreval("--------------------------------------------------------------------------------")
   Escreval("Olá ", Nome, " ", SobreN, ", Seu login foi efetuado com sucesso")
   Escreval("--------------------------------------------------------------------------------")
   Escreval(" ")

Caso 2
   limpatela
   Escreval("Digite um novo Usuario")
   Escreva("Usuario: ")
   leia(Usuario)
   Escreval(" ")
   Escreval("digite uma Nova senha")
   Escreval("Senha: ")
   leia(Senha)
   Escreval(" ")
   Escreval("Digite novamente sua senha")
   Escreva("Senha: ")
   leia(Csenha)
   Escreval(" ")
   Enquanto (Csenha <> Senha) faca
      limpatela
      Escreval("--------------------")
      Escreval("Digite seu Usuario")
      Escreval("Usuario: ", Usuario)
      Escreval(" ")
      Escreval("As senhas não sao iguais, digite novamente")
      Escreva("Senha: ")
      leia(Csenha)
   FimEnquanto

limpatela
   Escreval("------------------------------------------------------------------------------------")
   Escreval("Olá ", Nome, " ", SobreN, ", Você alterou seu login para continuar entre em sua conta")
   Escreval("------------------------------------------------------------------------------------")
   Escreval(" ")
   Escreval("Digite seu Usuario")
   Escreval("Usuario: ")
   Leia(login)
   Escreval("")
   Escreval("Digite sua Senha")
   Escreval("Senha: ")
   Leia(Password)
   V <- 1
   Enquanto (login <> Usuario) ou (Password <> Senha) faca
      V <- V +1
      limpatela
      Escreval("------------------------------------------------------------------------------------")
      Escreval("Olá ", Nome, " ", SobreN, ", Você digitou Usuario ou senha incorreto!")
      Escreval("------------------------------------------------------------------------------------")
      Escreval(" ")
      Escreval("Digite seu Usuario")
      Escreva("Usuario: ")
      Leia(login)
      Escreval("")
      Escreval("Digite sua Senha")
      Escreva("Senha: ")
      Leia(Password)
   Escreval (" Carregando ...")
   timer 5000
   Escreval (" 3 ")
   timer 4000
   Escreval (" 2 ")
   timer 3000
Escreval (" 1 " )
timer 2000
limpatela
//-----------------------------------------------------------------------------------------
timer 0
Escreva("Informe o numero binario: ")
  Leia(decimaleuteodeio01,decimaleuteodeio02,decimaleuteodeio03,decimaleuteodeio04,decimaleuteodeio05,decimaleuteodeio06)
  decimal <- (decimaleuteodeio06*1)+(decimaleuteodeio05*2)+(decimaleuteodeio04*4)+(decimaleuteodeio03*8)+(decimaleuteodeio02*16)+(decimaleuteodeio01*32)
  Escreva("Corresponde ao decimal: ",decimal)
  
  Escreval ( " ")
  Esvreval (" Se temrinou aperte ESC")
  
  limpatela
  
 //--------------------------------------------------------------------------
escreva("Entre com um número inteiro :")
      leia(binario)
      decimalk <- binario
      enquanto binario > 0 faca
      se (binario mod 2) = 0 então
      numero1 <- "0" + numero1
      senao
      numero1 <- "1" + numero1
      fimse
      binario <- binario div 2
fimenquanto
fimenquanto
escreval("A representação binária de", decimalk, " é ", numero1)
fimalgoritmo


 

Local onde está com:

programação.PNG

 

Não mostra o erro, mas como havia dito, ele já pula para o final do algoritmo.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

@programadormelo       do jeito que está ele fecha com a mensagem de que esperava fimalgoritimo, mas na verdade o que ele está dizendo é que falta o fimescolha, e você colocou para fazer a conversão dentro de uma opção que só chega lá de digitar errado,  essa parte aqui :

repita
      decimal := 0
      numero1 := ""
      Escreval("Informe os oito bits do número e para cada bit tecle enter: ")
      escreval("Informe O 1º Bit, Da Direta Para A Esquerda, Do Número ")
      leia(decimaleuteodeio01)
      escreval("Informe O 2º Bit, Da Direta Para A Esquerda, Do Número ")
      leia(decimaleuteodeio02)
      escreval("Informe O 3º Bit, Da Direta Para A Esquerda, Do Número ")
      leia(decimaleuteodeio03)
      escreval("Informe O 4º Bit, Da Direta Para A Esquerda, Do Número ")
      leia(decimaleuteodeio04)
      escreval("Informe O 5º Bit, Da Direta Para A Esquerda, Do Número ")
      leia(decimaleuteodeio05)
      escreval("Informe O 6º Bit, Da Direta Para A Esquerda, Do Número ")
      leia(decimaleuteodeio06)
      escreval("Informe O 7º Bit, Da Direta Para A Esquerda, Do Número ")
      leia(decimaleuteodeio07)
      escreval("Informe O 8º Bit, Da Direta Para A Esquerda, Do Número ")
      leia(decimaleuteodeio08)
      decimal <- (decimaleuteodeio08*1)+(decimaleuteodeio07*2)+(decimaleuteodeio06*4)+(decimaleuteodeio05*8)+(decimaleuteodeio04*16)+(decimaleuteodeio03*32)+(decimaleuteodeio02*64)+(decimaleuteodeio01*128)
      Escreva("Corresponde ao decimal: ",decimal)
      Escreval ( " ")
      Escreval (" Se temrinou aperte Enter")
      leia(esperar)
      escreval
      binario := decimal
      decimalk <- binario
      enquanto binario > 0 faca
         se (binario mod 2) = 0 então
            numero1 <- "0" + numero1
         senao
            numero1 <- "1" + numero1
         fimse
         binario <- binario div 2
      fimenquanto
      escreval("A representação binária de", decimalk, " é ", numero1)
      escreval("Quer Converter Outro Número  S/N")
      leia(sair)
   ate sair = "n"

tem que colocar depois do fimescolha e coloque a variável sair do tipo caractere e esperar do tipo inteiro .
e hum byte tem oito bits e você colocou para pegar apenas seis, e coloquei esse repita para se o usuário quiser fazer a conversão de mais números .
 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...