Considere o seguinte código em Python, analise as assertivas e assinale a alternativa que aponta as corretas.

def dividir(a, b):
try:
return a / b
except ZeroDivisionError:
return “Divisão por zero não é permitida”
finally:
print(“Operação finalizada.”)
resultado = dividir(10, 0)
print(resultado)

I. A função dividir trata explicitamente a divisão por zero com o bloco except.
II. O bloco finally será executado mesmo quando ocorrer uma exceção.
III. A mensagem “Divisão por zero não é permitida” será atribuída à variável resultado.
IV. O programa exibirá apenas a mensagem de erro tratada, sem exibir o texto do finally.
V. Se o segundo argumento fosse diferente de zero, o programa exibiria o resultado da divisão normalmente.
Com base no seguinte trecho de código em Python, que manipula listas e estruturas de repetição, analise as assertivas e assinale a alternativa que aponta as corretas.

nomes = [“Ana”, “Bruno”, “Carlos”, “Diana”, “Eduardo”]
for i in range(len(nomes)):
if i % 2 == 0:
print(nomes[i])

I. O código percorre a lista nomes e imprime todos os elementos. II. A função range(len(nomes)) gera os índices de 0 a 4.
III. A condição i % 2 == 0 verifica se o índice é par.
IV. Os nomes “Ana”, “Carlos” e “Eduardo” serão impressos.
V. A função print(nomes[i]) imprime diretamente o nome localizado no índice atual.
Ao se implementar programas de computador em Java, há possibilidade de ocorrerem erros imprevistos durante sua execução. Esses erros são conhecidos como exceções. Sabendo disso, considere que Márcio está fazendo uma operação em um banco de dados, porém essa operação dispara uma exceção de que o campo que ele está manipulando para inserir nesse banco está vazio, ou seja, acontece um NullPointerException. O problema, nesse caso, é a conexão com o banco de dados ficar aberta, o que não pode acontecer. Assim, assinale a alternativa que apresenta o bloco/código no qual deve ser inserida essa operação de fechamento da conexão com o banco de dados.
Considerando dois programas equivalentes, um escrito em Java e outro em Python, ambos contendo um erro de divisão por zero, um desenvolvedor decide compilar e executar os códigos em seus respectivos ambientes:

Código Java (Main.java):
public class Main {
public static void main(String[] args) {
int x = 10 / 0;
System.out.println(“Fim do programa”);
}
}
Código Python (main.py):

x = 10 / 0
print(“Fim do programa”)

Com base no funcionamento dos ambientes de execução de Java e Python, analise as assertivas e assinale a alternativa que aponta a(s) correta(s).

I. O código Java será compilado com sucesso, pois a expressão 10 / 0 é válida sintaticamente; o erro será exibido em tempo de execução como uma exceção.
II. O código Python será interrompido imediatamente com erro em tempo de execução, pois o interpretador avalia linha por linha durante a execução.
III. O Java detectará o erro de divisão por zero durante a compilação, impedindo a geração do bytecode .class.
IV. Tanto em Java quanto em Python, a instrução “Fim do programa” será exibida antes da exceção de divisão por zero.
Um desenvolvedor necessita fazer uma iteração em C# e está em dúvida sobre qual laço deve utilizar. Sabe-se que o desenvolvedor não conhece a quantidade de vezes que o laço é executado, entretanto o desenvolvedor sabe que o laço deve ser executado ao menos uma vez. Diante do exposto, com qual das alternativas a seguir a iteração deve ser efetuada?