Questões de Concurso sobre Algoritmos e estrutura de dados - Página 35 | 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.151 questões encontradas
Questões por página
20
Mais recentes
 

Considere o programa em pseudocódigo abaixo, que não apresenta erros.


var var1=1, var2=2: inteiro


funcao1()

inicio

var var1=100, var2=100: inteiro

imprima("Variaveis dentro da funcao1(): var1= ", var1, " var2=", var2)

fim


funcao2()

inicio

var1 = var1 +1; var2 = var2 +2;

imprima("Variaveis dentro da funcao2(): var1= ", var1, " var2=", var2)

fim


inicio

imprima("Variaveis antes de chamar a funcao1(): var1= ", var1, " var2=", var2)

funcao1()

imprima("Variaveis depois de chamar a funcao1():var1= ", var1, " var2=", var2)

funcao2()

imprima("Variaveis depois de chamar a funcao2():var1= ", var1, " var2=", var2)

fim


O pseudocódigo, ao ser executado, imprimirá


A

Variaveis antes de chamar a funcao1(): var1=0 var2=0


B

Variaveis dentro da funcao1(): var1=1 var2=2


C

Variaveis dentro da funcao2(): var1=101 var2=102


D

Variaveis depois de chamar a funcao1(): var1=1 var2=2


E

Variaveis depois de chamar a funcao2(): var1=101 var2=102

Seja uma lista linear L com n elementos (n>5), o primeiro elemento está na posição 1 (um), o segundo elemento está na posição 2 (dois), e assim por diante. As operações para L são:


insere(L, elemento, k): inserir elemento em L, tal que elemento fique na posição k;

remove(L, k): remover de L o elemento que está na posição k e retornar o elemento removido.

Considere o pseudocódigo abaixo:

para i = 1 até n, faça

<instrução-X>

fim-para

Se o propósito do pseudocódigo é inverter a ordem dos elementos da Lista L, então <instrução-X> pode ser:


A

insere(F, remove(F, i), n–i)


B

insere(F, remove(F, i), n–i+1)


C

insere(F, remove(F, i), 1)


D

insere(F, remove(F, i), n)

De acordo com o algoritmo, o número de vezes que o bloco de comandos dentro do fluxo de controle Enquanto...faça é executado é igual a


A

0.


B

1.


C

2.


D

9.


E

10.

Considere o seguinte comando escrito em álgebra relacional:


σproduto = lápis(compras)


Esse comando resulta na


A

exibição apenas do atributo produto, da tabela compras, considerando os registros em que o valor do atributo produto seja igual a “lápis”.


B

exclusão dos registros da tabela compras, apenas no caso de o valor do atributo produto ser igual a “lápis”.


C

inserção de um registro na tabela compras, com o valor do atributo produto igual a “lápis”.


D

exibição de todos atributos da tabela compras, substituindo- se todos os valores do atributo produto pelo valor “lápis”.


E

exibição de todos atributos da tabela compras, para os registros em que o valor do atributo produto seja igual a “lápis”.

Entre os conceitos de programação orientada a objetos, assinale a alternativa que contempla os apresentados pelo código que segue:


class candidato{ int nota; };

class bomCandidato:public candidato{ int

experiencia; bomCandidato(int experiencia){ this.experiencia=experiencia; } };


A alternativa correta é:


A

Polimorfismo.


B

Herança.


C

Herança e Polimorfismo


D

Encapsulamento.


E

Encapsulamento e Herança.

Método de ordenação em computação é um algoritmo que coloca os elementos de dada sequência em certa ordem. Um dos principais pontos para se ordenar os dados é realizar a busca de forma mais eficiente. Com base no exposto, o seguinte trecho de código é referente a qual algoritmo de ordenação?

Imagem associada para resolução da questão


A

Insertion Sort.


B

Selection Sort.


C

Quick Sort.


D

Bubble Sort.


E

Merge Sort.

Considere que os números 10, 11, 12, 13, 14 foram inseridos, nessa ordem, em uma fila. Esses mesmos números foram inseridos na mesma ordem em uma pilha. Nesse caso,

A
o topo da pilha é o número 10.

B
o primeiro elemento a ser removido da pilha é o número 10.

C
o número 14 é o primeiro elemento a ser removido da fila.

D
o último elemento a ser removido da fila é o número 14.

Em relação as funções de saída nos algoritmos e JAVA respectivamente, marque a alternativa CORRETA:


