( 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 100 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
  • Há até 100 respostas por dia (capacidade máxima 100). \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 100). \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: C_{\text{Terror}}, C_{\text{Aventura}}, C_{\text{Romance}}, C_{\text{Comédia}}, C_{\text{Suspense}}, C_{\text{Drama}}é. Cada um começa em 0. \n
  • Contador do total de respostas lidas: N, que também começa em 0. \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 k_{\text{fim}}. \n
    Observação importante: não vou fixar numericamente k_{\text{fim}} (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 N; parar a leitura se o operador inserir k_{\text{fim}} ou se N alcançar 100; 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

Passo 4

Como contar sem erro (detalhes práticos): \n
  1. Inicialize todos os contadores: C_{\text{Terror}}=0, C_{\text{Aventura}}=0, C_{\text{Romance}}=0, C_{\text{Comédia}}=0é, C_{\text{Suspense}}=0, C_{\text{Drama}}=0, N=0. \n
  2. Repetir: receber uma entrada x. \n
  3. Se x = k_{\text{fim}} então pare a leitura. \n
  4. Caso contrário, verificar se x 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 := N+1. \n
  5. Se N = 100 então pare (capacidade máxima atingida). \n
  6. 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 G com contagem C_G, a porcentagem P_G é dada por \n
P_G = \frac{C_G}{N}\times 100.
Explanação didática: \n
  • C_G é quantas pessoas escolheram o gênero G. \n
  • N é o total de respostas que você leu (a soma de todos os C_G). \n
  • A fração \dfrac{C_G}{N} dá a proporção do público que prefere G (por exemplo, \dfrac{25}{100}=0{,}25 é 25\%). Multiplicando por 100 obtemos a porcentagem. \n
    Cuidado com divisão por zero: se N=0 (ou seja, nenhum ingresso lido), não é possível calcular porcentagens; nesse caso informe algo como “sem dados” ou apresente 0\% 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
  • C_{\text{Terror}}=12 \n
  • C_{\text{Aventura}}=8 \n
  • C_{\text{Romance}}=20 \n
  • C_{\text{Comédia}}=30é \n
  • C_{\text{Suspense}}=15 \n
  • C_{\text{Drama}}=10 \n
    Então o total é \n
N = 12+8+20+30+15+10 = 95.
Agora calculo as porcentagens usando \displaystyle P_G=\frac{C_G}{N}\times 100: \n
  • Para Terror: \displaystyle P_{\text{Terror}}=\frac{12}{95}\times 100 \approx 12{,}6316\%. \n
  • Para Aventura: \displaystyle P_{\text{Aventura}}=\frac{8}{95}\times 100 \approx 8{,}4211\%. \n
  • Para Romance: \displaystyle P_{\text{Romance}}=\frac{20}{95}\times 100 \approx 21{,}0526\%. \n
  • Para Comédia: \displaystyle P_{\text{Comédia}}=\frac{30}{95}\times 100 \approx 31{,}5789\%é. \n
  • Para Suspense: \displaystyle P_{\text{Suspense}}=\frac{15}{95}\times 100 \approx 15{,}7895\%. \n
  • Para Drama: \displaystyle P_{\text{Drama}}=\frac{10}{95}\times 100 \approx 10{,}5263\%. \n
    Se a prova pedir arredondamento (por exemplo, duas casas decimais), arredonde cada P_G para duas casas: 12{,}63\%, 8{,}42\%, 21{,}05\%, 31{,}58\%, 15{,}79\%, 10{,}53\%. \n
    Dica: somando todas as porcentagens com precisão suficiente você deve obter 100\% (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 C_{\text{Terror}}=C_{\text{Aventura}}=C_{\text{Romance}}=C_{\text{Comédia}}=C_{\text{Suspense}}=C_{\text{Drama}}=0é e N=0. \n
Enquanto verdadeiro: \n
  • Ler entrada x. \n
  • Se x = k_{\text{fim}} então sair do laço. \n
  • Se N = 100 então sair do laço. \n
  • Se x é “Terror” então C_{\text{Terror}} := C_{\text{Terror}}+1. \n
  • Senão se x é “Aventura” então C_{\text{Aventura}} := C_{\text{Aventura}}+1. \n
  • … (mesma ideia para os outros gêneros) … \n
  • Incrementar N := N+1. \n
    Depois do laço: \n
  • Se N=0 então informar “nenhuma resposta” e terminar. \n
  • Senão para cada gênero G calcular \displaystyle P_G=\frac{C_G}{N}\times 100 e mostrar P_G (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 k_{\text{fim}} (por exemplo, “operador digita 0 para terminar” — se na prova estiver definido, use-o). \n
  • Explique o tratamento do caso N=0. \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 C_{\text{Terror}},C_{\text{Aventura}},C_{\text{Romance}},C_{\text{Comédia}},C_{\text{Suspense}},C_{\text{Drama}}é durante a leitura até atingir o código de término k_{\text{fim}} ou N=100; calcular N=\sum C_G; e para cada gênero calcular \displaystyle P_G=\frac{C_G}{N}\times 100 (tratar N=0 separadamente).

Exercícios relacionados