Projete um algoritmo em pseudocódigo que, dada uma lista A[1..n] de inteiros e um inteiro k (1 = k = n)…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Utilizar algoritmos clássicos de manipulação sobre listas.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Projete um algoritmo em pseudocódigo que, dada uma lista A[1..n] de inteiros e um inteiro k (1 = k = n), calcule a lista B onde B[i] é a média aritmética dos k elementos contíguos A[i..i+k-1]. Use loops (pode usar loops aninhados) e variáveis.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Pseudocódigo (versão ingênua O(n·k)): B := vetor vazio de tamanho n-k+1 para i de 1 até n-k+1 faça soma := 0 para j de i até i+k-1 faça soma := soma + A[j] fim para B[i] := soma / k fim para Explicação: o loop externo posiciona a janela de tamanho k; o interno soma os k valores. Complexidade O(n·k). Otimização possível: usar soma deslizante (subtrair A[i-1], somar A[i+k-1]) para obter O(n).
Explicação
O algoritmo apresentado utiliza dois loops para calcular a soma dos k elementos contíguos da lista A, permitindo que a média aritmética seja armazenada na lista B. O primeiro loop controla a posição inicial da janela de k elementos, enquanto o segundo loop realiza a soma dos elementos dessa janela. A complexidade O(n·k) é resultante do fato de que, para cada posição da janela, é necessário somar k elementos, mas uma otimização pode ser aplicada para reduzir essa complexidade.
Raio-X da questão
média aritmética em algoritmos
avaliacao
média aritmética · estrutura de repetição
Revisar a definição de média aritmética e estruturas de repetição.
O aluno pode confundir a média aritmética com a soma dos elementos, não dividindo pelo número de elementos corretamente.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Projete um algoritmo em pseudocódigo que, dado um vetor A[1..n] de inteiros e um inteiro k (1 = k = n), calcule a maior…
- Proponha um algoritmo em pseudocódigo que, dada uma lista A de n inteiros e um inteiro k>0, determine o comprimento do…
- Escreva um pseudocódigo que, dada uma lista A de n inteiros, percorra pares ordenados (i,j) com i<j usando loops…
- Conceitue um algoritmo que pode ser utilizado para calcular a média de uma lista de números. Descreva seu funcionamento…
- Descreva, em um parágrafo, um algoritmo para calcular a média de uma lista de números inteiros. Explique a lógica e as…
- Descreva um algoritmo em pseudocódigo que, dada uma matriz quadrada A[n][n] de inteiros e um inteiro k>0, percorra os…
🔎 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
