Ir ao conteúdo

Posts recomendados

Postado

Olá, é o meu primeiro tópico aqui, eu estou tentando fazer um exercício de calendário de vacinação no visualG, onde eu tenho q atribuir idade de 10 em 10 anos e para cada idade, atribuir um mês em que a vacinação ocorrerá, o meu código está da seguinte forma:

Algoritmo "Calendário de vacinação"

Var
   // Seção de Declarações das variáveis
   nome : caracter
   idade : real

Inicio
   // Seção de Comandos, procedimento, funções, operadores, etc...
   escreval ("Digite o nome da pessoa")
   leia (nome)

   escreval ("Digite a idade da pessoa")
   leia (idade)

   se (idade) <=10 entao
      escreval ("O candidato a vacinação de nome " ,nome, " vacinará em janeiro")
   fimse

   se (idade) <=20 entao
      escreval ("O candidato a vacinação de nome " ,nome, " vacinará em fevereiro")
   fimse

Fimalgoritmo

 

Quando digito uma idade como por exemplo 19, mostra certinho que a pessoa terá q vacinar em fevereiro, porém quando eu digito um valor menor q 10, o código diz q a pessoa tem q vacinar em janeiro, porém também escreve que a pessoa tem q vacinar em fevereiro, sendo q a ideia é mostrar um mês para cada faixa etária, o código tem que ser obrigatoriamente montado usando se, senao e entao, alguém poderia me auxiliar para que eu pudesse resolver este exercício?

  • Obrigado 1
Postado

@Davi Dutra     Olá , para postar seu código é melhor usar o botão  <>  que está desenhado lá na barra de ferramentas da janela de postar

barap.jpg.2fea8b7ed6ea741fbb95a4280ea508e2.jpg

 para que seu código não fique faltando nenhum caractere e ser mais fácil de copia-lo , e esse erro é porque você colocou essa opção ali :

  se (idade <=20) entao
    escreval ("O candidato a vacinação de nome " ,nome, " vacinará em fevereiro")
  fimse

e precisa ser estipulado qual é a idade dessa etapa , de tanto até tanto , que poderia ser assim  :

  se (idade > 10) e (idade <=20) entao
    escreval ("O candidato a vacinação de nome " ,nome, " vacinará em fevereiro")
  fimse

 

  • Membro VIP
Postado

Complementando::

 

Em 18/09/2020 às 22:27, Davi Dutra disse:

porém quando eu digito um valor menor q 10, o código diz q a pessoa tem q vacinar em janeiro, porém também escreve que a pessoa tem q vacinar em fevereiro

 

O VisualG funcionaria mais ou menos assim:

 

Por padrão, ele vai executando cada linha da esquerda para direita, de cima para baixo. Primeiramente ele criaria as variáveis e definiria um valor padrão para cada uma delas. Depois vai executando cada linha... um a um...

 

Ao chegar nessas linhas:
 

Em 18/09/2020 às 22:27, Davi Dutra disse:

   se (idade) <=10 entao
      escreval ("O candidato a vacinação de nome " ,nome, " vacinará em janeiro")
   fimse

   se (idade) <=20 entao
      escreval ("O candidato a vacinação de nome " ,nome, " vacinará em fevereiro")
   fimse

 

Qual o valor de idade que você definiu? 19!. 19 é menor ou igual a 10? Sim, logo vai "entrar" no primeiro se e executar o que tem lá.

 

Após, 19 é menor ou igual a 20? Também é! Logo, vai também entrar no segundo se

 

Para ajudar a entender melhor, experimente ir pressionando F8 ("Rodar Passo a Passo") e vá acompanhando cada uma das linhas. Ao lado direito o VisualG vai também mostrando o valor de cada variável em cada momento...

 

 

 

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