Questão
ID 67408Disciplina: Tecnologia da Informação
Assuntos: Compilador, Interpretador, Linker, Tradutor e Depurador, Estruturas de Controle: Decisão e Repetição
Ano: 2025 Banca: PERFIL - ENADE Órgão: Quarto Simulado Pnd
Em uma disciplina de Prática de Ensino para a Licenciatura em Computação, o professor está discutindo a importância da 'depuração' (debugging) não apenas como uma habilidade técnica, mas como uma prática de pensamento crítico e resolução de problemas. Ele critica a abordagem de 'tentativa e erro aleatória' que muitos novatos adotam e defende o ensino de estratégias sistemáticas. Ele apresenta o 'Método Científico' aplicado à depuração: "A depuração pode ser vista como um processo científico. (1) **Observação:** Observe o comportamento anômalo do programa. (2) **Formulação da Hipótese:** Formule uma hipótese sobre a causa raiz do bug. (3) **Previsão e Experimento:** Com base na hipótese, preveja como o estado do programa (os valores das variáveis) deveria se comportar em um certo ponto e, em seguida, conduza um experimento para verificar sua previsão. O experimento pode ser adicionar um `print()`, usar um depurador para inspecionar uma variável ou executar um teste de unidade. (4) **Análise:** Compare o resultado do experimento com sua previsão. Se a previsão estava correta, sua hipótese ganha força. Se estava errada, você refutou sua hipótese e precisa formular uma nova. Repita o ciclo até encontrar o bug." Ele então propõe um cenário: um aluno tem um programa que deveria calcular a soma de uma lista, mas está retornando um valor incorreto. O aluno suspeita que o laço `for` não está iterando sobre todos os elementos.
Usando o método científico de depuração, qual seria o próximo passo mais lógico e eficaz para o aluno?