Você foi contratado pela TV Globo para criar um programa para auxiliar na apuração do resultado de uma prova do BBB . A prova ocorre da seguinte forma. Três participantes são selecionados e identificados por letras (“a”, “b” e “c”) e uma votação é iniciada. Cada votante indica dois participantes selecionados que ele mais se identifica. O primeiro votado recebe 1.5 pontos e o segundo votado recebe 0.5 pontos. A soma de pontos dos três participantes selecionados deve ser computada e, após todos os votantes registrarem seus votos, o resultado da pontuação deve ser impresso com precisão de uma casa decimal. O programa se inicia perguntando o número de votantes (um valor inteiro). Não é preciso fazer validações dos dados.
Sua resposta deve conter as mensagens exatamente como definidas nos exemplos de execução.

Exemplo de Execução 1:

Informe a quantidade de votantes: 5
Votante 1:
- Informe o voto 1: a
. Informe o voto 2: b
Votante 2:
- Informe o voto 1: b
- Informe o voto 2: a
Votante 3:
- Informe o voto 1: a
- Informe o voto 2: c
Votante 4:
- Informe o voto 1: b
- Informe o voto 2: c
Votante 5:
- Informe o voto 1: c
- Informe o voto 2: a
Pontuações:
. Participante "a": 4.0
. Participante "b": 3.5
. Participante "c": 2.5

Exemplo de Execução 2:

Informe a quantidade de votantes: 2
Votante 1:
- Informe o voto 1: a
- Informe o voto 2: c
Votante 2:
- Informe o voto 1: b
- Informe o voto 2: a
Pontuações:
. Participante "a": 2.0
. Participante "b": 1.5
. Participante "c": 0.5

Passo 1

Vou listar claramente o que o enunciado pede e quais são as informações que ele dá (sem resolver nada ainda).
  • Entrada: um número inteiro que indica a quantidade de votantes.
  • Para cada votante devemos ler dois votos, cada voto é uma das letras a, b ou c.
  • Regras de pontuação:
    • O primeiro voto do votante confere 1,5 pontos ao participante indicado.
    • O segundo voto do votante confere 0,5 pontos ao participante indicado.
  • Saída: após processar todos os votantes, imprimir a pontuação total dos três participantes com precisão de uma casa decimal, usando exatamente as mensagens do exemplo (ou seja, os prompts e a formatação final devem seguir o modelo).
  • Não é necessário validar entradas (assumimos que os votantes sempre digitam apenas a, b ou c e que o número de votantes é um inteiro).
O enunciado pede que o programa:
  1. Leia a quantidade de votantes;
  2. Para cada votante, leia os dois votos na ordem (voto 1 e voto 2) exibindo os prompts exatamente;
  3. Some as pontuações conforme as regras;
  4. Imprima as pontuações finais formatadas com uma casa decimal.

Passo 2

Escolha do método (o raciocínio por trás da implementação).
  • Uma solução simples e direta é usar:
    • três variáveis para acumular pontos (uma para a, outra para b e outra para c);
    • um laço que repete uma vez para cada votante;
    • dentro do laço, ler o primeiro voto e somar 1,5 à variável correspondente; ler o segundo voto e somar 0,5 à variável correspondente;
    • depois do laço, imprimir as três variáveis usando formatação para uma casa decimal.
Esse método é o mais prático e seguro para implementar na prova: é direto, fácil de escrever e de entender, e não exige estruturas avançadas.

Passo 3

Definir as variáveis iniciais e seu significado.
  • a: acumulador de pontos do participante “a” — inicializado com 0{,}0.
  • b: acumulador de pontos do participante “b” — inicializado com 0{,}0.
  • c: acumulador de pontos do participante “c” — inicializado com 0{,}0.
  • n: número de votantes (inteiro) que será lido da entrada.
Explicação por que usar ponto flutuante:
  • Como os incrementos são 1{,}5 e 0{,}5, os acumuladores precisam ser números com parte decimal (tipo float). Em muitas linguagens basta inicializar com 0{,}0.

Passo 4

Ler a quantidade de votantes e tratar o tipo.
  • Ler a quantidade de votantes como string a partir do teclado e converter para inteiro.
  • Em pseudocódigo (ou em Python) essa conversão é necessária porque a leitura padrão retorna texto. Converter para inteiro permite repetir o laço exatamente n vezes.
