erro de procedimento no visualg
A intenção do código é perguntar se quer saber da área do quadrado de um número. Porém não funciona na parte que declaro as variáveis locais.
algoritmo "teste"
var
digito : caractere
procedimento quadrado()
inicio
lado, area : inteiro
escreval("digite um número inteiro:")
leia(lado)
area <- lado*lado
escreva("a área do quadrado é:", area)
fimprocedimento
inicio
escreval("gostaria de saber a área de um quadrado (s/n)?")
leia(digito)
se digito = "s" entao
quadrado()
fimse
fimalgoritmo
algoritmo "teste"
var
digito : caractere
procedimento quadrado()
inicio
lado, area : inteiro
escreval("digite um número inteiro:")
leia(lado)
area <- lado*lado
escreva("a área do quadrado é:", area)
fimprocedimento
inicio
escreval("gostaria de saber a área de um quadrado (s/n)?")
leia(digito)
se digito = "s" entao
quadrado()
fimse
fimalgoritmo
Michel
Curtidas 0
Respostas
Jonathan Abílio
20/12/2019
Olá, voce pode resolver esse problema se declarar as variaveis do escopo do procedimento no var geral, algo que normalmente faço, ou logo abaixo do Procedimento coloque um var e declara ali mesmo. Tomei a liberdade de ajustar os espaçamentos e melhorar um pouquinho visual. Espero ter ajudado
//Correção abaixo
Algoritmo "Área do Quadrado"
var
digito: caractere
lado, area : inteiro
Procedimento quadrado()
//var (pode colocar assim também)
//lado, area: inteiro
Inicio
Escreval (" ----------------------------- ")
Escreval (" ÁREA DO QUADRADO ")
Escreval (" ----------------------------- ")
Escreval ()
Escreva("Digite o valor do lado: ")
leia(lado)
area <- lado*lado
Escreval ()
Escreva("Área do quadrado:", area, " m²")
Fimprocedimento
Inicio
Escreva("Gostaria de saber a área de um quadrado? [S/N] - ")
leia(digito)
Se (digito = "S") entao
LimpaTela
quadrado()
Fimse
Fimalgoritmo
//Correção abaixo
Algoritmo "Área do Quadrado"
var
digito: caractere
lado, area : inteiro
Procedimento quadrado()
//var (pode colocar assim também)
//lado, area: inteiro
Inicio
Escreval (" ----------------------------- ")
Escreval (" ÁREA DO QUADRADO ")
Escreval (" ----------------------------- ")
Escreval ()
Escreva("Digite o valor do lado: ")
leia(lado)
area <- lado*lado
Escreval ()
Escreva("Área do quadrado:", area, " m²")
Fimprocedimento
Inicio
Escreva("Gostaria de saber a área de um quadrado? [S/N] - ")
leia(digito)
Se (digito = "S") entao
LimpaTela
quadrado()
Fimse
Fimalgoritmo
GOSTEI 0