Questões de Concurso Público IF-SP 2026 para Analista de Tecnologia da Informação

Foram encontradas 4 questões

Q3853045 Algoritmos e Estrutura de Dados
        Um programa de computador foi desenvolvido para gerar uma matriz quadrada com 45 linhas e 45 colunas. Os elementos dessa matriz são gerados um a um, da esquerda para a direita, linha após linha. Isso significa que todas as 45 entradas da primeira linha são preenchidas primeiro, para depois preencher todas as entradas da segunda linha, e assim sucessivamente, até a 45ª linha, sempre da esquerda para a direita em cada linha.
       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:
Q.19.png (295×102)


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 é:
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
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
Q3853060 Algoritmos e Estrutura de Dados

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?


Alternativas
Respostas
1: B
2: A
3: B
4: D