Pages

Questão EPO - Ponteiro

Qual a diferença entre os operadores & e *?

a) & fornece o endereço de determinada variável, e * acessa o conteúdo de uma variável, cujo endereço é o valor do ponteiro.
b) * fornece o endereço de determinada variável, e & acessa o conteúdo de uma variável, cujo endereço é o valor do ponteiro.
c) & fornece o conteúdo de determinada variável, e * acessa o valor do ponteiro
d) * é o valor da variável ponteiro, & acessa o conteúdo da variável para onde o ponteiro aponta
e) NDA

Fonte: http://cirosantos.com/lp/LPR/ponteiro.pdf

Questão EPO - Árvore Binária

Após construir a arvore binária 50, 40, 56, 30, 42, 53, 59, 29, 32, 41, 45, 51, 55, 58, 73. Podemos afirmar que:

a) A arvore é Degenerada;
b) A arvore é Estritamente Binária;
c) A arvore é Completa;
d) A arvore tem 5 Níveis;
e) N.D.A;

Fonte: Desenvolvida com o conhecimento adquirido em sala;

Questão EPO - Árvore Binária

Quantos Níveis a Árvore Binária 36,23,50,46,59,12,9,16,18,56,28,37 possui?

a) 3
b) 4
c) 5
d) 6
e) N.D.A.

Fonte: Desenvolvida com o conhecimento adquirido em sala.

Questão EPO - Árvore Binária

A seguinte árvore binária apresenta uma sequência de operações matemáticas:


Qual das operações matemática representa a arvore acima:

a) (B + C) * A - (D + E)
b) A * (B + C) - (D + E)
c) (D + E) – A * (B + C)
d) (D + E) - (B + C) * A
e) NDA

Questão EPO - Árvore Binária

Dada a construção da arvore binaria abaixo:


Qual sequencia representa a arvore?

a) B A D C E F H G I
b) F B A D C E H G I
c) H G I F B A D C E
d) F H G I B A D C E
e) NDA

Questão EPO - Estrutura de Dados

Dadas as seguintes afirmações:

I. Uma Lista é uma estrutura de dados linear. Uma lista ligada, também chamada de encadeada, é linear e dinâmica, é composta por nós que apontam para o próximo elemento da lista, com exceção do último, que não aponta para ninguém.

II. As filas são estruturas baseadas no princípio LIFO, na qual os dados que foram inseridos por último na pilha serão os primeiros a serem removidos.

III. As pilhas são estruturas baseadas no princípio FIFO (first in, first out), em que os elementos que foram inseridos no início são os primeiros a serem removidos.

IV. Uma árvore binária é uma árvore em que cada nó tem no máximo dois filhos. São muito utilizadas como estruturas de buscas, como árvores de busca binária.
Quais afirmações estão corretas:

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

Questão EPO - Árvore Binária

Para percorrer uma árvore binária em ordem simétrica executa-se recursivamente os três passos na seguinte ordem:

1. Percorrer a subárvore da esquerda em ordem simétrica;
2. Visitar a raiz;
3. Percorrer a subárvore da direita em ordem simétrica.

Percorrendo a figura abaixo, qual seria a saída dos resultados?


a) A B C D E F H G I
b) A B C D E F G H I
c) F A B C D E H G I
d) C E D A B F H G I
e) n.d.a

Referência: http://equipe.nce.ufrj.br/adriano/c/apostila/arvore.htm#aplicaarv

Questão EPO - Árvore Binária

Considere a árvore binária abaixo:



Tornando a parte verde uma árvore independente e ela inteira outra, classifique, respectivamente, seus tipos:

a) Binária completa, Binária completa e estritamente binária
b) Estritamente binária, Binária completa
c) Binária completa, estritamente binária
d) Binária completa, Binária completa
e) n.d.a

Referência: http://www.slideshare.net/briansupra/arvores-binarias-3127856 (apenas a imagem)

Questão EPO - Estrutura de Dados

Sobre estrutura de dados, considere:

I. Pilha é uma estrutura de dados com acesso restrito aos seus elementos, uma vez que eles são colocados e retirados por um único lado e são ordenados pelo princípio LIFO (last in first out). Assim, sempre que um elemento é adicionado ou retirado seu topo é alterado.

II. Pilha é o tipo de estrutura usada, por exemplo, na avaliação de expressões numéricas, na recursividade e pelos compiladores, na passagem de parâmetros para as funções.

III. Registro é uma estrutura básica que permite guardar coleções de dados de diferentes tipos, sendo normalmente utilizado quando um objeto tem diferentes atributos, isto é, contém campos de diferentes tipos.

IV. Lista pode conter um número qualquer de elementos, expandindo-se ou contraindo-se conforme o elementos são inseridos ou retirados. Nesse tipo de estrutura, os acessos tanto podem ser feitos sequencialmente como diretamente.

V. Fila, assim como a pilha , é uma versão especial de lista, e como tal, seus elementos são ordenados pelo princípio LIFO (last in first out).

Está correto o que se afirma APENAS em

a) I, II e III.
b) I, III, IV e V.
c) I, III e V.
d) II, III, IV e V.
e) n.d.a

Referência: http://www.questoesdeconcursos.com.br/prova/arquivo_prova/22367/instituto-cidades-2009-unifesp-analista-de-tecnologia-da-informacao-prova.pdf

Questão EPO - Árvore Binária

O percurso em pré-ordem segue os nós até chegar os mais “profundos”, em “ramos” de subárvores da esquerda para a direita. É conhecida usualmente pelo nome de percurso em profundidade (depth-first). O percurso em pré-ordem é:



a) A B D C E G F H I
b) A D B C E G F I H
c) D B C E G F I H A
d) D B G E H I F C A

Questão EPO - Árvore Binária

Podemos representar a expressão aritmética:


a) a + b /c − d ∗ e + f
b) ((a + b) /(c − d)) ∗ (e + f )
c) (a + b) /c − (d ∗ e) + f
d) a + (b / c) − d ∗ e + f)

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

A alocação dinâmica é o processo que aloca memória em tempo de execução. Ela é utilizada quando não se sabe ao certo quanto de memória será necessário para o armazenamento das informações, podendo ser determinadas em tempo de execução conforme a necessidade do programa. Dessa forma evita-se o desperdício de memória. Qual é a desvantagem da alocação dinâmica?

a) A desvantagem da alocação dinâmica está na pilha de memória estruturada, o que causaria o fechamento do programa e também, com a alocação dinâmica, o programa torna-se mais lento, pois ela requer muito do processamento.

b) A desvantagem da alocação dinâmica está no rompimento da pilha de memória, o que causaria o fechamento do programa e também, com a alocação dinâmica, o programa torna-se mais lento, pois ela requer muito do processamento.

c) A desvantagem da alocação dinâmica está no compartilhamento da pilha de memória, o que causaria um erro no programa e também, com a alocação dinâmica, o programa torna-se ineficiente.

d) A desvantagem da alocação dinâmica está no rompimento da pilha de memória, o que causaria o fechamento do programa e também, com a alocação dinâmica, o programa torna-se mais lento, apesar de não requerer muito do processamento.

Questão EPO - Fila

Outra estrutura de dados bastante usada em computação é a fila. Na estrutura fila, os acessos aos elementos também seguem uma regra.

a) Na fila “o ultimo que entra é o primeiro que sai”. A idéia fundamental da fila é que só podemos inserir um novo elemento no final da fila, e só podemos retirar o elemento do final.

b) Na fila “o primeiro que entra é o primeiro que sai”. A idéia fundamental da fila é que só podemos inserir um novo elemento no final da fila, e só podemos retirar o elemento do início.

c) Na fila “o primeiro que entra é o último que sai”. A idéia fundamental da fila é que só podemos inserir um novo elemento no final da fila, e só podemos retirar o elemento do início.

d) Na fila “o último que entra é o último que sai”. A idéia fundamental da fila é que só podemos inserir um novo elemento no final da fila, e só podemos retirar o elemento do início.

Referencia: slide da aula

Questão EPO - Estrutura de Dados

Também faz parte dos o Objetivos e Visão Geral das Estruturas Dados:

I. Identificar e desenvolver modelos matemáticos, determinando que classes de problemas podem ser resolvidos com o uso deles;