A

enquanto e system.out.prin


B

escreva e write


C

enquanto e while


D

escreva e system.out.print


E

leia e scanner (system.in)

Observe o algoritmo abaixo.


algoritmo

declare N1 RESULTADO numérico

N <-6

repita

RESULTADO<- N * N * N * N

escreva RESULTADO

~N=1

então interrompa

fim se

N <- N -1

fim repita

fim algoritmo

Quais valores serão escritos?


A

2401,625, 125, 81,32, 0


B

3125,640,240,27,36, 1


C

2401, 560,256,24,24, 0


D

1296,625,256,81, 16, 1


E

3125,640,256,81, 16, 1

O algoritmo a seguir mostra o uso de passagem de parâmetros por referência de NN para VN e de GG para VG e por valor de SS para VS.


algoritimo "alg19"

var

NN : inteiro

SS : caractere

GG : logico

procedimento PROCBV (var VN:inteiro:VS:caractere:var VL:logico)

inicio

VN <- 2020

VL <- VERDADEIRO

VS <- "SÃO FRANCISCO"

fimprocedimento

inicio

NN <- 2019

SS <- "SÃO PEDRO"

GG <- FALSO

PROCBV (NN,SS,GG)

escreval (NN : 5,SS:-15," ", GG),

fimalgoritmo


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


A

2019, SÃO FRANCISCO e VERDADEIRO


B

2019, SÃO PEDRO e FALSO


C

2020, SÃO FRANCISCO e FALSO


D

2020, SÃO PEDRO e VERDADEIRO

Imagine o seguinte cenário: Marcelo lhe deve um dinheiro e promete pagar em parcelas mensais de R$ 70; com o intuito de prever qual seria o valor devido após o decorrer de 12 meses, você resolve escrever algumas linhas de código (JavaScript). Levando em consideração que o valor devido por Marcelo era de R$ 1400, qual seria o total devido após a execução do trecho a seguir?

1 . let total_divida = 1400;

2 function atualizar_divida(valor_recebido){

3 total_divida -= valor_recebido;

4 return total_divida;

5 }

6 for (var i = 0; i < 12; i++) {

7 atualizar_divida(70);

8 }


A

Marcelo lhe deveria 2240 reais pois o loop (for) está incrementando o total da dívida.


B

Marcelo teria pago 840 reais e lhe deveria ainda 560.


C

Marcelo lhe deveria ainda 1400 reais, pois o código possui erro semântico.


D

A declaração da função atualizar_divida está errada.


E

O trecho apresenta um erro de sintaxe na linha 3.

A ordenação por inserção é um algoritmo eficiente para ordenar um pequeno número de elementos. Considere o exemplo de um jogador de póquer que inicia uma partida com sua mão esquerda vazia e as suas cartas com a face virada para baixo na mesa. O jogador remove uma carta de cada vez da mesa e a insere na posição correta na mão esquerda. Para encontrar a posição correta de uma carta, esta é comparada a cada uma das cartas que já estão na mão, da direita para a esquerda, como ilustrado na figura abaixo. Em cada instante, as cartas seguras na mão esquerda são ordenadas. Essas cartas eram originalmente as cartas superiores da pilha na mesa.


Imagem associada para resolução da questão


O exemplo acima ilustra um pseudocódigo, que toma como parâmetro um arranjo A[1 ..n] contendo uma sequência de comprimento n que deverá ser ordenada. O pseudocódigo em questão, usado para ordenação por inserção, é apresentado como um procedimento chamado:


A

Bubblesort.


B

Pilhas.


C

Heapsort.


D

Insertion-sort.


E

Merge.

Observe o seguinte pseudo-código:


X[1] <- 10


X[2] <- X[1] + 20 * 2


X[3] <- 100


Y <- X[2]


SE X[1] = 10 ENTAO X[1] <- X[3] + X[1] + 50


Z <- Y + X[1] + x[2]

Ao final da execução do código acima, qual é o valor da variável Z?


A

260


B

220


C

230


D

200

No desenvolvimento de algoritmos computacionais, os tipos estruturados de dados são uma importante forma de organizar conjuntos de dados para melhor modelar o contexto do domínio da aplicação. Sobre essas variáveis compostas, é CORRETO afirmar:


A

Os registros (structs em C e record em pascal/delphi) são tipos estruturados de dados que reúnem, em uma mesma variável, diferentes tipos primitivos de dados.


