Questões de Concurso Comentadas sobre algoritmos em algoritmos e estrutura de dados

Foram encontradas 1.518 questões

Q3878233 Algoritmos e Estrutura de Dados

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: 

Alternativas
Q3878218 Algoritmos e Estrutura de Dados

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: 

Alternativas
Q3867221 Algoritmos e Estrutura de Dados
Em matemática e ciência da computação, podemos definir um algoritmo:
Alternativas
Q3866608 Algoritmos e Estrutura de Dados
Considerando o uso de pseudocódigo, fluxogramas, estruturas de controle, vetores, matrizes, registros, procedimentos e funções, analise as assertivas a seguir e assinale V (Verdadeiro) ou F (Falso):
(__)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: 
Alternativas
Q3853057 Algoritmos e Estrutura de Dados

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.


Alternativas
Q3853053 Algoritmos e Estrutura de Dados

Uma empresa coleta eventos de sensores IoT. Cada evento contém um identificador, o horário e um valor agregado ao evento:


• Identificador do sensor

• Data e hora do evento

• Valor agregado


        Para monitorar algumas atividades, é gerado um relatório que indique a quantidade de eventos para os quais o valor agregado está acima de um limite.

        Considerando uma lista de eventos, onde cada evento é representado por uma tupla con tendo os seguintes dados (sensor_id, timestamp, valor) e uma lista de sensores, temos a seguinte implementação para essa tarefa:


def gerar_relatorio(eventos, sensores, limite): relatorio = []


for sensor_id in sensores: total = 0


for evento in eventos: if evento[0] == sensor_id and evento[2] > limite:


total += 1 relatorio.append((sensor_id, total))


return relatorio



Sabendo que:

• A lista de eventos possui N registros (na ordem de milhões de eventos);


• A lista de sensores contém S sensores (na odem de centenas de sensores);


• Cada evento pertence a um sensor específico. Analise a complexidade assintótica do algoritmo e selecione a alternativa correta.


Alternativas
Ano: 2026 Banca: FGV Órgão: AMAZUL Prova: FGV - 2026 - AMAZUL - Técnico de Informática |
Q3851624 Algoritmos e Estrutura de Dados

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 

Alternativas
Ano: 2026 Banca: FGV Órgão: AMAZUL Prova: FGV - 2026 - AMAZUL - Engenheiro de Computação |
Q3851271 Algoritmos e Estrutura de Dados
Um desenvolvedor está otimizando um algoritmo recursivo de Fibonacci e observa que para n=45 o tempo de execução é inaceitável. A análise mostra que a função é chamada repetidamente com os mesmos argumentos.
A técnica de otimização mais adequada para reduzir drasticamente o tempo de execução, sem alterar a natureza recursiva do algoritmo é
Alternativas
Ano: 2026 Banca: FGV Órgão: AMAZUL Prova: FGV - 2026 - AMAZUL - Engenheiro de Computação |
Q3851260 Algoritmos e Estrutura de Dados
Um desenvolvedor precisa implementar um algoritmo de busca em uma estrutura de dados que armazena 1 milhão de registros ordenados. O requisito é encontrar um registro específico com o menor número de comparações possível.
O algoritmo e a complexidade de tempo mais adequados são
Alternativas
Q3850300 Algoritmos e Estrutura de Dados
Um malware interage com um hash criptográfico ideal utilizado para proteger a senha do usuário.
Considerando somente o processamento do hash de uma única senha com comprimento fixo, a complexidade temporal da operação é de ordem
Alternativas
Q3846196 Algoritmos e Estrutura de Dados
Durante o ensino de algoritmos, é necessário explicar estruturas de controle que permitem a execução repetitiva de um bloco de código até que uma condição seja satisfeita. Assinale a alternativa correta que identifica a estrutura de repetição que garante que o bloco de comandos seja executado pelo menos uma vez, pois o teste lógico é realizado no final do laço.
Alternativas
Q3814153 Algoritmos e Estrutura de Dados
O Pensamento Computacional é uma habilidade fundamental para a resolução de problemas na era digital, não se restringindo apenas à programação de computadores. Assinale a alternativa que apresenta os quatro pilares fundamentais que estruturam o Pensamento Computacional.
Alternativas
Q3803003 Algoritmos e Estrutura de Dados
O Pensamento Computacional não se limita ao uso de computadores, mas representa uma forma de pensar e resolver problemas que pode ser aplicada em diversas situações do cotidiano. Ao decompor um problema complexo, reconhecer padrões, abstrair detalhes e criar uma sequência de passos, os estudantes desenvolvem habilidades cognitivas transferíveis para outras áreas do conhecimento. Marque a alternativa CORRETA que corresponde ao pilar do Pensamento Computacional está relacionado à capacidade de focar nos aspectos essenciais de um problema, ignorando detalhes irrelevantes.
Alternativas
Q4159911 Algoritmos e Estrutura de Dados
Em estruturas de dados, diversos algoritmos de ordenação podem ser utilizados, cada um com características específicas quanto à eficiência e complexidade. Um desses algoritmos segue a estratégia “dividir para conquistar”, dividindo recursivamente o vetor em partes menores, ordenando essas partes e depois mesclando os resultados em uma sequência final ordenada. O enunciado refere-se ao algoritmo 
Alternativas
Q4097657 Algoritmos e Estrutura de Dados
A ordenação organiza os dados de uma coleção em uma ordem específica, geralmente crescente ou decrescente, buscando facilitar a busca e outras operações. Dessa forma, assinale a alternativa CORRETA.
Alternativas
Q4097656 Algoritmos e Estrutura de Dados
Considere um funcionário em um mercantil que deseja organizar uma prateleira de produtos em ordem crescente de preço, da esquerda para a direita. Para isso, ele passa repetidamente pela prateleira do primeiro ao último produto, comparando pares adjacentes e trocando-os sempre que o produto da direita for mais barato que o da esquerda. A cada passagem completa, o produto de maior preço é movido até a última posição, e na vez seguinte ele só compara até a posição anterior, pois o final já está ordenado. O processo continua até que, em uma passagem, nenhuma troca seja necessária, garantindo que todos os produtos estejam organizados do mais barato para o mais caro. Nesse sentido, o nome do algoritmo de ordenação empregado pelo funcionário para organizar os produtos é:
Alternativas
Q4032557 Algoritmos e Estrutura de Dados
Fluxogramas (ou diagramas de fluxo) são representações gráficas de algoritmos, utilizando símbolos padronizados para descrever a sequência de passos (ações) e as decisões lógicas necessárias para resolver um problema. Cada símbolo tem um significado específico, e as setas indicam o fluxo de controle. Acerca dos símbolos utilizados em fluxogramas, registre V, para as afirmativas verdadeiras, e F, para as falsas:

