Questões de Concurso sobre Algoritmos e estrutura de dados

 
 
Disciplina 1
Assunto 10
Banca
Instituição
Cargo
Ano
Carreira
Área de formação
Escolaridade
Dificuldade
 
Comentários:
Professores
Alunos
Meus Comentários
Vídeo
 
Minhas questões:
Resolvidas
Não resolvidas
Certas
Erradas
 
Tipo de questão:
Certo e errado
Múltipla escolha
Incluir questões:
Anuladas
Desatualizadas
 
Questões:
Todas as questões
 
Filtro simplificado
 
Questões
Todas as questões
 
2.151 questões encontradas
Questões por página
20
Mais recentes
 

Considere o seguinte algoritmo.


1) Criar uma lista de arquivos para download.

2) Iniciar múltiplas threads para baixar os arquivos em paralelo.

3) Cada thread faz o download de um arquivo da lista.

4) Ao final de cada download, atualizar a lista de arquivos marcando que o download foi efetuado.

5) Exibir uma mensagem informando que todos os downloads foram concluídos.


Assinale a alternativa com o algoritmo corrigido para evitar a condição de corrida, sem abrir mão do paradigma de programação concorrente.


A

1) Criar uma lista de arquivos para download.

2) Fazer o download de cada arquivo, sequencialmente.

3) Exibir uma mensagem informando que todos os downloads foram concluídos.


B

1) Criar uma lista de arquivos para download.

2) Inicializar um mutex (exclusão mútua) para controlar o acesso à lista de arquivos.

3) Iniciar múltiplas threads para baixar os arquivos em paralelo.

4) Cada thread adquire o mutex (exclusão mútua) antes de acessar a lista, seleciona um arquivo disponível e libera o mutex (exclusão mútua).

5) Cada thread faz o download de um arquivo da lista.

6) Após o download, a thread adquire o mutex (exclusão mútua) novamente e atualiza a lista, marcando que o download foi efetuado, e então libera o mutex (exclusão mútua).

7) Exibir uma mensagem informando que todos os downloads foram concluídos.


C

1) Criar uma lista de arquivos para download.

2) Verificar se existe conexão com a Internet.

3) Iniciar múltiplas threads para baixar os arquivos em paralelo.

4) Cada thread faz o download de um arquivo da lista.

5) Ao final de cada download, atualizar a lista de arquivos marcando que o download foi efetuado.

6) Exibir uma mensagem informando que todos os downloads foram concluídos.


D

1) Criar uma lista de arquivos para download.

2) Iniciar múltiplas threads para baixar os arquivos em paralelo.

3) Verificar se o arquivo existe.

4) Cada thread faz o download de um arquivo da lista.

5) Ao final de cada download, atualizar a lista de arquivos marcando que o download foi efetuado.

6) Exibir uma mensagem informando que todos os downloads foram concluídos.


E

1) Criar uma lista de arquivos para download.

2) Iniciar múltiplas threads para baixar os arquivos em paralelo.

3) Verificar se o existe espaço disponível para o download.

4) Cada thread faz o download de um arquivo da lista.

5) Ao final de cada download, atualizar a lista de arquivos marcando que o download foi efetuado.

6) Exibir uma mensagem informando que todos os downloads foram concluídos.

Analise o algoritmo abaixo, escrito no software VisuAlg 3.0:

algoritmo "prefeitura"

var

A, B: inteiro

inicio

A := 10

para B de 1 ate A passo 2 faca

se B < A entao

escreva("X")

senao

escreva("O")

fimse

fimpara

fimalgoritmo

O que será impresso a partir da execução do algoritmo?


A

XXXXXXXXXO


B

OOOOOOOOX


C

XXXXO


D

OOOOX


E

XXXXX

É uma maneira de resolver problemas decompondo-os repetidamente em subproblemas do mesmo tipo. Um exemplo clássico de uso desse tipo de algoritmo para resolver problemas é a Torre de Hanoi.

O trecho acima diz respeito a(o):


A

Algoritmo de programação dinâmica.


B

Algoritmo recursivo.


C

Algoritmo backtracking.


D

Algoritmo de força bruta.


E

Algoritmo de divisão e conquista.

Considere o pseudo-código de uma função que rearranja um array de números, indexado a partir de zero, recebido como parâmetro, de modo que os números sejam dispostos em ordem decrescente.

1 Function Ordena (L)

2 trocou = 1

3 While (trocou == 1)