II. Criar representações concretas dos objetos e desenvolver rotinas capazes de atuar sobre estas representações, de acordo com o modelo considerado;

III. A distribuição da estrutura de dados correta que levam a programas elegantes e eficientes.

IV. O projetista deve ser capaz de escolher a mais adequada para resolver o problema proposto, tomando como medidas de eficiência da implementação, as suas necessidades de espaço e armazenamento e tempo de execução.

a) I, II, III e IV
b) I  e II
c) I, II e IV
d) n.d.a

Referencia: slides da aula

Questão EPO - Pilha

A idéia fundamental sobre pilha é que todo acesso a seus elementos é feito...

a) a partir do seu topo.
b) a partir do primeiro membro.
c) a partir do elemento anterior.
d) n.d.a.

Referencia: slide da aula

Questão EPO - Ponteiro

Ao lidar com arranjos, uma operação crítica é o cálculo do endereço para o elemento desejado no arranjo, o que é feito através da manipulação de ponteiros. De fato, em algumas linguagens (como C), os conceitos de "arranjo" e "ponteiro" são intercambiáveis. Em outras estruturas de dados, como listas encadeadas, ponteiros são usados como referências para intercalar cada elemento da estrutura com seus vizinhos (seja anterior ou próximo).    Ponteiros também são utilizados para simular a passagem de parâmetros por referência em linguagens que não oferecem essa construção (como o C). Isso é útil se desejamos?

a) que uma modificação em um valor não seja feito pela função chamada e seja visível pela função que a chamou, ou também para que uma função possa retornar múltiplos valores.

b) que uma modificação em um valor feito pela função chamada não seja visível pela função que a chamou, ou também para que uma função possa retornar múltiplos valores.

c) que uma modificação em um valor feito pela função chamada seja visível pela função que a chamou, ou também para que uma função possa retornar múltiplos valores.

d) que uma modificação de vários valor não seja feito pela função chamada e seja visível pela função que a chamou, ou também para que uma função possa retornar múltiplos valores.

Referencia: http://pt.wikipedia.org/wiki/Ponteiro_(programa%C3%A7%C3%A3o)

Questão EPO - Fila

Supondo três operações básicas para a fila f1:

inserir: insere um novo elemento na fila;
retirar: remove o elemento da fila.

Dados os comandos:

    f.inserir(5)
    f.inserir(4)
    f.inserir(3)
    f.retirar()
    f.inserir(2)
    f.inserir(1)
    f.retirar()

Qual o tamanho da fila e quais os elementos dentro dela:

a) 2 elementos -> 4 e 5
b) 3 elementos -> 4, 3 e 2
c) 3 elementos -> 5, 4 e 1
d) 3 elementos -> 5, 4 e 2
e) NDA

Fonte:
https://docs.google.com/viewer?a=v&q=cache:EVdYPZFJd5wJ:editthis.info/images/takai/2/28/EDI_Aula09.pdf+estrutura+de+dados+fila&hl=pt-BR&gl=br&pid=bl&srcid=ADGEESiStagGcLs0tt2tCOi2HJGSb9-m1kvc5FO0d4fHvSuDzm6syEAArdDZBt7_bdxiMzHhk6hEuwV6T8_oHfLoZ3FtczcLkFncGsSr5lQ04BpJOISZ6_ALC5ggjTnZ0C0aohboTutX&sig=AHIEtbRiOkr24h7Rt1gVs-0NL2I4jIYZpQ

Questão EPO - Pilha

Supondo três operações básicas para a pilha P:

    PUSH: insere um novo elemento no topo da lista;
    POP: remove o elemento do topo da lista.

Dados os comandos:

    PUSH(P,1)
    PUSH(P,2)
    PUSH(P,3)
    POP(P)

Qual o tamanho da pilha e quais os elementos dentro dela:

a) 0, nenhum
b) 1, 1
c) 2, 1, 2 
d) 2, 2, 3
e) NDA

Fonte: http://pt.wikiversity.org/wiki/Estruturas_de_Dados_Intermedi%C3%A1rio/Pilhas

Questão EPO - Ponteiro

Seja a sequência de instruções em um programa:

    int *pti;
    int i = 10;
    pti = &i;

Qual afirmativa é FALSA?

a) pti armazena o endereço de i
b) *pti é igual a 10
c) ao se executar *pti = 20; i passará a ter o valor 20
d) pti é igual a 10
e) NDA

Fonte: http://www.brasilacademico.com/apostilas/ED_03_Ponteiro_ex.pdf

Questão EPO - Struct

    #include <stdio.h>

    struct teste {
        int x, y;
    };

    void func ( struct teste *t );

    int main( void ) {
        struct teste p;
        p.x = 10;
        p.y = 5;
        func( &p );
        return( 0 );
    }

    void func( struct teste *t ) {
        t -> x = t -> x * 2;
        t -> y = t -> x - t -> y;
    }

a) x=20, y=15
b) x=20, y=5
c) x=10, y=5
d) x=10, y=15
e) NDA

Referência: http://pt.scribd.com/doc/52839446/75/Exercicios-em-Classe

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

É correto afirmar que:

a) Alocação dinamica é ineficiente quando um vetor é maior que 100.
b) Economiza memoria mas demanda mais recursos do computador deixando-o mais lento.
c) Economiza memória e não demanta nada a mais de recursos.
d) Não tem diferença de uma alocação fixa.
e) N.D.A

Questão EPO - Árvore Binária

Em uma arvore com nível G qual é a profundidade da arvore?

a) 3
b) 2
c) 5
d) 4
e) N.D.A

Questão EPO - Árvore Binária

Pré Ordem, Pós Ordem e Simetrica correspondem consecutivamente as seguintes ordens de busca:

a) Raiz, Esquerda e Direita - Esquerda, Direita e Raiz - Esquerda, Direita e Raiz
b) Raiz, Direita e Esquerda - Esquerda, Direita e Raiz - Raiz, Direita e Esquerda
c) Direita, Esquerda e Raiz - Raiz, Direita e Esquerda - Esquerda, Direita e Raiz
d) Esquera, Raiz e Direita - Raiz, Direita e Esquerda - Direita, Esquerda e Raiz
e) N.D.A

Questão EPO - Estrutura de Dados

A estrutura de dados tem como por objetivo implementar e melhorar algoritimos em sua execução, fazendo o software mais eficiente.

Com base na afirmação acima e no que foi estudado em sala é incorreto dizer:

a) Existem varias maneiras de se implementar estruturas de dados.
b) Pilha, Bubble Sort, Quick Sort, Arvore Binária são tipos de estruturas de dados.
c) Em um programa varios tipos de estrutura de dados podem ser implementados.
d) Busca não se encaixa no objetivo estrutura de dados
e) N.D.A

Questão EPO - Fila

Qual é a incorreta?

a) Nunca em uma fila podera ser retirado o ultimo elemento que entra.
b) A estratégia usada pela fila pode ser descrita pela sigla LIFO
c) Não é muito usado pois usa o mesmo paradgima que lista onde são escolhidos os membros a serem retirados. 
d) São usadas algumas operações basicas como Enqueue, Dequeue e Vazia
e) N.D.A

Questão EPO - Pilha

Em uma fila com 5 elementos sendo eles 25, 14, 8, 74, 60 inseridos respectivamentes na mesma ordem.

Qual das alternativas esta correta?

a) Após um pop com a fila vazia, será inserido o valor 25.
b) Após essa sequencia de comandos Push, Push, Pop, Push, Push, Pop, a fila tera os elementos 8 e 25 sendo 8 o topo.
c) A sigla FIFO é usada para descrever a estratégia de Pilha
d) Em uma pilha podemos escolher o valor a ser retirados usando POP.
e) N.D.A

Questão EPO - Ponteiro

    int a, b, *p;
 
    a = 50;
    *p = a;
    p = *p;
    b = p;
 
    printf("%d, %d\n", &a, b); 
    
Qual é o resultado do printf?

a) Endereço de b e endereço de p?
b) Endereço de a e endereço de b?
c) Endereço de a e valor de a?
d) Valor de p e endereço de p?
e) N.D.A

Questão EPO - Struct

Falando em Struct é certo afirmar que:

