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
 

A Figura 1, abaixo, apresenta um algoritmo escrito no software VisuAlg 3.0.

algoritmo '' questao_tecnico''

var

num1, num2: inteiro

procedimento teste(var x, y: inteiro)

var z: inteiro

inicio

z<-x

x<-y

y<-z

fimprocedimento

inicio

leia(num1)

leia(num2)

escreva1(''1° Número:'', num1, ''- 2° Número:'', num2)

teste(num1, num2)

escreva(''1° Número:'', num1 '', ''- 2° Número:'', num2)

fimalgorismo

Figura 1 – Algoritmo escrito no software VisuAlg 3.0

Com relação ao procedimento "teste" do algoritmo da Figura 1, pode-se dizer que ele faz:


A

A leitura de dois números inteiros.


B

A troca de valores entre as variáveis "x" e "y", utilizando a variável auxiliar "z".


C

A ordenação das variáveis "x" e "y", utilizando a variável auxiliar "z".


D

Comparações entre as variáveis "x", "y" e "z".


E

Subtrações entre as variáveis "x", "y" e "z".

As palavras de um computador são compostas por bits e podem representar números armazenados na memória. Estes números podem ter diferentes significados, como inteiros ou reais, serem positivos ou negativos. A manipulação dos números inclui operações de soma, subtração, multiplicação e divisão. Os computadores também manipulam palavras, através de campos de bits dentro de uma palavra ou mesmo bits individuais por instruções lógicas. Assinale a alternativa que mostra corretamente instruções implementadas na unidade lógica e aritmética de um processador:


A

NOT, AND, OR e ELSE.


B

NOT, AND, OR e XOR.


C

NOT, GOTO, FOR e END.


D

FOR, AND, OR e XOR.

Algoritmos servem para soluções de diversos tipos de situações cotidianas como uma otimização na linha de produção de uma indústria, organização das tarefas de trabalhos de uma equipe dentre outros. Analise o algoritmo a seguir:

1: algoritmo “prova”

2:

3: var

4:

5: i : inteiro

6: valores : vetor [2..6] de inteiro

7:

8: inicio

9:

10: para i de 2 ate 6 faca

11: valores[i] <- i % 2

12: escreval(valores[i])

13: fimpara

14:

15: fimalgoritmo

Assinale a alternativa que indica qual será o resultado gerado na saída:


A

4 6 8 10 12


B

0 1 0 1 0


C

4 5 6 7 8


D

0 1 2 3 4


E

1 0 1 0 1

Sobre complexidade de algoritmos é INCORRETO afirmar:


A

Se as funções f e g dominam assintoticamente uma a outra, não podemos discorrer sobre a equivalência dos algoritmos associados.


B

Se f é uma função de complexidade para um algoritmo F, então O(f ) é considerada a complexidade assintótica ou o comportamento assintótico do algoritmo F.


C

Podemos avaliar programas comparando as funções de complexidade, negligenciando as constantes de proporcionalidade.


D

Algoritmos de complexidade O(1) são ditos de complexidade constante.


E

A complexidade O(log n) é típica em algoritmos que transformam um problema em outros menores.

Sobre o algoritmo de busca binária, marque a alternativa INCORRETA


A

É um algoritmo mais eficiente, entretanto, requer que a lista esteja ordenada pelos valores da chave de busca.


B

É um eficiente algoritmo para encontrar um item em uma lista ordenada de itens. Funciona dividindo repetidamente pela metade a porção da lista que deve conter o item, até reduzir as localizações possíveis à apenas um.


C

O funcionamento consiste em, a partir do primeiro registro, pesquisar sequencialmente até encontrar o valor procurado ou até chegar ao fim do vetor e então parar.


D

Um dos modos mais comuns de se usar a busca binária é para encontrar um item em um array.


E

É um algoritmo de busca em vetores que segue o paradigma de divisão e conquista.

Analise as afirmações abaixo a respeito de sub-rotinas:


I - Quando utilizamos sub-rotinas, podemos realizar desvios na execução dos programas que, em geral, são estruturados linearmente.

II - O código de uma sub-rotina é carregado uma vez e pode ser executado quantas vezes forem necessárias.

III - Como o problema pode ser subdividido em pequenas tarefas, os programas tendem a ficar menores e mais organizados.


Está(ão) CORRETA(S) a(s) afirmação(ões):


A

I e II apenas.


B

III apenas.


C

II e III apenas.


D

II apenas.


E

I, II e III.

__Sobre algoritmos, estrutura de dados e programação orientada a objetos, considere as seguintes afirmações:


I) É possível representar QUALQUER código (seja função, procedimento, método etc) em pseudocódigo, esteja ele utilizando classes, heranças ou não.

II) Uma das poucas maneiras de sobrescrever um método privado de uma classe ancestral, é pela técnica de rastreio de algoritmos em que é realizada a injeção de dependência.

III) HEAP, QUICKSORT e BUBBLESORT são conhecidos algoritmos de agrupamento e classificação.

IV) Conceitualmente, uma classe descreve objetos de um mesmo tipo em particular. Sendo assim, a criação de novos objetos se dá pela instanciação de uma classe.


E assinale a alternativa correta.


A

Apenas II e III são verdadeiras.


B

Apenas I e III são verdadeiras.


C

Apenas II e IV são verdadeiras.


D

Apenas I e IV são verdadeiras.


E

Todas as afirmações são verdadeiras.

Ao longo de um algoritmo, “um procedimento pode fazer, em sua descrição, uma ou mais chamadas a si mesmo”. Assinale, a seguir, a denominação correta deste tipo de procedimento.


A

Contínuo.