B

Os arrays (vetores uni- ou multidimensionais) são variáveis compostas homogêneas cujos elementos básicos são acessados por meio de índice(s).


C

A manipulação dos tipos estruturados de dados do tipo vetores e matrizes é facilitada com o uso do comando de repetição múltipla como o switch.


D

Na composição de um tipo estruturado de dados, pode-se criar um vetor de registros, mas não um registro de vetores.

Sobre algoritmos de busca, analise as informações a seguir.


I. Uma busca linear sobre um array de uma dimensão pode ser implementada com um laço e possui complexidade, no pior caso, linearmente relacionada ao tamanho do array.


II. Uma busca binária sobre um array de uma dimensão pode ser implementada com um laço e possui complexidade, no pior caso, linearmente relacionada ao logaritmo do tamanho do array.


III. Uma busca binária recursiva sobre um array de uma dimensão pode ser implementada sem laços e possui complexidade, no pior caso, linearmente relacionada ao logaritmo do tamanho do array.


IV. Uma busca linear sobre um array de duas dimensões pode ser implementada com dois laços e possui complexidade, no pior caso, linearmente proporcional à soma da quantidade de linhas e colunas do array.


V. Uma busca em uma estrutura de dados chamada Tabela de Dispersão (Hash Table) pode ser implementada sem laços e possui complexidade, no pior caso, constante, independentemente do tamanho do array.



Estão CORRETAS, apenas, as proposições


A

I, II e III.


B

II e V.


C

I, III, IV e V.


D

III, IV e V.


E

I, II e IV.

Inúmeros algoritmos de criptografia baseiam-se no uso de um par de chaves, sendo uma pública e outra privada. O gerenciamento de chaves pode ser dividido em duas etapas: a distribuição de chaves públicas e o uso de criptografia baseada em chaves públicas para distribuição de chaves secretas. Quanto ao gerenciamento de chaves, assinale a alternativa que correta.


A

Nos algoritmos como o RSA, o participante anuncia publicamente sua chave pública. Caso um agente invasor anuncie uma chave forjada se passando pelo usuário, esse agente invasor poderá ter acesso a essa comunicação utilizando a chave forjada para se autenticar, até que o ataque seja descoberto e o usuário compartilhe sua chave real.


B

Uma forma de melhorar a segurança da informação é através do uso de um diretório público de chaves. Neste tipo de esquema, os usuários arquivam suas chaves públicas sem poder alterá-las, como forma de assegurar a validade dessas chaves.


C

O uso de certificados de chave pública pode ser empregado para substituição do compartilhamento dessa chave. Nesse esquema, uma autoridade confiável emite um certificado que indica a validade dos usuários na rede.


D

Foi criado um esquema onde o usuário A gera um par de chaves público/privada e emite uma mensagem para o usuário B, que contém sua chave pública e seu identificador de usuário. O usuário B, em seguida, gera uma nova chave criptografada com base na chave pública de A e a envia para o usuário A. O usuário A, então, reverte a criptografia usando sua própria chave. Nesse esquema, a comunicação estaria segura de ataques do tipo homem-no-meio (man-in-themiddle).


E

O esquema de chave pública/privada necessita do uso de uma autoridade certificadora para distribuição da chave pública.

A maneira usual de processar inserções de registros em um arquivo F consiste em montar um arquivo T de transações contendo os registros a serem inseridos, ordenado pela mesma chave de ordenação de F. Os arquivos F e T sofrem uma operação, gerando o arquivo A, que é a versão atualizada de F.


O tipo do arquivo F e a operação realizada entre F e T são, correta e respectivamente,


A

randômico e diferenciação.


B

misto e randomização.


C

sequencial e intercalação.


D

encadeado e diferenciação.


E

intercalado e ordenação.

Muitos problemas reais não têm solução analítica e por isso depende-se da computação numérica para se encontrar uma solução. Encontrar a solução de equações não algébricas requer, por exemplo, métodos numéricos para busca das raízes. Sobre métodos de busca de raízes, é correto afirmar:


A

o método da falsa posição, ou regula falsi, não possui limites definidos.


B

o método de Newton é robusto com relação à solução inicial apresentada.


C

o método da secante requer o uso apenas da primeira derivada.


D

o método da bisseção não requer uso da derivada.

 
Ir para a página:
OK
 
Gerar simulado