I. Struct é uma coleção de variaveis?
II. Ao ser chamada, uma struct usa um formato diferente de uma função?
III. Uma struct pode ser criado como uma função?
IV. Depois de criado, uma struct pode ser usada como um tipo de dados?

a) I e II estão corretas?
b) III e II estão corretas?
c) I e IV estão corretas?
d) I e III estão corretas?
e) N.D.A

Questão EPO - Árvore Binária

Observe as seguintes questões e indique qual a correta:

a) Os últimos conjuntos das árvores são denominados raízes
b) Uma sub-árvores nunca pode estar vazia.
c) As raízes são subordinadas aos nós pai.
d) Os nós também recebem a denominação de folhas
e) NDA

Fonte:  ftp://ftp.dca.fee.unicamp.br/pub/docs/marco/disciplinas/ea877_98_1/estdados.pdf.gz

Questão EPO - Árvore Binária

Analisando as questões sobre árvores binárias, podemos concluir que:

a) Quando estamos subindo uma árvore, estamos indo da raiz e percorrendo o resto das folhas
b) Uma árvore é binária quando temos folhas esquerdas e direitas.
c) Cada nó é obrigatório a ter dois filhos
d) É particionada em três subconjuntos
e) NDA

Fonte:  ftp://ftp.dca.fee.unicamp.br/pub/docs/marco/disciplinas/ea877_98_1/estdados.pdf.gz

Questão EPO - Estrutura de Dados

Como são organizados as informações em uma estrutura de dados?

a) Em pilhas
b) Em filas
c) Em pilhas e filas
d) Conjunto de nós
e) NDA

Fonte: ftp://ftp.dca.fee.unicamp.br/pub/docs/marco/disciplinas/ea877_98_1/estdados.pdf.gz

Questão EPO - Fila

Começando uma fila com os seguintes intes: 70, 85, 72, 67, 12, 17, 21, 24, 38, 14. Selecione como ficará no final se eu percorrer o seguinte caminho: 

I. DEQUEUE 70 85 72
II. ENQUEUE 17
III. DEQUEUE 67 12

O final ficará:

a) 17 21 24 38 14
b) 21 24 38 14 17
c) 17 21 24 38 14 17
d) 21 24 38 14
e) NDA
   
Fonte:  Estruturas de Dados usando C. Tenenbaum, Aaron M.; Langsam, Yedidyah; Augenstein, Moshe J. Editora: Pearson Makron Books.

Questão EPO - Pilha

Observe as questões de push e pop usando os seguintes:

123456  


I. Pop 1 2 3 4 5 6 7
II. Pop 2 3 4 5 6
III. Push 1 2 3 4 5 6 7
IV. Push 2 3 4 5 6

Indique a opção correta:

a) Somente a I é verdadeira
b) I e IV são falsas
c) II e III são falsas
d) Somente a III é verdadeira
e) NDA
   
Fonte:  Estruturas de Dados usando C. Tenenbaum, Aaron M.; Langsam, Yedidyah; Augenstein, Moshe J. Editora: Pearson Makron Books.

Questão EPO - Struct

Observe o seguinte código e marque a opção correta.:

    struct tipo_endereco {       
        char rua [50];
        int numero;
        char bairro [20];
        char cidade [30];
        char sigla_estado [3];
        long int CEP;
    } end;

a) tipo_endereco e end são itens obrigatórios para se declarar um estrutura.
b) É incorreto colocar "end" após "}"
c) A variável end é do tipo struct, chamada tipo_endereco
d) A variável tipo_endereco é do tipo struct, chamada end
e)NDA

Fonte:
http://books.google.com.br/books?hl=pt-BR&lr=&id=7LNfl28rm3IC&oi=fnd&pg=PA31&dq=struct+linguagem+c&ots=3-cfUsi0C8&sig=44hZCKcs6L8xuqM4PpK8oKCe1-A#v=onepage&q=struct&f=false
http://www.eletrica.ufpr.br/graduacao/noturno/docs/te207/apostila_C.pdf

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

Analise as questões sobre Alocação Dinâmica:

I. Criar variáveis em tempo de execução.
II. Desperdiça memória, já que está alocando memória para algo que poderá não ser usado
III. Usar a função malloc() para criar novas variáveis
IV. Alocar memória
       
Indique a opção correta:
   
a) Somente I, II estão corretas.
b) Somente a III está incorreta.
c) Somente I, IV estão corretas.
d) Todas estão corretas.
e) NDA

Fonte:
http://www.eletrica.ufpr.br/graduacao/noturno/docs/te207/apostila_C.pdf
http://www.juliobattisti.com.br/tutoriais/katiaduarte/cbasico009.asp

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

Quais informações estão CORRETAS sobre alocação dinâmica?

I. Evitar o desperdício de memória quando alocamos dados.
II. É um processo que aloca memória em tempo de execução.
III. A alocação dinâmica não é muito utilizada.
IV. É um processo que aloca memória ao executar o programa.
V. É um processo que consome muita memória ao inserir dados.

a) I, II, III
b) I, IV, V
c) III, V
d) I, II
e) N.D.A.

Questão EPO - Árvore Binária

Quais afirmativas estão CORRETAS:

I. Uma arvore binária não possui raiz.
II. Uma árvore binária é formada por Raiz e Sub-Arvores.
III. Cada elemento de uma árvore binária é chamado Nó.
IV. As Sub-Arvores nunca estão vazias.

a) I, II, IV
b) II e IV
c) I e III
d) II e III
e) N.D.A

Questão EPO - Árvore Binária

Quais afirmativas estão CORRETAS:

I. Dois nós são irmãos se são filhos esquerdo e direito do mesmo pai.
II. Arvore Binaria Completa é aquela em que todas as folhas estão em níveis diferentes.
III. Os percursos mais conhecidos são chamados de Pre-Ordem, Ordem Simétrica e Pós-Ordem.
IV. Um nó sem filhos é chamado de Folha.

a) I, II, III 
b) I, III, IV
c) II e IV
d) III e IV
e) N.D.A

Questão EPO - Fila

Quais afirmações a seguir são CORRETAS sobre Fila:

I. É mais conhecido como FIFO (First In First Out)
II. Sempre insere ou remove um dado no topo da fila.
III. Insere dados no começo da fila e remove dados no início da fila.
IV. Insere dados no fim da fila e remove dados no início da fila.
V. Insere dados dinâmicamente na fila.

a) I e III
b) IV e V
c) II, IV, V
d) I, IV
e) N.D.A

Questão EPO - Pilha

Quais afirmações a seguir são FALSAS sobre Pilha:

I. Sempre insere ou remove um dado no topo da pilha.
II. As vezes insere ou remove um dado no topo da pilha.
III. Sempre insere ou remove um dado em qualquer parte da pilha.
IV. É mais conhecido como LIFO(Last In First Out)
V. Insere dados dinâmicamente na pilha.

a) I, II, IV
b) I, III, V
c) II, IV, V
d) IV, V
e) N.D.A

Questão EPO - Ponteiro

Assumindo que o endereço de NUM foi atribuido a um ponteiro PNUM, qual das seguintes expressoes é a verdadeira:

a) NUM = &PNUM
b) NUM = *PNUM
c) PNUM = NUM(*PNUM)
d) PNUM = &NUM
e) N.D.A.

Questão EPO - Struct

Considere a seguinte struct:

struct pessoa
{
    char nome[30];
    int idade;
    char cidade[20];
    char estado[20];
}
 
typedef struct pessoa Pessoa;
 
Pessoa *pessoa_cria (void)
{
    Pessoa *x = (Pessoa*) malloc(sizeof(Pessoa));
    return x;
}     
 
Pessoa *p = pessoa_cria();

Assinale a alternativa correta para a atribuição dos valores:

a) p = nome("Carlos");
b) *p = &Pessoa;
c) p->nome = "Carlos";
d) p->idade = &pessoa->idade->20;
e) N.D.A.

Questão EPO - Estrutura de Dados

Quais afirmativas estão CORRETAS sobre a Eestrutura de Dados:

I. Estrutura de dados é um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados eficientemente.
II. Apresentar técnicas de análise a programação orientada a objeto.
III. As estruturas de dados são chamadas tipos de dados compostos que dividem-se em homogêneos (vetores e matrizes) e heterogêneos (registros).
IV. O estudo das estruturas de dados está parado, pois as técnicas não está se desenvolvendo.
V. Apresentar as principais estruturas de dados e suas implementações.

