Um algoritmo apresenta loops aninhados: para i de 1 até m faça para j de 1 até n faça executar_acao; fim para…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Elaborar algoritmos que envolvam instruções sequenciais, de repetição e de seleção usando uma linguagem de programação.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Um algoritmo apresenta loops aninhados: para i de 1 até m faça para j de 1 até n faça executar_acao; fim para; fim para. Quantas vezes 'executar_acao' é executada em função de m e n?
- A) m + n + 1
- B) n + m
- C) m × n vezes.
- D) n^2 vezes
- E) m - n vezes
✅ Resposta correta: alternativa C
Resolução passo a passo
- Entenda a estrutura. O laço externo varia i de 1 até m, ou seja, roda m vezes. Para cada valor de i, o laço interno varia j de 1 até n, rodando n vezes.
- Conte as execuções do bloco interno. Em cada uma das m voltas do laço externo, o laço interno executa executar_acao n vezes. Logo, o total é m vezes n, isto é, m × n execuções.
- Teste com valores simples. Se m = 2 e n = 3, o laço externo roda 2 vezes e, em cada uma, o interno roda 3 vezes: 2 × 3 = 6 execuções, e não 5 (que seria m + n) nem 1 (que seria m - n).
- Analise as alternativas. A alternativa A (m + n + 1) soma os laços, o que só valeria se fossem executados em sequência e não aninhados, e o +1 não tem justificativa. A alternativa B (n + m) cometeria o mesmo erro de somar em vez de multiplicar. A alternativa D (n^2) supõe que m seria igual a n, o que não está no enunciado. A alternativa E (m - n) subtrai quantidades que não se cancelam numa contagem de repetições.
- Conclusão. A alternativa correta é a C, m × n, que coincide com o gabarito oficial.
💡 Dica: Analise a estrutura dos loops para determinar a quantidade de execuções.
Alternativa por alternativa
Acredita que laços aninhados somam suas repetições, como se fossem laços em sequência, e ainda acrescenta uma execução extra sem motivo.
Por que engana: Confundir a quantidade de execuções de um loop aninhado, somando m e n ao invés de multiplicá-los.
Entende que o total de execuções é a soma das repetições dos dois laços, sem perceber que o interno roda completamente a cada volta do externo.
Para cada uma das m iterações externas, o loop interno executa n vezes, totalizando m·n execuções.
Supõe que o número de repetições é sempre o quadrado de uma variável, confundindo m e n como se fossem a mesma quantidade.
Acha que a quantidade de execuções diminui quando um dos laços tem mais voltas, usando subtração em vez de multiplicação na contagem.
Raio-X da questão
loops aninhados
avaliacao
loops simples · multiplicacao de numeros
Revisar a execução de loops aninhados em algoritmos.
Confundir a quantidade de execuções de um loop aninhado, somando m e n ao invés de multiplicá-los.
ciencia_tecnologia
tomada_decisao
abstrato
Questões parecidas com resolução
- Um algoritmo aninhado percorre uma matriz M de tamanho n×n com dois loops: para i de 1 até n e para j de 1 até n. Se a…
- Um algoritmo percorre uma lista de n elementos com dois loops aninhados: para i de 1 a n: para j de 1 a n: executar…
- Considere o algoritmo: contador := 0; para i de 1 até n passo 2 faça contador := contador + 1; fim para. Em termos de n…
- Considere um algoritmo com duas estruturas de repetição aninhadas, cada uma iterando de 1 até n. Qual é a complexidade…
- Em um algoritmo com repetição aninhada, o que ocorre?
- Um algoritmo compara cada par distinto de n elementos (dois laços aninhados com i<j). Em função de n, quantas…
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
