( 0.5 ) Um cinema possui capacidade para 100 lugares, mas nem sempre está com lotação máxima. O dono do cinema está interessado em avaliar os gêneros de filme que os frequentadores do seu estabelecimento mais gostam. Assim, para cada dia, antes de entrar em uma sala de cinema, cada frequentador deve responder se gosta mais de filme de Terror, Aventura, Romance, Comédia, Suspense ou Drama. Depois que todos entraram na sala, o operador deve informar um código para terminar a leitura de dados e informar as estatísticas (em porcentagem) das preferências.
Passo 1
O enunciado pede que, para um cinema com capacidade de
lugares, se registre, a cada dia, a preferência de gênero de cada frequentador entre Terror, Aventura, Romance, Comédia, Suspense e Drama. Depois de ler as respostas de todos os presentes, o operador informará um código para terminar a leitura e então o programa (ou procedimento) deve apresentar as estatísticas em porcentagem das preferências. \n
Informações dadas e perguntas claras: \n
Informações dadas e perguntas claras: \n
- Há até
respostas por dia (capacidade máxima ). \n - Cada frequentador indica um entre os 6 gêneros: Terror, Aventura, Romance, Comédia, Suspense, Drama. \n
- A leitura termina quando o operador informa um código especial (terminador). O enunciado não fixa qual o valor desse código, só que existe. Vou chamar esse valor de “código de término”. \n
- Resultado solicitado: porcentagem da preferência por cada gênero (ou seja, para cada gênero, qual a fração do total de respostas multiplicada por
). \n
Passo 2
Vamos definir claramente as variáveis que usaremos (acho melhor começar assim para a prova — memória curta e organizada salva vidas): \n
- Contadores para cada gênero:
. Cada um começa em . \n - Contador do total de respostas lidas:
, que também começa em . \n - Um valor que representa o “código de término” (por exemplo, o operador digita esse código para indicar que não há mais pessoas). Vou chamar esse valor de
. \n
Observação importante: não vou fixar numericamente(o enunciado não deu), então o algoritmo deve aceitar que existe um valor de parada definido externamente. \n
Passo 3
Estratégia geral (intuição): ler respostas uma a uma; para cada resposta válida, incrementar o contador do gênero correspondente e incrementar
; parar a leitura se o operador inserir
ou se
alcançar
; no final, calcular porcentagens usando a fórmula básica de proporção. \n
Essa é a forma mais direta e confiável — usa apenas somas e divisões simples (sem necessidade de estruturas complexas). É o jeito que você faria à mão na prova se te dessem uma lista de respostas: contar e dividir pelo total. \n
Essa é a forma mais direta e confiável — usa apenas somas e divisões simples (sem necessidade de estruturas complexas). É o jeito que você faria à mão na prova se te dessem uma lista de respostas: contar e dividir pelo total. \n
Passo 4
Como contar sem erro (detalhes práticos): \n
- Inicialize todos os contadores:
, , , , , , . \n - Repetir: receber uma entrada
. \n - Se
então pare a leitura. \n - Caso contrário, verificar se
corresponde a um dos 6 gêneros válidos. Se for inválido, ignorar ou pedir nova entrada (depende do enunciado). Se for válido: incrementar o contador do gênero correspondente e incrementar . \n - Se
então pare (capacidade máxima atingida). \n - Voltar ao passo 2 até parar. \n
Isto é um laço de leitura com condicionais simples — conceitualmente muito parecido com “ler até encontrar um marcador de fim”. Na prova, descreva assim se pedirem um pseudocódigo. \n
Passo 5
Fórmula para calcular porcentagem: para cada gênero
com contagem
, a porcentagem
é dada por \n
Explanação didática: \n
-
é quantas pessoas escolheram o gênero . \n -
é o total de respostas que você leu (a soma de todos os ). \n - A fração
dá a proporção do público que prefere (por exemplo, é ). Multiplicando por obtemos a porcentagem. \n
Cuidado com divisão por zero: se(ou seja, nenhum ingresso lido), não é possível calcular porcentagens; nesse caso informe algo como “sem dados” ou apresente para todos — na prova justifique a escolha. \n
Passo 6
Exemplo numérico passo a passo (mostra como você faria à mão na prova): suponha que, após ler os bilhetes, você obteve as seguintes contagens (estou inventando um exemplo para ensinar): \n
-
\n -
\n -
\n -
\n -
\n -
\n
Então o total é \n
Agora calculo as porcentagens usando
: \n
- Para Terror:
. \n - Para Aventura:
. \n - Para Romance:
. \n - Para Comédia:
. \n - Para Suspense:
. \n - Para Drama:
. \n
Se a prova pedir arredondamento (por exemplo, duas casas decimais), arredonde cadapara duas casas: , , , , , . \n
Dica: somando todas as porcentagens com precisão suficiente você deve obter(pequenas diferenças devidas a arredondamento são normais). \n
Passo 7
Pseudocódigo simples (escreva assim na prova se pedirem algoritmo; é direto e fácil de entender): \n
Inicializar e
. \n
Enquanto verdadeiro: \n
Inicializar
Enquanto verdadeiro: \n
- Ler entrada
. \n - Se
então sair do laço. \n - Se
então sair do laço. \n - Se
é “Terror” então . \n - Senão se
é “Aventura” então . \n - … (mesma ideia para os outros gêneros) … \n
- Incrementar
. \n
Depois do laço: \n - Se
então informar “nenhuma resposta” e terminar. \n - Senão para cada gênero
calcular e mostrar (formatado com o número de casas decimais exigido). \n
Passo 8
Boas práticas e casos de prova (o que o examinador pode querer ver): \n
- Trate entradas inválidas explicitamente (por exemplo, não conte uma resposta que não corresponde a nenhum dos 6 códigos). \n
- Declare claramente o valor ou a forma do
(por exemplo, “operador digita para terminar” — se na prova estiver definido, use-o). \n - Explique o tratamento do caso
. \n - Se pedirem saída formatada, mostre cada linha com o gênero e sua porcentagem (por exemplo, “Terror: 12,63%”). \n
- Se for implementar em linguagem (C, Java, Python…), mantenha os contadores inteiros e faça conversão para float/double na hora de dividir para não perder casas decimais. \n
Resposta
A solução é: contar ocorrências
durante a leitura até atingir o código de término
ou
; calcular
; e para cada gênero calcular
(tratar
separadamente).