Ed
ontem
Vamos analisar cada afirmativa: I) A substituição da condição i ≤ sqrt(n) por i < n torna o algoritmo mais eficiente. Falso. A condição i ≤ sqrt(n) é mais eficiente porque não é necessário verificar divisores maiores que a raiz quadrada de n. Portanto, essa substituição não torna o algoritmo mais eficiente. II) A presença do incremento de i no interior do laço configura uma estrutura recursiva. Falso. O incremento de i no laço não caracteriza uma estrutura recursiva. Recursão envolve uma função chamando a si mesma, enquanto aqui estamos apenas lidando com um laço iterativo. III) A variável isPrime deve ser inicializada como true, pois representa a suposição inicial de que o número é primo. Verdadeiro. Inicializar isPrime como true é correto, pois a suposição inicial é que o número é primo até que se prove o contrário. IV) A utilização de sqrt(n) como limite superior do laço reduz a quantidade de verificações, sem comprometer o funcionamento da lógica. Verdadeiro. Usar sqrt(n) como limite superior é uma prática comum para otimizar a verificação de primalidade, pois não é necessário verificar divisores maiores que a raiz quadrada do número. Com base nas análises, as afirmativas verdadeiras são III e IV. Portanto, a alternativa correta que contém todos os itens verdadeiros é: C) III e IV, apenas.