Faça um algoritmo que simule um jogo de par-ou-ímpar entre dois amigos. O funcionamento deve ser o seguinte:
  • O algoritmo pergunta os nomes dos dois jogadores, e estes respondem.
  • O algoritmo pergunta ao primeiro jogador se deseja par ou ímpar, e aí informa. Qualquer que seja a escolha, o outro jogador ficará com a outra opção.
  • Em seguida, o algoritmo pergunta ao primeiro jogador qual o número que ele vai usar para jogar. E depois a mesma coisa para o segundo jogador.
  • Por fim, o algoritmo deve dizer qual foi o jogador vencedor.
Neste problema, é necessário que o algoritmo “se dirija” aos jogadores usando seus nomes. Por exemplo, se o primeiro jogador respondeu que se chama Pedro, nos passos seguintes o algoritmo deve exibir mensagens como: “Pedro, você deseja par ou ímpar?”, “Pedro, qual número você vai jogar?”, “Pedro, você é o vencedor!”.

Passo 1

O que o problema pede:
  • Criar um algoritmo que simule um jogo de par-ou-ímpar entre dois amigos.
  • O algoritmo deve perguntar os nomes dos dois jogadores, perguntar ao primeiro se ele quer “par” ou “ímpar”, perguntar os números que cada jogador escolhe e, ao final, anunciar o vencedor utilizando os nomes.
Informações fornecidas / entradas do algoritmo:
  • O nome do primeiro jogador: nome1.
  • O nome do segundo jogador: nome2.
  • A escolha do primeiro jogador (par ou ímpar): escolha1.
  • O número que o primeiro jogador joga: num1.
  • O número que o segundo jogador joga: num2.
Saídas esperadas:
  • O algoritmo deve informar quem venceu (endereço pelo nome) e pode mostrar os números jogados e a soma para clareza.

Passo 2

Definindo claramente as variáveis que vamos usar (e o que significam):
  • nome1: texto (string) com o nome do jogador 1.
  • nome2: texto (string) com o nome do jogador 2.
  • escolha1: texto com a escolha do jogador 1 — “par” ou “ímpar” (aceitaremos variações como “impar” sem acento).
  • escolha2: texto com a escolha do jogador 2; é sempre a alternativa que sobrou em relação a escolha1.
  • num1: inteiro escolhido por nome1.
  • num2: inteiro escolhido por nome2.
  • soma: inteiro, resultado de num1 + num2.
  • paridade: texto que será “par” se soma for par e “ímpar” se soma for ímpar.
Por que declarar variáveis? Para sabermos que tipo de dado cada entrada vai ser, e assim validar e operar corretamente (por exemplo, somar inteiros).

Passo 3

Como pedir os nomes e por que tratar bem as strings:
  • Ao pedir nome1 e nome2, leia a linha inteira (permitir nomes com espaços).
  • Exemplo de mensagem: “ nome1, qual seu nome?” — depois que você leu nome1, passe a usar esse nome nas perguntas seguintes.
  • Importante: quando eu escrevo nome1 nas mensagens do algoritmo, significa "mostrar o valor lido para nome1". Assim, o algoritmo sempre se dirige aos jogadores pelos nomes.

Passo 4

Como pedir e validar a escolha “par” ou “ímpar” do primeiro jogador:
  • Mostre a pergunta usando o nome do jogador: “ nome1, você deseja par ou ímpar?”.
  • Leia a resposta em uma variável escolha1.
  • Validação: converta a resposta para minúsculas (por exemplo, “Par” → “par”) e remova espaços extras nas bordas. Aceite pelo menos estas formas: “par”, “ímpar”, “impar”.
  • Se a resposta não for reconhecida, pergunte novamente (loop até resposta válida). Isso evita que o algoritmo quebre se o jogador digitar algo estranho.
  • Defina escolha2 automaticamente: se escolha1 for “par” então escolha2 = “ímpar”, senão escolha2 = “par”. Assim o segundo jogador fica com a outra opção.

Passo 5

Como pedir os números e validar inteiros:
  • Para num1 e num2, peça com mensagens que usem os nomes:
    • nome1, qual número você vai jogar?”
    • nome2, qual número você vai jogar?”
  • Tente converter a resposta para inteiro. Se a conversão falhar (ex.: o jogador digitou texto não numérico), peça novamente até obter um inteiro válido.
  • Aceite inteiros negativos também (a regra do jogo funciona igualmente), a menos que o enunciado restrinja — aqui não restringimos.

Passo 6

