Ir ao conteúdo
  • Cadastre-se

VisualG Esperava encontrar então, ja mudei de varias maneiras e continua mesma msg


Ir à solução Resolvido por Robson.suporte,

Posts recomendados

VAR
   maisNovo,maisVelho,qtdEntrevistados, idadeInformada: inteiro
   porcentagemMenorIdade,mediaIdade,qtdMenoresIdades, somaIdades: real
INICIO
   maisNovo <- 9999
   maisVelho <- 0
   qtdEntrevistados <- 0
   qtdMenoresIdades <- 0

   enquanto qtdEntrevistados < 5   faca
      escreval ("favor, informe sua idade")
      leia (idadeInformada)

      se idadeInformada >= maisVelho então
         maisVelho <- idadeInformada
      fimse
      se idadeInformada =< maisNovo então
         maisNovo <- idadeInformada
      fimse
     
      se idadeInformada < 18 então
         qtdMenoresIdade <- qtdMenoresIdade + 1
      fimse
     
      qtdEntrevistados <- qtdEntrevistados + 1
   FIMENQUANTO
     
   Escreval ("Mais novo", mais novo)
   Escreval ("Mais velho", mais velho)
   porcetagemMenorIdade <- (qtdMenoresIdades/ 5) * 100
   Escreval ("Porcetagem menor idade",porcetagemMenorIdade, "%")
   mediaIdade <- somaIdades / 5
   Escreval ("Media de idade",mediaIdade)

 

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

  • Solução
23 minutos atrás, Jessy de sá disse:

VAR
maisNovo,maisVelho,qtdEntrevistados, idadeInformada: inteiro
porcentagemMenorIdade,mediaIdade,qtdMenoresIdades, somaIdades: real
INICIO
maisNovo <- 9999
maisVelho <- 0
qtdEntrevistados <- 0
qtdMenoresIdades <- 0

enquanto qtdEntrevistados < 5   faca

         escreval ("favor, informe sua idade")
         leia (idadeInformada)

         se idadeInformada >= maisVelho então
            maisVelho <- idadeInformada
         fimse
         se idadeInformada =< maisNovo então
            maisNovo <- idadeInformada
         fimse
         se idadeInformada < 18 então
           qtdMenoresIdade <- qtdMenoresIdade + 1
fimse
qtdEntrevistados <- qtdEntrevistados + 1
FIMENQUANTO
Escreval ("Mais novo", mais novo)
Escreval ("Mais velho", mais velho)
porcetagemMenorIdade <- (qtdMenoresIdades/ 5) * 100
Escreval ("Porcetagem menor idade",porcetagemMenorIdade, "%")
mediaIdade <- somaIdades / 5
Escreval ("Media de idade",mediaIdade)


VAR
maisNovo,maisVelho,qtdEntrevistados, idadeInformada: inteiro
porcentagemMenorIdade,mediaIdade,qtdMenoresIdades, somaIdades: real

INICIO
maisNovo <- 9999
maisVelho <- 0
qtdEntrevistados <- 0
qtdMenoresIdades <- 0
somaIdades <- 0

enquanto qtdEntrevistados < 5 faça

escreva ("favor, informe sua idade: ")
     leia (idadeInformada)

     se idadeInformada > maisVelho então
        maisVelho <- idadeInformada
     fimse
     se idadeInformada < maisNovo então
        maisNovo <- idadeInformada
     fimse
     se idadeInformada < 18 então
       qtdMenoresIdades <- qtdMenoresIdades + 1
     fimse
     somaIdades <- somaIdades + idadeInformada
     qtdEntrevistados <- qtdEntrevistados + 1

     fim_enquanto

porcentagemMenorIdade <- (qtdMenoresIdades/ 5) * 100
mediaIdade <- somaIdades / 5

escreva ("Mais novo: ", maisNovo)
escreva ("Mais velho: ", maisVelho)
escreva ("Porcentagem de menores de idade: ", porcentagemMenorIdade, "%")
escreva ("Média de idade: ", mediaIdade)

FIM

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

