Ir ao conteúdo
  • Cadastre-se

VisualG VISUALg pedindo "então" mesmo tendo "então" no código


Ir à solução Resolvido por Davi Augusto,

Posts recomendados

  • Solução

Código:

algoritmo "semnome"
var
   a, b, c, x1, x2, delta: real
inicio
   escreva("Digite o Valor de a : ")
   leia(a)
   escreva("Digite o valor de b : ")
   leia(b)
   escreva("Digite o valor de c : ")
   leia(c)

   delta <- exp(b, 2) - 4 * a * c

   se (a == 0) ou (delta < 0) entao
      escreval("Não existem raizes reais nesta equação ")
   senao
      x1 <- (-b + raizQ(delta)) / (2 * a)
      x2 <- (-b - raizQ(delta)) / (2 * a)
      escreval("X1 = ", x1)
      escreval("X2 = ", x2)
   fimse
fimalgoritmo



Erro no Visualg:

erro.png




Rapaziada já consegui resolver o erro. Tudo isso só foi culpa de um "=".
 

algoritmo "semnome"
var
   a, b, c, x1, x2, delta: real
inicio
   escreva("Digite o Valor de a : ")
   leia(a)
   escreva("Digite o valor de b : ")
   leia(b)
   escreva("Digite o valor de c : ")
   leia(c)

   delta <- exp(b, 2) - 4 * a * c

   se (a = 0) ou (delta < 0) entao
      escreval("Não existem raizes reais nesta equação")
   senao
      x1 <- (-b + raizQ(delta)) / (2 * a)
      x2 <- (-b - raizQ(delta)) / (2 * a)
      escreval("X1 = ", x1)
      escreval("X2 = ", x2)
   fimse
fimalgoritmo

 

erro resolvidoo.png

  • Amei 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Show! Mostrou a cobra e mostrou o pau também. (Lá ele)


Só aproveitando o tema...
As comparações no VisualG são feitas com apenas um igual (ex.: x = y)... Na maioria das linguagens famosas, utilizam-se dois iguais (ex.: x == y)... um dos motivos disso é que o um "=" seria utilizado para atribuição, e é preciso diferenciar uma coisa da outra lá...

Segue:

PARA ATRIBUIÇÔES:
VisualG:

x <- y

ou

x := y




Maioria das outras linguagens:

x = y

 

Ou seja, esses são os operadores de atribuição. O valor de y vai ser atribuído na variável x.

 



PARA COMPARAÇÕES

VisualG:

x = y




Maioria das outras linguagens:

x == y


Ou seja: esses são operadores relacionais. Calcula se o valor x é igual ao valor de y, e que no caso retorna um valor booleano (VERDEIRO ou FALSO para o VisualG, ou true ou false para o "resto do mundo", rs).

 


Em relação à mensagem de erro, parte do "bug" seria devido à limitação do VisualG... que funciona de forma que "interpreta o código apenas em tempo de execução", ou seja, se uma execução do código sequer passar nessa linha, o problema não vai erro relacionado a isso... Aqui o código não é compilado, logo não tem um "compilador que já identifica problemas antes de montar o objeto que vai ser executado".
 

  • Obrigado 1
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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!