Questões de Concurso sobre Algoritmos e estrutura de dados - Página 29 | 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
 

Considere o algoritmo a seguir, expresso por meio de uma pseudolinguagem.


Início

[

Inteiro: N;

N ← 3;

Enquanto (N ≤ 5) faça

[

Imprima (N, ″ x 3 = ″, N*3);

N ← N+1;

]

]

Fim.


O resultado impresso ao final da execução desse algoritmo será:


A

3 x 3 = 9

3 x 3 = 12


B

3 x 3 = 9

4 x 3 = 12


C

3 x 3 = 9

3 x 3 = 12

3 x 3 = 15


D

3 x 3 = 9

4 x 3 = 9

5 x 3 = 9


E

3 x 3 = 9

4 x 3 = 12

5 x 3 = 15

Analise o algoritmo abaixo, que mostra o uso de uma função:



algoritmo "IFCE"

var

__NR, XY, M,N : inteiro

funcao FORTALEZA(SOBRAL:inteiro):inteiro

início

se SOBRAL <« 2 entao

__retorne 1

senao

__retorne SOBRAL * FORTALEZA(SOBRAL-1)

fimse

fimfuncao

início

__XY <-47

__M <- XY MOD 13

__N <- FORTALEZA(M) + 9

__escreval("M = ",M:4," N="N:d)

fimalgoritmo



Ao final da execução, serão mostrados para as variáveis M e N, respectivamente, os seguintes conteúdos:


A

1 e 10.


B

1 e 33.


C

4 e 33.


D

4 e 10.

A figura mostra um algoritmo para realizar a troca de valores entre duas variáveis: primeiro por meio do auxílio da variável TOCA e, em seguida, sem essa variável.


algoritmo "EMGEPRON"

var

M, Q, TROCA : inteiro

inicio

escreva("Digite um valor para M : ")

leia(M)

escreva("Digite um valor para Q: ")

leia(Q)

escreval("M = ",M:3," Q = ",Q:3)

// troca COM variável TROCA

<<<< BLOCO-COM >>>>

escreval("M = ",M:3," Q = ",Q:3)

// troca SEM variável TROCA

<<<< BLOCO-SEM >>>>

escreval("M = ",M:3," Q = ",Q:3)

fimalgoritmo


Os blocos de instruções que devem substituir as referências

<<<< BLOCO-COM >>>>

e

<<<< BLOCO-SEM >>>>

são, respectivamente:


A

TROCA <- M

M <- Q

Q <- TROCA

e

M <- M + Q

M <- M - Q

Q <- M - Q


B

TROCA <- M

M <- Q

Q <- TROCA

e

M <- M + Q

Q <- M - Q

M <- M - Q


C

TROCA <- M

Q <- M

M <- TROCA

e

M <- M + Q

Q <- M - Q

M <- M - Q


D

TROCA <- M

Q <- M

M <- TROCA

e

M <- M + Q

M <- M - Q

Q <- M - Q

O mecanismo de funcionamento de um algoritmo é representado pela sequência


A

dados, processamento e informação.


B

dados, entrada e saída.


C

entrada, saída e banco de dados.


D

declaração, comandos e encerramento.


E

informação, processamento e saída.

Sobre algoritmos, analise as afirmativas abaixo e dê valores Verdadeiro (V) ou Falso (F).


( ) São procedimentos precisos, não ambíguos, eficientes e corretos.

( ) Um algoritmo representa os passos necessários para realização de uma tarefa.

( ) São representados somente por fluxogramas.


Assinale a alternativa que apresenta a sequência correta de cima para baixo.


A

F, V, V


B

V, V, F


C

F, F, V


D

V, F, F

Ano: 2021
Prova: SELECON - EMGEPRON - Analista de Projetos Navais - Área: Analista de Sistemas - Auditoria - 2021

Na programação de computadores, as funções são bastante empregadas. Neste contexto, analisa-se a figura que contém um pseudocódigo com o emprego de uma função.


algoritmo "EMGEPRON"

var

SOL, LUA, NR: inteiro

funcao FNC(MAR:inteiro) : inteiro

inicio

se MAR < 2 entao

retorne 1

senao

retorne MAR * FNC(MAR-1)

fimse

fimfuncao

inicio

SOL <- 47

para NR de 0 ate 1 faca

se NR = 0 entao

SOL <- SOL MOD 21

SOL <- FNC(SOL)

senao

LUA<- 4

LUA <- FNC (LUA)

fimse

fimpara

escreval("SOL = ",SOL:4," LUA = ",LUA:4)

fimalgoritmo


Após a execução, os valores finais das variáveis SOL e LUA são, respectivamente:


A

720 e 24


B

720 e 12


C

120 e 24


D

120 e 12

Considere a seguinte tabela-verdade, com três entradas (A, B, C) e uma saída S.

