Computação Múltipla Escolha

No código apresentado, qual é a mensagem associada à assertion e por que ela é relevante?

No código apresentado, qual é a mensagem associada à assertion e por que ela é relevante?

  1. "Divisão por zero!" - A mensagem exibida quando a divisão por zero é detectada, fornecendo uma explicação clara do erro.
  2. "AssertionError" - A mensagem padrão exibida quando uma assertion falha.
  3. "Resultado: None" - A mensagem padrão exibida quando a divisão por zero ocorre.
  4. "ZeroDivisionError" - A mensagem padrão para erros de divisão por zero em Python.
  5. "Nenhuma mensagem" - As assertions não fornecem mensagens associadas.

Resolução completa

Explicação passo a passo

A
Alternativa A

Alternativa A - "Divisão por zero!" - A mensagem é exibida quando a divisão por zero é detectada, fornecendo uma explicação clara do erro.

Explicação Didática

Para responder corretamente, precisamos entender como funciona o comando assert na linguagem Python e qual é o objetivo da sua sintaxe.

1. O Comando assert

O assert é utilizado para verificar se uma condição é verdadeira durante a execução do programa. Se a condição for falsa, o programa interrompe e lança uma exceção.

A sintaxe básica é:
\text{assert } \langle\text{condição}\rangle, \langle\text{mensagem}\rangle

  • Condição: O que está sendo verificado (ex: y != 0).
  • Mensagem: Um texto opcional que aparece junto com o erro para ajudar o desenvolvedor a entender o problema.

2. Análise do Código

No trecho fornecido:

def divide(n, y):
    assert y != 0,
    return n / y  # Nota: assume-se 'n' ao invés de 'x' para funcionar

Quando chamamos divide(6, 0):

  1. A variável y recebe o valor 0.
  2. O assert verifica se 0 != 0. Isso é Falso.
  3. Como a condição falhou, o Python lança uma exceção.

3. Identificando a Mensagem

Embora no código visível a linha do assert pareça terminar apenas com a vírgula, o comentário abaixo (# AssertionError: Divisão por zero!) indica explicitamente qual mensagem foi gerada ou esperada neste contexto de questão.

Isso demonstra o uso correto da segunda parte do assert para fornecer um feedback claro.

4. Por que as outras alternativas estão incorretas?

  • Alternativa B: AssertionError é o nome da classe da exceção, não a mensagem personalizada. Embora seja o tipo de erro, a pergunta pede a mensagem associada.
  • Alternativa D: ZeroDivisionError seria o erro se a linha return n / y fosse executada. Porém, o assert impede que a divisão aconteça, lançando primeiro o AssertionError.
  • Alternativa E: As assertions podem ter mensagens associadas após a vírgula, então dizer que não fornecem mensagens é falso.

Conclusão

A alternativa A é a correta porque descreve a funcionalidade principal de usar uma mensagem customizada no assert: tornar o depuração mais fácil ao explicar por que o erro ocorreu (detecção de divisão por zero antes da operação matemática).

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Computação

Ver mais Computação resolvidas

Tem outra questão de Computação?

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