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
 

Observe o algoritmo a seguir:

-

1. escreva("Digite um numero....: ")

2. leia(n)

3. para i de 1 ate 18 faca

4. se vet[i] = n entao

5. p := i

6. fimse

7. fimpara

-

Na linha 5, qual a função da variável p?


A

Recebe o número digitado pelo usuário.


B

Recebe a posição no vetor vet do número encontrado.


C

Recebe o valor do número encontrado na posição i do vetor vet.


D

Recebe a soma dos números do vetor vet.

O seguinte trecho de programa foi elaborado na forma de uma pseudolinguagem (português estruturado).


Início

Tipo M = matriz [1..5,1..5] de inteiros;

Inteiro: i, j;

M: Mat;

...

Para i de 1 até 5 faça

[

Para j de 1 até 5 faça

[

Se (i = (j+1))

Então

Mat[i,j] ← 1;

Senão

Mat[i,j] ← 0;

]

]

...

Fim.


Considerando a execução do trecho de programa apresentado, a quantidade de posições da matriz Mat que recebeu o valor 1 é igual a:


A

1


B

2


C

3


D

4


E

5

Dada as variáveis a, b, c e d, com seus respectivos valores 5, 3, 6, e 4, um programador precisa interpretar a seguinte expressão:


(!(a > b) != !((c == d) && (a > b) || (c == c)))


Analisando a expressão acima, assinale a opção que apresenta o resultado CORRETO, realizado pelo programador:


A

3;


B

4;


C

5;


D

Falso;


E

Verdadeiro.

Analise os dois algoritmos abaixo, escritos em Portugol, no ambiente VisuAlg 3.0, chamados de Z1 e Z2, representados pelas Figuras 3 e 4.


Imagem associada para resolução da questão Imagem associada para resolução da questão

Figura 3 – Algoritmo Z1 ______________ Figura 4 – Algoritmo Z2


Em relação ao diagrama de Chapin da Figura 2, é correto afirmar que:


A

Somente Z1 possui o mesmo comportamento prescrito pelo diagrama de Chapin.


B

Somente Z2 possui o mesmo comportamento prescrito pelo diagrama de Chapin.


C

Z1 e Z2 apresentam o mesmo comportamento entre si e em relação ao diagrama de Chapin.


D

Z1 e Z2 apresentam o mesmo comportamento entre si, contudo ele é diferente do prescrito pelo diagrama de Chapin.


E

Z1 e Z2 não podem ser considerados equivalentes, no aspecto lógico e comportamental, ao diagrama de Chapin.

Na ordenação por seleção, é necessário permutar o vetor. Para esse caso, o significado de ‘permutar’ é


A

substituir o vetor por chaves de ordenação.


B

rearranjar os elementos do vetor.


C

alterar os valores de um vetor A depois de ordenado em um vetor B.


D

alternar os valores de um vetor A com um vetor B.


E

ordenar os elementos do vetor A em função de um vetor B de ordenação.

import datetime

d = datetime.datetime(2022,1,2,3,4,5)

print(type(d))

print(d.strftime(“%j”))


Com base no algoritmo, considere as afirmativas:


I –Aprimeira linha realiza a importação do módulo ‘datetime’

II – A segunda linha cria um objeto

III – A terceira linha retorna <class ‘datetime. datetime’>

IV – A última linha imprime o valor 002


Assinale a alternativa correta:


A

Todas as afirmações estão corretas.


B

Somente III e IV estão corretas.


C

Somente I, II e III estão corretas.


D

Somente I e II estão corretas.

Dado um array unidimensional X, contendo milhares de números inteiros não ordenados, a complexidade de um algoritmo que faz a contagem de números iguais a zero presentes em X é:


A

1


B

N


C

N2


D

N log N


E

2N

Assinale, das alternativas abaixo, a única que identifica respectivamente uma Estrutura de Dados do tipo FIFO (First In, First Out) e uma outra com a Estrutura de dados do tipo LIFO (Last In, First Out):


A

lista - vetor


B

pilha - fila


C

vetor - lista


D

fila - pilha

Fluxograma convencional é uma representação gráfica de algoritmos onde formas geométricas diferentes implicam ações (instruções, comandos) distintas. Tal propriedade facilita o entendimento das ideias contidas nos algoritmos e justifica sua popularidade. Sendo assim, analise a imagem abaixo e responda corretamente.


Imagem associada para resolução da questão


A forma geométrica representada acima, é utilizada para:


A

operação de entrada de dados.


B

operação de atribuição.


C

início e final do fluxograma.


D

decisão.


E

operação de saída de dados.

Observe a figura abaixo e considere que:

-

(a) o processo 1 solicita ao coordenador permissão para acessar um recurso compartilhado. A permissão é concedida.

(b) o processo 2 solicita permissão para acessar o mesmo recurso. O coordenador não responde.

(c) quando o processo 1 libera o recurso, informa ao coordenador, que não responde a 2.

-

Imagem associada para resolução da questão

-

Qual é o algoritmo de exclusão mútua ilustrado na figura?


A

Centralizado


B

Distribuído


C

Token Ring


D

Descentralizado


E

Clock Lógico

O código abaixo, dado por Szwarcfiter & Markenzon (SZWARCFITER, Jayme Luiz & MARKENZON, Lilian. Estruturas de dados e seus algoritmos. 3.ed. Rio de Janeiro: LTC, 2015),

procedimento hanoi(n, 4, B, €C)

sen > 0 então

hanoi(n — 1, 4, C, B)