A

B

C

S

0

0

0

1

0

0

1

0

0

1

0

0

0

1

1

0

1

0

0

0

1

0

1

0

1

1

0

0

1

1

1

1

A saída S é corretamente expressa em:


A

A.B.C


B

..


C

A B C


D

( .. ) + ( A.B.C)


E

( + + ) (A+B+C)

1. var

2. valores: vetor [1..5] de inteiro

3. resultado, x: real

4.

5. inicio

6. para i de 1 ate 5 faca

7. __leia(valores)

8. __x<- x + valores

9. fimpara

10. resultado <- x / 5

11. escreva("Resultado: ", resultado)

12. fimalgoritmo


O resultado da lógica dos algoritmos precedente é a


A

média dos valores da matriz vetor.


B

soma dos valores de 1 a 5, ou seja, 15.


C

média dos valores de 1 a 5, ou seja, 3.


D

soma dos valores da matriz vetor.


E

ordenação dos valores de 1 a 5.

Em sistemas computacionais, a exclusão mútua impede que dois ou mais processos acessem um mesmo recurso simultaneamente. Diversas soluções foram propostas para garantir a exclusão mútua de processos. Uma delas apresenta a solução para o problema da exclusão mútua entre dois processos que se alternam na execução de suas seções críticas (região crítica) e seções remanescentes, requerendo que dois processos compartilhem dois itens de dados. Nessa solução, além das variáveis de condição (CA e CB), que indicam o desejo de cada processo entrar em sua região crítica, é introduzida outra variável (chamada Vez) para resolver os conflitos gerados pela concorrência, indicando de quem é a vez de entrar em sua seção crítica (região crítica). Antes de acessar a região crítica, o processo sinaliza esse desejo através da variável de condição, assim, o processo cede o uso do recurso ao outro processo, indicado pela variável "Vez". Desse modo, além da garantia da exclusão mútua, o bloqueio indefinido de um dos processos no loop nunca ocorrerá, já que a variável "Vez" sempre permitirá a continuidade da execução de um dos processos. Assinale a opção que apresenta a solução descrita.


A

Primeiro algoritmo.


B

Instrução test-and-set.


C

Algoritmo de Dekker.


D

Algoritmo de Peterson.


E

Algoritmo do Padeiro de Lamport.

Um algoritmo é uma sequência lógica de ações a serem executadas para se executar uma determinada tarefa. Um programa é a formalização de um algoritmo em uma determinada linguagem de programação, segundo suas regras de sintaxe e semântica, de forma a permitir que o computador possa entender a sequência de ações. No que diz respeito a uma metodologia de algoritmos, observe abaixo, uma lista com diversas atividades, fora de uma sequência lógica para execução.


I. Formular um esboço da solução.

II. Implementar numa linguagem de programação.

III. Se o algoritmo estiver suficientemente detalhado, testar com um conjunto de dados significativos.

IV. Fazer uma primeira aproximação das variáveis necessárias.

V. Rever os passos originais, detalhando.

VI. Entender o problema.


A sequência correta e lógica a ser seguida


A

I – IV – V – III – II – VI


B

IV – V – III – II – VI – I


C

V – III – II – VI – I – IV


D

VI – I – IV – V – III - II

No contexto da metodologia empregada na construção de algoritmos são empregadas estruturas de controle, representadas na forma de pseudocódigo ou portugol e comandos básicos de leitura e impressão. Como exemplo, observe o trecho de pseudocódigo abaixo.


NR <- -5

repita

-NR <- NR + 2

-escreva(NR:3)

ate NR > 1

fimrepita


Após a execução, a sequência de números de saída é


A

-5 -3 -1 1 3


B

-5 -4 -3 -1 1


C

-3 -1 1 3


D

-3 -2 -1 0 1

Em relação à metodologia empregada na construção de algoritmos, observe o código abaixo, que ilustra o uso da estrutura para ... fimpara.


para K de -3 ate 3 faca

----escreva (K:4)

fimpara


Para gerar o mesmo resultado, o código equivalente à para ... fimpara, mas que usa a estrutura de controle enquanto ... fimenquanto, está indicado na seguinte alternativa


A

K <- -3

enquanto K < 3 faca

-------k <- K + 1

-------escreva (K:4)

fimenquanto


B

K <- -4

enquanto K > 3 faca

-------k <- K + 1

-------escreva (K:4)

fimenquanto


C

K <- -3

enquanto K < 3 faca

-------escreva (K:4)

-------k <- K + 1

fimenquanto


D

K <- -4

enquanto K < 3 faca

-------k <- K + 1

-------escreva (K:4)

fimenquanto

Ao analisar um programa elaborado, o programador identificou que uma subrotina recebia um parâmetro X passado por referência. Portanto, ao ser chamada essa subrotina,


A

