Ir ao conteúdo

Posts recomendados

Postado

Boa tarde!

Estou estudando lógica de programação e algoritmo para otimizar o me desempenho nas linguagens de programação...

Estou usando o Visualg e estou fazendo um algoritmo básico onde simplesmente se digita o sabor de um sorvete e após esse mesmo digito é impresso na tela o valor deste sorvete

Porém o problema apresentado é que na linha 15 é dito que a condição "ENTAO" não esta inclusa, sendo que a mesma esta la...

Já vi muitas pessoas em fórum reclamando deste problema, o que fazer?

Algoritmo "Qual o Sabor Escolhido Pelo Cliente ?"
Var
   sabor : CARACTER

Inicio
   escreval("Digite o sabor:")
   leia(sabor)
   escreval("voce escolheu o sabor ", sabor)
   se sabor == "Morango" entao escreva ("O valor é 8 reais")
Fimalgoritmo

 

  • Curtir 1
Postado

@GC GAMER Você não colocou o "fimse", e também usou "==" ao invés de "=".

Teste isso:

Algoritmo "Qual o Sabor Escolhido Pelo Cliente ?"

Var
sabor : CARACTER


Inicio

escreval("Digite o sabor:")
leia(sabor)
escreval("voce escolheu o sabor ", sabor)


se (sabor = "Morango") entao
   escreva ("O valor é 8 reais")
fimse


Fimalgoritmo

 

  • Curtir 2
  • Obrigado 1
Postado

@GC GAMER, é do jeito que o @Eduardo da silva santos disse,  o visualG informa sobre erros no código do jeito dele e não especifica muito bem onde está o erro, e só aceita um comando por linha e ali você colocou dois comandos na mesma linha :

 

18 horas atrás, GC GAMER disse:

se sabor == "Morango" entao escreva ("O valor é 8 reais")

 

seria assim :

se sabor = "Morango" entao       // o se é um comando
  escreval("O valor é 8 reais")  // o escreval é outro comando
fimse                            // o fimse é outro comando

 

  • Curtir 1
  • Membro VIP
Postado

Complementando:

 

Vou tentar explicar um passo a passo..

 

 

Sobre:

18 horas atrás, GC GAMER disse:

Porém o problema apresentado é que na linha 15 é dito que a condição "ENTAO" não esta inclusa, sendo que a ela está lá...

 

Creio que não foi exatamente isso... veja:

erro visualg.png

 

Ele NÃO disse que não está inclusa, mas sim que esperava encontrar. Não está inclusa não é a mesma coisa de não encontrada... existe uma sutil diferença :) ...  no caso aí, creio que foi devido a questão da ordem dos comandos, ou seja: teria que ser algo assim:

se + (expressão lógica) + entao

Daí, como a expressão lógica está com o erro da duplicação do "=", o "interpretador de código" deu uma apresentando problemas e simplesmente disse que não encontrou o entao onde deveria ter encontrado... vá entender o motivo, rs.

 

Todo o problema tem relação com isto:

 

3 horas atrás, devair1010 disse:

visualG informa sobre erros no código do jeito dele e não especifica muito bem onde está o erro

 

No caso, o erro deu devido ao dito por @Lucca Rodrigues:

 

17 horas atrás, Lucca Rodrigues disse:

usou "==" ao invés de "="

 

A mensagem de erro está confusa mesmo, mas o importante que pelo menos acertou a linha.

 

 

Pronto! o erro informado foi corrigido...

 

 

 

 

Ao tentar rodar novamente, deu esse erro:

 

erro visualg2.png

 

Que é OUTRO erro... nesse caso de "sintaxe incorreta".... de fato não diz muita coisa também, mas novamente pelo menos acertou na linha...

 

 

Perceba que são coisas distintas. Seria como levar o carro no mecânico dizendo que o pneu está furado... aí ele faz a "força" e depois você diz que o pneu continua careca.

 

Esse erro em específico seria:

 

11 horas atrás, Eduardo da silva santos disse:

Por que você colocou o escreval na frente do entao e o visualg não entende essa função.

 

Obs.: no caso seria algo como "colocou ao lado do entao"... e no caso foi "depois" ou "atrás".

 

Resumidamente o VisualG não aceita colocar comandos distintos um após o outro... trate-se simplesmente de uma limitação técnica!!! O Desenvolvedor do "copilador" ainda não disponibilizou esse recurso de colocar ao lado do outro!!

 

Ou seja: são 2 erros distintos... percebam que essa solução NÃO foi uma resposta para o erro informado inicialmente!!!, mas sim para explicar o que você disse depois:

 

16 horas atrás, GC GAMER disse:

@Lucca Rodrigues Poxa, funcionou sim, mas não entendi onde está o erro, eu já tinha tentado com o fimse também colocado só um "=", mas mesmo assim não foi

 

Ou seja: como citado mais acima, tirar um "=" já resolvia o problema inicial... faltou apenas tratar o outro problema que era separar os comandos (pois não pode colocar um depois no outro no VisualG, tem que ser embaixo).

 

Segue um exemplo com outras opções:

algoritmo "Qual o Sabor Escolhido Pelo Cliente ?"
var
   sabor : caractere

inicio
   escreval("Digite o sabor:")
   leia(sabor)
   escreval("Você escolheu o sabor ", sabor)
   se sabor = "Morango" entao
      escreva ("O valor é 8 reais")
   fimSe
   se sabor = "Chocolate" entao
      escreva ("O valor é 10 reais")
   fimSe
   se sabor = "Coco" entao
      escreva ("O valor é 7 reais")
   fimSe
fimAlgoritmo

 

Adendo: um nome melhor para o algoritmo poderia ser:

algoritmo "Qual o Preço do Sabor Escolhido Pelo Cliente ?"

 

Qual dúvida ou comentário é só postar.

 

  • Curtir 3

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!