Questões de Concurso Público IF-SP 2026 para Analista de Tecnologia da Informação
Foram encontradas 4 questões
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 é:
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.
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 livraria precisa gerenciar seu catálogo digital onde novos títulos são constantemente adicionados e livros esgotados são removidos. É essencial que as operações de inserção, remoção e busca por títulos sejam rápidas (idealmente em tempo logarítmico) para não impactar as vendas. O sistema deve manter os livros sempre em ordem alfabética.
Nesse contexto, qual estrutura de dados é mais adequada para atender a esses requisitos de um catálogo dinâmico e ordenado?