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
 

Relacione a Coluna 1 à Coluna 2, associando cada formato básico do pseudocódigo utilizado no software VisuAlg 3.0 com os respectivos significados.

Coluna 1

1. algoritmo "teste"

2. Valor1, Valor2: real

3. inicio

4. Valor2 <- Valor1 + a

5. fimalgoritmo

Coluna 2

( ) A linha é composta pela palavra-chave algoritmo seguida do seu nome delimitado por aspas duplas.

( ) A linha marca o final do pseudocódigo: todo texto existente a partir dela é ignorado pelo interpretador.

( ) Deste ponto em diante, está a seção de comandos, que continua até a linha final do algoritmo.

( ) Declaração de variáveis, que termina com a linha que contém a palavra-chave inicio.

( ) Linha com os comandos a serem executados.

A ordem correta de preenchimento dos parênteses, de cima para baixo, é:


A

3 – 5 – 2 – 1 – 4.


B

5 – 1 – 2 – 4 – 3.


C

2 – 5 – 1 – 3 – 4.


D

1 – 5 – 3 – 2 – 4.


E

4 – 2 – 5 – 1 – 3.

Um trecho de programa, expresso na forma de uma pseudolinguagem (Português Estruturado), é apresentado a seguir.


Início

Inteiro: i, j, k, a;

...

Para i de 3 até 6 faça

Para j de 4 até 7 faça

Para k de 2 até 8 faça

[

a ← a + 1;

]

...

Fim.


É correto afirmar que, a variável a, após a execução de desse trecho de programa, terá sido incrementada


A

8 vezes.


B

54 vezes.


C

336 vezes.


D

112 vezes.


E

6 vezes.

Pedro desenvolveu o algoritmo apresentado a seguir, onde ocorre a leitura de um conjunto de números e, após efetuar algumas operações, é impresso o valor de uma variável x.


algoritmo Pedro

var

i: inteiro

x, a: real

início

x <- 0

para i de 1 até 5 faça:

leia(a);

x <- x + (a / 5)

fim para

escreva("Valor de x: ", x)

fim algoritmo


Analisando o algoritmo de Pedro, a variável x, impressa ao final, representa o(a):


A

somatório dos números lidos;


B

valor mínimo para os números lidos;


C

desvio padrão dos números lidos;


D

média dos números lidos;


E

valor máximo para os números lidos.

A complexidade de algoritmos refere-se à análise e à avaliação de desempenho de um algoritmo no que se diz respeito aos recursos computacionais necessários para se resolver determinado problema. O tempo de execução do algoritmo Heapsort é


A

O(n2).


B

O(log n).


C

O(n3).


D

O(n log n).

Quando criamos um programa de computador, utilizamos a seguinte sequência de operações na grande maioria das vezes: entrada de dados, processamento e saída. Selecione a estrutura de seleção que nunca testa uma ou mais variáveis de acordo com uma condição.


A

if


B

else if / elif


C

else


D

while


E

for

Numa busca por uma chave armazenada numa lista encadeada circular, cujos elementos estão dispostos ordenadamente pelo valor da chave, a complexidade do algoritmo no pior caso é:


A

1;


B

N;


C

log N;


D

N log N;


E

N2.

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

Início

Inteiro: x, y, z, k, S;

x ← 1;

y ← 2;

z ← 3;

k ← 4;

Se ((x+z) = (y+k))

Então

[

x ← x + 1;

y ← y – 2;

z ← k;

k ← y;

]

Senão

[

x ← x – 1;

y ← y + 2;

k ← z;

z ← x;

]

S ← x + y + z + k;

Fim.

Nesse programa, o valor assumido ao seu final pela variável S é igual a:


A

3


B

4


C

5


D

6


E

7

O algoritmo de ordenação que requer uma quantidade constante de O(1) espaço de memória adicional é o algoritmo de


A

ordenação por seleção.


B

ordenação por mistura.


C

ordenação por inserção.


D

ordenação por flutuação.


E

ordenação heapsort.

Considere o algoritmo abaixo, escrito em VisuAlg 3.0:

Algoritmo "partvetor"

Var

i, j, n, temp, contador: inteiro

x: vetor [0..7] de inteiro

Inicio

para i de 0 ate 7 faca

x[i]<-i+1

fimpara

escreva("Entre com um valor para n:")

leia(n)

para i de 0 ate 7-n faca

temp<-x[i]

x[i]<-x[i+n]

x[i+n]<-temp

contador<-contador+1

fimpara

escreval("contador:",contador)

escreva("resultado:")

para i de 0 ate 7 faca

escreva(x[i])

fimpara

Fimalgoritmo

Qual das alternativas abaixo representa uma saída compatível com a execução do algoritmo apresentado acima?


A


Início da execução

Entre com um valor para n:5

contador: 3

resultado: 6 7 8 4 5 3 2 1

Fim da execução.


B


Início da execução

Entre com um valor para n:5

contador: 4

resultado: 6 7 8 4 5 3 2 1

Fim da execução.


C


Início da execução

Entre com um valor para n:5

contador: 3

resultado: 6 7 8 4 5 1 2 3

Fim da execução.


D


Início da execução

Entre com um valor para n:5

contador: 4

resultado: 6 7 8 4 5 1 2 3

Fim da execução.


E


Início da execução

Entre com um valor para n:6

contador: 2

resultado: 6 7 8 4 5 1 2 3

Fim da execução.

Observe o algoritmo a seguir.


algoritmo "exercicio"


var

v:vetor[0..5] de inteiro

contador : inteiro

aux : inteiro


inicio


para contador de 1 ate 5 faca

leia(aux)

v[contador] <- aux + contador * 2;

fimpara


escreva(v[3])


fimalgoritmo


Considerando que, ao executar o programa, o usuário forneça como entrada os números inteiros na seguinte ordem: 1, 2, 3, 4, 5, qual valor será impresso pelo programa?


A

6.


B

7.


C

9.


D

11.


E

12.

Assuma-se o seguinte algoritmo.


dim a[3]

a[0]=1

a[1]=10

a[2]=101

para i = 0 até 2

-escreva(a[i]&3)


Considerando-se & como o operador binário E, é correto afirmar que o resultado apresentado será o seguinte.


1

2

1


C

Certo


E

Errado

Considere a lista de números inteiros: 830, 73, 743, 752, 407, 618, 442. Um algoritmo de ordenação é utilizado para dispor os elementos da lista em ordem ascendente. A seguir é exibido o conteúdo da lista, ao final de cada iteração que movimenta elementos durante a execução do algoritmo, até que a lista esteja ordenada:


73, 743, 752, 407, 618, 442, 830

73, 743, 407, 618, 442, 752, 830

73, 407, 618, 442, 743, 752, 830

73, 407, 442, 618, 743, 752, 830


As movimentações de elementos obtidas neste caso evidenciam que o algoritmo de ordenação é denominado


A

Quicksort.


B

Ordenação por inserção.


C

Bubblesort.


D

Ordenação por seleção.

A seguir há um algoritmo, que troca os valores das variáveis ALFA e BETA.


algoritmo "PL"

var

----ALFA, BETA, AUX : inteiro

Inicio

----ALFA <- 17

----BETA <- 33

----AUX <- ALFA

----ALFA <- BETA

----BETA <- AUX

----escreva(ALFA:3,BETA:3)

fimalgoritmo


A estrutura equivalente à Imagem associada para resolução da questão que faz a troca dos valores entre as variáveis ALFA e BETA, sem usar a variável auxiliar AUX, está indicada na seguinte opção:


A

ALFA <- ALFA + BETA

ALFA <- ALFA - BETA

BETA <- ALFA - BETA


B

ALFA <- ALFA + BETA

ALFA <- ALFA - BETA

BETA <- BETA - ALFA


C

ALFA <- ALFA + BETA

BETA <- ALFA - BETA

ALFA <- BETA - ALFA


D

ALFA <- ALFA + BETA

BETA <- ALFA - BETA

ALFA <- ALFA - BETA

No que se refere à lógica de programação, observe o pseudocódigo abaixo, referente a um algoritmo que contém uma função recursiva.


algoritmo "PL_2022"

var

CT, RP : inteiro

funcao FREC (AUX: inteiro) : inteiro

inicio

se__(AUX = 0) OU (AUX = 1) entao

retorne AUX

senao

retorne FREC (AUX-2) + FREC (AUX-1)

fimse

fimfuncao

inicio

para CT de 0 ate 5 faca

RP <- FREC (CT)

escreva (RP:3)

fimpara

fimalgoritmo


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


A

0 1 1 2 3


B

1 1 2 3 5


C

0 1 1 2 3 5


D

1 1 2 3 5 8

Com base no seguinte algoritmo, analisar os itens abaixo:


inteiro numero = 1

inteiro quadradoNumero

enquanto (numero ! = 0) {

escreva ("Digite um número inteiro\n")

leia(numero)

quadradoNumero = numero * numero

escreva ("O quadrado é ", quadradoNumero, " \ n")

}


I. O loop continuará sendo executado enquanto o valor da variável numero for diferente de 0.

II. O “enquanto” é uma estrutura de controle de seleção, um tipo de loop muito comum em que as condições são avaliadas ainda antes da primeira iteração.

III. A cada iteração, todas as instruções do loop serão executadas.


Está(ão) CORRETO(S):


A

Somente o item I.


B

Somente o item II.


C

Somente os itens I e II.


D

Somente os itens I e III.


E

Todos os itens.

1 DataType * search(DataType * obj, int value) {

2 ____if (value < obj->value)

3 ________return search(obj->left);

4 ____else if (value > obj->value)

5 ________return search(obj->right);

6 ____return obj;

7 }


Com base nesse algoritmo, é correto assumir que:


A

a função search busca o valor value em uma árvore binária de pesquisa.


B

objetos do tipo DataType são vértices em um grafo acíclico dirigido.


C

a função search sempre retornará um ponteiro para um objeto cujo atributo value é igual ao parâmetro de entrada value.


D

a complexidade desse algoritmo no caso médio é igual a O(n), onde n é a quantidade de elementos no espaço de busca.


E

os ponteiros left e right do objeto obj nunca possuem o valor null.

O programa a seguir está apresentado na forma de uma pseudolinguagem (português estruturado).

Início

Inteiro: x1, x2, x3, Z, i;

x1 ← 3;

x2 ← 4;

x3 ← x1 + x2 - 2;

Para i de 1 até 3 faça

[

Se (x3 > x1) e (x3 > x2)

Então

[

x3 ← x3 - 2;

x1 ← x1 + 1;

]

Senão

[

x3 ← x3 + 1;

x2 ← x2 + 1;

]

]

Z ← x1 + x2 - x3;

Imprima Z;

Fim.


Ao final da execução desse programa, o valor impresso da variável Z será igual a


A

0


B

5


C

10


D

15


E

20

Analise o seguinte script shell em execução:


#!/bin/bash

trap “exit” SIGINT

i=1

while [ $i -ne 0 ] ;

do

echo “Executando pela $i vez…”

(( i++ ))

done


Após uma brusca interrupção do script pelo usuário utilizando combinação de teclas CTRL+C, qual será o sinal de saída enviado pelo script?


A

15.


B

2.


C

0.


D

1.


E

127.

 
Ir para a página:
OK
 
Gerar simulado