Ir ao conteúdo

VisualG visualg bug esperava encontrar então


Ir à solução Resolvido por Lucca Rodrigues,

Posts recomendados

Postado

Meu código está perfeito ao meu ver e simplesmente o VisualG sempre manda essa mensagem de "esperava encontrar então" já tentei de tudo e nada muda sempre aparece essa mensagem.

 

algoritmo "CalculoIMC"
var
   M, A, IMC, EX : Real
   P: Caractere

inicio
   Escreva ("Massa (KG): ")
   Leia(M)
   Escreva ("Altura (M): ")
   Leia(A)
   IMC <- M / (A ^ 2)
   Escreval ("IMC: ", IMC:5:2)
   Se (IMC >=18.5) e (IMC < 25) então
      Escreva ("Parábens você está no seu peso ideal.")
   SeNao
      EscrevaL ("Você não está no seu peso ideal.")
   FimSe
   Escreva ("Quantas vezes você se exercita por semana? ")
   Leia(EX)
   Se (EX >=3) então
      Escreval ("Parábens você se exercita com regularidade! ")
   SeNao
      Escreval ("Você deve começar a praticar exercícios, ou esportes. ")
   FimSe
   Escreva ("Você gosta de praticar esportes? Sim ou Não: ")
   Leia(P)
   Se (P = Sim) então
      Escreva ("Praticar esportes é uma ótima maneira de se exercitar e se divertir ao mesmo tempo. ")
   SeNao
      Escreva ("Você pode ou ir a academia ou encontrar algum outro jeito de se exercitar. ")
   FimSe
fimalgoritmo

 

  • Amei 1
  • Solução
Postado

@IgorSilva05

14 minutos atrás, IgorSilva05 disse:

o visualg sempre manda essa mensagem de "esperava encontrar então"

O visualg não é muito bom em dizer qual é o problema, mas pelo menos ele te diz onde está o erro.

15 minutos atrás, IgorSilva05 disse:

Se (P = Sim) então

P é do tipo caractere. Se quer comparar com a string "Sim", então precisa colocar Sim entre aspas.

  • Curtir 3
  • Membro VIP
Postado
Em 06/09/2022 às 13:09, Lucca Rodrigues disse:

P é do tipo caractere. Se quer comparar com a string "Sim", então precisa colocar Sim entre aspas.


Pois sem as aspas duplas o VisualG entende que sim seria um nome de variável (em vez de um texto a ser comparado)... ou seja, era para dar uma mensagem do tipo:

 

image.png

 

Mas como está dentro de um se, apresenta resultados estranhos!!! Vá se acostumando... kkkkkkkkkkkkkk

 

 

 

O ajuste é bem simples... e uma forma mais elegante seria assim:
 

   se (Maiusc(P) = "SIM") então
      escreva ("Praticar esportes é uma ótima maneira de se exercitar e se divertir ao mesmo tempo. ")
   senao
      escreva ("Você pode ou ir a academia ou encontrar algum outro jeito de se exercitar. ")
   fimSe


Observação: o VisualG NÃO É case-sensitive para este caso. Logo, não precisa fazer como sugerido acima, mas pode deixar se quiser. Essa forma acima seria apenas uma forma mais didática, pois na maioria das outras linguagens do mercado, existe diferença entre maiúsculo e minúsculo (são case-sensitive)... Por exemplo: "sim" seria diferente de "Sim"... teria que ter exatamente "Sim" para entrar no se. Ah! observe que pode utilizar "Escreva" ou "esCREva"... tanto faz... 😉. Mas é a mesma coisa... é bom ir se acostumando com apenas um padrão... eu particularmente prefiro iniciando em minúsculo para esses comandos... por aí vai.

 

  • Curtir 1

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!