Ir ao conteúdo

Posts recomendados

Postado

Boa tarde. Estou bem no início mesmo de programação, fui testar um código na função soma e apareceu uma mensagem de erro, não consigo achar esse erro. O código é bem simples, somar 2 números e no final mostrar o resultado (segue anexo imagem do erro = Linha 13 esperava uma expressão do tipo: REAL), como assim? Que expressão?5710958_Errofunoleia.thumb.png.b750497a4fdc4669173e222b6a549565.png

algoritmo "SOMA"
// Função :
// Autor :
// Data : 07/09/2020
// Seção de Declarações:

var
   n1, n2, soma: real

inicio
   n1 <- 1.5
   n2 <- 3.99
   leia(n1, n2)
   soma <- n1 + n2
   escreval("A soma dos números é: ", soma)
fimalgoritmo

 

  • Amei 1
Postado

@Cátia Cristina de Souza     creio que seja porque você está usando uma versão antiga do visualG ,  pois aqui no visuaG 3.0.6.5 , funcionou normal , veja 

visualg_soma.thumb.jpg.2cfc9eb912aea67a21e6fe647138b14c.jpg

será melhor baixar uma versão mais atual como a 3.0.6 , que está bem estável , ou superior mas muito nova pode ter algum bug também , 

  • Curtir 2
  • Membro VIP
Postado
Em 07/09/2020 às 17:58, Cátia Cristina de Souza disse:

O código é bem simples, somar 2 números e no final mostrar o resultado (segue anexo imagem do erro = Linha 13 esperava uma expressão do tipo: REAL), como assim? Que expressão?

 

@Cátia Cristina de Souza, Vamos lá:

 

Antes de qualquer coisa, seria necessário encontrar o contexto do problema. O que foi feito antes de dar esse erro? Foi logo após compilar ou após executar o programa e inserir algum dados?

 

Vamos tentar simular:

 

Ao abrir o programa, deve ter aparecido lá a tela preta e um "cursor do teclado" piscando. Isso indicaria que o programa está aguardando a entrada de dados via teclado.

 

image.png

 

Vejamos lá o código:

 

image.png

 

Na primeira linha, você mandou definir à variável n1 o valor 1.5, após mandou definir o valor 3.99 para a variável n2. Certo? Na próxima linha, pediu para ler do usuário (via teclado) um novo valor para n1 e outro valor para n2. É nesse momento que o programa ficou lá "parado" esperando o usuário digitar um valor para n1.

 

No caso, essas variáveis n1 e n2, são do tipo "real", logo, só aceitarão número reais... daí, provavelmente, você inseriu um valor não válido, ou seja: um valor "não real", como por exemplo uma letra, ou um caractere especial, ou deu um ENTER sem inserir algo antes, ou até mesmo inseriu números separados por espaços, o que também não serve no VisualG. Logo, a variável NÃO receberia um valor válido e o programa daria erro mesmo... :)

 

Segue um demonstrativo:

image.png

 

Já se der apenas um ENTER ou inserir algo que não seja uma valor válido, vai dar erro. Vou inserir um texto:
 

image.png

 

Ou seja: esse erro não estaria no algoritmo em si ou no VisualG 2.0, mas sim no uso do programa que foi criado. Seria uma "falha do usuário que usou o programa*".  (Obs.: daí talvez caberia tentar evitar esses erros.. explico mais no adendo lá em baixo).

 

 

RESUMINDO:

Você provavelmente inseriu um valor não válido para a variável, daí o VisualG gerou um erro. Insira número reais separados por um ENTER (obs.: que inclui número inteiros) que o programa deve funcionar normalmente.

 

 

 

 

ADENDO:

Sobre o código, tem alguns probleminhas:

  1. Nas duas primeiras linhas, você atribuiu um valor para as variáveis (diretamente no código. Isso é OK), mas logo depois está pedindo um valor novo do usuário (inserido via teclado)... Veja: nesse caso, o valor que foi definido no código seria logo substituído por um novo, daí não fazendo muito sentido ter definido esse valor inicial (já que ele seria logo perdido, pois seria substituído por um novo).

    Poderia ser algo assim:
    inicio
       leia(n1, n2)
       soma <- n1 + n2
       escreval("A soma dos números é: ", soma)
    fimalgoritmo
    Ou se quer usar valores fixos, retire o leia().
     
  2. Um outro detalhe, que está relacionado ao problema que ocorreu, é que não tem algo que indique o que deveria ser digitado lá quando o programa é executado. Está ficando apenas uma ela preta!. Poderia colocar uma instrução. Exemplo:
    inicio
       escreval("Insira os valores reais para N1 e N2 (separe cada número por um ENTER)")
       leia(n1, n2)
       soma <- n1 + n2
       escreval("A soma dos números é: ", soma)
    fimalgoritmo
    image.png

 

 

Por aí vai.

 

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

 

No aguardo.

 

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

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

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!