Matemática Múltipla Escolha

Considere o algoritmo na linguagem C: main({ char[20] nome; char sexo; scanf(nome); printf("Qual é o seu nome?" ); scanf(sexo); if (sexo == 'f' && sexo == 'F') printf("Você é do sexo feminino. "); else if (sexo == 'm' && sexo == 'M') printf("Você é do sexo masculino."); else printf("Você digititou um valor de sexo inválido "); }

Considere o algoritmo na linguagem C:
main({
char[20] nome;
char sexo;
scanf(nome);
printf("Qual é o seu nome?" );
scanf(sexo);

if (sexo == 'f' && sexo == 'F')
printf("Você é do sexo feminino. ");
else if (sexo == 'm' && sexo == 'M')
printf("Você é do sexo masculino.");
else
printf("Você digititou um valor de sexo inválido ");

}

  1. a lógica do algoritmo está comprometida pela falta de um comando de repetição.
  2. em vez de utilizar comandos de decisão se aninhados, deveria ter sido usado um único comando de decisão.
  3. a lógica do algoritmo está comprometida pelo uso incorreto do comando if.
  4. o algoritmo está correto, pois utiliza corretamente os comandos de decisão if e else.
  5. o algoritmo está correto, pois utiliza corretamente os comandos de decisão if e else if.

Resolução completa

Explicação passo a passo

B
Alternativa B

Alternativa B

Análise do Algoritmo em C

A questão apresenta um trecho de código em linguagem C com um erro lógico grave nas estruturas condicionais (if). Vamos analisar passo a passo o funcionamento das condições apresentadas.

1. O Problema dos Operadores Lógicos

Observe as linhas onde ocorre a verificação do sexo:

if (sexo == 'f' && sexo == 'F')
    printf("Você é do sexo feminino. ");
  • Operador && (E lógico): Para que esta condição seja verdadeira, a variável sexo precisa ser igual a 'f' AO MESMO TEMPO que é igual a 'F'.
  • Impossibilidade Lógica: Um caractere só pode armazenar um único valor por vez. É impossível que uma variável contenha 'f' e 'F' simultaneamente.
  • Resultado: A condição (sexo == 'f' && sexo == 'F') será sempre falsa, independentemente do que o usuário digitar. O mesmo ocorre para a verificação do sexo masculino.

2. A Solução Correta

Para verificar se o valor digitado pertence a um conjunto de possibilidades (ex: 'f' ou 'F'), deve-se utilizar o operador OU (||).

  • Correto: if (sexo == 'f' || sexo == 'F')
  • Aqui, basta que a condição seja verdadeira para um dos lados para que o bloco execute.

3. Estrutura de Decisão

O código utiliza uma estrutura aninhada (um if dentro do else de outro). Embora funcione, a lógica interna falha devido ao operador &&. A alternativa B (visível parcialmente na imagem) geralmente propõe a correção dessa lógica, sugerindo o uso de operadores lógicos adequados (disjuntivos) ou a simplificação da estrutura.

Conclusão

A lógica do algoritmo está comprometida porque o uso do operador E (&&) torna as condições impossíveis de serem satisfeitas. A alternativa correta aponta para a necessidade de corrigir essa lógica, provavelmente sugerindo o uso do operador OU (||).

Resumo:

  • Erro: Uso de && (E) entre valores diferentes.
  • Correção: Uso de || (OU).
  • Alternativa Correta: B

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Matemática

Ver mais Matemática resolvidas

Tem outra questão de Matemática?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.