Sunteți pe pagina 1din 12

Avaliao

de Conhecimento Especfico - PPGCC 24 de Outubro de 2012

AVALIAO DE CONHECIMENTO ESPECFICO


PROGRAMA DE PS-GRADUAO EM CINCIA DA COMPUTAO
01. Toda arvore binria possui as seguintes propriedades: I. II. III. IV. V. Assinale entre as alternativas abaixo a alternativa correta Apenas os itens I e III so corretos Todos os itens so corretos. Apenas o item V incorreto Os itens IV e II so corretos Todos os itens so incorretos Todos os ns de uma sub-rvore direita so maiores que o n raiz. Cada Sub-rvore tambm uma rvore binria O grau de uma rvore igual ao mximo dos graus de todos os seus ns Todos os ns de uma sub-arvore esquerda so menores que o n raiz Uma rvore binria tem o grau mximo igual a 2

a) b) c) d) e)

02. Seja T uma rvore AVL vazia. Supondo que os elementos 5, 10, 11, 7, 9, 3 e 6 sejam inseridos nessa ordem em T, indique a sequncia que corresponde a um percurso de T em ps-ordem. a) b) c) d) e) 3, 5, 6, 7, 9, 10 e 11. 7, 5, 3, 6, 10, 9 e 11. 9, 10, 7, 6, 11, 5 e 3. 11, 10, 9, 7, 6, 5 e 3. 3, 6, 5, 9, 11, 10 e 7.

03. Um grafo G(V,E) uma rvore se G conexo e acclico. Assinale entre as definies abaixo aquela que NO pode ser usada para definir rvores. a) b) c) d) G conexo e o nmero de arestas mnimo. G conexo e o nmero de vrtices excede o nmero de arestas por uma unidade. G acclico e o nmero de vrtices excede o nmero de arestas por uma unidade. G acclico e, para todo par de vrtices v, w, que no so adjacentes em G, a adio da aresta (v,w) produz um grafo contendo exatamente um ciclo. e) G acclico e o nmero de arestas mnimo. 04. Assinale a alternativa em que todas as propriedades de uma rvore vermelho e preto so verdadeiras. a) Todo n vermelho ou preto. A raiz pode ser vermelha ou preta. Todas as folhas so vermelhas.

Pgina 1

Avaliao de Conhecimento Especfico - PPGCC 24 de Outubro de 2012 b) A raiz preta. Todas as folhas so vermelhas. Para cada n, todos os caminhos, desde um n at as folhas descendentes, contm um mesmo nmero de ns pretos. c) Toda folha (NIL) preta. Todo n vermelho ou preto. A raiz preta. d) Se um n vermelho, ambos os filhos so vermelhos. A raiz pode ser vermelha ou preta. Todas as folhas so pretas. e) Todas as folhas so vermelhas. Todo n vermelho ou preto. A raiz pode ser vermelha ou preta. 05. Percorrendo a rvore binria a seguir em pr-ordem, obtemos que seqncia de caracteres?.

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

06. Qual a ordem de complexidade da insero e remoo em uma pilha? a) b) c) d) e) O(1) e O(n) O(n) e O(n) O(n) e O(1) O(1) e O(1) Nenhuma das respostas acima.

07. Levando-se em considerao as diferentes estratgias para o gerenciamento da memria nas linguagens de programao (gerenciamento manual x gerenciamento automtico), assinale a resposta correta: a) A remoo de um elemento em uma pilha pode ter complexidade O(1) ou O(n) dependendo da linguagem utilizada. b) A insero de um elemento na pilha sempre ter complexidade O(n). c) O esvaziamento completo de uma pilha pode ter complexidade O(1) ou O(n) dependendo da linguagem a ser utilizada, pois isso pode depender da forma de gerenciamento de memria utilizado. d) A linguagem de programao no afeta a complexidade da insero, remoo ou esvaziamento completo de uma pilha. e) Todas as respostas esto erradas. 08. Com relao e Pilhas e Filas podemos afirmar:

Pgina 2

Avaliao de Conhecimento Especfico - PPGCC 24 de Outubro de 2012 a) b) c) d) e) A primeira utiliza uma estrutura do tipo FILO e a segunda FIFO. A primeira utiliza uma estrutura do tipo FIFO e a segunda FILO. As duas utilizam uma estrutura do tipo FILO. As duas utilizam uma estrutura do tipo FIFO. A forma de implementao que define a estrutura a ser utilizada por cada uma das estruturas de dados citadas.

09. Suponha o algoritmo descrito no quadro abaixo.


Algoritmo Avalia { stack = pilha vazia; enquanto no terminar a entrada { elemento = ler caractere na entrada; se o elemento um operando push (stack, elemento); seno { ele1 = pop(stack); ele2 = pop(stack); valor = resultado da avaliao da expresso ele1 elemento ele2; push (stack, valor); } fim-seno } fim-enquanto retorne pop(stack); }

Qual ser o valor resultante da execuo do algoritmo Avalia para a entrada 754+-839/+* a) b) c) d) e) 11 22 30 41 Nenhuma das respostas anteriores.

10. Suponha a existncia de uma fila inicialmente vazia, com uma varivel First apontando para o primeiro elemento e Last apontando para o ltimo elemento. Aps a sequencia de operaes descritas abaixo, qual alternativa melhor representa o estado atual da fila? I3 (insere 3), I8, R (remove), I3, I10, I15, I9, I3, R. a) b) c) d) e) First -> 3, 10, 15, 9 , 3 <- Last First -> 3, 9, 15, 10 , 3 <- Last First -> 3, 10, 15, 9 <- Last First -> 3, 10, 15, 9 , 3, null <- Last First -> 10, 15, 9 , 3 <- Last

11. possvel implementar uma Fila utilizando uma Pilha?

Pgina 3

Avaliao de Conhecimento Especfico - PPGCC 24 de Outubro de 2012 a) Sim, basta inverter a ordem dos ponteiros internos. b) No, filas e pilhas possuem mecanismos diferentes de insero e remoo. A implementao de um usando outro basicamente criar o outro elemento, descaracterizando o originalmente utilizado. c) Sim, possvel alterando a ligao entre os elementos internos da pilha. d) Sim, possvel utilizado duas pilhas para simular a fila. e) Sim, basicamente a partir do uso alternado da varivel que aponte para o incio e fim da pilha. 12. Com relao aos fundamentos e algoritmos das rvores de Pesquisa, afirma-se: VI. Seja x um n em uma rvore de pesquisa binria. Se y um n na subrvore esquerda de x, ento a chave de y menor ou igual chave de x. Se y um n na subrvore direita de x, ento a chave de x menor ou igual chave de y; As operaes de insero e eliminao provocam mudanas no conjunto dinmico representado por uma rvore de pesquisa binria. Assim, a estrutura de dados deve ser modificada para refletir essa mudana, mas de tal modo que a propriedade de rvore de pesquisa binria continue vlida; As rvores B so rvores de pesquisa balanceadas projetadas para funcionar bem em discos magnticos ou outros dispositivos de armazenamento secundrio de acesso direto; Pesquisar em uma rvore B semelhante a pesquisar em uma rvore de pesquisa binria, exceto pelo fato de que, em vez de tomar uma deciso de ramificao binria em cada n, toma-se uma deciso de ramificao de vrias vias, de acordo com o nmero de filhos do n.

VII.

VIII.

IX.

Baseado no exposto, pode-se concluir que: a) b) c) d) e) Somente as afirmativas I e II so Verdadeiras; Todas as afirmativas so Falsas; Somente as afirmativas I e III so verdadeiras; Todas as afirmativas so verdadeiras; Somente a Afirmativa III Falsa.

13. Com relao a Algoritmos, afirma-se: I. II. Um algoritmo dito correto se, para cada instncia de entrada, ele pra com a sada correta; A escolha de um algoritmo de ordenao para uma determinada aplicao depende, entre outros fatores, do nmero de itens a serem ordenados, da extenso em que os itens j esto ordenados de algum modo, de possveis restries sobre os valores de itens e da espcie de dispositivo de armazenamento a ser usado: memria principal, discos etc. Algoritmos criados para resolver o mesmo problema caracterizam-se por sempre possurem a mesma eficincia;

III.

Pgina 4

Avaliao de Conhecimento Especfico - PPGCC 24 de Outubro de 2012 IV. O conjunto de problemas NP-completos tem a propriedade de que, se existe um algoritmo eficiente para qualquer um deles, ento existem algoritmos eficientes para todos.

Baseado no exposto, pode-se concluir que: a) b) c) d) e) Somente as afirmativas I e II so Verdadeiras; Todas as afirmativas so Falsas; Somente as afirmativas I e III so verdadeiras; Todas as afirmativas so Verdadeiras; Somente a Afirmativa III Falsa.

14. A Programao Dinmica e os Algoritmos Gulosos so tcnicas importantes para o projeto e anlise de algoritmos. Com relao a Programao Dinmica e Algoritmos Gulosos, NO se pode afirmar: a) A Programao Dinmica aplica-se tipicamente a problemas de otimizao em que uma srie de escolhas deve ser feita, a fim de alcanar uma soluo tima; b) A Programao Dinmica eficaz quando um dado subproblema pode surgir a partir de mais de um conjunto parcial de escolhas; a tcnica chave consiste em armazenar a soluo para cada um desses subproblemas, prevendo-se a hiptese de ele reaparecer; c) A Programao Dinmica, como o mtodo de dividir e conquistar, resolve problemas combinando as solues para subproblemas; d) A Programao Dinmica s aplicvel quando os subproblemas (resultantes da partio do problema) forem independentes; e) Um Algoritmo Guloso faz uma escolha tima para as condies locais, na esperana de que essa escolha leve a uma soluo tima para a situao global. 15. Os grafos so importantes estruturas de dados.Portanto, o conhecimento dos algoritmos para trabalhar com grafos fundamental. Com relao aos algoritmos de grafos, NO se pode afirmar: a) O algoritmo de Kruskal e o algoritmo de Prim, utilizados para resolver o problema da rvore amplitude mnima, so baseados em abordagem gulosa; b) O algoritmo de Dijkstra, para resolver o problema de caminhos mais curtos de nica origem em um grafo orientado ponderado, utiliza uma estratgia gulosa; c) Na descrio do tempo de execuo de um algoritmo de grafo sobre um determinado grafo G = (V,E), normalmente mede-se o tamanho da entrada em termos do nmero de vrtices |V| e do nmero de arestas |E| do grafo; d) No algoritmo da busca (pesquisa) em profundidade, as arestas so exploradas a partir do vrtice v mais recentemente descoberto que ainda tem arestas inexploradas saindo dele. Quando todas as arestas de v so exploradas, a pesquisa "regressa" para explorar as arestas que deixam o vrtice a partir do qual v foi descoberto; 16. falso afirmar que.

Pgina 5

Avaliao de Conhecimento Especfico - PPGCC 24 de Outubro de 2012 a) Analisar um algoritmo significa estimar os recursos computacionais requeridos pelo algoritmo; b) O tempo de execuo do pior caso de um algoritmo um limite superior sobre o tempo de execuo para qualquer entrada; c) Os algoritmos que seguem uma abordagem de dividir e conquistar desmembram o problema em vrios subproblemas que so semelhantes ao problema original, mas menores em tamanho, resolvem os subproblemas recursivamente e depois combinam essas solues com o objetivo de criar uma soluo para o problema original; d) Quando um algoritmo contm uma chamada recursiva a si prprio, seu tempo de execuo freqentemente pode ser descrito por uma equao de recorrncia, que descreve o tempo de execuo global sobre um problema de tamanho n em termos do tempo de execuo sobre entradas menores; e) Algoritmos de tempo polinomial resolvem problemas em tempo polinomial. Ou seja, esses problemas podem ser resolvidos no tempo O(nk) para alguma constante n, onde k o tamanho da entrada para o problema. 17. Quais das operaes bsicas implementadas em listas simplesmente encadeadas so mais custosas computacionalmente quando comparadas s implementaes destas operaes usando listas sequenciais? a) b) c) d) e) Insero no incio e Remoo no incio. Insero no fim e Remoo no fim. Insero no fim e Remoo no incio. Insero no incio e Remoo no fim. Impresso dos elementos.

18. Com base na definio e representao do tipo Lista abaixo, assinale a alternativa que representa corretamente o procedimento de remoo de um elemento de uma lista encadeada. Observe que o procedimento de remoo retorna um ponteiro para Lista, permitindo a atualizao aps uma eventual remoo do primeiro elemento da mesma.
typedef struct lista { int info; Lista* prox; } Lista; a) Lista* lst_remove (Lista* l, int v) { if (l != NULL) { if (l->prox == v) { Lista* t = l; l = l->info; free(t); } else l->prox = lst_remove(l,v); } return l; }

b) Lista* lst_remove (Lista* l, int v) { if (l->info == v) {

Pgina 6

Avaliao de Conhecimento Especfico - PPGCC 24 de Outubro de 2012


Lista* t = l; l = l->prox; free(t); } return l; } c) Lista* lst_remove (Lista* l, int v) { if (l != NULL) { if (l->info == v) { Lista* t = l; l = l->prox; free(t); } else l->prox = lst_remove(l->prox,v); } return l; }

d) Lista* lst_remove (Lista* l, int v) { if (l->info == v) { Lista* t = l; l = l->prox; free(t); } else l->prox = lst_remove(l->prox,v); return l; } e) Lista* lst_remove (Lista* l, int v) { if (l != NULL) { if (l->info == valor) { Lista* t = l; l = l->prox; free(t); } else lst_remove(l->prox,v); } return l; }

19. Uma lista constituda inicialmente dos seguintes elementos: 20, 11, 36, 73, 08 e 48. Qual o contedo da lista aps a execuo, em ordem, das seguintes operaes. Insero do elemento 28 no incio da lista; Remoo do 3 elemento da lista; Insero do elemento 18 na 3 posio da lista; Remoo do elemento com valor 73; Alterao do elemento da 2 posio para 05; a) 28, 05, 18, 11, 08 e 48 b) 05, 08, 18, 28, 36 e 48 c) 28, 20, 05, 18, 08 e 48 I. II. III. IV. V.

Pgina 7

Avaliao de Conhecimento Especfico - PPGCC 24 de Outubro de 2012 d) 28, 05, 36, 18, 08 e 48 e) 28, 05, 18, 36, 08 e 48 20. Leia as afirmativas abaixo sobre Listas e marque a opo CORRETA: Os elementos de uma lista encadeada sempre esto dispostos, fisicamente, em posies contnuas de memria; II. Uma das vantagens das listas sequencias, em relao s listas encadeadas, a possibilidade de acessar de maneira imediata o elemento de qualquer posio da lista; III. possvel implementar uma lista encadeada utilizando vetores de estruturas, ao invs de ponteiros. Essa abordagem, porm, no vantajosa por haver a necessidade de se prever, inicialmente, o tamanho mximo da lista; IV. Para determinar a quantidade de elementos de uma lista encadeada necessrio percorrer toda a lista para fazer a contagem dos elementos e no existe nenhum mecanismo para obter esse valor diretamente. Apenas II e III esto corretas. Apenas II est correta. Apenas I e IV esto corretas. Apenas II e IV esto corretas. Todas as alternativas esto corretas. I.

a) b) c) d) e)

21. Dada as seguintes afirmativas sobre Listas, assinale a alternativa INCORRETA: a) O procedimento de busca em uma lista ordenada, apesar de ser mais eficiente, tem a mesma complexidade de uma busca em uma lista no ordenada. b) Uma lista encadeada dita circular quando o ltimo elemento da lista tem como prximo o primeiro elemento da lista. c) No procedimento de remoo de um elemento de uma lista duplamente encadeada sempre necessria a atualizao dos ns referentes aos elementos anterior e posterior ao elemento removido. d) Em uma lista duplamente encadeada e circular, possvel a insero/remoo imediata do ltimo elemento da lista. e) A implementao da uma Lista pode ser utilizada para implementao de estruturas com restries de acesso a elementos, tais como, pilhas e filas. 22. Sobre matrizes, leia as afirmativas abaixo e marque a alternativa INCORRETA: a) Pode-se realizar operaes com vetores numricos da mesma forma como se opera com variveis numricas comuns. b) Um vetor do tipo A e outro de tipo B podem ser representados por uma nica matriz de tipo primitivo. c) Uma matriz de m linhas e n colunas contm (m * n) dados. d) Vetor uma matriz unidimensional

Pgina 8

Avaliao de Conhecimento Especfico - PPGCC 24 de Outubro de 2012 e) O produto de duas matrizes de n linhas e n colunas resulta em uma matriz de n linhas e n colunas. 23. Dada as seguintes afirmativas sobre vetores e matrizes, analise-as e marque a opo CORRETA: Uma matriz uma coleo de variveis de diferentes tipos, acessveis com um nico nome e armazenados contiguamente na memria. II. A individualizao de cada varivel de um vetor feita atravs do uso de ndices. III. Em geral, para fazer referncia a um valor de um elemento de um vetor, usamos a notao vetor[ndice], que serve tanto para obter quanto para definir o valor de um elemento especfico, dada sua posio. IV. A remoo de elementos de um vetor pode ser custosa se no for desejvel que existam espaos "vazios" (posies sem valor atribudo) no vetor, pois nesse caso necessrio deslocar o valor de uma posio para outra todos os elementos depois do elemento removido. Apenas II e IV esto corretas. Apenas II e V esto incorretas. Apenas I, III e IV esto corretas. Apenas I e III esto corretas. Apenas II, III e IV esto corretas. I.

a) b) c) d) e)

24. O que imprime o programa escrito em C abaixo:


int f (int a [], int n) { if (n <= 0) return 1; return a[n-1] * f (a, n-2) + 1; } int a [6] = { 0, 1, 2, 3, 4, 5}; #include <stdio.h> int main() { printf ("%d\n", f(a,6)); }

a) b) c) d) e)

35 36 49 79 1957

25. O que imprime o programa escrito em C abaixo:

Pgina 9

Avaliao de Conhecimento Especfico - PPGCC 24 de Outubro de 2012


#include <stdio.h> float f (int n, int c, float a[][2]) { float t=0; int i; int j; for (i=0; i< n; i++) for (j=0; j< c; j++) t=t+ a[i][j]; return t/(n+c); } float mat [3] [2] = {{5.0, 10.0},{20.0, 25.0},{35.0, 40.0}}; int main() { printf ("%f\n", f(3, 2, mat)); }

a) b) c) d) e)

45 135 27 70 9

26. Um mtodo que, para ser aplicado a uma estrutura, envolve a aplicao dele mesmo s subestruturas componentes, chamado de: a) b) c) d) e) Auto-relacionamento. Descritor. Ponteiro. Recursividade. Lista.

27. Sobre o conceito de funes, assinale a alternativa INCORRETA. a) A passagem de parmetros por referncia permite que o valor de uma varivel passado como argumento seja alterado na funo, e sua alterao mantenha-se mesmo aps a execuo da funo. b) Variveis locais so declaradas dentro de funes ou procedimentos e so visveis por outras funes. c) A implementao iterativa tende a ser ligeiramente mais rpida do que a implementao recursiva j que, em uma implementao recursiva, registra-se o estado atual do processamento de maneira que ela possa continuar de onde parou aps a concluso de cada nova execuo subordinada do procedimento recursivo. d) A ordem da chamada de funes antes ou aps a chamada recursiva podem mudar completamente a execuo da recursividade. e) Em uma recurso de cauda, no necessrio guardar a posio onde foi feita a chamada, visto que a chamada a ltima operao realizada pela funo.

Pgina 10

Avaliao de Conhecimento Especfico - PPGCC 24 de Outubro de 2012 28. Considerando a passagem de informaes para funes, julgue os itens abaixo e, em seguida, assinale a opo CORRETA. I. II. III. IV. O mecanismo usado para transmitir informaes para uma funo denominado argumento. Todos os parmetros em uma funo devem ser do mesmo tipo. Quando a informao passada por valor, a funo chamada no pode alterar o valor de uma varivel da funo que chama. A utilizao de ponteiros como parmetros ir causar erro de sintaxe no momento da compilao.

Esto corretas as opes: a) b) c) d) e) I e III. I, II, III. II e IV III e IV Todas esto corretas

29. Sobre a programao de computadores considere as seguintes afirmaes: I. Um algoritmo corresponde a uma sequncia ordenada de aes que levam soluo de um problema que, quando codificado em uma linguagem de programao, corresponde a um programa de computador. Um algoritmo dito recursivo quando chama a si mesmo ou chama uma sequncia de outros algoritmos, e um deles chama novamente o primeiro algoritmo. Algoritmos recursivos normalmente tm menor tempo de resposta que seus equivalentes iterativos, mas as linguagens PHP e Javascript, por serem linguagens de script, no permitem nem necessitam de recursividade. Procedimentos e funes so sub-algoritmos codificados como parte do desenvolvimento de um algoritmo para a soluo de um problema particular.

II.

III.

IV.

Esto CORRETAS: a) b) c) d) e) Apenas as assertivas II, III e IV esto corretas. Apenas as assertivas I e IV esto corretas. Apenas as assertivas I, II e IV esto corretas. As assertivas I, II, III e IV esto corretas. Todas esto corretas

30. No contexto de da programao de computadores, correto afirmar sobre a recursividade e a passagem de parmetros: a) Para se criar um procedimento necessrio um identificador, uma lista opcional de parmetros e as aes que nele sero executadas.

Pgina 11

Avaliao de Conhecimento Especfico - PPGCC 24 de Outubro de 2012 b) Um procedimento pode ser ativado em qualquer parte do programa e sua ativao se d por meio do uso de sua lista de parmetros. c) A recursividade tcnica desnecessria caso a programao de um algoritmo seja efetuada em uma linguagem orientada a objetos, uma vez que o envio de uma mensagem a um objeto cria um contexto aninhado que corresponde, indiretamente, tcnica de recurso. d) Tanto a recursividade direta quanto a indireta no necessitam de uma condio de sada ou de encerramento. e) Uma caracterstica tpica de uma funo recursiva que todos os parmetros devem ser chamados por valor.

Pgina 12

S-ar putea să vă placă și