Pages

Mostrando postagens com marcador tiago lopes. Mostrar todas as postagens
Mostrando postagens com marcador tiago lopes. Mostrar todas as postagens

Questão EPO - Recursividade

Dado o algoritmo abaixo:

Função Fatorial (i);
    declare n numérico;
    se i <=1 então
        leia n; retorne 1;
    senão
        retorne Fatorial (i - 1) * i;
    fim se
Fim Função

I. A todo procedimento recursivo corresponde um outro não recursivo que executa, exatamente, a mesma computação.
II. A recursividade é ótima para definições matemáticas, tornando a correção mais simples.
III. A recursividade deixa o código mais “enxuto” (conciso).
IV. Não há porque se utilizar o algoritmo acima, pois ele é redundante.

Quais afirmações acima estão incorretas:

a) I e II
b) III
c) IV
d) I, III e IV
e) NDA

Questão EPO - Linked List

Uma lista encadeada é uma representação de uma sequência de objetos na memória do computador. Cada elemento da sequência é armazenado em uma célula da lista: o primeiro elemento na primeira célula, o segundo na segunda e assim por diante.

Uma lista encadeada  (= linked list = lista ligada)  é uma sequência de células; cada célula contém um objeto de algum tipo e o endereço da célula seguinte.   Suporemos nesta página que os objetos armazenados nas células são do tipo int.  A estrutura de cada célula de uma tal lista pode ser definida assim:

struct cel {
    int conteudo;
    struct cel *prox;
};



conteudo prox

Com base nos conceitos de Linked List é correto afirmar que:

a) Linked List não uni os elementos para formar uma lista.
b) o ponteiro *prox indica o próximo elemento que pertencerá a lista, geralmente alocado como NULL para aguardar o próximo elemento.
c) O exemplo acima não se refere a uma linked list.
d) O conteúdo desta lista será de qualquer tipo, double, string, char, pois isso não importa para a lista.
e) NDA.

Questão EPO - Quicksort

O QuickSort, como o MergeSort, é baseado em uma estratégia de dividir para conquistar e é um dos algoritmos de ordenação mais populares. O QuickSort é baseado no método de ordenação por trocas.

O algoritmo QuickSort pode ser dividido nos seguintes passos:

O array A[p..r] é subdividido em dois arrays A[p..q] e A[q+1..r] não vazios tal que cada elemento de A[p..q] é menor ou igual a cada elemento de A[q+1..r]. O índice q é calculado como parte deste particionamento.

Os dois subarrays A[p..q] e A[q+1..r] são ordenados por recursivas chamadas do QuickSort.

Dado o array  f e d h a c g b, e tomando o valor “d” para partição, o primeiro passo do quicksort rearranja o array da seguinte forma:

a) a b c d e f g h
b) f e d h a c g b
c) b c a d h e g f
d) b c f a h e g f
e) NDA

Questão EPO - Hash Table

Dadas as afirmações:

I.    Também conhecido como Overflow Progressivo

II.    Consiste em procurar a próxima posição vazia depois do endereço-base da chave

III.    Vantagem: simplicidade

IV.    Desvantagem: se ocorrerem muitas colisões, pode ocorrer um clustering (agrupamento) de chaves em uma certa área. Isso pode fazer com que sejam necessários muitos acessos para recuperar um certo registro. O problema vai ser agravado se a densidade de ocupação para o arquivo for alta

Qual das alternativas estão corretas?

a)  I e III
b) I e II
c) II e III
d) I, II, III e IV
e) NDA

Questão EPO - Bubble sort

Assinale a alternativa correta sobre os principais processos do bubble sort:

a) Ele começa comparando o primeiro item ao segundo, o segundo para o terceiro e assim por diante até encontra um item fora de ordem. Em seguida, os dois itens swaps e começa de novo. A espécie pode alterna a partir do topo da lista para o fundo e depois de baixo para cima.

b) Acessa-se o elemento posicionado no topo, insere um novo elemento no topo da lista e remove o elemento do topo da lista.

c) Acessa-se o elemento posicionado final, insere um novo elemento no inicio da lista e remove o elemento do final da lista.

d) Guardar o primeiro elemento, e apontar seu ultimo elemento para uma célula nula.

e) NDA.

Referencia:
http://pt.wikipedia.org/wiki/Lista_ligada
http://pt.wikipedia.org/wiki/FIFO
http://pt.wikiversity.org/wiki/Estruturas_de_Dados_Intermedi%C3%A1rio/Pilha
http://www.answers.com/topic/bubble-sort#ixzz1PknECB25

Questão EPO - Heap sort

Um heap (fila de prioridade) é uma estrutura de dados muito importante, que tem duas utilidades principais: organizar acesso a um recurso com base na prioridade dos requerentes (processos, impressões, etc.) ou servir como base a um algoritmo de ordenação muito eficiente denominado heapsort. Para poder servir a esses propósitos, um heap possui uma série de propriedades especiais que têm que ser mantidas por todas as operações nelas realizadas. Levando em consideração estas propriedades, analise as afirmativas abaixo.


É correto APENAS o que se afirma em:

a) I.
b) II.
c) III.
d) I e II.
e) II e III.

Referência:
http://www.questoesdeconcursos.com.br/imprimir/caderno/estrutura-de-dados-205371
CESGRANRIO - 2010 - Petrobrás - Analista de Sistemas Júnior - Engenharia de Software / Algoritmos e Estrutura de Dados

Questão EPO - Merge sort

As estratégias de divisão e de conquista são utilizadas pelos algoritmos de ordenação

a) Selection Sort e Insertion Sort
b) Selection Sort e Buble Sort.
c) Quick sort e Merge Sort.
d) Bubble sort e Bucket Sort.
e) Nda.