a) I, II, IV
b) II, III, V
c) I, III, V
d) III, IV, V
e) N.D.A.

Questão EPO - Árvore Binária

Considere a seguinte árvore:


Assinale a alternativa falsa quanto à árvore/expressão acima:

a) A árvore não é balanceada
b) O resultado da expressão é um número divisível por 4
c) A expressão que esta na árvore é representada por 3+6 * 4-1 + 5
d) A sub árvore esquerda tem mais nós filhos que a sub árvore direita
e) N.D.A.

Fonte: Questão baseada no livro “Introdução a Estrutura de dados com técnicas de programação em C” de Waldemar Coles, Renato Ceiqueira e José Lucas Rangel.

Questão EPO - Árvore Binária

Uma árvore binária se caracteriza por:

a) Possuir uma raiz com três elementos
b) Possuir em cada nó até outros dois nós
c) Possuir um nó que pode ter mais de dois nós
d) Possuir raiz com dois nós
e) N.D.A.

Site acessado:
http://www.allgoritmos.com/2009/07/arvore-binaria.html

Questão EPO - Árvore Binária

Assinale a alternativa correta:

I. O termo RAIZ diz que o elemento é o primeiro elemento de uma árvore;
II. Cada nó pai aponta para o nó filho;
III. Cada nó pai pode ser chamado de sub-árvore;
IV. O nó filho é o mais importante dos nós em uma árvore;

a)Somente a afirmação I está correta
b)Somente a afirmação II está correta
c)Somente a afirmação III está correta
d)Somente a afirmação IV está incorreta
e)N.D.A.

Site acessado:
http://www.allgoritmos.com/2009/07/arvore-binaria.html

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

Na linguagem C usa-se apenas 4 funções para o sistema de alocação dinâmica, são elas:

- malloc
- calloc
- realloc
- free

Sobre essas funções, qual dos protótipos, pode ser considerado correto.

a) void *malloc (unsigned int num); 
b) void *calloc (unsigned int num);
c) void  realloc (void *ptr, unsigned int num);
d) void *free (void *p);
e) N.D.A

Referencia: http://www.facom.ufu.br/~backes/Aula06%20-%20AlocacaoDinamica.pdf

Questão EPO - Fila

Sobre filas é correto afirmar:

I. Estrutura de dados em que a inserção e a remoção de elementos de uma sequência se faz por extremidades opostas

II. Estrutura de dados em que a inserção e a remoção de elementos de uma sequência se faz pela mesma extremidade

III. Uma fila pode ser considerada como uma restrição de lista.

IV. Visto que se trata de uma estrutura de dados mais simples que a lista, é possível obter implementações mais eficazes.

a) I, III, IV
b) II, III, IV
c) I, II, III
d) I, II, III, IV
e) N.D.A

Referencia: http://paginas.fe.up.pt/~jcf/aed/2001/pf/pf2.pdf

Questão EPO - Pilha

Sobre pilha é correto afirmar:

I. Estrutura de dados em que a inserção e a remoção de elementos de uma sequência se faz por extremidades opostas

II. Estrutura de dados em que a inserção e a remoção de elementos de uma sequência se faz pela mesma extremidade

III. Uma pilha pode ser considerada como uma restrição de lista.

IV. Visto que se trata de uma estrutura de dados mais simples que a lista, é possível obter implementações mais eficazes.

a) I, III, IV
b) II, III, IV
c) I, II, III
d) I, II, III, IV
e) N.D.A

Referencia: http://paginas.fe.up.pt/~jcf/aed/2001/pf/pf2.pdf

Questão EPO - Struct

O que colocar no lugar do “???”, para exibir o conteúdo da struct.

struct cadastro {
    char nome[20];
    char end[50];
    char telefone[11];  };
int main(int argc, char *argv[]){
    int i;
    struct cadastro c[2];
    for (i=0; i<2; i++)  {
        printf("\n Digite seu Nome : ");
        scanf("%s", &c[i].nome);
        printf("\n Digite seu Endereco : ");
        scanf("%s", &c[i].end);
        printf("\n Digite seu Telefone : ");
        scanf("%s", &c[i].telefone);
    }
    for (i=0; i<2; i++)  {
        printf("\n Nome : %s ",  ??? );
        printf("\n Endereço : %s ",???);
        printf("\n Telefone :  %s ",???);
        printf("\n\n");
    }
    system("PAUSE");
    return 0;
}

a) nome[i]; end[i]; telefone[i]
b) c.nome[]; c.end[]; c.telefone[]
c) c[i].nome; c[i].end; c[i].telefone
d) c.nome[i]; c.end[i]; c.telefone[i]
e) N.D.A

Referencia: http://www.hardware.com.br/comunidade/linguagem-exercicio/178182/

Questão EPO - Ponteiro

O que será impresso nos 3 printf do programa abaixo:

#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){   
    int vetor[] = { 10, 20, 30, 40, 50 };
    int *p1;
    p1 = &vetor[2];
    printf("%d\n", *p1);
    p1++;
    printf("%d\n", *p1);
    p1 = p1 + 1;
    printf("%d\n", *p1);
    system("PAUSE");
    return 0;
}

a) 10, 20,30;
b) 20, 30,40;
c) 30, 40,50;
d) 20, 40,50;
e) N.D.A

Referencia: http://equipe.nce.ufrj.br/adriano/c/apostila/ponte.htm

Questão EPO - Árvore Binária

Um exemplo de utilização de árvores binárias está na avaliação de expressões. Na imagem a seguir os nós folhas representam operandos e os nós internos operadores. Portanto a figura a seguir representa que expressão matemática?



a) ((6*4)-1)+(3*5);
b) (3+6)*(4-1)+5;
c) 5*(3+6)*(4-1);
d) 5+(*(3+6)*(4-1));
e) N.D.A

Fonte: Questão extraída e adaptada das Notas de aula dos Profs. Waldemar Celes e José Lucas Rangel PUC-RIO - Curso de Engenharia – 2002. Disponível na Internet.

Questão EPO - Árvore Binária

Numa árvore binária, cada nó tem zero, um ou dois filhos. De maneira recursiva, podemos definir uma árvore binária como sendo uma árvore vazia ou um nó raiz tendo duas sub-árvores, identificadas como a sub-árvore da direita (sad) e a sub-árvore da esquerda (sae). Existem vários modos de percorrer uma árvore da raiz até a ponta. O percurso que trata raiz, percorre sae e depois percorre sad é conhecido como:

a) Pré-ordem;
b) Ordem simétrica;
c) Pós-ordem;
d) Circuito;
e) N.D.A.

Fonte: Questão extraída e adaptada das Notas de aula dos Profs. Waldemar Celes e José Lucas Rangel PUC-RIO - Curso de Engenharia – 2002. Disponível na Internet.

Questão EPO - Ponteiro

O que é do tipo int na instrução int *p?

a) A variável p;
b) O endereço de p;
c) A variável apontada por p;
d) O endereço da variável apontada por p;
e) N.D.A.

Fonte: Questão extraída e adaptada do livro "Treinamento em linguagem C++ - Módulo2"  Disponível na Biblioteca do IFSP – Bragança Paulista.

Questão EPO - Árvore Binária

O método conhecido como percurso em pré-ordem implica em executar recursivamente os três passos na seguinte ordem: 

1. Visitar a raiz;
2. Percorrer a sub-árvore da esquerda em pré-ordem;
3. Percorre a sub-árvore da direita em pré-ordem.

Para a árvore da figura acima, no caso da visita significar imprimir, qual seria o resultado da impressão, em ordem:


a) F B C D A E H G I;
b) F B A D C E H G I;
c) B F A D C E H G I;
d) F D C E G I H G I;
e) N.D.A.

Fonte: http://equipe.nce.ufrj.br/adriano/c/apostila/arvore.htm#aplicaarv

Questão EPO - Árvore Binária

A seguinte árvore binária apresenta uma sequência de operações matemáticas a serem realizadas desde a raiz até as folhas


Dentre as alternativas abaixo, qual a alternativa que representa as saídas da árvore:

a) (+A((*B – C)%(D*E*F)))
b) (A+ ((C – B) * (E * F) % D))))
c) (A+((B – C) * D%(E * F))))
d) A + (E * F) % D * (B – C ))))
e) N.D.A.

Fonte: http://equipe.nce.ufrj.br/adriano/c/apostila/arvore.htm#introducao

Questão EPO - Árvore Binária

Dada a árvore abaixo, é correto afirmar que:


a) Esta árvore binária contém 7 nós e B é a raiz da sub-árvore esquerda de A.
b) Esta árvore não é binária  porque a sub-árvore esquerda de C é vazia.
c) A única FOLHA presente nessa árvore é G.
d) D,E e F são chamados nós irmãos.
e) NDA

Fonte: Slides vistos em aula.

Questão EPO - Árvore Binária

Na árvore abaixo, o percurso  A B D E C F G representa:


a) Percurso em Pré-Ordem.
b) Percurso em Ordem Simétrica.
c) Percurso em Inordem.
d) Percurso em Pós-Ordem.
e) NDA

Fonte: Slides vistos em aula

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

No padrão C ANSI existem 4 funções para alocações dinâmica pertencentes a biblioteca stdlib.h.

a) malloc(), call(), recall() e free().
b) malloc(), calloc(), realloc() e free().
c) alloc(), calloc(), realloc() e free().
d) malloc(), recalloc(), realloc() e free().
e) N.D.A

Referencia : http://www.juliobattisti.com.br/tutoriais/katiaduarte/cbasico009.asp

Questão EPO - Pilha

O primeiro objeto a ser inserido na pilha é o último a ser removido. Essa política é conhecida por uma sigla, qual é ela?

a) UEPS (Ultimo a Entrar Primeiro a Sair);
b) LOFI (Last Out First In);
c) FIFO (First In First Out);
d) LIFO (Last In First Out);
e) N.D.A;

Referência: http://www.ime.usp.br/~pf/algoritmos/aulas/pilha.html

Questão EPO - Fila

Uma fila é uma estrutura de dados que admite inserção de novos elementos e remoção de elementos antigos.  Mais especificamente, uma  fila  é uma estrutura sujeita à seguinte regra de operação:

a) Sempre que houver uma remoção, o elemento removido é o que está na estrutura há mais tempo;
b) O ultimo elemento a inserido é o ultimo a sair;
c) Sempre que houver uma remoção, o elemento a ser removido é o que esta na estrutura há menos tempo;
d) B e C estão corretas;
e) N.D.A;

Referencia: http://www.ime.usp.br/~pf/algoritmos/aulas/fila.html

Questão EPO - Ponteiro

Seja a seguinte sequencia de instruções em um programa C:

    int *pti;
    int i = 10;
    pti = &i;

Qual afirmativa é falsa?

a) pti armazena o endereço de i
b) *pti é igual a 10
c) ao se executar *pti = 20; i passará a ter o valor 20
d) ao se alterar o valor de i, *pti será modificado
e) NDA.

Fonte: http://www.brasilacademico.com/apostilas/ED_03_Ponteiro_ex.pdf  Exercicio 12.

Questão EPO - Estrutura de Dados

Estrutura de dados é o ramo da computação que estuda:

a) O modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados eficientemente.
b) As estruturas homogêneas, ou seja, conjuntos de dados formados pelo mesmo tipo de dado primitivo.
c) Os diversos mecanismos de organização de dados para atender aos diferentes requisitos de processamento. 
d) a) e b) estão corretas.
e) N.D.A

Baseada nos sites:
http://pt.wikipedia.org/wiki/Estrutura_de_dados
http://www.dca.fee.unicamp.br/cursos/EA876/apostila/HTML/node10.html

Questão EPO - Struct

Observe os dados abaixo:

    struct data {
        int dia;
        int mes;
        int ano;
    };
 
    int main (void){
        data hoje;
        ...
    }

Por que devemos usar o ponto (.) depois da variavel hoje?

a) Para atribuir um tipo a uma variavel da main.
b) Para definir qual variavel do tipo data especificado na Struct será usado.
c) Para criar uma variavel do tipo data.
d) Para definir a data atual.
e) NDA

Referencia: http://www.tiexpert.net/programacao/c/struct.php (Exercicio baseado no conteudo explicado).

Questão EPO - Ponteiro

int main() {
    int *p = malloc(sizeof(int));
    int v;
    *p = 10;
    *p += 5;
    (*p)++;
    v=*p++;
    printf("%d\n", *p);
}

O código acima imprime qual valor?
a) 10
b) 15
c) 16
d) 17
e) n.d.a.

Fonte:
Página 51
http://www.cenapad.unicamp.br/servicos/treinamentos/apostilas/apostila_C.pdf

Questão EPO - Struct

Simule o programa a seguir e responda:

#include<iostream>
using namespace std;
int main(){
    struct ponto{
        int x;
        int y;       
    };    

    ponto p1, p2; 
    p1.x=4;
    p1.y=2;   
    p2=p1;
    p2.x=7;
    p1.y=8;
    cout<<"Impressao de p2: x="<<p2.x<<" y="<<p2.y;   
    cin.get();
    return 0;
}
    
a) A impressão de p2 exibirá: x=4 y=2;
b) Há um erro no código, pois não é possivel atribuir uma struct para outra do mesmo tipo;
c) A impressão de p2 exibirá: x=4 y=8;
d) A impressão de p2 exibirá: x=7 y=2;
e) NDA

Questão EPO - Pilha

Sobre a estrutura de dados em pilhas, analise as assertivas e, em seguida, analise a alternativa que apresenta as corretas.

I. Em uma pilha implementada por meio de arranjos (vetores), é necessário um cursor para controlar a posição do item no topo da pilha.

II. As pilhas possuem a seguinte propriedade: o último item inserido é o primeiro item que pode ser retirado da lista.

III. Os itens da pilha são colocados um sobre o outro, com o item inserido mais recentemente no fundo e o item inserido menos recentemente no topo.

IV. As pilhas são chamadas de listas lifo (last in, first out).

a) Apenas I, II e III.
b) Apenas I, II e IV.
c) Apenas II, III e IV.
d) Apenas I e II.
e) n.d.a.

Fonte:
Questão 11 - Caderno de Questões - Técnico em Tecnologia da Informação - Prova Branca
http://www.aocp.com.br/concurso.jsp?id=218

Questão EPO - Fila

Sobre a estrutura de dados em filas, analise as assertivas e, em seguida, assinale a alternativa que apresenta a(s) correta(s).

I. Uma fila é uma lista linear em que todas as inserções são realizadas em um extremo da  lista, e todas as retiradas no outro extremo. Normalmente, os acessos são realizados no mesmo extremo da lista em que são feitas as retiradas.

II. Em uma implementação por meio de arranjo (vetores), os itens são armazenados em posições contíguas de memória. Por causa das características da fila, o enfileiramento (inserção na fila) faz a parte de trás da fila expandir-se e o desenfileiramento (remoção) faz a parte da frente da fila contrair-se. Consequentemente, a fila tende a caminhar pela memória do computador, ocupando espaço na parte de trás e descartando espaço na frente da fila. Com poucas inserções e retiradas de itens, a fila vai ao encontro do limite do espaço da memória alocado para ela.

III. Em uma fila implementada por meio de apontadores, a implementação se dá por meio de células. Cada célula contém um item da fila e um apontador para a outra célula. Também é necessário utilizar apontadores para a frente da fila e para a parte de trás da fila.

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

Fonte:
Questão 12 - Caderno de Questões - Técnico em Tecnologia da Informação - Prova Branca
http://www.aocp.com.br/concurso.jsp?id=218

Questão EPO - Estrutura de Dados

Dentre os tipos listados, assinale qual não é uma estrutura de dados:

a) Árvore
b) Lista
c) Pilha
d) Vetor
e) n.d.a.

Questão EPO - Árvore Binária

Uma árvore binária é dita cheia se todos os seus nós internos (excluindo-se as folhas) têm duas sub-árvores associadas.
Qual das opções a seguir contém uma expressão que permite calcular o número de nós de uma árvore binária cheia em função da sua altura (h)?
   
a) (2^(2h))-2
b) log2^h
c) 2^h
d) (2^h)-1
e) n.d.a.

