Ir ao conteúdo

Posts recomendados

Postado

Boa noite, gente.

 

Estou tendo um problema com o visualg. escrevi um código aparentemente sem nenhum erro, porém o visualg acusa erro. Estou  usando a estrutura de repetição "repita", sendo que no final do código eu coloquei, devidamente, o "ate", e com isso o visualg acusa erro dizendo que eu estou utilizando o "ate" sem o "repita" correspondente, mesmo eu escrevendo o "repita"  antes do até, no começo do código. Mesmo que eu tire o "ate" o programa dá erro, acusando que está faltando o "ate".

segue o código:


 

algoritmo "semnome"
var
   sexo, c, m, f:caractere
   idade, corm, ch, ml:inteiro
inicio
      repita
            escreval("qual o sexo? [M/F] ")
            leia(sexo)
            escolha sexo
                    caso "M"
                         escreval("qual idade? ")
                         leia(idade)
                         escreval("cor do cabelo? ")
                         escreval("[1] PRETO")
                         escreval("[2] CASTANHO")
                         escreval("[3] LOIRO")
                         escreval("[4] RUIVO")
                         leia(corm)
                         escolha corm
                                 caso 1
                                      escreval("continuar? [S/N]")
                                      leia(c)
                                      limpatela
                                 caso 2
                                      escreval("continuar? [S/N]")
                                      se idade > 18 entao
                                         ch <- + 1
                                      fimse
                                      leia(c)
                                      limpatela
                                 caso 3
                                      escreval("continuar? [S/N]")
                                      leia(c)
                                      limpatela
                                 caso 4
                                      escreval("continuar? [S/N]")
                                      leia(c)
                                      limpatela
                    caso "f"
                         escreval("qual idade? ")
                         leia(idade)
                         escreval("cor do cabelo? ")
                         escreval("[1] PRETO")
                         escreval("[2] CASTANHO")
                         escreval("[3] LOIRO")
                         escreval("[4] RUIVO")
                         leia(corm)
                         escolha corm
                                 caso 1
                                      escreval("continuar? [S/N]")
                                      leia(c)
                                      limpatela
                                 caso 2
                                      escreval("continuar? [S/N]")
                                      leia(c)
                                      limpatela
                                 caso 3
                                      escreval("continuar? [S/N]")
                                      leia(c)
                                      se (idade >= 25) (idade <= 30) entao
                                         ml <- ml + 1
                                      fimse
                                      limpatela
                                 caso 4
                                      escreval("continuar? [S/N]")
                                      leia(c)
                                      limpatela
                         fimescolha
            fimescolha
      ate c = "s"
      escreval("existem ", ch, " homens com mais de 18 anos e castanho")
      escreval("existem ", ml, " mulheres entra 25 e 30 anos loiras")
fimalgoritmo

Me perdoem se escrevi algo errado ou no local errado. é a primeira vez que posto uma dúvida aqui. :)

  • Curtir 1
Postado

@Juniorjbk7 Vamos lá!

 

  1. Dentro da estrutura escolha do sexo Masculino você não declarou o fimescolha, logo impossibilita a execução do programa.
  2. Em ate c = "s" substitua o "s" pelo "n", caso contrário entrará em loop das perguntas.
  3. Na estrutura do escolha da cor do cabelo masculino onde conta quantas pessoas que são maiores de 18 você esqueceu de adicionar o identificador ch para adicionar: ch <- ch + 1
  • Curtir 2
Postado

@Hatchiko realmente era isso, obrigado!

 

fiquei tanto tempo quebrando a cabeça com isso que até que cometi mais erros depois kkkkkk. o problema era o "fimescolha" mesmo. o chato é que o visualg não acusa onde está o problema.

 

  • Curtir 2
Postado

@Juniorjbk7 Normal. 😅

 

Quando estiver muito tempo martelando mentalmente em um problema, pára, respira um pouco fora do código, depois volte analise calmamente, linha por linha com o auxílio do botão Passo ou apenas apertar a tecla F8😉

 

Ótima semana e bons estudos. TMJ!

  • Curtir 2
Postado

@Simon Viegas  o código depois que consertei.

algoritmo "semnome"
var
   sexo, c, m, f:caractere
   idade, corm, ch, ml:inteiro
procedimento casos
inicio
      escreval("qual idade? ")
      leia(idade)
      escreval("cor do cabelo? ")
      escreval("[1] PRETO")
      escreval("[2] CASTANHO")
      escreval("[3] LOIRO")
      escreval("[4] RUIVO")
      leia(corm)
fimprocedimento
procedimento cason
             escreval("continuar? [S/N]")
             leia(c)
fimprocedimento
inicio
      repita
            limpatela
            escreval("qual o sexo? [M/F] ")
            leia(sexo)
            escolha sexo
                    caso "m"
                         casos
                         escolha corm
                                 caso 1
                                      cason
                                 caso 2
                                      escreval("continuar? [S/N]")
                                      se idade > 18 entao
                                         ch <- ch + 1
                                      fimse
                                      leia(c)
                                 caso 3
                                     cason
                                 caso 4
                                      cason
                         fimescolha
                    caso "f"
                    casos
                    escolha corm
                                 caso 1
                                      cason
                                 caso 2
                                     cason
                                 caso 3
                                      escreval("continuar? [S/N]")
                                      leia(c)
                                      se (idade >= 25) e (idade <= 30) entao
                                         ml <- ml + 1
                                      fimse
                                 caso 4
                                      cason
                         fimescolha
            fimescolha
      ate c = "n"
      limpatela
      escreval("existem ", ch, " homens com mais de 18 anos e castanho")
      escreval("existem ", ml, " mulheres entra 25 e 30 anos loiras")
fimalgoritmo

 

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!