Questões de Concurso sobre Algoritmos e estrutura de dados - Página 24 | Gran Questões

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.152 questões encontradas
Questões por página
20
Mais recentes
 

Uma biblioteca está classificando os seus frequentadores em grupos literários para facilitar a aquisição e a organização dos livros. Isso foi feito aplicando o algoritmo KNN ao banco de dados de usuários da biblioteca, incluindo alguns dos campos de informação como atributos, tais como idade e nível de formação acadêmica. Em um experimento, uma segunda classificação foi feita usando um conjunto maior de atributos, incluindo ambos de maior ou menor relevância percebida com relação aos grupos definidos.


A segunda classificação tende a ser:


A

diferente da primeira, pois o algoritmo perde acurácia com o aumento da quantidade de atributos;


B

próxima à primeira, pois o algoritmo é robusto a ruído nos dados;


C

diferente da primeira, pois o algoritmo sofrerá underfitting;


D

próxima à primeira, pois o algoritmo pode balancear a influência dos atributos mais e menos relevantes;


E

diferente da primeira, pois o algoritmo é sensível a atributos não relevantes.

Considere a seguinte função recursiva.


def func(arg):

____if arg == 0:

_______return 0

____else:

________return (arg % 2) + 10 * func(arg//2)


Qual o valor retornado pela função acima, quando recebe como parâmetro o número 5?


A

101


B

111


C

100


D

010


E

011

Você recebeu a tarefa de criar um algoritmo recursivo para calcular o resultado das seguintes operações (na ordem apresentada), cuja variável valor é informada pelo usuário.


A = valor * 2;

B = A - 1; 2

C = B2.


Considerando o exemplo abaixo, a entrada com valor == 4 deve resultar 84.


valor

A

B

C

1

2

1

1

2

4

3

9

3

6

5

25

4

8

7

49


Assinale a alternativa cujo código resolve o cálculo do somatório de todos os resultados da operação C, em que 0 < C <= valor.


A

def minhaEq(valor):

___ if valor == 0:

___ ___ return 0

___ else:

________return 0 + minhaEq((valor-1)*2-1**2)


B

def minhaEq(valor):

if valor == 0:

return 0

else:

return minhaEq(valor-1)*2-1**2)


C

def minhaEq(valor):

____if valor == 0:

_________return 0

____else:

________return minhaEq(valor) + minhaEq(valor-1)*2-1**2)


D

def minhaEq(valor):

____if valor == 0:

________return 0

____else:

_______return minhaEq(valor-1) + (valor*2-1)**2


E

def minhaEq(valor):

____if valor == 0:

_______return 0

____else:

________return for i in range(max:1): (valor*2-1)**2

Considere o problema de ordenar em ordem crescente o vetor (array) de números inteiros [7, 30, 2, 45, 66, 13, 17, 23, 1, 15] utilizando o algoritmo de ordenação Bubble Sort em sua versão não recursiva. Analise as afirmativas abaixo e assinale a alternativa correta.


I. São feitas 23 trocas de elementos do vetor até que ele esteja totalmente ordenado.

II. A ordem dos elementos do vetor será [2, 7, 30, 13, 17, 23, 1, 15, 45, 66] após 10 trocas de elementos.

III. O número de trocas de elementos diminui à medida que a execução do algoritmo de ordenação avança.


A

Somente as afirmativas I e II estão corretas.


B

Somente as afirmativas II e III estão corretas.


C

Somente a afirmativa III está correta.


D

Somente a afirmativa I está correta.


E

Todas as afirmativas estão corretas.

Os algoritmos de ordenação são um conjunto de instruções que recebem um conjunto de itens, como entrada, organizando-os em uma ordem específica. O algoritmo de ordenação, que tem como ideia básica particionar o problema em vários subproblemas, resolvê-los por meio da recursividade e após todos os subproblemas terem sido resolvidos efetuar a união das resoluções dos subproblemas é denominado:


A

Insertion sort


B

Selection sort


C

Merge sort


D

Buble Sort


E

Shell sort

O algoritmo a seguir representa o uso de passagem de parâmetros por referência de NR para VN e por valor de SIGLA para VS.


algoritmo "TECINF"

var

NR : inteiro

SIGLA : caractere

procedimento AMAZUL(var VN:inteiro;VS:caractere)

inicio

VN <- 2022

VS <- "RJ"

fimprocedimento

inicio

NR <- 2021

SIGLA<- "SP"

AMAZUL(NR,SIGLA)

escreval(SIGLA:-15,NR)

fimalgoritmo


Após a execução desse algoritmo, os valores finais das variáveis SIGLA e NR serão, respectivamente:


A

SP e 2022


B

SP e 2021


C

RJ e 2022


D

RJ e 2021

Sobre a declaração de uma variável em um algoritmo estruturado, é INCORRETO afirmar que:


A

Pode-se especificar o tipo da variável.


B

Deve-se especificar seu identificador.


C

No momento de declaração é feita a associação do identificador com a respectiva posição de memória que a variável passa a simbolizar.


D

Deve-se especificar uma posição de memória para a variável.


E

Uma declaração pode conter várias variáveis diferentes.

O algoritmo abaixo refere-se a um programa de computador, que ilustra o uso de uma função recursiva.


algoritmo "AMAZUL"

var

MAR, LUA, SOL : inteiro funcao FC(AX:inteiro):inteiro inicio

LUA <- LUA + 1

se AX < 2 entao

retorne 1

senao

retorne AX*FC(AX-1)

fimse

fimfuncao

inicio

MAR <- 3

LUA <- 0

SOL <- FC (MAR)

LUA <- MAR MOD 2

escreval

escreval (MAR, SOL, LUA)

fimalgoritmo


Após a execução, os valores para as variáveis MAR, SOL e LUA são respectivamente:


A

6,3 e 1


B

6, 3 e 0


C

3, 6 e 1


D

3, 6 e 0

Considere o seguinte programa, apresentado na forma de uma pseudolinguagem (português estruturado).


Início

--Inteiro: p, q, z, i;

--p ← 2;

--q ← 2*p;

--Para i de 1 até 3 passo 1 faça

--[

----Se p ≠ q

-------Então

----p ← q;

-------Senão

----q ← p + 1;

--]

--z ← p + q;

--Imprima z;

Fim.


O resultado impresso para a variável z ao final desse programa é igual a:


A

7


B

8


C

9


D

10


E

11

Considere o algoritmo abaixo desenvolvido segundo a sintaxe utilizada no VisuAlg 3.0.


Algoritmo "Gera um valor"

Var

dens : vetor [1..4] de inteiro

i, f, s, x, p : inteiro

Inicio

f <- 1

para i de 1 até 4 faça

dens[i] <- f

f <- f * (i + 1)

fimpara


x <- 2

s <- 0

p <- x

para i de 1 até 4 faça

p <- p * x

se i mod 2 = 1 então

s <- s - p \ dens[i]

senão

s <- s + p \ dens[i]

fimse

fimpara

escreva (s)

Fimalgoritmo


Qual o valor mostrado na saída deste algoritmo?


A

0.


B

1.


C

2.


D

-2.


E

-1.

O autômato finito determinístico


A

corresponde à função de transição que recebe um estado ou um símbolo de entrada que sempre retorna um conjunto de estados como resultado.


B

tem a capacidade de adivinhar algo sobre sua entrada ao testar valores.


C

pode, para cada entrada, transitar a partir do seu estado atual em um e somente um estado.


D

permite zero, uma ou n transições para os estados de entrada.


E

consegue estar em vários estados ao mesmo tempo.

Analise a imagem abaixo para responder à questão 25.



Imagem associada para resolução da questão