Fonte:
Adaptada da questão 48
http://www.tecnolegis.com/provas/id/634-prodam-amazonas-analista-de-tecnologia-da-informacao-desenvolvimento-de-sistemas-funcab-2010-prova-objetiva?pagina=5

Questão EPO - Árvore Binária

Construa uma árvore usando a sequência a seguir e responda:
47, 32, 23, 35, 67, 85, 10, 16, 8, 2, 27, 55 e 9

I - A sequência retornada no percurso em Ordem Simétrica é: 2, 8, 9, 10, 16, 23, 27, 32, 35, 47, 55, 67 e 85
II - A sequência retornada no percurso em Pós-Ordem é: 2, 9, 8, 16, 10, 27, 23, 35, 32, 67, 55, 85 e 47
III - A sequência retornada no percurso em Pré-Ordem é: 47, 32, 23, 10, 8, 2, 9, 16, 27, 35, 85, 55, 67 e 47
IV - É uma árvore estritamente binária
V - É uma árvore binária completa

a) I, II e V
b) I e IV
c) II e III
d) I, II, III e IV
e) n.d.a

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

Sobre alocação dinâmica, com as seguintes afirmações, assinale a alternativa correta:

I. São de tamanhos variáveis
II. São alocadas pelo programa a qualquer momento
III. São liberadas apenas no fim da execução do programa
IV. São de tamanhos fixos
V. São alocados somente no início da execução do programa

a) I e II
b) I, II e III
c) III, IV e V
d) IV e V
e) n.d.a.

Questão EPO - Árvore Binária

Considere uma árvore binária de busca cujos nós armazenam números inteiros variando de 1 a 100, na qual se quer buscar o número 54. Qual das seguintes sequências representa uma sequência de busca válida dentro desta árvore?

a) 5, 18, 34, 60, 40, 52, 54
b) 25, 27, 28, 26, 60, 50, 58, 54
c) 37, 70, 32, <não encontrou>
d) 40, 70, 43, 44, 73, 57, 54
e) 53, 45, 55, <não encontrou>

Fonte:
Questão 52 - CESGRANRIO - Petrobras/2010 - Analista de Sistemas Júnior
http://www.tiprovas.com.br/busca/questao?page=2&search=%C3%A1rvore+bin%C3%A1ria

Questão EPO - Árvore Binária

Se o nó raiz de uma árvore binária completa tiver nível 0 e essa árvore tiver profundidade 3, então quantos nós folha ela terá?

a) 1
b) 3
c) 5
d) 8
e) NDA

Fonte:
Questão 45 - CESPE/UNB - ANAC/2009 - Analista Administrativo Tecnologia da Informação
http://www.tiprovas.com.br/busca/questao?search=%C3%A1rvore%20bin%C3%A1ria

Questão EPO - Estrutura de Dados

Considere as seguintes afirmações:

I. O vetor é uma estrutura de dados linear que necessita de somente um índice para que seus elementos sejam endereçados. E é utilizado para armazenar uma lista de valores de tipos iguais.

II. Uma estrutura de dados, que utiliza diferentes tipos de dados em sua definição é conhecida como dados heterogêneos. Matriz é uma estrutura de dados homogêneos e registros são estruturas de dados heterogêneos.

III. Na computação teórica a fila é uma estrutura com a capacidade de armazenamento infinita. Ao passo que a pilha na computação teórica tem a capacidade finita pelo fato de ter só uma extremidade para inserção e remoção de elementos.

IV. Para alocação de memória podemos a função malloc ou calloc. No nosso código, após a inclusão da devida biblioteca informamos a função malloc ou calloc quantidade de bytes para alocação. A diferença entre as duas funções é que a função calloc retorna zero após a alocação.

Assinale a alternativa correta:
a) I e II são verdadeiras.
b) I e III são verdadeiras.
c) II e III são verdadeiras.
d) III e IV são verdadeiras.
e) NDA.

Fonte: http://xa.yimg.com/kq/groups/22932771/1323981212/name/exame.pdf

Questão EPO - Struct

Qual a principal vantagem de utilizar uma struct em vez de uma matriz para uma estrutura de dados heterogêneos?

a) Porque a struct nunca utiliza um laço “for” para ler várias posições de um vetor.
b) Porque matrizes só podem ter uma variável com um único valor.
c) Porque a struct pode conter uma coleção de variáveis referenciadas sobre um mesmo nome.
d) Porque a matriz só pode ser heterogênea se referenciada por um ponteiro.
e) NDA

Fonte: http://www.inf.pucrs.br/~cnunes/lapro/aulas/structs.pdf

Questão EPO - Ponteiro

Utilizando a aritmética de ponteiros:

main ()
    {
        int *ponteiro, vetor_inteiros[4] = {0, 10, 20, 30};
        ponteiro = &vetor_inteiros[0];
        ponteiro+= 2;
        printf(“Valor apontado: %d \n”, *ponteiro);
        ...
    }

É correto afirmar:

a) O conteúdo do ponteiro é 20.
b) O ponteiro possui 4 posições.
c) O conteúdo apontado pelo ponteiro é o endereço do vetor pulando 2 endereços desde a primeira posição do vetor.
d) O compilador C reconhece o tipo do ponteiro e salta uma quantidade em bytes equivalente ao tipo int, seguindo a soma realizada no programa.
e) nda

Fonte: http://hermes.ucs.br/carvi/cent/dpei/snsoares/ELE0219/Textos/a05ex05.pdf

Questão EPO - Pilha

S.push(1);
S.push(2);
S.push(3);
S.pop();
S.pop();
S.push(4);
S.push(5);
S.pop();

Sendo S uma pilha inicialmente vazia, conforme exposto acima, após as operações, o valor
que se encontra no topo da pilha é

a) 1
b) 2
c) 3
d) 4
e) NDA

Fonte:
Questão 57 - CESGRANRIO - Petrobras/2010 - Analista de Sistemas Júnior Processos de Negócios
http://empresarialinter.net/concurso/assunto/algoritmos-e-estruturas-de-
dados?page=27

Questão EPO - Fila

Uma fila é um tipo de lista linear em que:

a) as inserções são realizadas em um extremo e as remoções no outro extremo.
b) as inserções e remoções são realizadas em um mesmo extremo.
c) podem ser realizadas apenas inserções.
d) a inserção de um elemento requer a remoção de outro elemento.
e) NDA.

Fonte:
Questão 40 - ESAF - CVM/2010 - Analista de Sistemas
http://tiprovas.com.br/busca/questao?page=4&search=fila

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

Sobre alocação dinâmica é correto afirmar:

a) É necessário dimensiona-lo para a correta inicialização na declaração de variáveis, assim como um vetor.
b) Não é possível liberar o espaço utilizado em tempo de execução, somente com o término do programa.
c) O compilador não permite a alocação dinâmica maior do que a quantidade de RAM, prevenindo a falta de memória para a alocação.
d) É possível realizar um “cast” na função “malloc” para uma conversão explícita, ao invés do “void*”.
e) NDA.

Fonte: http://www.ic.unicamp.br/~ra069320/PED/MC102/1s2008/Apostilas/Cap05.pdf

Questão EPO - Estrutura de Dados

Para que serve a estrutura de dados:

a) Para a atualização de valores que são utilizados em várias partes do programa e que, por algum motivo, precisam ser atualizados ao longo da vida útil do mesmo.

b) Para pegar um espaço na memória maior do que era esperado, ou simplesmente pegar um espaço quando não é possível prever.

c) Para armazenamento e organização de dados em um computador de modo que possam ser usados eficientemente.

d) Serve para agrupar numero de campos.

e) NDA.

Referência bibliográfica:
http://fabriciosanchez.com.br/site/?p=125
http://www.htmlstaff.org/ver.php?id=18443
http://pt.wikipedia.org/wiki/Estrutura_de_dados
http://en.wiktionary.org/wiki/struct

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

Observe o código abaixo:

    CHAR *STR;
    STR=MALLOC (150);

O que está fazendo esse código:
a) Está atribuindo o valor 150 a variável STR.
b) Está atribuindo o valor 150 ao ponteiro.
c) Está definindo 150 o tamanho Maximo do ponteiro STR.
d) Atribuindo STR a variável MALLOC.
e) NDA.