4 trocou = 0

5 For i = 0 To Length(L)-1 Step 1

6 If L[i] < L[i+1] Then

7 temp = L[i]

8 L[i] = L[i+1]

9 L[i+1] = temp

10 trocou = 1

11 End If

12 End For

13 End While

14 Return 0

15End Function

Com relação à lógica de programação aqui empregada, é possível que haja erros nesse código.


Com o auxílio da numeração das linhas, assinale o diagnóstico correto sobre a lógica dos comandos.


A

A linha 10 deve ser deletada.


B

Na linha 2, a variável “trocou” deve receber o valor 0.


C

Na linha 5, o valor “-1” deve ser substituído por “-2”.


D

Na linha 6, o comparador “<” deve ser substituído por “>”.


E

Não há falhas no código.

Um algoritmo, apresentado a seguir, foi elaborado na forma de uma pseudolinguagem (Português Estruturado).

Início

Inteiro: k, m, n, i;

k ← 1;

m ← k + 1;

n ← k + m - 1;

Para i de 3 até 6 faça

[

k ← k + 1;

Se (m > n)

Então

[

k ← k + 1;

m ← n;

n ← k;

]

Senão

[

k ← k + 2;

n ← m;

m ← k;

]

]

k ← m + n;

Fim.


Assinale a alternativa que apresenta o valor recebido pela variável k ao final da execução desse algoritmo.


A

16


B

17


C

14


D

15


E

13

Considere o algoritmo K-Means. Suponha os seguintes pontos: x1=(1,2,5); x2=(3,4,2); x3=(9,5,3); x4=(7,6,1); x5=(2,3,5); x6=(8,7,2). Escolha x1 e x4 como centros iniciais.


Assinale a opção que apresenta corretamente os pontos em que seriam formados os grupos após a primeira iteração e quais seriam os novos centros.


A

Grupo 1: {x1, x3, x5}, Grupo 2: {x2, x4, x6}. Centros: c1= (4,3,4), c2 = (6,5,1).


B

Grupo 1: {x1, x2}, Grupo 2: {x3, x4}, Grupo 3: {x5, x6}. Centros: c1=(2,3,3), c2 = (8,5,2) , c3 = (5,5,3).


C

Grupo 1: {x1, x2, x5}, Grupo 2: {x3, x4, x6}. Centros: c1= (2,3,4), c2 = (8,6,2).


D

Grupo 1: {x1, x2, x3}, Grupo 2: {x4, x5, x6}. Centros: c1= (4,3,3), c2 = (5,5,2).


E

Grupo 1: {x2, x3, x5}, Grupo 2: {x1, x4, x6}. Centros: c1= (4,4,3), c2 = (5,5,2).

Considere o algoritmo a seguir:


var x, y, z: inteiro

início

para x ← 1 até 10 passo 1 faça

para y ← 1 até 10 passo 1 faça

z ← x * y;

exiba(z)

fim_para

exiba(y)

fim_para

fim


Ao ser executado em condições ideais, o penúltimo valor exibido da variável z e o valor exibido da variável y serão, respectivamente,


A

100 e 10.


B

100 e 11.


C

80 e 10.


D

90 e 11.


E

90 e 10.

let pilha = [30, 50, 60, 10, 9];

let removerDaPilha = 30;

function removerDaPilha( item) {

const index = pilha.indexOf(item);

if (index !== -1) {

pilha.splice(index, 1);

return “Item removido com sucesso"

}

return "Item não pode ser removido"

}


console.log(removerDaPilha(50));


Com base no bloco de código acima, qual será o retorno no console da aplicação quando o código for executado?


A

Item removido com sucesso


B

Uncaught SyntaxError


C

[ 30, 50, 60, 10, 9 ]


D

Item não pode ser removido


E

[ 30, 60, 10, 9 ]

Antônio é técnico em laboratório e precisa escolher um mecanismo de busca para trabalhar com controle de estoques. São algoritmos de busca possíveis para utilização no seu laboratório, EXCETO:


A

pesquisa sequencial.


B

pesquisa binária.


C

busca por interpolação.


D

hashing.


E

quicksort.

Em linguagens interpretadas, um artifício muito comum é a utilização de um operador chamado null safety. A sua função é dar a segurança ao programa de que certo valor, ao ser acessado pelo programa, não será lido com valor nulo ou indefinido. Qual é este símbolo?


A

| |


B

? ?


C

! =