Supondo que Caio, Mateus e Mariana tenham obtido a nota média (Grade) de 50, 60, 70, respectivamente, é correto afirmar que


A

Caio e Mateus reprovaram, enquanto Mariana foi aprovada.


B

Caio e Mateus foram aprovados, enquanto Mariana reprovou.


C

apenas Caio reprovou.


D

apenas Caio foi aprovado.

Em ciências da computação, quando desejamos identificar o esforço necessário para um algoritmo executar uma determinada tarefa, buscamos medir qual a complexidade daquele algoritmo. Para realizar tal medição buscamos identificar uma função que, com base no tamanho da Instância de entrada N, consiga determinar o esforço que o algorlbno realizará. A respeito dos conceitos que envolvem o estudo da complexidade de algoritmos, analise as afirmativas abaixo e marque alternativa correta.

-

I. Big O é a notação mais conhecida para a indicação da complexidade de algoritmos. Além dela, existem outras notações, como por exemplo a Big Omega e Big Theta.

lI. Um algoritmo com notação Big O igual a O(n2) tem maior complexidade que um algoritmo com notação Big O igual a O(log n). Dito de outra forma, o tempo de processamento do primeiro cresce mais rápido que o tempo de processamento do segundo, à medida que aumentamos o tamanho instância de entrada (n).

IlI. Algoritmos de complexidade constante são aqueles cujo o tempo de processamento não aumenta de acordo com o tamanho da instância de entrada. Em Big O algoritmos com esse tipo de complexidade são representados pela notação 0(1).


A

Apenas as afirmativas I e IlI estão corretas.


B

Apenas a afirmativa lI está correta.


C

Apenas as afirmativas lI e IlI estão corretas.


D

Apenas a afirmativa IlI está correta.


E

Todas as afirmativas estão corretas.

Assinale a opção em que é realizada, corretamente, a comparação entre diferentes pares de algoritmos de ordenação em termo de suas complexidades.


A

No pior caso, o tempo de execução do quick sort é menor que o do merge sort.


B

A ocupação de espaço em memória do algoritmo quick sort é menor que a do heap sort.


C

O tempo de execução n o melhor caso do algoritmo bubble sort é menor que o do quick sort.


D

O algoritmo merge sort possui menor complexidade em termos de utilização de memória que o algoritmo de ordenação por inserção.


E

O algoritmo quick sort possui menor complexidade de utilização de memória que o de ordenação por inserção.

função algoritmo1()

0: _ inicio

1: _ se n = 0 então

2:____ retorne 0

3: _ senão

4: _____ se n = 1 então

5: ________retorne 1

6: _____ senão

7: ________ retorne algoritmo1(n−1)+algoritmo1(n−2)

8: _______ fim se

9: _ fim se

10:fim


função algortimo2(n)

0: _ inicio

1: _ se n = 0 então

2: ____ retorne 0

3: _ senão

4:_ _____ se n = 1 então

5: _____+++ retorne 1

6: _____ senão

7: _______ penultimo = 0

8: _______ ultimo =1

9: _______ para i =2 até n faça

10: _________ atual = penultimo + ultimo

11: _________ penultimo = ultimo

12: _________ ultimo = atual

13: _______ fim para

14: _______ retorne atual

15: ______ fim se

16: ___ fim se

17: _ fim


As complexidades dos algoritmo1 e algoritmo2 precedentes são, respectivamente, iguais a


A

O(2^n) e O(n).


B

O(2^n) e O(2^n).


C

O(n) e O(n).


D

O(log(n)) e O(n).


E

O(2^n) e O(log(n)).

A ferramenta mais utilizada para reduzir a probabilidade de acontecerem colisões em uma função de resumo (hash) é o ajuste de distribuição, de maneira que, quanto mais heterogênea e dispersa for a função resumo, menor será a sua probabilidade de colisão.


C

Certo


E

Errado

 
Ir para a página:
OK
 
Gerar simulado