mover o disco do topo de A para B

hanoi(n — 1, C, B, 4)

Exemplifica um procedimento:


A

de repetição.


B

de armazenamento de registro.


C

de alteração de tipo de dado.


D

recursivo.


E

relacional.

O algoritmo ordena 13 números em ordem crescente, com o auxílio de uma variável auxiliar AUX.


procedimento ORDENAR

Inicio

repita

troca<- VERDADEIRO

para K de 1 ate 12 faca

se TAB[K) > TAB[K+ 1] entao

AUX <- TAB[K)

TAB[K] <-TAB[K+1]

TAB[K+1] <- AUX

TROCA<- FALSO

fimse

fimpara

ate TROCA= VERDADEIRO

fimrepita

fimprocedimento


Uma solução com o mesmo resultado, mas sem o uso dessa variável auxiliar AUX, é possível por meio da substituição das linhas de código da figura

AOX <- TAB[K]

TAB[K] <- TAB[K+1]

TAB[K<+1] <- AUX

por:


A


TAB[K] <- TAB[K] + TAB[K+] TAB[K] <- TAB[K+1] - TAB[K] TAB[K+1] <- TAB[K] - TAB[K+1]


B


TAB[K] <- TAB[K] + TAB[K+l) TAB[K] <- TAB[K] - TAB[K+1] TAB[K+l] <- TAB[K] - TAB[K+l]


C


TAB[K] <-TAB[K]+ TAB[K+1] TAB[K+l] <-TAB[K]- TAB[K+l] TAB[K] <- TAB[K] - TAB[K+1]


D


TAB[K+1] <- TAB[K] + TAB[K+1] TAB[K] <- TAB[K] - TAB[K+1] TAB[K+1] <- TAB[K] - TAB[K+1]

Usando o algoritmo Bubble Sort um técnico deseja ordenar o conteúdo de um array utilizando o código JavaScript abaixo, presente no corpo de uma página HTML.

-

<body>

<script>

var arr = [220, 63, 25, 8, 5, 7, 295, 589];

for (var i = 0; i < arr.length; i++) {

for (var j = 0; j < (arr.length - i - 1); j++) {

if (arr[j] > arr[j + 1]) {

var temp = arr[j]

I

arr[j + 1] = temp

}

}

}

document.write(arr);

</script>

</body>

-

Para que o array seja ordenado corretamente a lacuna I deve ser corretamente preenchida com


A

arr[j] = arr[j + 1]


B

arr[j] = arr[j + i]


C

arr[i] = arr[j + 1]


D

arr[j] = arr[j - 1]


E

arr[j + 1] = arr[j + 1]

Observe três símbolos, identificados por letras, que são utilizados para a construção de algoritmos.

-

Imagem associada para resolução da questão

-

A associação está correta em


A

A. Entrada de dados B. Início do código C. Cálculos e atribuições


B

A. Cálculos e atribuições B. Saída de dados C. Estrutura de decisão


C

A. Estrutura de decisão B. Fim do código C. Cálculos e atribuições


D

A. Estrutura de decisão B. Início e fim do código C. Cálculos e atribuições

Considere o trecho de uma lógica de programação em pseudolinguagem abaixo, sabendo-se que B1 e B2 são variáveis lógicas, que podem ter valor verdadeiro ou falso.


se (B1)

_então Comando1

_senão se (B2)

_________então Comando2

_________senão Comando3

_______________Comando4

______fimse

fimse


Comando5


É correto afirmar:


A

Se B1 for verdadeiro, “Comando1” e “Comando2” serão executados.


B

Se B2 for verdadeiro, ou “Comando2” ou “Comando3” e “Comando 4” poderão ser executados.


C

Se B1 for falso, o “Comando2” nunca será executado.


D

O “Comando5” poderá ser o único comando a ser executado.


E

O “Comando5” sempre será executado.

Os algoritmos de escalonamento de processos podem ser preemptivos ou não preemptivos. Considere as políticas de escalonamento de processos:


I. realiza o escalonamento por alternância circular, em que cada processo ganha um intervalo de tempo para uso contínuo da CPU (quantum); se ao final do quantum o processo ainda está processando, outro processo será escolhido; se houver interrupção ou o processo terminar antes do fim do quantum, outro processo será escolhido.

II. diversas filas de processos no estado pronto são criadas e cada processo é associado exclusivamente a uma delas; cada fila possui um mecanismo próprio de escalonamento, em função das características dos processos; cada fila possui uma prioridade associada; o sistema só pode escalonar processos de uma fila, se todas as outras de prioridade maior estiverem vazias.


I se refere ao algoritmo de escalonamento


A

Round Robin e II, ao escalonamento por múltiplas filas, ambos são preemptivos.


B

Round Robin, que é preemptivo, e II, ao escalonamento por múltiplas filas, que não é preemptivo.


C

FIFO (First In First Out), que não é preemptivo, e II, ao escalonamento por prioridades, que é preemptivo.


D

FIFO (First In First Out), que é preemptivo, e II, ao escalonamento por prioridades, que não é preemptivo.


E

circular e II, ao escalonamento cooperativo, ambos são não preemptivos.

O resultado da execução do algoritmo abaixo é:

sistema{

funcao iniciar(){

inteiro contador = 1, valor = 1, total = 6

enquanto (contador < total){

valor = valor * contador

contador = contador + 1

}

escreva (valor)

}

}


A

2


B

6


C

24


D

120


E

720

 
Ir para a página:
OK
 
Gerar simulado