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 ideia da ordenação por bolha (Bubble Sort) é percorrer o vetor de elementos sequencialmente e, em cada passagem comparar cada elemento com seu sucessor, fazendo-o chegar ao topo da sequência. Dado que n é o número de elementos do vetor, a complexidade do pior caso desse algoritmo é

A
O(n).

B
O(n2).

C
O(n+1).

D
O(n log n).

E
O(log n).

Imagem associada para resolução da questão

Considerando o algoritmo mostrado, é correto afirmar que, com relação à execução e ao valor impresso, esse algoritmo


A
não irá executar, pois a variável i não foi inicializada.

B
conta de 100 até 200 e, ao final, apresenta o somatório de todos os valores entre 100 e 200.

C
executa e apresenta o somatório dos valores primos.

D
soma todos os números pares entre 100 e 200 e, ao final, apresenta o resultado da soma.

E
soma todos os números ímpares entre 100 e 200 e, ao final, apresenta o resultado da soma.

Considere o pseudocódigo a seguir:


início

inteiro: X, Y;

se (X == 1)

então C1;

senão

início

se (X > 1)

então

se (Y >= 3)

então

início

C2;

C3;

fim;

senão C4;

fimse;

fimse;

C5;

fim;

fimse;

fim.



Assuma que as variáveis X e Y possuem valor 2 e 5, respectivamente. Assinale a alternativa que apresenta a ordem CORRETA dos comandos que serão executados, da esquerda para a direita:


A

C2, C3, C5.


B

C1.


C

C2, C3, C4, C5.


D

C4, C5.


E

C1, C2, C3, C4, C5.

Analise o trecho de pseudocódigo exibido a seguir.


x = 1;

while x < 10

{

y = x+2;

while y < 10

{

print x, y;

y = y +1

};

x = x+1;

};


De acordo com o pseudocódigo acima, assinale a opção que indica o número de vezes que o comando print é executado.


A

28


B

56


C

60


D

84


E

100

Quando se escreve um algoritmo, ou um programa de computador é quase impossível não se ter uma variável. Uma variável, emprogramação de computadores, é:


A

Um tipo inteiro.


B

Um local na memória para guardar um valor.


C

Um local na memória para guardar um registrador.


D

Um ponteiro de dados.


E

Um tipo de dado.

O mergesort é um algoritmo de ordenação do tipo dividir-para-conquistar. Sua ideia básica consiste em dividir o problema em vários subproblemas, e resolver esses subproblemas por meio da recursividade e, em seguida,após todos os subproblemas terem sido resolvidos,ocorre a conquista, que é a união das resoluções dos subproblemas.O algoritmo mergesort, apresentado em seguida, está codificado em C/C++.Esse algoritmo ordena o vetor de inteiros a[p],..., a[r](onde, p<r) usando um vetor auxiliar b[p],..., b[r]. O vetor a[ ] é dividido recursivamente ao meio em duas instâncias menores, que são ordenadas e então colocadas juntas, ordenando todo o vetor. No código estão faltando as linhas que fazem a divisão por recursão (linhas 7 e 8) e as linhas que concretizam a fase de conquista, unindo todas as intercalações no vetor principal (linhas 11 e 12).


  1. void mergesort(int a[], int p, int r)
  2. {
  3. int i,j,k,m;
  4. if (r > p)
  5. {
  6. m = (r + p)/2;
  7. ...
  8. ...
  9. for (i = m+1; i> p; i--) b[i-1] = a[i-1];
  10. for (j = m; j < r; j++) b[r+m-j] = a[j+1];
  11. ...
  12. ...
  13. }
  14. }


As linhas 7,8, 11 e 12, que complementam o código do mergesort de maneira CORRETA, são:


A

7. mergesort(a, p, m);

8. mergesort(a, m+1, r);

…

11. for (k = p; k <= r; k++)

12. a[k] = (b[i]<b[j]) ? b[i++] : b[j--];


B

7. mergesort(a, p, m+1);

8. sort(a, m+1, r);

...

11. for (k = m; k <= r; k--)

12. a[k] = (b[i]<b[j]) ? b[i++] : b[j--];


C

7. mergesort(a, p, m);

8. mergesort(a, m+1, r);

…

11. for (k = m; k <= m; k++)

12. a[m] = (b[m]<b[j]) ? b[m++] : b[m--];


D

7. sort(a, p, m);

8. sort(a, m+1, r);

...

11. for (k = p; k <= r; k++)

12. a[k] = (b[i]<b[j]) ? b[i++] : b[j--];


E

7. sort(a, p, m);

8. merge(a, m+1, r);

...

11. for (k = p; k <= r; k++)

12. a[k] = (b[i]<b[j]) ? b[i++] : b[j--];

Um algoritmo de ordenação é executado através dos seguintes passos: (I) escolha de um elemento da lista, denominado pivô; (II) rearranjo da lista, de forma que todos os elementos anteriores ao pivô sejam menores do que ele e que todos os elementos posteriores ao pivô sejam maiores do que ele; e, também, de modo que o pivô, ao fim do processo, esteja em sua posição final, havendo duas sublistas não ordenadas; (III) ordenação recursiva das sublistas dos elementos menores e dos elementos maiores. Que algoritmo é esse?


A

Quick Sort


B

Merge Sort


C

Bubble Sort


D

Insertion Sort


E

Selection Sort

Considere o seguinte pseudocódigo:


Função misteriosa(a: inteiro)


Início

Se (a<1) então retorna -1;

Se (a==1) então retorna 2;

Se (a>1) então retorna (misteriosa(a-1)* misteriosa(a-2));

Fim


Para tentar descobrir o que a função misteriosa faz, um aluno experimentou a função com os valores de entrada 1, 3 e 4 e obteve os seguintes resultados, respectivamente:


A

2, -4 e 8.


B

-4, 2 e 16.


C

2, 6 e 8.


D

4, -2 e 32.


E

2, -2 e 4.

Ano: 2016
Prova: IFSE - IFSE - Analista de Tecnologia da Informação - Área: Desenvolvimento - 2016

Assinale a alternativa que completa corretamente o código abaixo:


procedure TForm1.Button1Click(Sender: TObject);

var

Int : Integer;

begin

Int := 10;

Edit1.Text := _______________;

end;


A

StrToInt(int)


B

StrToFloat(int)


C

IntToDate(int)


D

IntToStr(int)

 
Ir para a página:
OK
 
Gerar simulado