Referencia:
http://www.questoesdeconcursos.com.br/questoes/eccbd7ac-72

Questão EPO - Árvore Binária



Qual a sequência correta da árvore binária?

a) 2 3 5 3 7 8 10
b) 7 8 10 2 5 3 4
c) 7 8 2 5 8 3 5 10 4
d) 7 2 5 3 4 8 10
e) NDA

Questão EPO - Árvore Binária

Considere a árvore abaixo:

Quais são os níveis corretos da árvore acima:

a) nível 0 = A nível 1 = B, C nível 2 = D, E, F, G nível 3 = H, I
b) nível 0 = D nível 1 = H,I,E,F,G  nível 2 = B,C nível 3 = A
c) nível 0 = B nível 1 = D,E,F,G  nível 2 = H,I,C nível 3 = A
d) nível 0 = C nível 1 = D,E,F,G  nível 2 = H,I,B nível 3 = A
e) NDA.

Questão EPO - Pilha

Dado o exemplo de pilha:



É correto afirmar:

I - O primeiro que sai é o último que entrou. (a siglaLIFO –last in, first out)
II –A função push, faz a exclusão dos elementos da pilha.
III – A função pop, faz a exclusão do ultimo elemento que entrou na pilha.

a) Somente a alternativa I está correta.
b) Somente a alternativa II está correta.
c) As alternativas I e III estão corretas.
d) As alternativas I e II estão corretas.
e) NDA.

Questão EPO - Estrutura de Dados

Dada a seguinte afirmação sobre Estrutura de dados:
“Maneira eficiente de armazenar eorganizar dados de modo a facilitar o seu acesso e modificação.Bem desenhadas levam a que certas operações críticassejam executadas usando o menor custo possível derecursos (tempo e espaço).”

Qual o objetivo da Estrutura de Dados ?

a) Facilitar os processos de engenharia de Software.
b) Deixar a codificação mais vulnerável.
c) Otimizar e organizar consultas.
d) Otimizar códigos.
e) NDA.

Questão EPO - Fila

Um estudante de computação precisa resolver um problema bastante importante, que é executar as operações que estão descritas abaixo, cuja estrutura é uma fila. Tão logo ele retire algum elemento desta fila, lembrando o conceito FIFO (First In First Out).
Assinale a alternativa que contém a sequência correta de entrada dos elementos na fila.

INSERE P 
INSERE E 
INSERE R 
INSERE T 
INSERE O 
RETIRA
RETIRA
INSERE S 
INSERE O 
INSERE L 
RETIRA 
RETIRA
RETIRA

a) S – O – L
b) R – T – O
c) P – E – R
d) O – T – L
e) NDA

Questão EPO - Alocação Dinâmica

De acordo com os conceitos sobre alocação dinâmica, segue a seguinte declaração:

double* pd;
pd = (double *) malloc(30 * sizeof(double));

Dadas as afirmaçõesabaixo:
I - Se não houver memória disponível para alocar, a função retorna um ponteiro nulo (NULL).
II - A operação realizada com o (double *) é chamada de casting. Ela converte o tipo retornado pela função malloc() de ponteiro para void em ponteiro para double.
III – O exemplo acima não refere-se sobre alocação de memória dinâmica e sim alocação de memória estática de memória.

Podemos concluir que:

a) Somente a alternativa I está correta.
b) Somente a alternativa II está correta.
c) Todas as alternativas estão corretas.
d) As alternativas I e II estão corretas.
e) NDA

Questão EPO - Ponteiro

Dada a seguinte informação, é correto afirmar:
A simples declaração de um ponteiro não o faz útil. É necessária a indicação da variável para a qual ele aponta.


    int var;
    int *ptr;
    var = 10;
    ptr = &var;

Na seqüência acima, são declarados uma variável tipo int (var) e um ponteiro para o mesmo tipo (ptr). A terceira linha atribui o valor 10 a var e a última linha inicializa o ponteiro ptr.

Observa-se o uso do operador de endereçamento (&) para inicialização do ponteiro. Isso significa, no código ptr = &var;, que ptr passa a conter o endereço de var, não o seu valor.

O valor 4052 para a posição de memória de var é apenas ilustrativo. Na prática, dependerá do local de memória onde o programa foi carregado.

Com ptr apontando para var, é possível realizar operações com esta última de forma indireta, a partir de ptr.

a) O valor do ponteiro ptr será sempre 4052.
b) O uso do operador de endereçamento (&) não é necessário para atribuir o endereço de uma variável a um ponteiro.
c) O valor da variável var é 10, e também o endereço de memória alocado a esta variável é o 4052.
d) O ponteiro ptr contém o valor da variável var e não o seu endereço.
e) NDA.

Referência: http://www.mspc.eng.br/info/cpp_ptr_10.shtml

Questão EPO - Struct

Dada a estrutura abaixo:

struct cliente {
    char nome[30];
    char rua[50];
    int idade;
};

I – Em um aplicativo em C/C++ somente é possível utilizar uma estrutura (struct) uma vez por execução do sistema assim como o exemplo abaixo:
    struct cliente você;
    voce.Nome = “Fulano”;
    voce.rua = “Rua dos bobos n 0”;
    voce.idade = 19;
II – Uma estrutura (struct) é posso criar várias estruturas de acordo com a sua necessidade.
III – O acesso aos campos de uma estrutura é semelhante ao acesso nos vetores. Só que nos vetores a localização dos campos é feita através do índice e nas estruturas isso é feito com o nome dos campos.

É correto afirmar que:

a) As afirmações I e II estão corretas.
b) Somente a afirmação II está correta.
c) As afirmações II e III estão corretas.
d) Somente a afirmação I está correta.
e) NDA.
 
Copyright (c) 2010. Blogger templates by Bloggermint