Bilheteria de Cinema — Verificação de Direito à Meia-Entrada
Algoritmo em linguagem natural, fluxograma e pseudocódigo
1. Especificação
Sistema de bilheteria para um cinema, que avalia as informações do cliente e informa se ele tem ou não direito à meia-entrada.
| Item | Descrição |
|---|---|
| Entrada | A idade do cliente (número inteiro) e a informação de ser ou não estudante (S/N) |
| Processamento | Avaliar se pelo menos uma das duas condições de meia-entrada é satisfeita |
| Saída | Mensagem indicando se o cliente tem ou não tem direito ao desconto |
1.1 Regra de negócio
O cliente tem direito à meia-entrada se:
- tiver menos de 18 anos, ou
- for estudante.
Escopo: conforme o enunciado, o algoritmo se restringe a estas duas condições. Não avalia idosos, professores, dias promocionais nem calcula o valor do ingresso.
1.2 Dicionário de variáveis
| Variável | Tipo | Conteúdo |
|---|---|---|
idade | inteiro | Idade do cliente em anos completos |
estudante | caractere | "S" se for estudante, "N" se não for |
temDireito | lógico | VERDADEIRO se o cliente faz jus ao desconto |
2. Algoritmo em linguagem natural
Fase 1 — Entrada dos dados
- Iniciar o processo.
- Solicitar a idade do cliente e armazenar na variável
idade. - Validar a idade: se for negativa ou maior que 120, exibir "Idade inválida. Informe um valor entre 0 e 120." e voltar ao passo 2.
- Solicitar se o cliente é estudante, aceitando
Spara sim eNpara não, e armazenar na variávelestudante. - Padronizar a resposta para letra maiúscula, de modo que
seSsejam tratados igualmente. - Validar a resposta: se não for
SnemN, exibir "Resposta inválida. Digite S ou N." e voltar ao passo 4.
Fase 2 — Avaliação da regra
- Verificar as duas condições de desconto, combinando-as com o operador lógico OU:
- Condição A: a idade é menor que 18?
- Condição B: a resposta sobre ser estudante é igual a "S"?
- Atribuir a
temDireitoo resultado de(Condição A) OU (Condição B).O operador OU devolve verdadeiro quando pelo menos uma das condições é verdadeira. Basta uma delas para garantir o desconto — e satisfazer as duas não dá desconto maior, porque a regra prevê uma única meia-entrada.
Fase 3 — Saída
- Exibir os dados informados: idade e situação de estudante.
- Decidir a mensagem:
- Se
temDireitofor verdadeiro ENTAO exibir "Cliente TEM direito à meia-entrada." - Senão → exibir "Cliente NÃO tem direito à meia-entrada. Pagará inteira."
- Se
- Encerrar o processo.
2.1 Tabela-verdade do operador OU
Esta é a tabela que define todo o comportamento do algoritmo — as quatro combinações possíveis:
| Caso | idade < 18 | estudante = "S" | A OU B | Resultado |
|---|---|---|---|---|
| 1 | Falso | Falso | Falso | Não tem direito |
| 2 | Falso | Verdadeiro | Verdadeiro | Tem direito |
| 3 | Verdadeiro | Falso | Verdadeiro | Tem direito |
| 4 | Verdadeiro | Verdadeiro | Verdadeiro | Tem direito |
Três das quatro combinações concedem o desconto. Somente o caso 1 — adulto e não estudante — paga inteira. Se a regra usasse E em vez de OU, apenas o caso 4 teria desconto, e o sistema estaria errado.