Questões de Concurso Sobre algoritmos em algoritmos e estrutura de dados

Foram encontradas 2.316 questões

Q4086235 Algoritmos e Estrutura de Dados
Em linguagens de programação, os comandos controlam o fluxo de execução e manipulam dados. A recursividade permite que funções chamem a si mesmas para resolver problemas de forma hierárquica ou repetitiva. A esse respeito, informe se é verdadeiro (V) ou falso (F) o que se afirma a seguir e assinale a alternativa com a sequência correta.

( ) O comando for é um exemplo de estrutura de repetição que executa um bloco de código várias vezes, dependendo de uma condição.
( ) Em recursividade, não é necessário definir um caso-base, pois a função se encerra automaticamente após chamadas sucessivas.
( ) O comando if-else permite que diferentes blocos de código sejam executados dependendo de uma condição booleana.
( ) Uma função recursiva pode ser reescrita utilizando loops equivalentes, sem alterar o resultado final do programa. 
Alternativas
Q4076583 Algoritmos e Estrutura de Dados
Em uma rotina de ensino de programação procedural, o instrutor apresenta um algoritmo que recebe um vetor de inteiros, percorre seus elementos e retorna um valor calculado ao final. Nessa abordagem, a estrutura mais adequada para percorrer sequencialmente todas as posições do vetor é:
Alternativas
Q4071625 Algoritmos e Estrutura de Dados
Em navegadores Web, o histórico de páginas visitadas pelo usuário pode ser implementado por meio de uma estrutura de dados do tipo pilha. Nesse contexto, ao visitar uma nova página, ela é colocada no topo da pilha. Quando o usuário aciona o botão voltar do navegador, a página atual é removida da pilha, e a página exibida passa a ser aquela que estiver no topo após a remoção.

Considere a seguinte sequência de ações realizadas por um usuário:
Entrou na página A;
Entrou na página B;
Entrou na página C;
Clicou em voltar;
Entrou na página D;
Clicou em voltar;
Clicou em voltar;

Com base nesse comportamento, assinale a alternativa que representa CORRETAMENTE a página que o usuário está visualizando no momento: 
Alternativas
Q4071623 Algoritmos e Estrutura de Dados
A Ordenação por Inserção (Insertion Sort) é um algoritmo eficiente para ordenar um número pequeno de elementos (Cormen et al., 2024). Em cada passo, a partir de i = 2, o i-ésimo elemento da sequência é transferido para o seu lugar apropriado no arranjo (vetor).

Sobre o método de ordenação por inserção, assinale a alternativa INCORRETA:
Alternativas
Q4071621 Algoritmos e Estrutura de Dados
Um método recursivo é aquele que chama a si mesmo, direta ou indiretamente. Métodos recursivos permitem uma descrição mais clara e concisa dos algoritmos, especialmente quando o problema a ser resolvido pode ser definido em termos recursivos. No entanto, isso não significa que um método recursivo será sempre a melhor opção para resolver um problema (Ziviani, 2012).
O código em Python, a seguir, tem como objetivo calcular, recursivamente, o n-ésimo número de Fibonacci. Esse código é extremamente ineficiente, pois recalcula o mesmo valor várias vezes. Por exemplo, para calcular fib(5) são necessários os valores de fib(4) e fib(3). Entretanto, fib(4) também chama recursivamente fib(3). 
Imagem associada para resolução da questão
Considerando a execução do código apresentado para n = 5, assinale a alternativa que representa CORRETAMENTE o número de chamadas de fib(5), fib(4), fib(3), fib(2) e fib(1), nessa ordem. 
Alternativas
Q4067558 Algoritmos e Estrutura de Dados
O diagrama de Chapin (ou de Nassi-Shneiderman) é uma ferramenta visual para a representação de algoritmos. Em comparação aos fluxogramas convencionais, a principal característica do diagrama de Chapin é:
Alternativas
Q4067556 Algoritmos e Estrutura de Dados
 Na estrutura de pseudocódigo, os conceitos de Procedimento e Função são distintos em sua finalidade. Diferente de um procedimento, uma função é caracterizada por:
Alternativas
Q4067548 Algoritmos e Estrutura de Dados
Em pseudocódigo, qual estrutura de controle básica é caracterizada pela execução linear, um comando após o outro, sem desvios ou repetições? 
Alternativas
Q4067222 Algoritmos e Estrutura de Dados
Considere uma função recursiva em Python destinada a calcular o fatorial de um número inteiro não negativo. Para que a recursão termine corretamente, é indispensável a definição de: 
Alternativas
Q4067220 Algoritmos e Estrutura de Dados
Em análise de algoritmos, uma rotina que percorre sequencialmente os elementos de um vetor de tamanho n, realizando uma comparação por posição, possui complexidade de tempo: 
Alternativas
Q4067211 Algoritmos e Estrutura de Dados
Considere uma função recursiva em Python destinada a calcular o fatorial de um número inteiro não negativo. Para que a recursão termine corretamente, é indispensável a definição de: 
Alternativas
Q4067209 Algoritmos e Estrutura de Dados
Em análise de algoritmos, uma rotina que percorre sequencialmente os elementos de um vetor de tamanho n, realizando uma comparação por posição, possui complexidade de tempo:
Alternativas
Q4065605 Algoritmos e Estrutura de Dados
Os fluxogramas são ferramentas gráficas utilizadas para representar algoritmos e processos, facilitando a visualização da sequência de atividades e das decisões envolvidas.
Assinale a alternativa correta considerando os conceitos e elementos dos fluxogramas.
Alternativas
Q4065598 Algoritmos e Estrutura de Dados
Na notação de Fluxogramas, assinale a alternativa que indica corretamente o símbolo que denota pontos de tomada de decisão, geralmente no formato binário de sim / não.
Alternativas
Q4065560 Algoritmos e Estrutura de Dados