@Jessy de sá    essa mensagem de "esperava encontrar o então"  é padrão no visualG , pois vários erros recebem essa mensagem ,  e ele diz que tem um erro e é o usuário é que precisa descobrir qual erro é , e nesse caso é porque  você colocou o operador lógico de modo errado nessa comparação

 se idadeInformada =< maisNovo então // o operador menor ou igual eh esse <=

e outro erro é que você criou a variável "qtdmenoresidades"  e depois usou outra quase parecida com ela , "qtdmenoresidade" sem a letras "s"   ,   e também essas aqui 

Escreval ("Mais novo", maisnovo)                               // variAvel "maisnovo" com nome errado
Escreval ("Mais velho", maisvelho)                             // variAvel "maisvelho" com nome errado
porcentagemMenorIdade <- (qtdMenoresIdades/ 5) * 100           // nome variAvel "porcentagemmenoridade" errado
Escreval ("Porcetagem menor idade",porcentagemMenorIdade, "%") // mesma variAvel nome errado , sem o "s"
mediaIdade <- somaIdades / 5

e outra coisa é que no visualg todas as variáveis são globais , ou seja elas são criadas e inicializadas com valor zero e antes do programa começar a ser executado ,  e sendo assim não precisa inicializar variáveis se o valor inicial é zero  como essas aqui

maisVelho        <- 0
qtdEntrevistados <- 0
qtdMenoresIdades <- 0

e inicializar o "maisvelho"  com valor zero funciona em muitos casos ,  mas experimente digitar um valor negativo ,  e é lógico que não  existe mesmo idade negativa , mas quem vai usar o programa pode digitar isso também ,  e o "maisnovo" com valor alto de 9999 , mas o usuário pode também digitar um valor maior que esse , e vai dar erro também ,  e então uma forma de não ter esse tipo de erro seria inicializar essas variáveis com o primeiro valor digitado pelo usuário , e assim  não haveria erro de lógica ,  e no visuaG 3.0 , não faz diferença escrever os nomes das variáveis em maiúsculas ou minúsculas , só não pode ter acentuação ,    e fazer a identação e organizar seu código o torna mais fácil de ler ,  e para isso você pode usar CTRL + G , que faz a identação automática , e CTRL + U  para substituir palavras erradas quando são muitas .

Algoritmo "media idades"
VAR
  maisVelho , qtdEntrevistados       : inteiro
  idadeInformada , maisNovo          : inteiro
  porcentagemMenorIdade , mediaIdade : real
  qtdMenoresIdades , somaIdades      : real
INICIO
  enquanto qtdEntrevistados < 5   faca
    escreval ("favor, informe sua idade")
    leia (idadeInformada)
    se qtdentrevistados = 0 então // antes que pergnte , esse sImbolo := Eh
      maisnovo  := idadeinformada // igual a esse <- ou seja adiciona um valor na variAvel
      maisVelho <- idadeinformada // inicializa a variAvel com a primeira
    fimse                                 // idade informada
    se idadeInformada >= maisVelho então  // maior ou igual eh assim >=
      maisVelho <- idadeInformada
    senao
      se idadeInformada <= maisNovo então // menor ou igual eh assim <=
        maisNovo <- idadeInformada
      senao
        se idadeInformada < 18 então
          qtdMenoresIdades <- qtdMenoresIdades + 1
        fimse
      fimse
    fimse
    qtdEntrevistados <- qtdEntrevistados + 1
  FIMENQUANTO
  Escreval ("Mais novo", maisnovo)   // variAvel com nome errado não pode ter espaCo
  Escreval ("Mais velho", maisvelho) // variAvel com nome errado com espaCo 
  porcentagemMenorIdade <- (qtdMenoresIdades/ 5) * 100 // nom var errado sem o "n" e o "s"
  Escreval ("Porcetagem menor idade",porcentagemMenorIdade, "%") // var nome errado sem o "n"
  mediaIdade <- somaIdades / 5
  Escreval ("Media de idade",mediaIdade)
Fimalgoritmo

 

  • Curtir 2
  • Amei 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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!