Sie sind auf Seite 1von 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

Das könnte Ihnen auch gefallen