Computação 2ª série Prova
Busca, ordenação e eficiência de algoritmos
Prova com 12 questões sobre busca linear e binária, método da bolha, crescimento do tempo de execução, uso de memória e energia, funções como parâmetro, compiladores e métricas de software.
- 12 questões
- cerca de 55 minutos
Computação, 2ª série: Busca, ordenação e eficiência de algoritmos
Uma lista ordenada tem 1 000 nomes. Na busca binária, compara-se o nome procurado com o elemento do meio e descarta-se a metade em que ele não pode estar, repetindo o processo. No pior caso, o número de comparações necessárias é de cerca de:
- 500
- 1 000
- 10
- 100
- 32
Para que a busca binária funcione corretamente, é necessário que:
- a lista tenha um número par de elementos
- a lista esteja ordenada
- a lista tenha menos de 100 elementos
- o elemento procurado esteja no meio da lista
- a lista não tenha números negativos
No método da bolha (bubble sort), percorre-se a lista comparando pares vizinhos e trocando-os de lugar quando estão fora de ordem. Aplicando uma única passagem completa à lista [5, 1, 4, 2], em ordem crescente, obtém-se:
- [1, 2, 4, 5]
- [1, 5, 4, 2]
- [4, 1, 2, 5]
- [1, 4, 2, 5]
- [5, 4, 2, 1]
Um programa usa dois laços aninhados que percorrem uma lista de n elementos, executando cerca de n² operações. Para n = 1 000, ele leva 2 segundos. Mantidas as condições, para n = 4 000 a estimativa de tempo é:
- 8 s
- 16 s
- 4 s
- 64 s
- 32 s
Um programa passou a guardar em uma tabela os resultados de cálculos já feitos, para não precisar refazê-los quando aparecem de novo (técnica chamada memoização). O efeito esperado é:
- reduzir o tempo, usando mais memória
- reduzir o tempo de execução e também a memória usada
- aumentar o tempo, economizando memória
- não alterar o tempo nem a memória
- eliminar a necessidade de processador
Um aplicativo de celular verifica a localização do usuário a cada segundo, mesmo quando isso não é necessário. Além de ocupar o processador, esse comportamento afeta principalmente:
- a resolução da câmera
- o tamanho da tela
- o consumo de energia
- a velocidade do teclado
- a capacidade do chip SIM
Em muitas linguagens de programação, é possível chamar ordenar(lista, criterio), em que criterio é uma outra função, escrita pelo programador, que diz qual de dois elementos vem primeiro. Esse recurso é um exemplo de:
- um algoritmo recebendo outro como entrada
- um laço infinito que nunca termina de executar
- um vírus que altera outros programas
- uma técnica de compressão de dados
- um algoritmo que não tem entrada
Um compilador é um programa que:
- conecta o computador à internet
- apaga arquivos duplicados do disco
- protege o computador contra invasões
- mede a velocidade do processador
- traduz código-fonte em um programa executável
Uma escola quer escolher um aplicativo de estudos que funcione bem nos celulares antigos dos estudantes, que têm pouca memória disponível. A tabela mostra os resultados de testes com três aplicativos.
Aplicativo Tempo de resposta Memória usada Falhas a cada 1 000 usos A 1,2 s 300 MB 5 B 0,8 s 900 MB 2 C 1,5 s 120 MB 3 Considerando a prioridade da escola, a escolha mais adequada é:
- B, por ser o mais rápido e o de menos falhas
- A, por ter valores intermediários em tudo
- B, pois memória não influencia celulares antigos
- C, que usa menos memória e tem poucas falhas
- A, pois tem o maior número de falhas registradas
Qual destes itens é uma métrica objetiva para avaliar a qualidade de um software?
- A cor do ícone do aplicativo
- O número de letras do nome do programa
- A quantidade de falhas a cada 1 000 usos
- A opinião de uma única pessoa sobre o logotipo
- O país em que a empresa tem sede
Dobrar o tamanho de uma lista ordenada aumenta em apenas cerca de uma comparação o pior caso da busca binária.
( ) Verdadeiro ( ) Falso
a) Explique a diferença entre busca linear e busca binária, usando como exemplo a procura de um nome em uma lista de chamada.
b) Em que situação a busca linear pode ser a melhor escolha? Justifique considerando os recursos envolvidos.
ProvaPiloto · provapiloto.com.br
Gabarito comentado
Já usou com a sua turma?
Conte com um toque. Isso ajuda outros professores a escolher.
Usei em sala Entre na sua conta para contar.
Para continuar o assunto

Desenvolvimento de software: requisitos, testes e qualidade
Prova 11 questões 60 min

Robótica: sensores, atuadores e lógica de controle
Atividade 10 questões 50 min

Repetições dentro de repetições: laços aninhados
Atividade 9 questões 50 min

Robô na trilha: comandos, condições e decomposição
Prova 8 questões 45 min