Questões de Concurso Sobre algoritmos e estrutura de dados
Foram encontradas 3.124 questões
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);
Se forem lidos para as variáveis A e B, respectivamente, os valores 4 e 4 será exibido o valor
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
Se nas duas ocorrências de atribuição do valor 0 à variável p, ou seja, p ← 0, for atribuído 1 a esta variável,
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
algoritmo "CMRJ_2014"
var
M: vetor[1..5,1..5] de inteiro
L,C : inteiro
inicio
para L de 1 ate 5 faca
para C de 1 ate L faca
se ((C = 1) ou (L=C)) entao
M[L,C] <-1
senao
M[L,C] <- M[L- 1,C] + M[L-1,C-1]
fimse
fimpara
fimpara
para L de 1 ate 5 faca
para C de 1 ate I faca
escreva(M[L,C]:3)
fimpara
escreval
fimpara
fimalgoritmo
Após o processamento, esse algoritmo irá gerar a seguinte saída:
Após a execução, a função retornará um valor igual a:
Ao final do processamento, os valores de saída para as variáveis M e B serão, respectivamente:
Após a execução, a variável S será impressa uma quantidade de vezes igual a:
Observe o algoritmo abaixo, que determina a transposta T de uma matriz M3X2.
As instruções que devem substituir
no código estão indicadas na seguinte alternativa: