Você está na página 1de 14

ESCOLA POLITCNICA DA UNIVERSIDADE DE SO PAULO

Departamento de Engenharia de Computao e Sistemas Digitais

========================================================== PCS 2214 - Fundamentos de Engenharia de Computao I Prof. Anarosa Alves Franco Brando Prof. Anna Helena Reali Costa Prof. Ricardo Luis de Azevedo da Rocha Prof. Ricardo Nakamura Prova de Recuperao: 16 de Julho de 2012

GABARITO
INSTRUES
1) Esta prova contm 16 (dezesseis) testes. Verifique atentamente se sua prova est completa. Em caso de dvida, chame o professor. 2) Preencha o seu nome, o seu nmero USP e a sua turma na capa da prova e no espao reservado para as respostas aos testes, no incio da prova. Provas no identificadas no sero corrigidas. 3) O papel almao pode ser utilizado como rascunho. 4) Os testes podem ser deixados em branco ou no. No caso de no deixar em branco, as respostas desejadas aos testes devem ser assinaladas com um X com caneta esferogrfica preta ou azul, uma nica resposta por teste (caso contrrio, o teste ser considerado errado). 5) Para cada trs testes errados, um teste correto ser anulado. 6) A durao total da prova de 120 minutos. 7) proibido o uso de calculadoras. 8) proibido retirar o grampo da prova. 9) A interpretao das questes faz parte da avaliao dos alunos. 10) A prova SEM CONSULTA. Boa sorte!

PCS - 2214 Fundamentos de Engenharia de Computao I Prova de Recuperao 16 de Julho de 2012


1. (0,625 pontos) Sejam as seguintes sentenas em lgica proposicional: h1: p q h2: q r h3: s Deseja-se provar que c1: r s consequncia lgica de h1, h2 e h3, utilizando regras de inferncia. Assume-se que as sentenas h1, h2 e h3 podem ser tambm descritas em suas respectivas formas clausais. Assinale a alternativa correta: a) possvel provar c1 por prova direta, utilizando apenas a regra da resoluo. b) possvel provar c1 por prova direta, utilizando apenas a regra de Modus Ponens. c) No possvel provar c1 por inferncia, pois c1 no consequncia lgica de h1, h2 e h3. d) No possvel provar c1 por inferncia, utilizando apenas adio e resoluo, apesar de c1 ser consequncia lgica de h1, h2 e h3. e) Nenhuma das outras alternativas correta. 2. (0,625 pontos) Com relao Lgica de Predicados, assinale a alternativa correta: a) x ( Maior (x , y) ) x (Maior (x, y) ). b) x (Homem(x) Animal(x)) tem como consequncia lgica que Homem(Einstein) Animal(Einstein), onde Einstein uma constante do domnio. c) Uma funo de objetos gera sempre um valor lgico V ou F. d) Sentenas atmicas possuem conectivos. e) Nenhuma das outras alternativas correta. 3. (0,625 pontos) Sejam os seguintes conjuntos: X={1,2,3,4}, Y={a,b,c,d}. Sejam ainda as seguintes relaes: R1={(1,a),(2,b),(3,c)} R2={(1,a),(2,b),(3,c),(4,c)} R3={(1,a),(2,b),(2,c), (3,d)} Assinale a alternativa correta: a) R1 uma funo. b) R2 uma funo injetora. c) R3 uma funo sobrejetora. d) R3 no uma funo. e)Nenhuma das outras alternativas correta.

4. (0,625 pontos) Sejam os algoritmos a seguir:


1. ordena(A, n) { // A um vetor de n nmeros 2. for (i = 1; i <= n-1; i++){ 3. min = i 4. for (j = i + 1; j <= n; j++){ 5. if (A[j] < A[min]) 6. min = j 7. } 8. x = A[min] 9. A[min] = A[i] 10. A[i] = x 11. } 12. } 1. 2. 3. 4. 5. 1. 2. 3. 4. 5. fun(n) { if (n == 0 || n == 1) return(1); else return (fun(n 1) - fun (n - 2) + n) } xx(n, a, b) { if n == 1 return(1); else return xx(n - 1, b, a + b) }

Considere as afirmaes a respeito da complexidade dos trs algoritmos dados: I) Os algoritmos fun e xx tm a mesma complexidade, ou seja, (n), enquanto que o algoritmo ordena tem complexidade (n2). II) O algoritmo fun tem complexidade exponencial, mas o algoritmo xx tem complexidade (n), enquanto que o algoritmo ordena tem complexidade (n). III) O algoritmo fun tem complexidade exponencial, mas o algoritmo xx tem complexidade (n), enquanto que o algoritmo ordena tem complexidade (n2). Assinale a alternativa correta: a) b) c) d) e) Apenas I e II so verdadeiras. Apenas II e III so verdadeiras. Apenas III verdadeira. I, II e III so verdadeiras. Nenhuma das outras alternativas correta.