o endereço da variável original será passado como parâmetro, possibilitando que, caso a subrotina altere o valor de X, o valor da variável original também seja alterado.


B

o endereço da variável original será passado como parâmetro, o que impedirá que a subrotina altere o valor de X e, por consequência, o valor da variável original.


C

uma cópia do valor da variável original é passada como parâmetro e, caso a subrotina altere o valor de X, o valor da variável original também será alterado.


D

uma cópia do valor da variável original é passada como parâmetro e, caso a subrotina altere o valor de X, o valor da variável original não será alterado.


E

uma cópia do valor da variável original é passada como parâmetro e, caso a subrotina tente alterar o valor de X, uma exceção será gerada, e o programa será interrompido.

Algoritmos de ordenação por comparação são aqueles em que a ordem dos elementos na solução é determinada exclusivamente por meio da comparação entre elementos da entrada. Tais algoritmos são necessários quando não se sabe nenhuma outra informação sobre a entrada (como por exemplo, o maior elemento ou a quantidade de bits de cada elemento), além da ordem relativa entre os elementos. Para uma entrada, nessas condições com elementos, assinale a alternativa correta.


A

Existe apenas um algoritmo conhecido que pode ordenar esses elementos em tempo no pior caso.


B

A implementação padrão do algoritmo Ordenação por Separação, ou Quick Sort, ordenará este conjunto em tempo no pior caso.


C

No melhor caso, o algoritmo Ordenação por Inserção, ou Insertion Sort, termina em tempo .


D

Qualquer algoritmo de ordenação por comparação deverá realizar comparações no pior caso.


E

Algoritmos de ordenação por comparação podem ordenar os elementos apenas se eles forem números inteiros ou reais.

Os pseudocódigos são técnicas de construções de algoritmos de forma mais simples, facilitam o aprendizado de algoritmos antes da implementação em uma linguagem de programação. Observe o pseudocódigo abaixo e responda.


INICIO

declare A, B, C, D, E, NUM

escreva("informe um valor positivo para

NUM")

leia(NUM)

A=1

B=2

C=0

D=1

E=2

enquanto(NUM !=0)

faça A = B+C+D+E+1

NUM = NUM – 1

fim-enquanto

FIM


Caso o usuário entre com o número 5 para o NUM, após a execução do pseudocódigo, os valores para declarações de entradas serão, respectivamente:


A

6,5,1,1,2,0


B

6,4,2,1,2,0


C

6,2,0,1,2,0


D

6,3,3,5,6,0


E

6,2,0,2,2,0

Dentre os problemas identificados pela gerência de um banco comercial, está a localização das contas dos seus titulares nas listagens e nos relatórios impressos em diferentes situações. Um especialista de TI sugeriu ordenar as contas por meio dos CPF dos seus n titulares antes das impressões.


Dentre alguns algoritmos pré-selecionados para essa ordenação, o especialista escolheu o algoritmo de ordenação por inserção, no qual o consumo de tempo é, no melhor caso, proporcional a


A

n log n


B

log n


C

n2


D

n


E

1

Um professor preparou uma série de experimentos para avaliar, juntamente com seus alunos, três algoritmos de ordenação: o da bolha, o de ordenação por inserção e o de ordenação por seleção. Para tal, ele escreveu três métodos Java, um para cada algoritmo. Todos eles recebem como único parâmetro um array de inteiros (int vet[ ] = {81,15,4,20,7,47,14,20,4}), que será ordenado em ordem crescente.

Para acompanhar a evolução desse array sendo ordenado, cada um dos três métodos exibe a configuração dos elementos do array ao término de cada iteração do comando de repetição mais externo. Vale lembrar que esses três algoritmos de ordenação são compostos por dois comandos de repetição aninhados (dois comandos for ou dois comandos while).

Terminada a codificação, o professor executou os métodos relativos aos três algoritmos de ordenação e projetou no quadro as configurações do array relativas às três primeiras iterações de cada um dos algoritmos de ordenação, conforme mostrado a seguir.


Algoritmo 1


4 15 81 20 7 47 14 20 4

4 4 81 20 7 47 14 20 15

4 4 7 20 81 47 14 20 15


Algoritmo 2


15 81 4 20 7 47 14 20 4

4 15 81 20 7 47 14 20 4

4 15 20 81 7 47 14 20 4


Algoritmo 3

15 4 20 7 47 14 20 4 81

4 15 7 20 14 20 4 47 81

4 7 15 14 20 4 20 47 81


As configurações 1, 2 e 3, exibidas acima, correspondem, respectivamente, aos algoritmos


A

da bolha, de seleção e de inserção


B

da bolha, de inserção e de seleção


C

de seleção, de inserção e da bolha


D

de seleção, da bolha e de inserção


E

de inserção, de seleção e da bolha

 
Ir para a página:
OK
 
Gerar simulado