Exemplo conceitual:
  • Ler n com algo como: n = \text{int}(\text{input}(...)).

Passo 5

Laço principal: iterar sobre cada votante e ler os dois votos com os prompts exigidos.
  • Para cada índice i de 1 até n:
    • imprimir a linha Votante i: (substituindo i pelo número do votante);
    • ler o primeiro voto com o prompt - Informe o voto 1: ;
    • ler o segundo voto com o prompt - Informe o voto 2: .
Observação sobre prompts:
  • É importante que os textos exibidos ao usuário estejam exatamente como nos exemplos: Informe a quantidade de votantes: , Votante 1:, - Informe o voto 1: , - Informe o voto 2: e, ao final, Pontuações: seguido das linhas de participante começando com um ponto: . Participante "a": ... etc.

Passo 6

Como aplicar as regras de pontuação (lógica interna por voto).
  • Depois de ler o primeiro voto (chamado de v_1):
    • se v_1 for a, somar 1{,}5 em a;
    • se v_1 for b, somar 1{,}5 em b;
    • se v_1 for c, somar 1{,}5 em c.
  • Depois de ler o segundo voto (chamado de v_2):
    • se v_2 for a, somar 0{,}5 em a;
    • se v_2 for b, somar 0{,}5 em b;
    • se v_2 for c, somar 0{,}5 em c.
Explicando por que usar condicional:
  • Cada voto indica qual participante recebe os pontos; com uma estrutura condicional (if/elif/else) ou um dicionário/mapa é simples direcionar os pontos para o acumulador correto.
Pequeno exemplo manual (pra fixar):
  • Suponha um votante com v_1 = a e v_2 = c.
    • Após v_1: a = a + 1{,}5.
    • Após v_2: c = c + 0{,}5.

Passo 7

Formatação da saída final com uma casa decimal.
  • Ao final, imprimir:
    • Pontuações: numa linha;
    • . Participante "a": X.X onde X.X é a pontuação de a com uma casa decimal;
    • . Participante "b": Y.Y onde Y.Y é a pontuação de b com uma casa decimal;
    • . Participante "c": Z.Z onde Z.Z é a pontuação de c com uma casa decimal.
  • Como mostrar apenas uma casa decimal:
    • em muitas linguagens usa-se especificadores de formato: por exemplo, em Python "{valor:.1f}" imprime o número com exatamente uma casa decimal (ex.: 4{,}0 será impresso como 4.0).
  • Atenção: as linhas devem começar com ponto e espaço (. ) antes de Participante, conforme os exemplos.

Passo 8

Resumo do algoritmo (em alto nível, passo a passo que você pode escrever na prova):
  1. Inicializar a=0{,}0, b=0{,}0, c=0{,}0.
  2. Ler n (quantidade de votantes).
  3. Para i de 1 até n:
    • imprimir Votante i:
    • ler v_1 com o prompt - Informe o voto 1:
    • ler v_2 com o prompt - Informe o voto 2:
    • aplicar pontuação: v_1 \rightarrow +1{,}5, v_2 \rightarrow +0{,}5
  4. Após o laço, imprimir as pontuações formatadas com uma casa decimal.

Passo 9

Dica final e cuidados na prova
  • Preste atenção na ordem dos prompts e no texto exato a ser impresso (os avaliadores automáticos costumam comparar saída literal).
  • Use ponto flutuante para acumular as pontuações.
  • Para evitar erros de digitação, copie exatamente as strings dos prompts nos seus prints.
  • Teste com o exemplo dado para conferir.

Resposta

a = 0.0
b = 0.0
c = 0.0
n = int(input("Informe a quantidade de votantes: "))
for i in range(1, n + 1):
print(f"Votante {i}😊
v1 = input("- Informe o voto 1: “)
v2 = input(”- Informe o voto 2: ")
if v1 == “a”:
a += 1.5
elif v1 == “b”:
b += 1.5
elif v1 == “c”:
c += 1.5
if v2 == “a”:
a += 0.5
elif v2 == “b”:
b += 0.5
elif v2 == “c”:
c += 0.5
print(“Pontuações:”)
print(f’. Participante “a”: {a:.1f}’)
print(f’. Participante “b”: {b:.1f}’)
print(f’. Participante “c”: {c:.1f}’)

Exercícios relacionados