Questão 66392

Tecnologia da Informação · 2025

Questão

ID 66392

Disciplina: Tecnologia da Informação

Assuntos: Compilador, Interpretador, Linker, Tradutor e Depurador, Programação Estruturada

Ano: 2025 Banca: PERFIL - ENADE Órgão: Primeiro Simulado Pnd


Uma professora de programação do Ensino Médio, ao ensinar o conceito de laços de repetição (loops), percebe que seus alunos, embora consigam escrever laços que funcionam, têm grande dificuldade em depurar seus próprios códigos quando algo dá errado, especialmente em casos de 'off-by-one error' (erro por um) ou laços infinitos. Para desenvolver a habilidade de depuração de forma mais sistemática, ela decide introduzir o uso de um depurador (debugger) interativo integrado à IDE (Ambiente de Desenvolvimento Integrado) que eles utilizam. Ela se baseia em uma recomendação de um guia de ensino de programação: "Ensinar os alunos a usar um depurador é tão importante quanto ensinar a sintaxe da linguagem. Ferramentas como 'breakpoints' (pontos de parada), 'step over' (passar por cima), 'step into' (entrar em) e a inspeção de variáveis permitem que o aluno 'congele' a execução do programa em um ponto de interesse e observe o estado interno (os valores das variáveis) passo a passo. Isso transforma a depuração de uma atividade de adivinhação, baseada em `print()`s espalhados pelo código, em um processo científico de observação e análise." Ela então apresenta aos alunos um código Python com um bug sutil, que deveria calcular o fatorial de 5 (120), mas está retornando um valor incorreto:

```python def fatorial(n): resultado = 1 i = 1 while i < n: resultado = resultado * i i = i + 1 return resultado print(fatorial(5)) ```

A tarefa dos alunos é usar o depurador para encontrar e corrigir o bug.

Qual é o procedimento de depuração correto que levaria à identificação da falha e qual é a correção necessária no código?

Alternativas da questão 66392
Pular para o conteúdo principal