Relacione abaixo os conceitos de lógica de programação na Coluna 1 com suas respectivas definições na Coluna 2.


Coluna 1 Conceito


1. Variável


2. Laço de repetição (Loop)


3. Função/Procedimento


4. Estrutura condicional


Coluna 2 Definição


(_) Estrutura que repete um bloco de código enquanto uma condição for verdadeira


(_) Espaço na memória que armazena um valor que pode ser alterado durante a execução


(_) Estrutura que avalia uma condição e executa blocos diferentes conforme o resultado


(_) Bloco de código reutilizável que realiza uma tarefa específica e pode receber parâmetros


Assinale a alternativa que indica a sequência correta, de cima para baixo.

Alternativas
Q4065001 Algoritmos e Estrutura de Dados
Sobre os algoritmos de ordenação Merge Sort e Bubble Sort (Método da Bolha), assinale a alternativa INCORRETA: 
Alternativas
Q4063101 Algoritmos e Estrutura de Dados
Durante o desenvolvimento de um sistema interno de controle de chamados em um órgão público, um técnico de tecnologia da informação foi encarregado de revisar a lógica de um algoritmo responsável por registrar e classificar solicitações de usuários. Para isso, ele analisou um pseudocódigo inicial elaborado por outro membro da equipe, cujo objetivo é contabilizar quantos chamados possuem prioridade alta. Considere o seguinte pseudocódigo simplificado:

Imagem associada para resolução da questão

Com base nos conceitos de lógica de programação, algoritmos, fluxogramas, pseudocódigo, variáveis, operadores e estruturas de decisão e repetição, analise as assertivas a seguir e assinale V, para verdadeiro, ou F, para falso:

(__)O valor de N funciona como variável de controle da repetição, determinando quantas vezes o bloco de instruções será executado.
(__)A variável contador atua como acumulador, sendo incrementada condicionalmente dentro da estrutura de decisão.
(__)Em um fluxograma equivalente, a verificação da prioridade seria representada por um símbolo de decisão, normalmente indicado por um losango.
(__)Caso o comando de incremento estivesse fora da estrutura condicional, o algoritmo ainda contabilizaria apenas os chamados de prioridade alta.
(__)A leitura da variável prioridade ocorre dentro da estrutura de repetição porque o algoritmo precisa avaliar múltiplos registros de chamados.
(__)A substituição da estrutura "para i de 1 até N" por uma estrutura "enquanto" exigiria um mecanismo adicional de controle da variável de iteração.

Assinale a alternativa que apresenta a sequência CORRETA de V (verdadeiro) e F (falso):
Alternativas
Q4057675 Algoritmos e Estrutura de Dados
A recursão é uma técnica onde uma função chama a si mesma para resolver subproblemas menores de um problema original, sendo amplamente aplicada em algoritmos de divisão e conquista. Para que uma função recursiva termine adequadamente e não cause um erro de estouro de pilha, um elemento técnico específico deve estar presente. Assinale a alternativa correta.
Alternativas
Q4057671 Algoritmos e Estrutura de Dados
A análise da complexidade de algoritmos permite prever o desempenho de sistemas computacionais conforme o volume de dados aumenta. Acerca do assunto, registre V, para as afirmativas verdadeiras, e F, para as falsas:

(__)O algoritmo de busca binária exige que o conjunto de dados esteja previamente ordenado para funcionar corretamente em tempo logarítmico.
(__)O QuickSort apresenta sua pior performance, com complexidade quadrática, quando o pivô escolhido é repetidamente o menor ou o maior elemento da lista.
(__)O algoritmo Bubble Sort é classificado como estável, o que significa que ele preserva a ordem relativa de elementos com chaves de ordenação idênticas.
(__)A busca sequencial é tecnicamente impossível de ser realizada em listas que contenham elementos do tipo ponto flutuante de precisão dupla.

Após análise, assinale a alternativa que apresenta a sequência correta dos itens acima, de cima para baixo:
Alternativas
Q4052683 Algoritmos e Estrutura de Dados
Sobre análise de algoritmos, considere o algoritmo de busca binária aplicado sobre um arranjo unidimensional de n elementos, previamente ordenado. No pior caso, a complexidade de tempo (ordem de crescimento) deste algoritmo é adequadamente representada por:
Alternativas
Respostas
21: D
22: A
23: C
24: D
25: D
26: B
27: C
28: A
29: A
30: A
31: A
32: A
33: D
34: B
35: C
36: D
37: D
38: D
39: A
40: C