(__)O símbolo de "Terminal" (um oval ou retângulo com cantos arredondados) é usado para indicar o início ou o fim do algoritmo.
(__)O símbolo de "Processamento" (um retângulo) é usado para representar operações de atribuição, cálculos matemáticos ou qualquer manipulação de dados.
(__)O símbolo de "Decisão" (um losango) é usado para representar um ponto onde o fluxo se divide com base em uma condição lógica (ex: Sim/Não, Verdadeiro/Falso).
(__)O símbolo de "Entrada/Saída" (um paralelogramo) é usado exclusivamente para indicar que os dados devem ser impressos em papel.

Assinale a alternativa que apresenta a sequência correta, de cima para baixo: 
Alternativas
Q4032548 Algoritmos e Estrutura de Dados
Em lógica de programação, um algoritmo é uma sequência finita de instruções bem definidas e não ambíguas, projetada para resolver um problema específico. Para que um algoritmo seja considerado correto e eficiente, ele deve processar dados de entrada e produzir uma saída desejada. No contexto de estruturas de dados, os algoritmos de ordenação são usados para organizar uma coleção de itens em uma ordem específica. Qual é a principal característica do algoritmo de ordenação conhecido como "Bubble Sort" (Ordenação por Bolha)?
Alternativas
Q3986715 Algoritmos e Estrutura de Dados
A complexidade de algoritmos é uma métrica fundamental para avaliar a eficiência de programas, permitindo estimar o tempo de execução e o consumo de recursos em função do tamanho da entrada. Diversas notações são utilizadas para descrever o comportamento de algoritmos em diferentes cenários, como melhor caso, pior caso e casos médios, assim como a complexidade de tempo, que indica o crescimento do tempo de execução conforme a quantidade de dados aumenta. Sobre complexidade de algoritmos, informe se é verdadeiro (V) ou falso (F) o que se afirma a seguir e assinale a alternativa com a sequência correta.
( ) A notação empregada para representar o melhor caso de um determinado algoritmo é Ω (Omega).
( ) A notação empregada para representar o pior caso em casos gerais de um determinado algoritmo é Θ (Theta).
( ) O(1) – tempo de execução constante, que não varia conforme o tamanho da entrada do algoritmo.
( ) Quanto à complexidade de tempo, O(n) – tempo quadrático, cresce proporcionalmente ao tamanho da entrada. 
Alternativas
Ano: 2025 Banca: TJ-PI Órgão: TJ-PI Prova: TJ-PI - 2025 - TJ-PI - Residente Tecnológico |
Q3903015 Algoritmos e Estrutura de Dados
O diretor de uma vara judicial do TJPI busca otimizar a organização da pauta de audiências para minimizar o tempo total de espera de advogados, partes e testemunhas. As restrições do problema incluem: a disponibilidade de salas de audiência, a agenda do juiz e do promotor, e a duração estimada de cada audiência. Algumas audiências envolvem os mesmos advogados, que prefeririam ter seus casos agendados em sequência. Trata-se de um problema complexo de otimização combinatória. Qual abordagem de lA é a mais indicada para encontrar uma solução de agendamento de alta qualidade para este problema?
Alternativas
Respostas
101: A
102: C
103: B
104: B
105: B
106: A
107: A
108: A
109: E
110: A
111: D
112: B
113: C
114: E
115: C
116: C
117: D
118: B
119: A
120: D