Questões de Concurso
Comentadas sobre vetores em algoritmos e estrutura de dados
Foram encontradas 77 questões
Considere o algoritmo a seguir, na forma de pseudocódigo:
Var n, i, j, k, x: inteiro
Var v: vetor[0..7] inteiro
Início
v[0] ← 12
v[1] ← 145
v[2] ← 1
v[3] ← 3
v[4] ← 67
v[5] ← 9
v[6] ← 45
n ← 8
k ← 3
x ← 0
Para j ← n-1 até k passo -1 faça
v[j] ← v[j - 1];
Fim_para
v[k] ← x;
Fim
Este pseudocódigo
Assinale o número máximo de acessos a R necessários para encontrar uma determinada chave.
(1) declarar M[5,4,3] : literal
(2) M[4,3,2]←"ABC"
A literal "ABC" foi armazenada na posição representada pelas dimensões coluna, linha e profundidade, respectivamente:
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á:
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
( ) 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
Busca (A, n)
x ← A [1]
para i de 2 até n, faça
se A [i] > x então x ← A [i]
devolve x
o valor da saída x para o vetor de entrada A = (3, 2, 1, 7, 2, 5), onde n = 6, será
1. for ( int i=0; i < n; i ++) {
2. for (int j=1; j < (n-i) ; j ++) {
3. if (intArray[ j-1] > intArray[ j ] ) {
4. temp = intArray[ j-1] ;
5. intArray[ j-1] = intArray[ j ] ;
6. intArray[ j ] = temp ;
7. }
8. }
9. }
Para expressar propriedades desse código, na linguagem da lógica proposicional, considere as proposições lógicas p, q e r e as seguintes interpretações:
• p é verdadeiro se e somente se i = 0
• q é verdadeiro se e somente se j ≠ (n-i)
• r é verdadeiro se e somente se intArray[j-1] > intArray[j]
Nesse contexto, os comandos de atribuição presentes neste trecho de código (linhas 4, 5 e 6) serão executados para:
O método quicksort é semelhante ao bubble sort, pois opera comparando cada elemento de um vetor com seu sucessor e, caso este esteja fora de ordem, o quicksort auxilia a troca da posição. Dessa forma, em ambos os métodos, é grande o número de comparações e trocas para execução de vetores extensos.
Ao se utilizar um vetor para a ordenação de dados numéricos em ordem crescente, se a ordenação dos dados for realizada pelo algoritmo de ordenação por seleção, um laço de comparações será executado do primeiro ao penúltimo elemento do vetor.
Ao final do processo, tem-se que os vetores
início
VET1,VET2 : vetor [1..100] numérico
CONTADOR : numérico
para CONTADOR de 1 até 100 faça
leia "Digite um número: ",VET1[CONTADOR]
VET2[CONTADOR] ← (VET1[CONTADOR] * 3)
fim-para
fim
algoritmo Teste
var vet: vetor[0..4] inteiro
var n, p, u, aux: inteiro
início
para (p de 0 até 4 passo 1) faça
leia (n)
vet[p] ← n
fim_para
p ← 0
u ← 4
aux ← 0
enquanto (u<>1) faça
enquanto (p<>u) faça
se(vet[p]>vet[p+1])
então aux ← vet[p]
vet[p] ← vet[p+1]
vet[p+1] ← aux
fim_se
p ← p+1
fim_enquanto
p ← 0
u ← u-1
fim_enquanto
fim
O pseudocódigo apresentado
Qual é o número máximo de iterações necessárias para encontrar um elemento qualquer do vetor caso seja utilizado o algoritmo de busca binária?