Questões de Concurso Comentadas sobre algoritmos e estrutura de dados
Foram encontradas 2.113 questões
Uma boa lógica de programação é fundamental para que os algoritmos sejam bem desenvolvidos e, consequentemente, os programas bem implementados, claro que se agregando o conhecimento da sintaxe da linguagem de programação escolhida. Dessa forma, pensando-se em estruturas de algumas implementações, considere o seguinte trecho de código:
int fibonacci (int N)
{
if (N <= 1)
return N;
else
return ( fibonacci(N - 1) + fibonacci(N - 2) );
}
Pode-se afirmar, a partir do código anteriormente apresentado, que:
“O primeiro que entra é o primeiro que sai. (FIFO)”
Marque a alternativa que apresenta o nome da estrutura de dados que representa a afirmativa acima.
“Em uma estrutura de dados do tipo __________, os itens podem ser inseridos e removidos através de uma única extremidade, denominada________. O nome da outra extremidade é chamado de _________.”
Marque a alternativa que apresenta os termos que completam adequadamente a afirmativa acima.
As características das estruturas de dados estão disponibilizadas na coluna I. Estabeleça a correta correspondência com as estruturas disponibilizadas na coluna II.
Coluna I
1. Estáticas
2. Dinâmicas
Coluna II
( ) Registros
( ) Filas
( ) Pilhas
( ) Vetores
( ) Strings
( ) Árvores
A sequência correta, de cima para baixo, é:
O resultado final do algoritmo em português estruturado apresentado abaixo é 13524.
X[1]:=4
X[2]:=2
X[3]:=5
X[4]:=3
X[5]:=1
PARA J:=5 ATE 1 PASSO -1 FACA
PARA I:=1 ATE J-1 FACA
SE (X[I] > X[I+1]) ENTAO
AUX:= X[I]
X[I]:=X[I+1]
X[I+1]:=AUX
FIMSE
FIMPARA
FIMPARA
PARA I:=1 ATE 5 FACA
ESCREVA( (X[I])
FIMPARA
Considere a função recursiva a seguir:
function f(n) {
if (n == 0) return 0; else return 3*f(n-1) - 1;
}
Qual o valor de f(3)?
Considere o trecho de código a baixo. Assuma que o operador [ ] (abre e fecha colchetes) é usado para acessar elementos de vetores (arrays) e que o primeiro elemento do vetor é armazenado no índice 0.
v[ i ] = i;
}
para i de 0 até 3 faça {
v[i+1] = v[i+1] + 2*v[i];
}
Qual o valor de v[4] após a execução do trecho de código acima?
[45, 58, 86, 104, 134, 250, 315, 367, 408, 410, 502, 510, 600, 785, 846, 901]
Utilizando-se uma pesquisa binária, o número máximo de buscas para encontrar a chave 600 será:
Considere o seguinte trecho de código.
intn f;
if(n==l) {
return n*n;}
else {
f = F(n-l) * n;
return f;
}
}Da forma com que essa função foi implementada, para uma entrada "n" igual a 4, pode-se dizer que a função:
Seja uma pilha com o número máximo de 10 elementos. Sabendo-se que PUSH e POP retornam 0 se em caso de erro na execução (devido à pilha vazia ou cheia) e 1 em caso contrário, e que TOP(S) retorna –1 quando a pilha estiver vazia, quais os valores retornados ao executar as seguintes operações?
POP(S); POP(S); PUSH(S,A); PUSH(S,B); POP(S); POP(S);
TOP(S); PUSH(S,C); PUSH(S,D); POP(S); TOP(S);
Algoritmo Lógica
var a, b, c, d: inteiro
Início
a ← 2
b ← 5
c ← 10
d ← 3
Se (NÃO((a+c*b) < = (d*b/a)) E ((b+c/d) < (c/a*d-b*a))) então
imprima ("A")
Fim_se
Se (((a+c*b) < = (d*b/a)) OU ((b+c/d) < > (c/a*d-b*a)) E NÃO((c-d)=(d+a))) então
imprima ("B")
Fim_se
Se ((((a+c)*b) < = (d*b/a)) E ((b-c*d) < > (c/a*(d-b)*a))) então
imprima ("C")
Fim_se
Fim
Neste algoritmo será impresso
Var v: vetor [0..7]: inteiro
Var n, p, u, a: inteiro
Início
Para p de 0 até 7 passo 1 faça
leia (n)
v[p] ← n
Fim_para
p ← 0
u ← 8
Enquanto (u < > 2) faça
Enquanto (p < > (u-1)) faça
Se (v[p] > v[p+1]) então
a ← v[p]
v[p] ← v[p+1]
v[p+1] ← a
Fim_se
p ← p + 1
Fim_enquanto
p ← 0
u ← u - 1
Fim_enquanto
Fim
Considerando-se que v receba os valores 12, 21, 3, 9, 57, 33, 27 e 41, nessa ordem, após executar todos os laços de repetição as posições 4 e 5 do vetor v conterão, respectivamente, os valores