Ir ao conteúdo

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


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

Posts recomendados

Postado
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
  • Solução
Postado
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
Postado

@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

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!