Referência bibliográfica:
http://www.juliobattisti.com.br/tutoriais/katiaduarte/cbasico009.asp

Questão EPO - Árvore Binária

Observe a imagem:


De acordo com a imagem, escolha a alternativa correta sobre percurso de ordem simétrica:

a) Percurso: 3,1,6,4,7,8,10,14,13.
b) Percurso: 1,3,6,5,7,8,10,14,13.
c) Percurso: 1,3,4,6,7,8,13,14,10.
d) Percurso: 8,1,3,6,4,7,10,14,13.
e) NDA.

Referência bibliográfica:
http://pt.wikipedia.org/wiki/%C3%81rvore_bin%C3%A1ria_de_busca
Material de apoio Wilson Vendramel EPO (Arvorell.ppt).

Questão EPO - Árvore Binária

Observe a imagem:


Marque a alternativa correta referente à imagem:

a) Essa árvore consiste em 8 nós, 8 entrenós, é estritamente binária, de nível 4 e de profundidade 3.
b) Essa árvore consiste em 9 nós, 7 entrenós, não é estritamente binária, de nível 3 e de profundidade 3.
c) Essa árvore consiste em 9 nós, 8 entrenós, não é estritamente binária, de nível 3 e de profundidade 3.
d) Essa árvore consiste em 8 nós, 9 entrenós, é estritamente binária, de nível 3 e de profundidade 4.
e) NDA.

Referência Bibliográfica:
http://pt.wikipedia.org/wiki/%C3%81rvore_bin%C3%A1ria.
Material de apoio Wilson Vendramel EPO, slide 1(Arvore1).

Questão EPO - Fila

Observe a imagem:


Obs.: Considere os números contidos 1,2,3 e 4;

Segundo a imagem, quais transformações ocorridas desde o inicio do processo:

a) Inseriu somente quatro ENQUEUE (1, 2, 3,4).
b) Apagou quatro DEQUEUE.
c) Inseriu quatro ENQUEUE e apagou um DEQUEUE.
d) Inseriu três ENQUEUE e apagou dois DEQUEUE.
e) NDA.

Referencia bibliográfica:
Notas de aula dos professores CELES e Rangel da PUC-RIO.
http://200.133.203.52/course/view.php?id=297

Questão EPO - Pilha

Observe a imagem:


Obs.: Considere as letras contidas a, b, c, d.

Segundo a imagem, quais transformações ocorridas desde o inicio do processo:

a) Inseriu três PUSH (a, b, d) na seqüência.
b) Apagou três POP.
c) Inseriu três PUSH, apagou um POP, e inseriu um PUSH.
d) Inseriu dois PUSH, apagou um POP, e inseriu dois PUSH.
e) NDA.

Referência bibliográfica:
Notas de aula dos professores CELES e Rangel da PUC-RIO.
http://200.133.203.52/course/view.php?id=297

Questão EPO - Fila

As seguintes tabelas representam a memória de um computador que está executando um programa para alocar caracteres em uma fila q, em três estágios diferentes, porém consecutivos:

Momento1
q.ítems
4.    E
3.    D
2.    C
1.
0.
       
Momento 2 (Consecutivo a Momento 1)                   
q.ítems               
4.    E
3.    D
2.    C
1.
0.    F

Momento 3 (Consecutivo ao Momento 2)
q.ítems               
4.     E
3.     D
2.     C
1.     G
0.     F
                   
Qual alternativa determina corretamente a posição de início, do final da fila, os conteúdos dessas posições, respectivamente:

a) Momento 1 q.inicio -  1 (vazio), q.final – 1 (vazio)
    Momento 2 q.inicio – 1 (vazio), q.final – 0 (F)
    Momento 3 q.inicio (E), q.final – 1 (F)

b) Momento 1 q.inicio = q.final (F)
    Momento 2 q.inicio – 1 (vazio), q.final – 0 (F)
    Momento 3 q.inicio (4),  q.final – 1 (G)

c) Momento 1 q.inicio -  4 (E), q.final – 1 (vazio)
    Momento 2 q.inicio – 1 (vazio), q.final – 0 (F)
    Momento 3 q.inicio = q.final – 1 (G)

d) Momento 1 q.inicio -  2 (C) , q.final – 2 (C)
    Momento 2 q.inicio – 2 (F), q.final – 0 (F)
    Momento 3 q.inicio – 4 (E), q.final – 1 (G)

e) N.D.A.

Questão EPO - Pilha

Dos seguintes agrupamentos de propriedades, qual a alternativa que contém todas as definições corretas para Pilha na Estrutura de Dados:

a)    I. A pilha segue uma ordem linear, inserindo/retirando dados “do mais recente ao menos recente”;
II. Imagem freqüentemente associada a uma teoria onde o topo da pilha é associado ao receptáculo de uma cabeça de gravação/leitura, que pode empilhar ou desempilhar itens da pilha
III. Utiliza o método FIFO (Fisrt In, Fisrt Out)

b)    I. Quanto mais recentemente o dado for inserido na pilha, mais próximo ele está de seu topo
II. Na Estrutura de dados de uma Pilha, o comando pop retira o item que se encontra no topo da pilha
III. Utiliza o método LIFO (Last In, Fisrt Out)

c)    I. A função Push em uma pilha nada mais é do que inserir um dado no topo, podendo essa função ser repetida até que a capacidade da pilha esteja esgotada
II. Uma pilha contém uma sequência de decisões adiadas: a ordem de remoção garante que as estruturas mais internas serão processadas antes das mais externas ( do topo para a base)
III. Além dos extremos, a Pilha pode dar acesso além do topo também a camadas intermediárias, resgatando itens através da função Top

d)    I.  Numa aplicação prática, a Pilha não é indicada para se estabelecer a ordem de chamada de subprogramas, pois as informações de saída de uma pilha são aleatórios;
II. Por ser uma estrutura linear, o acesso aos dados da pilha se faz através da ordem “do dado inserido mais recentemente ao dado inserido menos recentemente”;
III. O comando Top pode ser utilizado para retornar um dado armazenadao no topo da pilha, sem contudo retira-lo de lá.

e)    N.D.A.

Fonte:
http://cco.linkedej.com.br/wp-content/uploads/group-documents/9/1268948079-04_estruturas_dados_pilhas_filas.pdf
Algoritmos e Estruturas de Dados II – Estruturas de Dados Básicas Pilhas e Filas – Leonardo José Silvestre – lsilvestre@ufsj.edu.br

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

O seguinte trecho de código cria um vetor de números inteiros com 10 elementos:

    int * v;
    v = (int * ) malloc(10*sizeof(int));

Qual o significado da declaração int * v e v = (int * )malloc(10*sizeof(int)); :

a) O Comando v = (int * ) malloc(10*sizeof(int)); reserve espaço de memória da área livre e atribui endereço de variável int *v, que passa a armazenar o endereço inicial de uma área contínua de memória suficiente para conter 10 valores inteiros.

b) O Comando v = (int * ) malloc(10*sizeof(int)); reserve espaço de memória da área livre e atribui endereço de variável int *v, que passa a ser uma varíavel global ;

b) O Comando v = (int * ) malloc(10*sizeof(int)); armazena o endereço inicial de uma área contínua de memória suficiente para conter 10 valores inteiros e a declaração de variável int * v reserva espaço de memória da área livre para a alocação da variável.

c) O Comando v = (int * ) malloc(10*sizeof(int)); armazena o endereço inicial de uma área contínua de memória suficiente para conter 10 valores inteiros e a declaração de variável int * v podendo ser tratado como um vetor declarado estaticamente

d) O Comando v = (int * ) malloc(10*sizeof(int)); reserve espaço de memória da área livre e atribui endereço de variável int *v, que responde com um mensagem de tratamento printf v==NULL

e) N.D.A.

Fonte:
http://www.tecgraf.puc-rio.br/~mgattass/ed/material/ApresentacoesEmPDF/ed05-Vetores.pdf

Waldemar Celes, Renato Cerqueira, José Lucas Rangel,
Introdução a Estruturas de Dados, Editora Campus
(2004)
Capítulo 5 – Vetores e alocação dinâmica

Questão EPO - Estrutura de Dados

Levando em consideração os itens abaixo, qual das alternativas se enquadra na explicação dos seguintes tópicos: 