B

Recursivo.


C

Repetitivo.


D

Condicional.

Pseudocódigo é uma forma genérica de escrever um algoritmo, utilizando uma linguagem simples, sem necessidade de conhecer a sintaxe de nenhuma linguagem de programação. Considerando-se o pseudocódigo representado abaixo, numerar a 2ª coluna de acordo com a 1ª e, após, assinalar a alternativa que apresenta a sequência CORRETA:


Imagem associada para resolução da questão


(1) Linha 02.

(2) Linhas 04 e 05.

(3) Linha 06.

(4) Linha 07.


(_) Lê os valores inseridos pelo usuário e os guarda em variáveis.

(_) O operador atribui a soma das variáveis a uma nova variável que guardará a soma.

(_) Região de definição de variáveis.

(_) Nesse ponto, temos a amostragem dos dados para o usuário.


A

1 - 3 - 2 - 4.


B

4 - 3 - 1 - 2.


C

2 - 3 - 1 - 4.


D

2 - 1 - 3 - 4.


E

4 - 3 - 2 - 1.

Seja o pseudocódigo a seguir a representação de uma função recursiva denominada calcula, que retorna um número inteiro e recebe dois parâmetros, a saber:


• vetor, que é um vetor de números inteiros; e

• n, que é a quantidade de elementos do vetor.


Ressalta-se que, se o vetor possui n elementos, então o primeiro e o último elementos são designados como v[0] e v[n-1], respectivamente.


_função calcula (inteiro vetor[], inteiro n): retorna inteiro

__se (n == 1) então

___retorna vetor[0]

__fim-se

__se (n > 1) então

___declara variável x : inteiro

___x = calcula (vetor, n-1)

___se (x > vetor[n-1]) então

____retorna x

___fim-se

___se (x <= vetor[n-1]) então

____retorna vetor[n-1]

___fim-se

__fim-se

_fim-função


Um programa invoca a função calcula com os parâmetros:


• o vetor de inteiros: [100, 300, 50, 400, 200]; e

• a quantidade de elementos: 5 (cinco).


A sequência de valores retornados a partir da execução das instruções do tipo retorna é:


A

100, 300, 300, 400, 200.


B

100, 300, 50, 400, 200.


C

100, 100, 50, 50, 50.


D

100, 300, 300, 400, 400.

Avalie o algoritmo apresentado a seguir e assinale qual é a resposta exibida após a sua execução:


1 Algoritmo "algoritmo"

2 Var

3 TRUE: logico

4 FALSE: logico

5 sinalizador: logico

6 Inicio

7 TRUE <- FALSO

8 FALSE <- VERDADEIRO

9 sinalizador <- (TRUE e FALSE) ou (TRUE ou FALSE) e (TRUE ou FALSE)

10 escreva (sinalizador)

11 Fimalgoritmo


A

TRUE e FALSE


B

FALSO


C

(TRUE e FALSE) ou (TRUE ou FALSE) e (TRUE ou FALSE)


D

VERDADEIRO


E

(TRUE e FALSE)

Considere os três trechos de código abaixo como partes de programas hipotéticos que cumprem todos os requisitos necessários para que possam ser executados.


I. Código:

cond = true

while (cond) {

x = processar(argumento)

if (x<=0) {

cond = false

}

}


II. Código:

while (true) {

x = processar(argumento)

}


III. Código:

cond = true

y = argumento

while (cond) {

x = processar(argumento)

y = y - 10

if (y<=0) {

cond = false

}

}


Considerando a identificação numérica de cada trecho de código, assinale a alternativa que indica corretamente o(s) código(s) capaz(es) de causar um loop infinito em tempo de execução.


A

Somente I e III.


B

Somente I e II.


C

Somente II e III.


D

Somente II.


E

Somente I.

Assinale a alternativa que contém a sintaxe correta no contexto de expressões regulares para encontrar qualquer caractere, exceto os caracteres x, y e z.


A

[ˆxyz]


B

[!xyz]


C

![x,y,z]


D

![x|y|z]


E

ˆ[x|y|z]

Abstraia-se da sintaxe das linguagens de programação e apenas siga a lógica:


Início

Campo1 = 4

Campo2 = 3

Do while Campo1 > 3

Campo1 = Campo1 – 1

Campo2 = Campo2 + 1

End Do

Do Until Campo1 > 3

Campo1 = Campo + 1

End Do

Campo1 = Campo1 + Campo2

Fim


Qual o valor de Campo1 que resultou dessa lógica?


A

6


B

9


C

8


D

7


E

5

Imagem associada para resolução da questão


Assinale a alternativa que apresenta a saída desse script exibido na tela.


A

Não é possível determinar a saída.


B

0,1,2,3,4,5,6,7,8,9,10


C

0,1,2,3,4,5,6,7,8,9


D

0,12,,3,4,5,6,7,8,9,


E

9,8,7,6,5,4,3,2,1,0

Considere o algoritmo apresentado a seguir, na forma de um pseudocódigo (português estruturado).


Início

Inteiro: a1, a2, a3, a4, b, i;

Leia a1, a2, a3, a4;

b ← 0;

Para i de 1 até 4 faça

[

Se (a1+a2+b) > (a3-a4)

Então

b ← b - 2;

Senão

b ← b + 1;

]

Imprima b;

Fim.


Os valores lidos no início do algoritmo para as variáveis a1, a2, a3 e a4 foram, respectivamente, 2, 4, 8 e 3. Então, o resultado impresso ao final do algoritmo foi:


A

-2


B

-1


C

0


D

1


E

2

 
Ir para a página:
OK
 
Gerar simulado