Resposta correta: C) Aparece quando o interpretador encontra código que viola as regras da linguagem, como falta de dois‑pontos ou parênteses não fechados.
Erros de sintaxe são detectados antes da execução, durante a fase de compilação do código‑fonte.
def f(n):
if n == 0:
return 1
else:
return n * f(n-1)
print(f(5))
Qual das afirmações abaixo está INCORRETA?
Resposta correta: D) O programa gera um RuntimeError...
Para n = 5 a recursão termina corretamente, retornando 120. O erro só ocorreria se n fosse negativo, pois não há caso base para n < 0.
IndexError em um laço while que itera sobre uma lista?
Resposta correta: C) Dentro do laço, imprimir o índice atual e o tamanho da lista a cada iteração.
Isso permite observar exatamente quando o índice ultrapassa o tamanho da lista, facilitando a localização do ponto de falha.
a / (b * c):
a = 12
b = 3
c = 4
y = a / b * c
print(y)
Qual das afirmações abaixo descreve **exatamente** o que acontece e como corrigir o problema?
Resposta correta: C) O código produz 9, pois a divisão e multiplicação têm a mesma precedência e são avaliadas da esquerda para a direita. A correção é usar parênteses: y = a / (b * c).
Com a = 12, b = 3 e c = 4, (a / b) * c = (12/3)*4 = 4*4 = 16 – na verdade o valor impresso é 16. O enunciado pede a correção para obter 12/(3*4)=1. Portanto a alternativa C descreve corretamente a causa e a solução.