D

!


E

%

O programa a seguir está expresso na forma de uma pseudolinguagem (português estruturado), apresentando a lógica de um algoritmo.


Início

Inteiro: a1, a2, x, i;

a1 ← 1;

a2 ← 2;

x ← 0;

Para i de 1 até 4 faça

[

Se (a1 < a2)

Então

[

x ← a1;

a1 ← a2;

a2 ← x;

]

Senão

[

a1 ← a1 - 1;

a2 ← a2 + 1;

]

]

x ← a1 + a2;

Fim.


Ao final da execução desse algoritmo, o valor da variável x será:


A

0


B

1


C

2


D

3


E

4

Analise o programa a seguir, apresentado na forma de uma pseudolinguagem (Português Estruturado).


Início

Inteiro: r, s, t, i;

r ← 0;

s ← 0;

Para i de 1 até 4 faça

[

Se ((r+s) > 0)

Então

[

r ← r+i;

s ← s+1;

t ← i;

]

Senão

[

s ← 1;

]

]

r ← r + s - t;

Fim.


O valor recebido pela variável r ao final da execução desse programa é:


A

6


B

7


C

8


D

9


E

10

Assinale a opção que contém apenas exemplos de algoritmos de ordenação que utilizam o método de ordenação por troca.


A

insertion sort e selection sort


B

quick sort e merge sort


C

bubble sort e quick sort


D

insertion sort e merge sort


E

bubble sort e selection sort

Qual o conceito de fluxogramas?


A

É uma técnica de desenvolvimento de algoritmos que descreve um conjunto de instruções lógicas para se alcançar um objetivo, usando narrativas.


B

Ê uma linguagem de programação que permite criar algoritmos facilmente.


C

É uma técnica de desenvolvimento de algoritmos que descreve um conjunto de instruções lógicas para se alcançar um objetivo, usando símbolos gráficos.


D

É uma linguagem de programação baseada em símbolos gráficos.


E

É uma técnica de desenvolvimento de algoritmos que descreve um conjunto de instruções lógicas usando símbolos gráficos, usando uma linguagem de programação.

Assinale a alternativa que apresenta uma estrutura de dados onde cada nó possui um elemento com informações, um ponteiro para seu próximo elemento e um ponteiro para seu elemento anterior.


A

Lista circular.


B

Matriz bidimensional.


C

Vetor.


D

Registro.


E

Lista duplamente ligada.

Analise as assertivas abaixo sobre tabelas de dispersão, também conhecidas como tabelas hash:


I. A complexidade de busca em uma tabela hash com uma função hash e tamanho adequados é, em média, O(1).

II. Uma tabela hash não é adequada para implementar um dicionário, já que não suporta o tipo string.

III. Uma tabela hash mantém os dados em ordem para acelerar a busca.


Quais estão corretas?


A

Apenas I.


B

Apenas III.


C

Apenas I e II.


D

Apenas II e III.


E

I, II e III.

Considere as informações de entrada e saída a seguir de um algoritmo Heap:

Entrada: 1 2 3

Saída: 1 2 3

2 1 3

3 1 2

1 3 2

2 3 1

3 2 1

Pautando-se nessas informações, analise as assertivas e assinale a alternativa correta.

I. O algoritmo heap gerou cada permutação a partir da anterior, trocando um único elemento enquanto outros elementos não são perturbados.

II. Para n números, é preciso O(n!) complexidade de tempo, pois há n! Permutações.

III. No exemplo, temos 6 permutações totais, ou seja, N! (3! (3 dígitos decimais) = 6).

IV. Em um heap as permutações podem variar de acordo com quantidade de objetos.


A

Apenas I e III estão corretas.


B

Apenas I e IV estão corretas.


C

Apenas I, III e IV estão corretas.


D

Todas estão corretas.

Avalie o algoritmo abaixo, escrito no software VisuAlg 3.0.


algoritmo "professor"

var

var_1, var_2, var_3: inteiro

inicio

var_1 <- 5

var_2 <- 2

enquanto var_1 > 0 faça

var_3 <- var_1 - var_2

se var_3 < 0 entao

var_1 <- var_1 - 2

fimse

var_2 <- var_2 + 3

fimenquanto

fimalgoritmo


Ao final da execução do algoritmo acima, qual será o valor da variável “var_3”?


A

11


B

3


C

0


D

-8


E

-13

 
Ir para a página:
OK
 
Gerar simulado