5. (0,625 pontos) Considere um algoritmo que consiste em percorrer sequencialmente uma lista de n nmeros (no ordenados) a partir do incio at encontrar o valor procurado ou atingir o final da lista. Selecione a sentena correta sobre a complexidade de tal algoritmo: a) o tempo de pior caso do algoritmo O(1) b) o tempo de melhor caso do algoritmo O(1) c) o tempo de melhor caso do algoritmo (n) d) o tempo de caso mdio do algoritmo (log2n) e) o tempo de pior caso do algoritmo (1)

6. (0,625 pontos) A soluo de forma fechada da relao de recorrncia fn = n fn-1, com n>1 e f1=7, : a) 7nn b) 7n c) 7!n d) (7n)n e) 7n!

7) (0,625 pontos) Considere um grafo completo, ponderado, no-direcionado, com n vrtices e k arestas, sendo n > 3. Cada aresta tem um peso entre 1 e k, diferente do peso das demais. Assinale a alternativa correta relativa aplicao do algoritmo de caminho mnimo de Dijkstra sobre esse grafo: a) Para n=4, todo caminho mnimo entre dois vrtices a e z ter a forma (a, z). b) Para n=5, no h caminhos mnimos passando por 5 vrtices. c) Para n=6, todo caminho mnimo entre dois vrtices ter comprimento 15. d) Para n=5, todo caminho mnimo entre dois vrtices ter comprimento > 2. e) Todas as outras alternativas so incorretas. 8) (0,625 pontos) Considere as seguintes afirmaes e assinale a alternativa correta: I) O grafo bipartido completo K2,3 possui um ciclo de Hamilton. II) O grafo bipartido completo K2,4 possui um ciclo de Euler. III) Todo grafo completo Kn, n3 possui um ciclo de Hamilton. a) Somente as afirmaes I e II esto corretas. b) Somente as afirmaes II e III esto corretas. c) Somente as afirmaes I e III esto corretas. d) As afirmaes I, II e III esto corretas. e) Somente a afirmao III est correta. 9 (0,625 pontos) Assinale a alternativa correta sobre o grafo a seguir:

a) O grafo planar e possui 7 faces. b) O grafo no planar, pois possui um subgrafo homeomorfo a K5. c) O grafo planar e possui 9 faces. d) O grafo no planar, pois possui um subgrafo homeomorfo a K3,3. e) O grafo planar e possui 8 faces.

10. (0,625 pontos) Considere o algoritmo para gerao de cdigo de Huffman dado a seguir. A entrada A uma lista de smbolos (a1,...an) a serem codificados, F a lista de frequncias (f1,...fn) de cada smbolo e n o nmero de smbolos. As listas devem sempre ficar em ordem crescente de frequncias.
huffman(A,F,n) { if (n == 2) { seja T uma rvore como na Figura 1 return(T) } sejam fr e fs, fr<fs, as menores frequncias de F substituir os smbolos ar e as com fr e fs por um novo smbolo (aras) com frequncia fr + fs nas listas A e F, respectivamente T = huffman(A,F,n-1) substituir o vrtice em T rotulado (aras) por uma rvore como a apresentada na Figura 2 para obter T return(T) }

Figura 1