Aula rápida sobre paridade (o que é par e ímpar) — essencial para a prova:
  • Um número inteiro x é par se for divisível por 2, isto é, se o resto da divisão de x por 2 for 0.
  • Em notação, dizemos: x é par se x \bmod 2 = 0.
  • Se o resto for 1 (ou -1 em algumas linguagens com resto negativo), o número é ímpar. Para inteiros positivos comuns, dizemos: x é ímpar se x \bmod 2 = 1.
  • Exemplo rápido: 4 \bmod 2 = 0 então 4 é par; 7 \bmod 2 = 1 então 7 é ímpar.
  • Na maioria das linguagens o operador que usamos é o operador “módulo” ou “%” (por exemplo, em pseudocódigo: soma \bmod 2 ou soma \% 2).

Passo 7

Como determinar o vencedor passo a passo:
  1. Calcule \;soma = num1 + num2\;.
  2. Verifique a paridade de \;soma\;:
    • Se \;soma \bmod 2 = 0\; então paridade = “par”.
    • Caso contrário, paridade = “ímpar”.
  3. Compare paridade com escolha1:
    • Se paridade = escolha1 então nome1 vence.
    • Caso contrário, nome2 vence.
  4. Mostre uma mensagem do tipo: “ nomeVencedor, você é o vencedor!” e, se quiser, também mostre os valores jogados e a soma para ficar claro:
    • Ex.: " nome1 jogou num1, nome2 jogou num2. Soma = soma ( paridade). nomeVencedor, você é o vencedor!"

Passo 8

Exemplo completo de execução (um “mini-run” para fixar):
  • Suponha que o jogador 1 é “Pedro” e jogador 2 é “Ana”.
  • Pergunta: “Pedro, você deseja par ou ímpar?” — ele responde “par”.
  • Pergunta: “Pedro, qual número você vai jogar?” — ele responde num1 = 3.
  • Pergunta: “Ana, qual número você vai jogar?” — ela responde num2 = 4.
  • Calcula-se soma = 3 + 4 = 7.
  • Teste de paridade: 7 \bmod 2 = 1, então paridade = “ímpar”.
  • Como paridade é “ímpar” e escolha1 é “par”, Pedro não vence; Ana vence.
  • Saída exibida: “Pedro jogou 3, Ana jogou 4. Soma = 7 (ímpar). Ana, você é o vencedor!”

Passo 9

Boas práticas e detalhes finais para evitar erros na prova:
  • Sempre valide entradas (escolha e números). Não confie que o usuário vai digitar certinho.
  • Para comparar strings de escolhas, padronize (por exemplo, converta para minúsculas e aceite ambas as formas com ou sem acento).
  • Sempre use os nomes lidos para se dirigir aos jogadores nas mensagens subsequentes — isso é requisito do enunciado.
  • Mostre a soma e a paridade na saída; isso ajuda quem está avaliando a entender que o algoritmo fez a conta correta.

Resposta

Ler nome1 // leia o nome do jogador 1
Ler nome2 // leia o nome do jogador 2
// pedir e validar escolha do jogador 1
Enquanto verdadeiro:
Mostrar “ nome1, você deseja par ou ímpar?”
Ler escolha1 // string
escolha1 \leftarrow converter para minúsculas e remover espaços
Se escolha1 = “par” então
escolha2 \leftarrow “ímpar”
Pare
Senao se escolha1 = “ímpar” ou escolha1 = “impar” então
escolha1 \leftarrow “ímpar” // normalizar forma sem acento
escolha2 \leftarrow “par”
Pare
Senao
Mostrar “Resposta inválida. Digite ‘par’ ou ‘ímpar’.”
// pedir e validar número do jogador 1
Enquanto verdadeiro:
Mostrar “ nome1, qual número você vai jogar?”
Ler entrada1
Tentar converter entrada1 para inteiro num1
Se conversão bem-sucedida então Pare
Senao Mostrar “Número inválido. Digite um inteiro.”
// pedir e validar número do jogador 2
Enquanto verdadeiro:
Mostrar “ nome2, qual número você vai jogar?”
Ler entrada2
Tentar converter entrada2 para inteiro num2
Se conversão bem-sucedida então Pare
Senao Mostrar “Número inválido. Digite um inteiro.”
// calcular soma e paridade
soma \leftarrow num1 + num2
Se soma \bmod 2 = 0 então
paridade \leftarrow “par”
Senao
paridade \leftarrow “ímpar”
// decidir vencedor
Se paridade = escolha1 então
vencedor \leftarrow nome1
Senao
vencedor \leftarrow nome2
// exibir resultado
Mostrar " nome1 jogou num1, nome2 jogou num2. Soma = soma ( paridade)."
Mostrar “ vencedor, você é o vencedor!”

Exercícios relacionados