Questões de Concurso Sobre algoritmos e estrutura de dados
Foram encontradas 3.123 questões
Considere o seguinte algoritmo:
Para i de 7 até 4 Faça
aux <- v[i]
v[i] <- v[7 - i]
v[7 - i] <- aux
i <- i - 1
Fim_Para
max = maior v
v[2] <- v[0]
v[max - v[2]] <- v[max - v[1]]
Assinale a alternativa que possui o estado final do vetor v inicialmente definido com os elementos de 32 a 39.
Assinale a alternativa que define corretamente a técnica de função fatorial empregada no pseudocódigo a seguir.
1. funcao fatorial(n)
2. se n=1 então
3. fatorial = 1
4. senao
5. fatorial = n * fatorial(n-1)
6. fim funcao
Para responder à questão, considere a estratégia de ordenação apresentada em Java abaixo.
Considere que há 3 categorias para pagantes de pensões alimentícias: a primeira engloba os que pagam até 1 valor base (R$ 900.00), a segunda os que pagam de 2 até 4 valores base e a terceira os que pagam acima de 4 valores base. Um programador apresentou o trecho em pseudocódigo abaixo como solução para identificar os pagantes destas 3 categorias.
Um Técnico Programador, ao analisar o trecho acima, afirma corretamente que
Considere o algoritmo em pseudocódigo abaixo.
Analisando a lógica do programa acima, é correto afirmar que
Considere o grafo abaixo.
A complexidade ciclomática é uma métrica que mede a complexidade de um determinado módulo (uma classe, um método, uma função etc.), a partir da contagem do número de caminhos independentes que ele pode executar até o seu fim. Um caminho independente é aquele que apresenta pelo menos uma nova condição (possibilidade de desvio de fluxo) ou um novo conjunto de comandos a serem executados. O resultado da complexidade ciclomática indica quantos testes, pelo menos, precisam ser executados para que se verifiquem todos os fluxos possíveis que o código pode tomar, a fim de garantir uma completa cobertura de testes.
(Adaptado de: https://www.treinaweb.com.br/blog/complexidade-ciclomatica-analise-estatica-e-refatoracao/)
Considerando que no grafo acima há 17 arestas e 13 nós, o cálculo da complexidade ciclomática resulta em
Analise o trecho de pseudocódigo a seguir.
Assinale a opção que exibe o conteúdo integral do resultado que
seria produzido numa hipotética execução desse código.
Considere a figura abaixo e assinale a alternativa que contém todas as afirmações corretas.
I. A figura representa uma Árvore Binária de Busca (BST – Binary Search Tree). Se ela for percorrida em-ordem (inorder), a sequência de nodos visitados será: 2, 4, 7, 6, 8, 10, 9, 13, 12, 14, 20, 25, 31.
II. A figura representa uma Árvore Binária de Busca (BST – Binary Search Tree). Se ela for percorrida em pós-ordem (posorder), a sequência de nodos visitados será: 10, 7, 2, 4, 8, 6, 14, 13, 9, 12, 25, 20, 31.
III. A figura representa uma Árvore Binária de Busca (BST – Binary Search Tree). Se ela for percorrida em pré-ordem (preorder), a sequência de nodos visitados será: 4, 2, 6, 8, 7, 9, 12, 13, 20, 31, 25, 14, 10.
IV. A figura não representa uma Árvore Binária de Busca (BST – Binary Search Tree).
Considerando o algoritmo abaixo, assinale a alternativa correta.
Considere o algoritmo abaixo.
static int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n - 2) + fibonacci(n - 1);
}
A complexidade deste algoritmo, na notação Big O, é
Analise as afirmativas a seguir a respeito de algoritmos recursivos.
I. Diz-se que uma rotina é recursiva se a sua definição envolver uma chamada a ela mesma. Neste sentido, o termo recursão é equivalente ao termo indução utilizado por matemáticos.
II. Cada algoritmo recursivo possui um algoritmo iterativo equivalente e vice-versa, mas que pode ter mais ou menos complexidade em sua construção.
III. Uma função recursiva possui duas partes: caso base e caso recursivo.
IV. Um algoritmo pode ser chamado de iterativo quando ele requer a repetição implícita de um processo até que determinada condição seja satisfeita.
V. A recursividade possibilita a escrita de um código mais enxuto, com maior legibilidade e simplicidade.
Assinale a alternativa que possui alguma afirmação INCORRETA.