Figura 2 Assinale a sentena correta sobre o cdigo de Huffman gerado para A = (k,w,x,y,z), F = (3,5,7,9,11), n = 5: a) A codificao da cadeia xyzzy 0010111110. b) A altura da rvore resultante igual a 4. c) A codificao do smbolo w 100. d) A decodificao da cadeia 010001011 kxzy. e) Nenhuma das outras sentenas est correta. 11. (0,625 pontos) Considere o grafo K6, dado por V={a, b, c, d, e, f} e E={(a,b), (b,c), (c,d), (d,e), (e,f), (f,a), (a,c), (b,d), (c,e), (d,f), (e,a), (f,b), (a,d), (f,c), (b,e)}, com os seguintes pesos atribudos s arestas: (a,b)=1, (b,c)=2, (c,d)=3, (d,e)=1, (e,f)=2, (f,a)=1, (a,c)=4, (b,d)=1, (c,e)=2, (d,f)=4, (e,a)=2, (f,b)=3, (a,d)=1, (f,c)=3, (b,e)=2. Considere as seguintes afirmaes: I. A rvore Geradora de K6 encontrada pela busca em largura, seguindo a ordem alfabtica de vertices na busca sempre que possvel, resulta em grafo no qual um vrtice tem grau 5 e 5 vrtices tm grau 1. II. A rvore Geradora de K6 encontrada pela busca em profundidade, seguindo a ordem alfabtica de vertices na busca sempre que possvel, resulta em grafo no qual todos os vrtices tm grau 1. III. A rvore Geradora Mnima de K6 encontrada pelo Algoritmo de Prim possui E={(a,b), (a,d), (a,f), (d,e), (b,c) }. Assinale a alternativa correta: a) Apenas as afirmaes I e II so corretas. b) Apenas a afirmao III correta. c) Apenas as afirmaes II e III so corretas. d) Apenas as afirmaes I e III so corretas. e) Todas as afirmaes so corretas.

12. (0,625 pontos) Considere a rvore de busca binria, sem repetio de palavras, construda a partir da sequncia de palavras entre aspas dada na entrada: A Matemtica no mente. Mente quem faz mau uso dela. (Einstein). Com relao rvore construda, assinale a alternativa correta: a) A rvore tem altura 4, com as palavras dela, mente e quem no seu nvel 3. b) Em percurso pr-ordem, as quatro primeiras palavras a serem processadas seriam, nesta ordem: A, Matemtica, faz, no. c) Em percurso ps-ordem, as quatro primeiras palavras a serem processadas seriam, nesta ordem: dela, faz, mau, no. d) Em percurso em ordem simtrica, as quatro primeiras palavras a serem processadas seriam, nesta ordem: dela, faz, Matemtica, mau. e) Nenhuma das outras alternativas correta. 13. (0,625 pontos) Considere o Autmato Finito (AF) dado abaixo, onde a ponta de seta aponta para o estado inicial (q0) e q4 o estado de aceitao.

AF

Assinale a alternativa que apresenta corretamente uma expresso regular da linguagem que este AF representa: a) 1 1* 0 1 b) (0 1 1) (1 1* 0 1) (0 0 1* 0 1) c) 1 1* 0 1 (1 1* 0 1)* d) (((0 0 1) 1* 0 1) 0 1 1) (0 1* 0 1)* e) Nenhuma das outras correta. 14. (0,625 pontos) Considere a linguagem L = { an bn cn | n 1} e a gramtica G=(N, T, P, S) que gera L. Assinale a alternativa que indica corretamente o tipo desta linguagem e o conjunto P da gramtica G: a) L livre de contexto e P={ SaSBC, SaBC, BbB, CcC, BbC, Cc}. b) L sensvel ao contexto e P={ SaSBC, SaBC, BbB, CcC, Bb, Cc}. c) L sensvel ao contexto e P={ SaSBC, SaBC, CBHB, HBHC, HCBC, aBab, bBbb, bCbc, cCcc}. d) L livre de contexto e P={ SaSBC, SaBC, CBHB, HBHC, HCBC, aBab, bBbb, bCbc, cCcc}. e) L irrestrita e P={ SaSBC, SaBC, CBHB, HBBC, aBab, bBbb,

bCbc, Ccc}. 15. (0,625 pontos) Considere o seguinte Autmato Finito No Determinstico N (C estado de aceitao e A o estado inicial):

AFND N

Considere o Autmato Finito Determinstico D equivalente a N definido pelo mtodo dado em aula, eliminando os estados inatingveis. Assinale a alternativa incorreta a respeito de D: a) D possui 6 estados. b) D possui um total de 10 transies. c) H 5 transies representadas por arestas em loop no grafo de N: 3 com entrada 0 e 2 com entrada 1. d) D possui 2 estados de aceitao. e) H somente uma transio com entrada 0 transitando para o estado vazio (), alm das duas arestas em loop de . 16. Considere a Mquina de Turing T dada a seguir, com I = {1, *} e = {1, *, b, S} e de onde foram omitidas as transies para o estado de rejeio R:

Assinale a alternativa correta: a) b) c) d) Qualquer cadeia formada por 1 e * aceita por T. T responde 111111 para a entrada 1111*1111. T responde o maior de dois nmeros unrios a e b dados na entrada na forma a*b. T responde com a soma de dois nmeros unrios a e b dados na entrada na forma a*b. e) Nenhuma das outras alternativas correta.

NOME: _________________________________ NUSP: ______________ TURMA: ______

Respostas: marque com um X as alternativas selecionadas para as questes. Cada 3 (trs) respostas erradas, uma questo correta ser anulada.

Alternativa: Questo: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

X X X X X X X X X X X X X X X X

Mtodos de percurso (todos): Entrada: PT, a raiz de uma rvore binria. Sada: depende de como o comando process interpretado. Considere equivalente a print, sendo a sada a sequncia de vrtices visitados.

ordem_simetrica (PT) { if (PT est vazio) return l = filho esquerdo de PT ordem_simetrica(l) process PT r = filho direito de PT ordem_simetrica(r) } (1) prim (w, n, s) { (2) for i = 1 to n { (3) v(i) = 0 } (4) v(s) = 1 (5) E = (6) for i = 1 to n 1 { (7) min = (8) for j = 1 to n { (9) if (v(j) == 1) { (10) for k = 1 to n { (11) if (v(k) == 0 and w(j,k) < min) { (12) add_vertex=k; e=(j,k); min=w(j,k)}}}} (13) v(add_vertex) = 1 (14) E = E {e} (15) } (16) return (E) (17)} Busca em Largura Busca em Profundidade Entrada: um grafo conexo G com Entrada: um grafo conexo G com vrtices ordenados V={v1,v2,..vn} e vrtices ordenados V={v1,v2,..vn} e conjunto de arestas E. conjunto de arestas E. Sada: uma rvore geradora T=(V,E), Sada: uma rvore geradora T=(V,E), com raiz v1. com raiz v1. bfs (V, E) { dfs (V, E) { V={v1}; E=; S=(v1); V={v1}; E=; w=v1 ; while true { while true { for cada x S, em ordem, while existe aresta (w,v) que for cada y(VV), em ordem, no cria ciclo quando if((x,y) aresta em E) inserida em T { adicione (x,y) a E e y a V escolha a aresta (w,vk) com if (nenhuma aresta foi adicionada) menor k que no cria ciclo return (T) quando inserida em T; S= filhos de S ordenados em adicione (w, vk) a E; consistncia com a ordenao adicione vk a V; w = vk ; dos vrtices original } } // fim do while if (w == v1 ) return (T); } // fim de bfs w = pai de w em T //retrocesso } // fim do while true } // fim do dfs (1) dijkstra(w, a, z, L) {

pre_ordem (PT) { if (PT est vazio) return process PT l = filho esquerdo de PT ordem_simetrica(l) r = filho direito de PT ordem_simetrica(r) } pos_ordem (PT) { if (PT est vazio) return l = filho esquerdo de PT pos_ordem(l) r = filho direito de PT pos_ordem(r) process PT }

(2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (11) (12) }

L(a) = 0; for all vrtices x a L(x) = ; T = conj. de todos os vrtices, ordenados; while (z T) { escolher v T com L(v) mnimo, na ordem; T = T {v} ; for each x T adjacente a v if (L(x) L(v)+w(v,x)) { L(x) = L(v) + w(v,x); P(x) = v; } }

Regras de Inferncia Lgica: Modus Ponens: (p q), p / q Modus Tollens: (p q), q / p Adio: p / p Simplificao: p q q / p , q p q / q

Conjuno: p, q / p

Silogismo Hipottico: (p q) , (q r) / (p r) Silogismo Disjuntivo: (p Resoluo: (p q), (p q), p / q r ) / (q r)

GABARITO
1. Resposta: a. INCORRETA Por prova direta usando resoluo conclui-se apenas pr b. INCORRETA Por prova direta usando Modus Ponens conclui-se apenas pr c. INCORRETA possvel provar usando resoluo e adio d. INCORRETA ver item anterior. e. CORRETA ALTERNATIVA (e)

2. Resposta: a. CORRETA b. INCORRETA Por substituio x/Eisntein temos (Homem (Einstein) Animal(Einstein) ) (Homen(Einstein) Animal(Einstein)) Homen(Einstein) Animal(Einstein) c. INCORRETA Uma funo deve gerar objeto. Ex: Pai(Aphrodite) gera Uranus d. INCORRETA Uma sentena atmica composta por um predicado, aplicado a um ou mais termos. Termos so expresses lgicas que se referem a um objeto. Frmulas bem formadas sero compostas por predicados ligados atravs de conectivos lgicos. e. INCORRETA ALTERNATIVA (a) 3. Resposta: a. incorreta: R1 no e uma funo pois 4 ao domnio de R1. b. incorreta: R2 no uma funo, pois d a imagem de R2. c. incorreta: R3 no uma funo, portanto no uma funo sobrejetora. d. correta: no uma funo pois R3(2)=b e R3(2)=c. e. incorreta: alternativa c correta. ALTERNATIVA (d)

4. Resposta: Conforme visto em sala a complexidade dada pelo nmero de chamadas recursivas; em fun tem-se duas chamadas recursivas a cada passo de recurso, logo exponencial porque a base maior do que 1, mas xx tem (n-1) chamadas recursivas, para n > 1 e, portanto, T(n)=n-1, ou seja, T(n) (n). O algoritmo ordena tem complexidade (n2), conforme visto em sala, ele um algoritmo de ordenao muito simples. Resposta certa: ALTERNATIVA (c). 5. A partir da descrio do algoritmo, pode-se dizer que cada elemento da lista ter de ser comparado ao valor procurado. Assim, no pior caso sero inspecionados n elementos e no melhor caso ser inspecionado apenas 1. Assim, T(n) = n para o pior caso (portanto (n)), T(n) = 1 para melhor caso (portanto (1)) e T(n) = n/2 para o caso mdio (portanto (n)), assumindo-se distribuio uniforme de probabilidade de se encontrar o valor procurado em cada posio da lista. Considerando-se as alternativas, a nica coerente com esses fatos a ALTERNATIVA (b). 6. A soluo de forma fechada pode ser obtida por iterao: 7n!. Portanto, a resposta correta a ALTERNATIVA (e). 7. Alternativa (a) incorreta: pode-se arranjar os pesos em um grafo K4 para se obter um caminho mnimo com 3 vrtices. Alternativa (b) incorreta: para o grafo K5 teremos 10 arestas. Para termos um caminho com 5 vrtices preciso encontrar 5 nmeros tais que a soma de 4 deles seja inferior ao valor do quinto. Considerando os menores e o maior nmero do intervalo, temos 1+2+3+4=10. Alternativa (c) correta: o grafo K6 tem 15 arestas, com pesos 1 a 15. Logo, o maior comprimento de caminho ser 15. Alternativa (d) incorreta: pode-se ter um caminho mnimo com apenas a aresta com peso 1. Alternativa (e) incorreta pois a ALTERNATIVA (c) correta. 8. Afirmao (I) incorreta (pode ser verificado graficamente); Afirmao (II) correta (verificvel com teorema sobre ciclo de Euler); Afirmao (III) correta: Seja um grafo Kn com vrtices v1..vn; o caminho com as arestas (v1,v2), (v2,v3), (vn, v1) forma um ciclo de Hamilton. Portanto, ALTERNATIVA (b). 9. ALTERNATIVA (d) preciso acrescentar figura realando o subgrafo homeomorfo a K3,3. 10. ALTERNATIVA (b) preciso acrescentar a figura da rvore gerada.

11. ALTERNATIVA (d)

12. ALTERNATIVA (a)

13. Alternativa (d) 14. Alternativa (c). Exemplo de gerao aabbcc: S aSBC aaBCBC aaBHBC aaBHCC aaBBCC aabBCC aabbCC aabbcC aabbcc 15. Alternativa (b). A AFD D correspondente est desenhado abaixo e possui 6 estados, dos quais 2 so de aceitao, 16 arestas representando transies, das quais 5 so loops:

16. Alternativa (d) a mquina computa a soma de dois nmeros dados em unrio, sendo 0 1, 1 11, 2 111, etc.