Questões de Concurso Comentadas sobre algoritmos e estrutura de dados
Foram encontradas 2.155 questões
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á:
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
not (A and B) and (not C or not D)
Para quaisquer valores lógicos de A, B, C e D, o resultado da expressão acima é o mesmo de:
início
tipo TMAT = matriz [1..5,1..5] de inteiros;
inteiro: i, j, k;
TMAT: Mat;
leia k;
para i de 1 até 5 faça
[
para j de 1 até 5 faça
[
Mat[i,j] ← i-j;
]
]
imprima (Mat[2,3]*Mat[3,2]);
fim.
No algoritmo apresentado foram acrescentadas as seguintes linhas de comando imediatamente antes do comando imprima.
para i de 1 até 5 faça
[
para j de 1 até 5 faça
[
Mat[i,j] ← Mat[i,j] + k;
]
]
Dessa forma, com essa modificação, após a execução do algoritmo, a somatória dos elementos da linha 1 da matriz Mat será igual a:
início
tipo TMAT = matriz [1..5,1..5] de inteiros;
inteiro: i, j, k;
TMAT: Mat;
leia k;
para i de 1 até 5 faça
[
para j de 1 até 5 faça
[
Mat[i,j] ← i-j;
]
]
imprima (Mat[2,3]*Mat[3,2]);
fim.
O valor impresso ao final da execução do algoritmo é:
( ) Os arrays podem ser declarados para conter a maioria dos tipos de dados.
( ) Em um array de tipos de dados primitivos, nem todo elemento do array precisa conter um valor do tipo de dados declarado do array.
( ) Uma variável const deve ser declarada e inicializada na mesma instrução.
( ) Quando é feita uma referência para um elemento inexistente de um array, ocorre uma exceção IndexOutRangeException.
( ) Em um array de tipo de referência, todo elemento do array é uma referência para um objeto do tipo de dados do array, como, por exemplo, todo elemento de um array string é uma referência para uma string, e essa referência tem o valor null como padrão.
( ) O número da posição em colchetes é mais formalmente chamado de índice (ou sobrescrito). Esse número deve ser um inteiro ou uma expressão inteira.
A sequência está correta em