Questões de Concurso
Comentadas sobre algoritmos em algoritmos e estrutura de dados
Foram encontradas 1.406 questões
1. “O algoritmo __________ percorre repetidamente o vetor, comparando elementos adjacentes e realizando trocas sempre que eles se encontram fora de ordem, até que nenhuma troca adicional seja necessária.”
2. “No método __________, cada novo elemento é inserido na posição adequada dentro da porção já ordenada do vetor, promovendo deslocamentos sucessivos dos elementos maiores.”
3. “O algoritmo __________ caracteriza-se por selecionar, a cada iteração, o menor elemento da região ainda não ordenada e posicioná-lo no início dessa região.”
4. “A técnica conhecida como __________ baseia-se na escolha de um elemento de referência, a partir do qual os demais elementos são reorganizados em dois grupos, menores e maiores, repetindo-se o processo nas subdivisões resultantes.”
5. “O procedimento __________ divide o vetor em partes menores, ordena essas partes separadamente e, em seguida, combina os resultados em uma única sequência ordenada.”
Assinale a alternativa que completa, corretamente, as afirmativas anteriores.
I. O cálculo de rota mais curta em redes complexas utiliza predominantemente o algoritmo de Dijkstra ou suas variações, como o A* (A-star).
II. Em aplicações logísticas, o geoprocessamento elimina completamente a necessidade de dados históricos de tráfego, pois os algoritmos de roteamento utilizam apenas a distância geométrica entre os pontos de origem e destino.
III. A análise de "Isócronas" permite visualizar em um mapa todas as áreas que podem ser alcançadas a partir de um ponto em um determinado intervalo de tempo (ex.: 15 minutos).
A sequência correta é
função buscaBinaria(vetor [], valor) inferior ← 0 superior ← N - 1 enquanto inferior <= superior { comando faltante se vetor[índice] == valor retornar índice senão se vetor[índice] < valor inferior ← índice + 1 senão superior ← índice - 1 } retornar -1
O algoritmo trabalha com valores do tipo inteiro e o vetor tem N elementos ordenados de forma crescente, com o índice do primeiro elemento sendo zero. O algoritmo retorna o valor do índice do vetor que contém o valor pesquisado, ou retorna -1, se o valor não for encontrado no vetor. Qual linha deve substituir o comando faltante no algoritmo para que ele implemente corretamente a busca binária?
Assinale a alternativa que descreve corretamente esses dois conceitos.
Assinale a afirmativa que compara corretamente a eficiência dos algoritmos de Busca Sequencial e Busca Binária neste cenário.
No desenvolvimento de soluções computacionais, a lógica de programação fornece os fundamentos para a construção de algoritmos capazes de resolver problemas de forma estruturada e compreensível. Analise as afirmativas a seguir:
I. Um algoritmo pode ser entendido como uma sequência ordenada de passos que descreve a resolução de um problema, independentemente da linguagem de programação utilizada.
II. Fluxogramas utilizam símbolos gráficos padronizados para representar o fluxo de execução de um algoritmo, facilitando a visualização das decisões e repetições.
III. O pseudocódigo permite descrever algoritmos de forma textual e estruturada, sem exigir a sintaxe específica de uma linguagem de programação.
IV. Variáveis são utilizadas para armazenar dados durante a execução do algoritmo, podendo ter seus valores alterados conforme as instruções são processadas.
V. Estruturas de repetição substituem totalmente as estruturas de decisão, pois ambas exercem a mesma função lógica dentro de um algoritmo.
Assinale a alternativa correta:
No desenvolvimento de sistemas computacionais, a construção de algoritmos envolve a definição clara de passos, o uso adequado de estruturas de dados e a adoção de paradigmas de programação conforme o problema a ser resolvido. Acerca destes conhecimentos, analise as afirmativas a seguir:
I. Um algoritmo pode ser representado por diferentes formas, como pseudocódigo ou fluxogramas, desde que descreva de maneira lógica e ordenada as etapas necessárias para resolver um problema.
II. Estruturas de dados como listas, filas e pilhas organizam informações de modos distintos, influenciando diretamente a eficiência das operações de inserção, remoção e acesso aos dados.
III. No paradigma procedural, os programas são estruturados em procedimentos ou funções, priorizando a organização do código em blocos reutilizáveis.
IV. Na programação orientada a objetos, conceitos como classes e objetos permitem agrupar dados e comportamentos, favorecendo a modelagem de sistemas mais próximos da realidade.
V. Estruturas condicionais e de repetição são exclusivas do paradigma orientado a objetos, não sendo aplicáveis a algoritmos procedurais.
Assinale a alternativa correta:
(__)Em pseudocódigo, estruturas de seleção permitem a execução condicional de blocos de instruções distintos, conforme o resultado de uma expressão lógica avaliada durante a execução do algoritmo.
(__)Fluxogramas utilizam símbolos padronizados para representar decisões, entradas, saídas e processamento, facilitando a visualização do fluxo lógico, ainda que não substituam integralmente a descrição textual do algoritmo.
(__)Estruturas de repetição possibilitam a execução contínua de um conjunto de instruções enquanto uma condição permanecer verdadeira, sendo geralmente empregadas quando o número de iterações não é previamente conhecido.
(__)Vetores e matrizes são estruturas equivalentes quanto à organização lógica dos dados, diferenciando-se apenas pela quantidade de elementos armazenados, sem impacto na forma de acesso ou indexação.
(__)Registros permitem agrupar dados de naturezas diferentes sob um mesmo identificador, o que favorece a organização de informações relacionadas em um algoritmo.
(__)Procedimentos e funções têm como principal diferença o fato de que apenas as funções podem devolver valores ao algoritmo chamador, enquanto procedimentos executam ações sem retorno direto.
Assinale a alternativa que mostra corretamente a sequência de V(verdadeiro) e F (falso) de cima para baixo:
Considere um cenário em que é necessário organizar uma lista de objetos com base em um atributo específico (como nome, preço ou data) e, posteriormente, realizar buscas eficientes sobre essa lista. Com base nos fundamentos de algoritmos de busca e ordenação, analise as afirmativas a seguir:
I. O algoritmo Merge Sort é mais indicado do que o Bubble Sort quando se busca maior eficiência em listas grandes, pois apresenta complexidade de tempo O(n log n) em todos os casos.
II. A ordenação prévia de uma lista permite que algoritmos de busca binária sejam aplicados, o que reduz o tempo médio de busca para O(log n).
III. O algoritmo Insertion Sort é adequado para listas grandes (n > 1000000), pois sua implementação é simples e o custo de ordenação é aceitável nesse contexto.
IV. A busca sequencial apresenta melhor desempenho do que a busca binária em listas grandes, especialmente quando os dados estão ordenados.
Um algoritmo deve solicitar números ao usuário repetidamente até que ele digite zero. Todos os valores positivos informados devem ser somados antes do término.
A estrutura de repetição correta para implementar esse comportamento é chamada de
A técnica de otimização mais adequada para reduzir drasticamente o tempo de execução, sem alterar a natureza recursiva do algoritmo é
O algoritmo e a complexidade de tempo mais adequados são
Considerando somente o processamento do hash de uma única senha com comprimento fixo, a complexidade temporal da operação é de ordem