Questões de Concurso
Sobre algoritmos em algoritmos e estrutura de dados
Foram encontradas 2.344 questões
Considere o algoritmo de ordenação para um vetor de inteiros na linguagem de programação Java:

Considerando n como o tamanho do vetor, assinale a alternativa CORRETA que corresponde à complexidade média de tempo do algoritmo na notação Big-O:
Assinale a afirmativa que compara corretamente a eficiência dos algoritmos de Busca Sequencial e Busca Binária neste cenário.
Com relação a derivação da fórmula da distância de Minkowski, analise as afirmativas a seguir.
I. Se P = 2, a fórmula calculará a distância Euclidiana.
II. Se P = 1, a fórmula calculará a distância de Manhattan.
III. Se P = 0, a fórmula calculará a distância Hamming.
Está correto o que se afirma em
A QUESTÃO SE REFERE AO PSEUDOCÓDIGO A SEGUIR.

Considerando a execução do pseudocódigo apresentado, qual será o valor exibido na saída?
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:
A fim de atender aos requisitos do programa em questão, um Analista de Tecnologia e Informática da Câmara Municipal de Rondônia, propôs o seguinte pseudocódigo:
Sobre o pseudocódigo em questão, é CORRETO afirmar que
A fim de atender aos requisitos do programa em questão, um Analista de Tecnologia e Informática da Câmara Municipal de Rondônia, propôs o seguinte pseudocódigo:
Sobre o pseudocódigo em questão, é CORRETO afirmar que
A fim de atender aos requisitos do programa em questão, um Analista de Tecnologia e Informática da Câmara Municipal de Rondônia, propôs o seguinte pseudocódigo:
Sobre o pseudocódigo em questão, é CORRETO afirmar que
(__)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.
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.
O primeiro elemento da matriz, localizado na primeira linha e primeira coluna, é o número 11, e cada novo elemento é calculado com base no elemento preenchido imediatamente antes, de acordo com as seguintes regras:
• Se o elemento preenchido imediatamente antes for um número par, então o novo elemento será a metade desse número.
• Se o elemento preenchido imediatamente antes for um número ímpar, então o novo elemento será o triplo desse número, mais 1.
Os primeiros elementos da matriz estão representados a seguir:
Se o programa prosseguiu utilizando essas regras até completar todas as 45 linhas, então a soma de todos os elementos da última linha dessa matriz é:
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 é
