1
resposta

DESAFIO: VERIFICAÇÃO DE DESCONTO: CINEALURA

Segue minha solução para o desafio, utilizando os conceitos da aula de pensamento computacional e modularização

Algoritmo "cinealura"
// Disciplina   : Pensamento Computacional
// Descrição   : Sistema de Ticket que valida a meia-entrada, caso o
//cliente seja menor de até 18 anos ou se é Estudante.
// Autor(a)    : Luiz Fernando
// Data atual  : 23/04/2026

Var
// Criei algumas variáveis para aproximar o sistema o máximo possível
// do mundo real, geralmente os clientes se sentem desconfortável em
// informar a idade, então criei variáveis para que o clinte informasse
// a data de aniversário, dessa maneira a impressão que passa é que ele
// participará de promoções e prêmios ao invés de validação de idade.

nome: Caractere
dataNasc: Caractere
anoTexto: Caractere
anoNasc: inteiro

dataFilme: Caractere
anoATexto: Caractere
anoAtual: inteiro
estudante: Caractere

Inicio
// Seção de Comandos, procedimento, funções, operadores, etc...

Escreval("----------------------------------------------------------")
Escreval("BEM VINDO AO CINEALURA")
Escreval("----------------------------------------------------------")
Escreva("Qual o seu nome? ")
leia(nome)
Escreva("Escolha a Data que deseja assistir [DD/MM/AAAA]: ")
leia(dataFilme)

//O visualg aceita apenas datas no formato Caractere, entretanto
//Para operações aritméticas temos que extrair a parte do ano (função copia)
//e converter o ano de caractere para inteiro (caracpnum)

  anoATexto <- copia(dataFilme,7,4)
  anoAtual <- caracpnum(anoATexto)
Escreva("Digite a data do seu aniversário [DD/MM/AAAA]: ")
leia(dataNasc)
  anoTexto <- copia(dataNasc,7,4)
  anoNasc <- caracpnum(anoTexto)
Escreva("Possui documento de Estudante [S/N]: ")
leia(estudante)

//Saída

se ((anoAtual - anoNasc) <= 18) ou (estudante = "S") ou (estudante = "s") entao
   escreval()
   escreval("TICKET CINEALURA**************************************")
   escreval("Nome.....................: ",nome)
   escreval("Idade....................: ",anoAtual - anoNasc," anos")
   escreval("Pagto....................: Meia Entrada")
   escreval("******************************************************")
senao
   escreval()
   escreval("TICKET CINEALURA**************************************")
   escreval("Nome.....................: ",nome)
   escreval("Idade....................: ",anoAtual - anoNasc," anos")
   escreval("Pagto....................: Inteira")
   escreval("******************************************************")
fimse

Fimalgoritmo
1 resposta

Olá, Luiz Fernando! Como vai?

Parabéns pela resolução da atividade!

Gostei muito da forma como você trouxe a modularização e aproximou o algoritmo de um cenário real, utilizando variáveis que simulam a experiência de um cliente em um sistema de bilheteria. A ideia de pedir a data de nascimento em vez da idade direta é criativa e mostra preocupação com a experiência do usuário, além de demonstrar domínio das funções do Visualg como copia e caracpnum.

Outro ponto positivo foi a clareza na estrutura condicional, tratando corretamente os casos de meia-entrada por idade ou por documento de estudante. O ticket gerado no final dá uma sensação prática de aplicação, o que enriquece bastante a solução.

Uma sugestão para o futuro seria expandir o sistema para incluir diferentes categorias de desconto (como idosos ou promoções especiais), tornando-o ainda mais próximo de um sistema real de cinema.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!