Questões de Concurso Comentadas sobre algoritmos e estrutura de dados
Foram encontradas 2.682 questões
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
I. Diz-se que o algoritmo 0(log n) tem um tempo de execução linear.
II. A pesquisa binária executa em 0(log n) vezes, pois cada passo remove metade dos elementos restantes.
III. O algoritmo de classificação por inserção executa no tempo 0(n²), no pior caso e no caso médio.
IV.No pior caso, a primeira chamada à classificação por intercalação tem de fazer 0(n) comparações para preencher os n slots no array final.
Estão corretas apenas as afirmativas
PUSH 3
PUSH 4
POP
PUSH 7
PUSH 9
POP
PUSH 2
POP
PUSH 1
PUSH 5
POP
POP
O valor no topo da pilha ao final da execugao e: