Exercícios — Abstração, funções e contratos

Dez exercícios com respostas comentadas do módulo 09.

Exercícios 09 — Abstração, funções e contratos

Resolva sem consultar as respostas. Nas questões de raciocínio, escreva primeiro a regra, depois o caso e só então a conclusão. O objetivo não é reconhecer palavras: é reconstruir o conceito.

Questão 1

Explique com suas palavras o núcleo de “Função como caixa de raciocínio com contrato” sem mencionar Python.

Resposta comentada

A resposta deve apresentar a ideia central: entender função pelo que recebe, garante e devolve, não apenas pela sintaxe. e relacioná-la a um problema concreto.

Questão 2

Crie um caso de fronteira ou contraexemplo relacionado a “Função como caixa de raciocínio com contrato”.

Resposta comentada

Uma boa resposta define primeiro a regra e escolhe uma entrada que teste exatamente um limite, uma exceção ou uma suposição frágil.

Questão 3

Explique com suas palavras o núcleo de “Funções puras e efeitos observáveis” sem mencionar Python.

Resposta comentada

A resposta deve apresentar a ideia central: distinguir cálculo de alterações externas para facilitar raciocínio e teste. e relacioná-la a um problema concreto.

Antes de seguir, invente um exemplo próprio e tente encontrar uma entrada que faria uma resposta ingênua falhar.

Questão 4

Crie um caso de fronteira ou contraexemplo relacionado a “Funções puras e efeitos observáveis”.

Resposta comentada

Uma boa resposta define primeiro a regra e escolhe uma entrada que teste exatamente um limite, uma exceção ou uma suposição frágil.

Questão 5

Explique com suas palavras o núcleo de “Composição: uma função alimenta outra” sem mencionar Python.

Resposta comentada

A resposta deve apresentar a ideia central: construir soluções maiores conectando unidades pequenas. e relacioná-la a um problema concreto.

Questão 6

Crie um caso de fronteira ou contraexemplo relacionado a “Composição: uma função alimenta outra”.

Resposta comentada

Uma boa resposta define primeiro a regra e escolhe uma entrada que teste exatamente um limite, uma exceção ou uma suposição frágil.

Antes de seguir, invente um exemplo próprio e tente encontrar uma entrada que faria uma resposta ingênua falhar.

Questão 7

Explique com suas palavras o núcleo de “Responsabilidade única e nomes que explicam intenção” sem mencionar Python.

Resposta comentada

A resposta deve apresentar a ideia central: evitar funções que fazem várias coisas desconectadas e escondem regras. e relacioná-la a um problema concreto.

Questão 8

Crie um caso de fronteira ou contraexemplo relacionado a “Responsabilidade única e nomes que explicam intenção”.

Resposta comentada

Uma boa resposta define primeiro a regra e escolhe uma entrada que teste exatamente um limite, uma exceção ou uma suposição frágil.

Questão 9

Explique com suas palavras o núcleo de “Introdução ao raciocínio recursivo” sem mencionar Python.

Resposta comentada

A resposta deve apresentar a ideia central: entender a ideia de resolver um problema por uma versão menor de si mesmo, sem aprofundar implementação avançada. e relacioná-la a um problema concreto.

Antes de seguir, invente um exemplo próprio e tente encontrar uma entrada que faria uma resposta ingênua falhar.

Questão 10

Crie um caso de fronteira ou contraexemplo relacionado a “Introdução ao raciocínio recursivo”.

Resposta comentada

Uma boa resposta define primeiro a regra e escolhe uma entrada que teste exatamente um limite, uma exceção ou uma suposição frágil.

Atividade de consolidação

Escolha três questões e transforme-as em uma tabela de casos de teste com colunas “entrada”, “resultado esperado”, “justificativa” e “resultado obtido”.

Autoavaliação

  • Consigo explicar pelo menos 8 das 10 respostas sem consultar o material.
  • Consigo criar um exemplo novo para cada conceito, em vez de repetir o exemplo da aula.
  • Consigo localizar fronteiras e prever quais casos têm maior chance de revelar um erro lógico.
Avaliação opcional

Avaliação com validação humana

Receba nota e feedback individual sobre esta atividade. Este serviço é opcional e não é necessário para concluir o curso ou receber o certificado gratuito.

Entrar para solicitar