I. Estrutura de Dados (Descrição);
II. Estruturas de Dados (Objetivo);

a) I - Ao serem aplicadas, permitem que certas operações críticas sejam executadas usando o menor custo possível (tempo e espaço de memória);
    II - Algumas são especializadas para certas tarefas (ex: B-Tree, para bases de dados ou tabelas de routing para redes).

b) I - É uma maneira de armazenar e organizar dados, facilitando o acesso e modificação;
    II - Ao serem aplicadas, permite que certas operações críticas sejam executadas usando o menor custo possível (tempo e espaço de memória);

c) I - Um conjunto bem especificado de instruções simples a serem seguidas para resolver um problema.
    II - Ao serem aplicadas, permite que certas operações críticas sejam executadas usando o menor custo possível (tempo e espaço de memória);

d) I - Algumas são especializadas para certas tarefas (ex: B-Tree, para bases de dados ou tabelas de routing para redes).
    II - Um conjunto bem especificado de instruções simples a serem seguidas para resolver um problema.

e) N.D.A.

Fonte:
http://ssdi.di.fct.unl.pt/seminf/docs/aula05/ED-seminario.pdf
Algoritmos e Estruturas de Dados, Prof° Vasco Amaral, Universidade Nova de Lisboa (UNL), e-mail: vasco.amaral@di.fct.unl.pt

Questão EPO - Struct

1º) Dada a instrução

aaa.bbb.ccc = 25

a)    ccc é membro da estrutura bbb;
b)    bbb é membro da estrutura aaa;
c)    aaa é membro da estrutura bbb;
d)    aaa é membro da estrutura ccc;
e)    N.D.A.


2º) A instrução:

typedef double Velocidade

a) cria um tipo de dado chamado Velocidade;
b) renomeia o tipo double;
c) velocidade é um sinônimo para o tipo double;
d) double passa a ser um novo tipo de dado;
e) N.D.A.

Fonte: Victorine Viviane Mizrahi, Treinamento em linguagem C++, Módulo 2, 2º Edição, Person Prentice Hall Editora, São Paulo, 2007, ISBN 9788576050469,
Página 213.

Questão EPO - Ponteiro

O seguinte programa apresenta um erro de sintaxe :

#include <iostream>
using namespace std;
int main ( )
    {
    const VAL = 987;
    int i = 987;
    const *p = VAL;
    cout<< *p;
    return 0;
}

Para obter a impressão do conteúdo da variável VAL, o programa deve ser reescrito com a sintaxe:

a) int *p = VAL;
b) int i = &VAL;
c) const *p = &VAL;
d) int i = &p;
e) N.D.A.

Fonte: Victorine Viviane Mizrahi, Treinamento em linguagem C++, Módulo 1 2º Edição, Person Prentice Hall Editora, São Paulo, 2006, ISBN 9788576050452,
Páginas 178 e 179 (Adaptação de duas questões).

Questão EPO - Pilha

Analisando a seguinte pilha:


Para retirarmos a letra “b” Seria necessario:

a) Realizar um comando push (B)
b) Realizar um comando pop (c )
c) Realizar um comando pop ( )
d) Realizar DOIS comandos pop()
e) N.D.A

Fonte: Slide sobre pilha.

Questão EPO - Árvore Binária

Analisando as seguintes imagens:

Figura 1Figura 2Figura 3


Qual destas imagens não pode ser considerada uma árvore binária?

a) Figura 01.
b) Figura 02.
c) Figura 03.
d) Todas elas sao árvores binárias.
e) N.D.A

Fonte: Retirado dos slides sobre árvore binaria e imagens retiradas do google.

Questão EPO - Estrutura de Dados

Estrutura de dados tem como principal objetivo:

a) Manipulação de dados através de tecnicas para melhorar a eficiencia.
b) Estudar os dados do tipo float, int, double...
c) Criar vetores ou matrizes.
d) Algoritmos extremamente complexos.
e) N.D.A

Fonte: http://pt.wikipedia.org/wiki/Estrutura_de_dados

Questão EPO - Struct

Podemos dizer que uma struct é:

a) Um novo tipo de dado.
b) Uma variável.
c) Uma função.
d) Todas as anteriores.
e) N.D.A

Fonte: Aula struct, slides.

Questão EPO - Ponteiro

Sobre ponteiros (*), é correto afirmar que:

I. O ponteiro é um tipo de dado que armazena um endereço.
II. Os ponteiros são necessários para a alocação dinâmica de memória, para sequências de dados alocados e para a passagem ou o retorno através referência.
III. O ponteiro não possui um tipo.

a) Apenas a I esta correta.
b) A I e a II estão corretas.
c) A III esta correta.
d) Todas estão corretas.
e) N.D.A

Fonte: http://pt.wikipedia.org/wiki/Ponteiro_%28programa%C3%A7%C3%A3o%29

Questão EPO - Fila

Sobre as carcteristicas de uma fila, NÃO é correto afirmar:

A) O que entra, vai para o final da fila.
B) O que entra vai para o começo da fila.
C) Só podemos retirar o que esta no inicio da fila.
D) O inicio e o fim é definido pela ordem de chegada.
E) N.D.A

Fonte: http://pt.wikipedia.org/wiki/FIFO

Questão EPO - Árvore Binária

Analisando as seguintes afirmações:

I. Um nó sem filhos é chamado de FOLHA.
II. Uma árvore binária completa de profundidade é uma árvore estritamente binária da qual todas as folhas estão no mesmo nível.
III. Toda árvore binária possui uma sub-árvore para a direita, uma sub-árvore para a esquerda e uma sub-árvore para o centro.
IV. A profundidade de uma árvore é o mais longo caminho da raiz até uma folha.

Podemos dizer que estão corretas.

a) Apenas a I.
b) A II e a III.
c) A I, II e a IV.
d) A III e a IV.
e) N.D. A

Retirado dos slides sobre árvores e aula do dia 30 de abril.

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

Ao declararmos um vetor com alocaçao dinamica, é correto:

a) Verificar se existe memoria disponivel para ser utilizada e depois libera-la.
b) Definir um vetor grande e utilizar somente o necessario.
c) Modificar o tamanho do vetor sempre que for inserido um novo valor dentro do vetor.
d) Realizar todas as açoes acima.
e) N.D.A

Fonte: http://www3.di.ufpb.br/liliane/aulas/alocacao.html

Questão EPO - Árvore Binária

Percorrendo a seguinte árvore usando o percurso pós-ordem, temos:



a) 29 – 35 – 36 – 39 – 38 – 34 – 40 - 88 – 92 – 90 – 80
b) 40 – 34 – 29 – 38 – 36 – 35 – 39 – 80 – 90 – 88 - 92
c) 29 – 35 – 36 – 39 – 38 – 34 – 88 – 92 – 90 – 80 – 40
d) 29 – 35 – 36 – 38 – 39 – 34 – 88 – 92 – 90 – 80 – 40
e) N.d.a.

Referência: http://paginas.fe.up.pt/~arocha/AED/APONTS/arvores.pdf

Questão EPO - Árvore Binária

Analise a árvore binária abaixo, responda:


a) Profundidade 4,  Altura 3, A árvore binária é  completa;
b) Profundidade 3, Altura 5, A árvore binária é degenerada;
c) Profundidade 4, Altura 4, A árvore binária é completa;
d) Profundidade 3, Altura  4, A árvore binária é completa;
e) N.d.a.

Referência:   http://www.lcad.icmc.usp.br/~nonato/ED/Arvore_Binaria/node59.html

Questão EPO - Struct

Analise o código abaixo:

#include <stdio.h>
#include <conio.h>
 main ()
 {
 struct z
 {
 int a;
 int b;
 int x;
 };
 struct z x,y;
 x.a = 10;
 x.b = 20;
 x.x = 1;
 y = x;
 printf("%d , %d  , %d e %d", y.a, y.b, z.x, x.x);
 
 getch ();
 }

O código apresentado contém erros porque:

a) Ele não contém erros;
b) Porque z não é uma variável;
c) Porque x não possui valor para z, pois x é um atributo da Struct;
d) Porque x não aceita um atributo com o mesmo nome;
e) N.D.A
 
Copyright (c) 2010. Blogger templates by Bloggermint