Вы находитесь на странице: 1из 117

COMENTADO

COMPUTAO
2011

MARCELO HIDEKI YAMAGUTI


ANA PAULA TERRA BACELO
(Organizadores)

COMENTADO

COMPUTAO
2011

chanceler

Dom Jaime Spengler


reitor

Joaquim Clotet
vice-reitor

Evilzio Teixeira
conselho editorial

Jorge Luis Nicolas Audy | presidente


Jeronimo Carlos Santos Braga | diretor
Jorge Campos da Costa | editor-chefe
Agemir Bavaresco
Ana Maria Mello
Augusto Buchweitz
Augusto Mussi
Bettina Steren dos Santos
Carlos Gerbase
Carlos Graeff Teixeira
Clarice Beatriz da Costa Sohngen
Cludio Lus C. Frankenberg
Erico Joo Hammes
Gilberto Keller de Andrade
Lauro Kopper Filho

COMENTADO

COMPUTAO
2011

MARCELO HIDEKI YAMAGUTI


ANA PAULA TERRA BACELO
(Organizadores)

EDIPUCRS, 2014
DESIGN GRFICO [CAPA] Rodrigo Braga
DESIGN GRFICO [DIAGRAMAO] Rodrigo Valls
REVISO DE TEXTO Fernanda Lisboa de Siqueira

Edio revisada segundo o novo Acordo Ortogrfico da Lngua Portuguesa.

EDIPUCRS Editora Universitria da PUCRS


Av. Ipiranga, 6681 Prdio 33
Caixa Postal 1429 CEP 90619-900
Porto Alegre RS Brasil
Fone/fax: (51) 3320 3711
E-mail: edipucrs@pucrs.br www.pucrs.br/edipucrs

Dados Internacionais de Catalogao na Publicao (CIP)

E56









ENADE comentado : computao 2011 [recurso eletrnico] /


orgs. Marcelo Hideki Yamaguti, Ana Paula Terra Bacelo.
Dados eletrnicos. Porto Alegre : EDIPUCRS, 2014.
80 p.
Sistema requerido: Adobe Acrobat Reader
Modo de acesso: <http:www.pucrs.br/edipucrs>
ISBN 978-85-397-0521-4
1. Educao Superior Brasil Avaliao. 2. Exame
Nacional de Cursos (Computao). 3. Computao Ensino
Superior. I. Yamaguti, Marcelo Hideki. II. Bacelo, Ana Paula
Terra.

CDD 378.81
Ficha catalogrfica elaborada pelo Setor de Tratamento da Informao da BC-PUCRS.
TODOS OS DIREITOS RESERVADOS. Proibida a reproduo total ou parcial, por qualquer meio ou processo, especialmente
por sistemas grficos, microflmicos, fotogrficos, reprogrficos, fonogrficos, videogrficos. Vedada a memorizao e/ou
a recuperao total ou parcial, bem como a incluso de qualquer parte desta obra em qualquer sistema de processamento de dados. Essas proibies aplicam-se tambm s caractersticas grficas da obra e sua editorao. A violao dos direitos autorais punvel como crime (art. 184 e pargrafos, do Cdigo Penal), com pena de priso e multa, conjuntamente com busca e apreenso e indenizaes diversas (arts. 101 a 110 da Lei 9.610, de 19.02.1998, Lei dos Direitos Autorais).

Sumrio
APRESENTAO 6

QUESTO 31 60

QUESTO 09 8

QUESTO 32 62

QUESTO 10 11

QUESTO 33  64

QUESTO 11 13

QUESTO 34 66

QUESTO 12 15

QUESTO 35 68

QUESTO 13 (ANULADA) 17

QUESTO 36 70

QUESTO 14 18

QUESTO 37 74

QUESTO 15 20

QUESTO 38 77

QUESTO 16 22

QUESTO 39 80

QUESTO 17 24

QUESTO 40 84

QUESTO 18 26

QUESTO 41 87

QUESTO 19 29

QUESTO 42 90

QUESTO 20 31

QUESTO 43 91

QUESTO 21 33

QUESTO 44 (ANULADA) 93

QUESTO 22 37

QUESTO 45 95

QUESTO 23 40

QUESTO 46 98

QUESTO 24 43

QUESTO 48 102

QUESTO 25  46

QUESTO 49 105

QUESTO 26 48

QUESTO 50 107

QUESTO 27 50

QUESTO DISCURSIVA 3 109

QUESTO 28 53

QUESTO DISCURSIVA 4 112

QUESTO 29 55

QUESTO DISCURSIVA 5 115

QUESTO 30 57

COMENTADO

COMPUTAO
2011

APRESENTAO
A principal razo para a existncia de instituies o provimento de servios relevantes, necessrios para o funcionamento da sociedade. O aprimoramento institucional
indispensvel para a melhoria desses servios e impacta positivamente levando a uma
sociedade mais apta a enfrentar desafios conjuntos e assim a desenvolver-se.
Enquanto a melhoria da qualidade institucional importante para todos os setores,
entendemos a educao como um setor especial em sua capacidade de gerar impacto
no desenvolvimento da sociedade. Assim, no caso da educao, entendemos que processos avaliativos, ao lado de importante investimento do Estado, revestem-se de carter
estratgico e so fundamentais para o pas.
A avaliao do ensino de Graduao permite s instituies identificarem itens a melhorar, assim como contextualiza a capacidade da educao brasileira nesse nvel perante
outros pases. No processo de avaliao proposto pelo Instituto Nacional de Estudos
e Pesquisas Educacionais Ansio Teixeira (INEP), o Exame Nacional de Desempenho
de Estudantes (ENADE) tem papel central. O ENADE fundamental como ferramenta
avaliativa, pois ele mensura junto ao pblico discente o resultado do processo de ensino/aprendizagem. Ou seja, ele mede o resultado efetivo (percebido no aluno) de todo
aparato de educao desde a infraestrutura fsica institucional at o apoio ao docente,
passando por metodologias e formas de interao com o pblico discente. Visto dessa
perspectiva, entende-se que o ENADE se sobrepe aos demais itens constituintes do
processo avaliativo.
Os processos avaliativos so naturalmente envolventes. Isso se deve, por um lado,
sntese que ocorre traduzindo a qualidade de uma instituio atravs de um dado objetivo
comparvel e, por outro lado, inerente concorrncia entre instituies na sociedade
moderna que inexoravelmente passam a utilizar dados sintticos de avaliao. Assim, o
resultado do ENADE, alm dos efeitos benficos j colocados acima, passa a ser utilizado mais comumente pela sociedade como indicativo para comparao de qualidade.
Nesse momento o resultado da avaliao deixa de ser um dado para reflexo e melhoria
institucional e passa a ser um elemento indutor na sociedade tanto da procura pelas
instituies mais bem avaliadas quanto do entendimento da qualidade dos profissionais
egressos formados pela instituio.
Deixando os desdobramentos desse aspecto para reflexo, o exerccio do ENADE
extremamente positivo, pois se trata de mais um momento de oxigenao do corpo tanto
discente quanto docente de uma instituio. Esses passam a entrar em contato com
6

COMENTADO

problemas e formulaes originadas por outros acadmicos que estudam os mesmos


temas na rea de dedicao. Nesse contexto, o ENADE Comentado Computao
um marco indispensvel de posicionamento da Faculdade, por meio do conjunto de professores colaboradores, dentro do processo avaliativo, pois lana um olhar prprio, da
Faculdade, ao exame da rea. Esperamos que, alm das saborosas discusses tcnicas
possveis a partir deste volume, o mesmo sirva tanto a docentes como a discentes para o
fortalecimento de sua identificao com a Faculdade de Informtica atravs de seu curso
de graduao, que, por fim, trata-se do elemento comum unindo a todos cuja avaliao
publicada sociedade.
O ENADE Comentado Computao foi construdo com a colaborao dos professores referenciados ao longo do texto e com o cuidado especial dos organizadores do
volume, professores Marcelo Hideki Yamaguti e Ana Paula Terra Bacelo. Agradecemos
profundamente a todos pela contribuio comunidade da Faculdade e, de forma especial, aos organizadores do volume.
S nos resta desejar a todos boa leitura, boas discusses e reflexes tcnicas, assim
como boas discusses e reflexes acerca de nosso papel na sociedade, da importncia
da nossa competncia conjunta e do ENADE nesse processo.
Bernardo Copstein
Coordenador Acadmico
da FACIN

Fernando Lus Dotti


Diretor da FACIN

COMENTADO

COMPUTAO
2011

QUESTO 09
Seja A um conjunto e seja ~ uma relao entre pares de elementos de A.
Diz-se que ~ uma relao de equivalncia entre pares de elementos de A se as seguintes propriedades so verificadas, para quaisquer elementos a, a e a de A:
(i) a ~ a;
(ii) se a ~ a, ento a ~ a;
(iii) se a ~ a e a ~ a, ento a ~ a.
Uma classe de equivalncia do elemento a de A com respeito relao ~ o conjunto

O conjunto quociente de A pela relao de equivalncia ~ o conjunto de todas as classes de equivalncia relativamente relao ~, definido e denotado como a seguir:

A funo

chamada projeo cannica e definida como

Considerando as definies acima, analise as afirmaes a seguir.


I. A relao de equivalncia ~ no conjunto A particiona o conjunto A em subconjuntos disjuntos:
as classes de equivalncia.
II. A unio das classes de equivalncia da relao de equivalncia ~ no conjunto A resulta no
conjunto das partes de A.
III. As trs relaes seguintes


so relaes de equivalncia no conjunto dos nmeros inteiros Z .
IV. Qualquer relao de equivalncia no conjunto A proveniente de sua projeo cannica.

correto apenas o que se afirma em


A. II.
B. III.

COMENTADO

C. I e III.
D. I e IV.
E. II e IV.
Resposta: alternativa (D)
Autores: Rafael Heitor Bordini e Alfio Ricardo de Brito Martini

COMENTRIO
No incio da questo dada a definio de uma relao de equivalncia. Uma relao entre elementos de um mesmo conjunto dita de equivalncia se ela for reflexiva, como formalizado no item
I, simtrica, como formalizado no item II, e transitiva, como formalizado no item III. A relao de
igualdade entre expresses aritmticas, com a qual somos todos muito familiarizados, um exemplo
de uma relao de equivalncia, em que vale, por exemplo: 5 = 5 (por reflexividade); como 5 = 4 + 1,
ento, 4 + 1 = 5 (por simetria); 3 + 3 = 6 e 6 = 2 + 4, ento, 3 + 3 = 2 + 4 (por transitividade).
Toda relao de equivalncia particiona o conjunto sobre a qual ela definida em classes de equivalncia. Por exemplo, a classe de equivalncia do elemento 5, na notao dada 5, o conjunto {5,
1+4, 6-1, (2*2)+1, 2+3, ...}. Note que 1+4 o mesmo conjunto de 5. Note ainda que a definio de A/~
afirma que, por exemplo, 5 e 1+4 so elementos de A/~, mas como A/~ um conjunto, no h elementos
repetidos. Portanto, A/~ tem todas (e somente) as classes de equivalncias diferentes em que a relao
de igualdade particiona o conjunto A.
Pela assinatura da funo podemos ver que para um elemento de A ela retorna uma das classes
de equivalncia (que so todas elementos de A/~); a projeo retorna em particular aquela classe de
equivalncia da qual o elemento de A recebido como entrada faz parte. Ou seja, essa funo retorna

para cada elemento de A a sua classe de equivalncia em A, portanto no nosso exemplo (5) = (1+4)
= {5, 1+4, 6-1, (2*2)+1, 2+3, ...}, i.e., o conjunto que definimos acima.
Analisando, ento, cada uma das afirmaes da questo, temos:
I. Toda relao de equivalncia particiona o conjunto em classes de equivalncia disjuntas, isso
sabido. No exemplo, veja que 5 e 4 + 1 somente podem pertencer mesma classe de equivalncia
junto a toda expresso cujo valor 5 e no podem pertencer classe daquelas que velem 6 ou
4 etc. A afirmativa est, portanto, correta.
II. No nosso exemplo podemos imaginar que existem muitas classes de equivalncias mas no
difcil perceber que h muito mais conjuntos no conjunto das partes do conjunto das expresses
aritmticas. Por exemplo, {5}, {5, 4+1}, {4+1}, {5, 4+1, 2+3}, etc. so todos elementos do conjunto
das partes, porm a unio deles todos forma um nico elemento do conjunto das classes de
equivalncia. Essa afirmativa, portanto, est incorreta.
III. Como vimos no exemplo, igualdade uma relao de equivalncia. Da mesma forma que igualdade
uma relao de equivalncia tpica, desigualdades como no so relaes de equivalncia,
Veja, por exemplo, que 6 5, mas no o caso que 5 6, portanto a relao no reflexiva.

COMENTADO

Assim j sabemos que a afirmativa incorreta. Por curiosidade, vejam que para n=5, 2 -8 pois
2 - (-8) 10 e 5 divisor de 10, da mesma forma -8 2 pois 5 tambm divide -10 (i.e., -8 - 2). A
relao claramente reflexiva e transitiva tambm e, portanto, relao de equivalncia.
IV. Para quaisquer a, b A, a ~ b se e somente se (a)=(b). Isto , a relao de equivalncia recuperada tendo-se o mapeamento natural :AA/~.A afirmativa est, portanto, correta.

REFERNCIAS
HEIN, JAMES. Discrete Structures, Logic and Computability. Jones and Bartlett, 2009.
PRATHER, Ronald. Discrete Mathematical Structures for Computer Science. Houghton Mifflin Harcourt, 1989.
ROSEN, Kenneth. Discrete Mathematics and its Applications. McGraw-Hill, 2011.
WECHLER, WOLFGANG. Universal Algebra for Computer Scientists. Nova York: Springer Verlag, 2012.

10

COMENTADO

COMPUTAO
2011

QUESTO 10
Em determinado perodo letivo, cada estudante de um curso universitrio tem aulas com um de trs
professores, esses identificados pelas letras X, Y e Z. As quantidades de estudantes (homens e mulheres) que tm aulas com cada professor apresentada na tabela de contingncia abaixo.
Professor X

Professor Y

Professor Z

Estudantes
homens

45

32

Estudantes
mulheres

67

A partir do grupo de estudantes desse curso universitrio, escolhe-se um estudante ao acaso. Qual
a probabilidade de que esse estudante seja mulher, dado que ele tem aulas apenas com o professor X?

A. 61
73
B. 61
155
C. 67
155
D. 22
112
E. 67
112
Resposta: alternativa (E)
Autor: Hlio Radke Bittencourt

11

COMENTADO

COMENTRIO
Esta uma questo que pode ser resolvida de maneira intuitiva, sem o conhecimento formal da
Teoria de Probabilidade. Quando a pergunta menciona apenas ao professor X, isso significa que apenas
os alunos desse professor devem ser considerados (45 + 67 = 112). Portanto, dentre os 112 alunos do
professor X, temos 67 mulheres, levando a escolha da alternativa E, 67/112.
Formalmente, a soluo da questo passaria pelo conhecimento de probabilidade condicional. Isso
complicaria uma questo que , por natureza, fcil.
Pela definio formal, teramos:

P ( Mulher | X ) =

P( Mulher X ) 67 / 155
67
155 67
15/ 5 67
=
=

=
P( X )
112 / 155 155 112 15/ 5 112 112

REFERNCIAS
BUSSAB, W. O; MORETTIN, P. A. Estatstica Bsica. 5. ed. So Paulo: Saraiva, 2002.
MEYER, Paul L. Probabilidade: aplicaes Estatstica. Rio de Janeiro: LTC, 2000.

12

COMENTADO

COMPUTAO
2011

QUESTO 11
O problema da parada para mquinas de Turing, ou simplesmente problema da parada, pode ser
assim descrito: determinar, para quaisquer mquinas de Turing M e palavra w, se M ir eventualmente
parar com entrada w.
Mais informalmente, o mesmo problema tambm pode ser assim descrito: dados um algoritmo e
uma entrada finita, decidir se o algoritmo termina ou se executar indefinidamente.
Para o problema da parada,
A. existe algoritmo exato de tempo de execuo polinomial para solucion-lo.
B. existe algoritmo exato de tempo de execuo exponencial para solucion-lo.
C. no existe algoritmo que o solucione, no importa quanto tempo seja disponibilizado.
D. no existe algoritmo exato, mas existe algoritmo de aproximao de tempo de execuo polinomial
que o soluciona, fornecendo respostas aproximadas.
E. no existe algoritmo exato, mas existe algoritmo de aproximao de tempo de execuo exponencial
que o soluciona, fornecendo respostas aproximadas.
Resposta: alternativa (C)
Autora: Beatriz Regina Tavares Franciosi

COMENTRIO
A resposta correta a que consta na alternativa C.
O problema da parada pode ser definido como:
Seja S o conjunto de todos os pares (A,D), em que A um algoritmo, e D, dado de entrada;
(A,D) tem a propriedade P se o algoritmo A, quando recebe o dado D, eventualmente produz um
resultado (ou seja, eventualmente para).

13

COMENTADO

A tese de Church-Turing mostra que o problema da parada no decidvel, ou seja, no existe um


algoritmo H tal que para todo (A,D) que pertence S:
H(A,D)=

1 se A(D) eventualmente para;


0 caso contrrio

A prova informal de que tal H no existe obtida por contradio.


Suponha que H existe. Seja C o algoritmo: entrada A; executa H(A,A); se H(A,A)=0, ento, retorna
1, seno entra em loop.
Ento, A,(H(A,A)=0 A(A) eventualmente para H(A,A)=0) (pois H funo total) e A,(H(A,A)=0
A(A) eventualmente para).
Tomando A como sendo C, obtemos que C(C) eventualmente para, se e somente se C(C) eventualmente para, e isto uma contradio!
Logo, no existe um algoritmo que solucione o problema.
As respostas das alternativas A e B no esto corretas, pois afirmam que existe um algoritmo que
resolve o problema.
As respostas das alternativas D e E no esto corretas, pois afirmam que existe um algoritmo de
aproximao e, pelo exposto na justificativa da resposta correta, tal algoritmo no existe.

REFERNCIAS
HOPCROFT, John E.; MOTWANI, Rajeev; ULLMAN, Jeffrey D. Introduo teoria de autmatos, linguagens e
computao. Elsevier, 2003.
BOOLOS, George S.; JEFFREY, Richard C. Computability and logic. 3. ed. Cambridge University Press, 1990.

14

COMENTADO

COMPUTAO
2011

QUESTO 12
Considere a gramtica a seguir, em que S, A e B so smbolos no terminais, 0 e 1 so terminais

e a cadeia vazia.

A respeito dessa gramtica, analise as afirmaes a seguir.


I. Nas cadeias geradas por essa gramtica, o ltimo smbolo 1.
II. O nmero de zeros consecutivos nas cadeias geradas pela gramtica , no mximo, dois.
III. O nmero de uns em cada cadeia gerada pela gramtica maior que o nmero de zeros.
IV. Nas cadeias geradas por essa gramtica, todos os uns esto esquerda de todos os
zeros.
correto apenas o que se afirma em
A. I.
B. II.
C. I e III.
D. II e IV.
E. III e IV.
Resposta: alternativa (B)
Autor: Jlio Henrique Arajo Pereira Machado

COMENTRIO
A questo apresentada est relacionada aos conceitos de Gramticas Regulares e Linguagens
Regulares da disciplina de Linguagens Formais. uma questo de fcil resoluo a partir da correta
aplicao das regras de derivao da gramtica para a construo de palavras.
A tcnica a ser utilizada para a justificativa de uma alternativa como falsa a apresentao de um
contraexemplo de sequncia de derivaes que demonstre a falsidade.

15

COMENTADO

A afirmativa I deve ser considerada falsa. O contraexemplo a gerao da palavra-vazia a partir


do smbolo inicial S (nota do autor: essa uma suposio, j que a questo pode ser considerada mal
construda j que no informa qual dos smbolos, S, A ou B, o smbolo inicial).
S => e (aplicao da regra S->e)
A afirmativa II verdadeira. Considere a seguinte sequncia de derivaes, na qual W representa
uma cadeia de smbolos terminais. A derivao demonstra as duas nicas regras que podem ser aplicadas a qualquer momento para remover o smbolo terminal B da palavra sendo gerada, de forma que
nmero de zeros consecutivos ser sempre no mximo dois.

S =>* W0A

=> W00B (Aplicao da regra S->0B a nica que gera zeros seguidos.)

=> W001S (Aplicao da regra B->1S.)

ou

=> W00 (Aplicao da regra B->e.)

A afirmativa III trivialmente falsa, j que a palavra-vazia pertence ao conjunto de palavras da linguagem gerada pela gramtica apresentada. Ou seja, a quantidade zero de smbolos uns e zeros torna
a afirmativa falsa. A seguinte sequncia de derivaes o contraexemplo que justifica a afirmativa.
S => e (aplicao da regra S->e)
A afirmativa IV deve ser considerada falsa, pois possvel gerar a palavra 01 (na qual uns aparecem
direita de zeros) a partir da seguinte sequncia de derivaes do contraexemplo.

S => 0A (Aplicao da regra S->0A.)

S => 01S (Aplicao da regra A->1S.)

S => 01 (Aplicao da regra S->e.)

REFERNCIA
HOPCROFT, John E; ULLMAN, Jeffrey D; MOTWANI, Rajeev. Introduo teoria de autmatos, linguagens e
computao. Rio de Janeiro: Elsevier, 2003.

16

COMENTADO

COMPUTAO
2011

QUESTO 13 (ANULADA)
O problema do escalonamento de intervalos tem como entrada um conjunto de intervalos numricos
(usualmente interpretados como incio e fim de atividades), e o objetivo escolher, desse conjunto, o
maior nmero possvel de intervalos disjuntos dois a dois. H vrios problemas prticos que podem ser
modelados dessa forma, como, por exemplo, a seleo de tarefas com horrio marcado.
O problema do escalonamento de intervalos pode ser resolvido com o algoritmo descrito a seguir. O
conjunto de intervalos dados inicialmente R e o conjunto de intervalos escolhidos, A, comea vazio.
enquanto R no
seja x o
interseo com
retire x

estiver vazio,
intervalo de R com menor tempo de trmino, e que no tenha
algum intervalo em A
de R e adicione ao conjunto A retorne A

A respeito desse algoritmo, analise as seguintes asseres. Para checar se o algoritmo est correto,
basta verificar que o primeiro intervalo adicionado ao conjunto A necessariamente faz parte de uma
soluo tima.

PORQUE
Pode-se mostrar, por induo no nmero mximo de intervalos calculados (ou seja, no nmero
de vezes que o lao enquanto executado), que, embora possa haver solues to boas quanto A,

nenhuma delas estritamente melhor que A. O conjunto com um nico intervalo a base de induo.
Acerca dessas asseres, assinale a opo correta.

A. As duas asseres so proposies verdadeiras, e a segunda uma justificativa correta da primeira.


B. As duas asseres so proposies verdadeiras, mas a segunda no uma justificativa correta
da primeira.
C. A primeira assero uma proposio verdadeira, e a segunda, uma proposio falsa.
D. A segunda assero uma proposio falsa e a segunda, uma proposio verdadeira.
E. Tanto a primeira quanto a segunda asseres so proposies falsas.

17

COMENTADO

COMPUTAO
2011

QUESTO 14
Observe o diagrama de Venn a seguir.

A funo representada em azul no diagrama tambm poderia ser expressa pela funo lgica

A.
B.
C.
D.
E.
Resposta: alternativa (E)
Autor: Filipe Jaeger Zabala

18

COMENTADO

COMENTRIO
Esta questo aplica conceitos de Teoria de Conjuntos e Funes (IEZZI; MURAKAMI, 2013, 77-A e
78-A). Inicialmente aplica-se a propriedade distributiva no primeiro termo da funo em cada item, na
forma geral , equivalente distributiva da interseco em relao unio , (IEZZI; MURAKAMI, 2013,
31-A). Pode-se ento descrever as relaes de maneira mais intuitiva atravs diagramas de Venn e da
notao de conjunto:

REFERNCIAS
ALENCAR FILHO, E. Teoria elementar dos conjuntos. So Paulo: Nobel, 1976.
IEZZI, G; MURAKAMI, C. Matemtica Elementar Conjuntos e Funes. 9. ed. So Paulo: Editora Atual, 2013.

19

COMENTADO

COMPUTAO
2011

QUESTO 15
Suponha que seja necessrio desenvolver uma ferramenta que apresente o endereo IP dos mltiplos
roteadores, salto a salto, que compem o caminho do hospedeiro em que a ferramenta executada at
um determinado destino (segundo seu endereo IP), assim como o round-trip time at cada roteador.
Tal ferramenta precisa funcionar na Internet atual, sem demandar mudanas em roteadores nem a
introduo de novos protocolos.
Considerando o problema acima, qual dos seguintes protocolos representaria a melhor (mais simples
e eficiente) soluo?
A. IP: Internet Protocol.
B. UDP: User Datagram Protocol.
C. TCP: Transmission Control Protocol.
D. ICMP: Internet Control Message Protocol.
E. DHCP: Dynamic Host Configuration Protocol.
Resposta: alternativa (D)
Autoras: Ana Cristina Benso da Silva e Cristina Moreira Nunes

COMENTRIO
A questo solicita que se identifique qual dos protocolos, vigentes na pilha TCP/IP, pode ser utilizado na construo de uma ferramenta que trace o caminho entre o hospedeiro (origem) e um destino,
identificando o endereo IP de cada roteador intemedirio e o round-trip time at o mesmo.
O gabarito apresenta a alterantiva D como resposta, ou seja, o protocolo ICMP. O protocolo ICMP
o protocolo de controle da pilha TCP/IP, que gera mensagens de erro para informar a uma origem o
motivo pelo qual os datagramas enviados no chegaram ao seu destinatrio, bem como gera mensagens
que permitem testar a alacanabilidade de um destino.
Assim, o hospedeiro pode enviar mensagens do tipo ICMP Echo Request para um destinatrio, variando o TTL (Time to Live) do datagrama IP, ou seja, a primeira mensagem ter TTL igual 1, a segunda,
TTL igual 2, e assim sucessivamente at alcanar o destino. Essas mensagens sero processadas a
cada roteador intermedirio (salto a salto). Em cada roteador o TTL ser decrementado de 1 (um) salto

20

COMENTADO

e, naquele em que o decremento resultar em 0 (zero), o datagrama ser descartado e ser enviada
uma mensagem ICMP Time to Live Exceeded in Transit para o hospedeiro. Nesta mensagem, o IP de
origem, no datagrama IP, o endereo do roteador que realizou o descarte. O round-trip time tem de
ser controlado pela aplicao, ou seja, a aplicao deve manter um timestamp das mensagens enviadas
e o timestamp para as mensagens recebidas, a fim de calcular o tempo.
Aps passar pelo ltimo roteador, com TTL igual ao nmero de roteadores mais 1 (um), a mensagem
chegar ao host destino. Nesse caso, o host no far o decremento do TTL e o descarte do datagrama.
O host ir responder mensagem gerada pela origem, que continha um ICMP Echo Request, enviando uma mensagem do tipo ICMP Echo Reply. A origem poder ento constatar que atingiu o destino.

REFERNCIAS
COMER, Douglas. Internetworking with TCP/IP. 6. ed. Boston: Addison-Wesley, 2013, v. 1. 744p.
TANENBAUM, A. Computer Networks. 5. ed. Upper Saddle River: Prentice Hall, 2010. 960p.

21

COMENTADO

COMPUTAO
2011

QUESTO 16
Um navegador Web executa em um hospedeiro A, em uma rede de uma organizao, e acessa
uma pgina localizada de um servidor Web em um hospedeiro B, situado em outra rede na Internet. A
rede em que A se situa conta com um servidor DNS local. Um profissional deseja fazer uma lista com
a sequncia de protocolos empregados e comparar com o resultado apresentado por uma ferramenta
de monitoramento executada no hospedeiro A. A lista assume que
I. todas as tabelas com informaes temporrias e caches esto vazias;
II. o hospedeiro cliente est configurado com o endereo IP do servidor DNS local.

Qual das sequncias a seguir representa a ordem em que mensagens, segmentos e pacotes sero
observados em um meio fsico ao serem enviados pelo hospedeiro A?
A. ARP, DNS/UDP/IP, TCP/IP e HTTP/TCP/IP.
B. ARP, DNS/UDP/IP, HTTP/TCP/IP e TCP/IP.
C. DNS/UDP/IP, ARP, HTTP/TCP/IP e TCP/IP.
D. DNS/UDP/IP, ARP, TCP/IP e HTTP/TCP/IP.
E. HTTP/TCP/IP, TCP/IP, DNS/UDP/IP e ARP.
Resposta: alternativa (A)
Autoras: Cristina Moreira Nunes e Ana Cristina Benso da Silva

COMENTRIO
Quando tentamos acessar uma pgina Web, o protocolo HTTP utilizado para encapsular a requisio. Esse protocolo utiliza o protocolo TCP como transporte, que encapsulado no protocolo IP e
posteriormente no protocolo utilizado pela placa de rede. Para a requisio HTTP poder ser enviada
pela mquina, uma srie de passos anteriores so necessrios:
1) o nome do servidor Web digitado no browser pelo usurio precisa ser mapeado em seu endereo
IP atravs do DNS. Como a consulta ao servidor de DNS precisa passar pela rede, o protocolo ARP
utilizado para descobrir o endereo MAC da prxima mquina que deve receber a requisio. Assim,
este protocolo (ARP) ser o primeiro a ser transmitido pela mquina do usurio;
22

COMENTADO

2) sabendo o endereo MAC da prxima mquina, possvel utilizar o protocolo DNS para fazer o
mapeamento do nome do servidor Web em seu endereo IP. Para a mensagem do protocolo DNS sair da
mquina do usurio, a mesma encapsulada no protocolo UDP, o qual encapsulado pelo protocolo IP;
3) depois de descoberto o endereo IP do servidor Web, a requisio do protocolo HTTP pode ser
montada. Contudo, como o protocolo HTTP utiliza o protocolo TCP como transporte e o protocolo TCP
orientado conexo, o estabelecimento da conexo TCP com o servidor Web precisa ser realizado.
As mensagens enviadas pelo protocolo TCP so sempre encapsuladas no protocolo IP;
4) ao ser estabelecida a conexo TCP com o servidor Web, a requisio do protocolo HTTP pode
ser enviada. Esta requisio encapsulada pelo protocolo TCP, que encapsulado pelo protocolo IP.

REFERNCIAS
COMER, D. E. Interligao de redes com TCP/IP. Rio de Janeiro: Campus, 2006, v. 1.
TANENBAUM, A.; WETHERALL, D. Redes de Computadores. 5. ed. Pearson Education,2011.

23

COMENTADO

COMPUTAO
2011

QUESTO 17
A tabela a seguir apresenta a relao de mintermos e maxtermos para trs variveis.

Analise o circuito de quatro variveis a seguir.

Considerando esse circuito, as funes f e g so, respectivamente,


A. m(0,1,2,3,6,7,8,9) e m(2,3,6,7,10,14).
B. m(4,5,10,11,12,13,14,15) e m(0,1,4,5,8,9,11,12,13,15).
24

COMENTADO

C. M(0,1,2,3,6,7,8,9) e M(0,1,4,5,8,9,11,12,13,15).
D. M(4,5,10,11,12,13,14,15) e m(2,3,6,7,10,14).
E. M(4,5,10,11,12,13,14,15) e M(2,3,6,7,10,14).
Resposta: alternativa (B)
Autor: Csar Augusto Missio Marcon

COMENTRIO
Ao propagar as entradas pelas portas lgicas do circuito apresentado, a funo f pode ser capturada
por uma soma de produtos, enquanto a funo g, por um produto de somas:
f=x x +x
x
1

+x)
g = (x1 +
x3) . (x
3
4

Um mintermo de uma funo pode ser expandido com todos os componentes que ele representa,
o que equivale a dizer todas as combinaes implicitamente representadas no mintermo. Por exemplo,
para um universo de duas variveis A e B, se uma funo q igual a apenas A (q = A), ento, todas as

combinaes de B esto implcitas na equao, o que equivale a dizer que q = A B + A B.


Reescrevendo os mintermos de f temos:
x1 x3 x1
x 2 x3
x4 + x1
x2 x3 x4 + x1 x2 x3
x4 + x1 x2 x3 x4 Sm(10, 11, 14, 15)
x
x
x x
x
x +
x x
x x +x x
x
x +x x
x x Sm(4, 5, 12, 13)
2

Logo:
f = Sm(4, 5, 10, 11, 12, 13, 14, 15)
Multiplicando os produtos de g, este passa a ser representado por uma soma de produtos:
g=x
x +
x +
x x +x x
1

Tendo em vista que o mintermo com apenas


x3 contm todos os demais mintermos que tm esta
mesma entrada, ento, g pode ser reescrita como:
g=
x +x x
3

Reescrevendo os mintermos de g, temos:

x3 x1
x2
x3
x4 +
x1
x2
x3 x4 +
x1 x2
x3
x4 +
x1 x2
x3 x4
x
x
x
x +x
x
x x +x x
x
x +x x
x x Sm(0,1,4,5,8,9,12,13)
1

x1 x4 x1
x2
x3 x4 + x1
x2 x3 x4 + x1 x2
x3 x4 + x1 x2 x3 x4 Sm(9, 11, 13, 15)
Logo:
g = Sm(0, 1, 4, 5, 8, 9, 11, 12, 13, 15)

REFERNCIAS
PEDRONI, Voleni A. Eletrnica Digital Moderna e VHDL. Rio de Janeiro: Elsevier, 2011. 620p.

25

COMENTADO

COMPUTAO
2011

QUESTO 18
Um vendedor de artigos de pesca obteve com um amigo o cdigo executvel (j compilado) de um
programa que gerencia vendas e faz o controle de estoque, com o intuito de us-lo em sua loja. Segundo
o seu amigo, o referido programa foi compilado em seu sistema computacional pessoal (sistema A) e
funciona corretamente. O vendedor constatou que o programa executvel tambm funciona corretamente no sistema computacional de sua loja (sistema B). Considerando a situao relatada, analise as
afirmaes a seguir.
I. Os computadores poderiam ter quantidades diferentes de ncleos (cores).
II. As chamadas ao sistema (system call) do sistema operacional no sistema A devem ser compatveis com as do sistema B.
III. O conjunto de instrues do sistema A poderia ser diferente do conjunto de instrues do sistema B.
IV. Se os registradores do sistema A forem de 64 bits, os registradores do sistema B poderiam ser
de 32 bits.

correto o que se afirma em


A. III, apenas.
B. I e II, apenas.
C. III e IV, apenas.
D. I, II e IV, apenas.
E. I, II, III e IV.

Resposta: alternativa (B)


Autor: Edson Ifarraguirre Moreno

COMENTRIO
Um programa/arquivo/cdigo executvel gerado para um sistema computacional especfico. Aqui,
entende-se um sistema computacional como o conjunto bsico composto por um processador-alvo, ou
famlia de processadores compatveis (e.g., x86), e um sistema operacional-alvo, ou famlia de sistema
operacional compatvel (e.g., Linux).
26

COMENTADO

Um programa executvel normalmente obtido a partir de uma descrio realizada a partir de uma
linguagem de alto nvel de abstrao, tal como C++, chamada de cdigo-fonte. Esse cdigo normalmente implementado de forma independente do sistema computacional alvo. O vnculo com o sistema
computacional alvo se d quando h uso de um compilador para obteno do cdigo executvel. Um
compilador uma ferramenta responsvel pela traduo do cdigo fonte, de alto nvel de abstrao, em
um cdigo objeto, o qual est vinculado a um sistema operacional especfico e processador especfico.
Tal vnculo fundamental, pois o cdigo executvel gerado deve conter uma estrutura tal que o permita
ser gerencivel pelo sistema operacional, bem como ser compreendido e executado pelo processador
e pelo sistema operacional.
Sob o ponto de vista do formato do arquivo, cada sistema operacional possui uma forma de interpretar um cdigo executvel. Minimalistamente sendo dito, todo cdigo executvel deve possuir dois
blocos principais: (a) um de informaes acerca do prprio arquivo, tal como organizao do arquivo
e tamanho dos blocos internos; e (b) um com as instrues e dados que compem o programa a ser
executado. A estrutura inicial do arquivo deve ser interpretada pelo sistema operacional quando um
programa executvel lanado (e.g., duplo clique em um arquivo .exe no Windows) a fim de que o
programa possa ser gerenciado pelo sistema operacional. A segunda estrutura do arquivo deve ser tal
que reflita exatamente o conjunto de instrues suportadas por um processador-alvo.
Cada processador idealizado para dar suporte a um vocabulrio finito, conhecido no universo de
arquitetura de computadores como arquitetura de conjunto de instrues (em ingls, Instruction Set Architecture, ISA) ou simplesmente conjunto de instrues. comum que processadores distintos tenham
ISAs distintas e que estes sejam incompatveis. Um exemplo facilmente encontrvel na internet so as
verses de programas executveis para processadores AMD e para processadores x86. O trecho de
cdigo contido no programa executvel nada mais do que um conjunto de representaes binrias as
quais tm relao direta com as instrues suportadas por um determinado processador. Como exemplo,
imagine que uma determinada instruo, contida do trecho de cdigo do programa executvel, contenha
o valor binrio 0x123456 e que este programa fora compilado para o processador xABC. Neste processador, esta instruo teria uma relao de uma operao de soma entre um dado par de registradores.
Mas, se este mesmo cdigo fosse executado em um processador xYZT, a mesma instruo 0x123456
teria relao com outra operao, tal como uma chamada de sistema. Dessa forma, a interpretao de
todo o cdigo no processador xYZT, que no fora planejado como o processador-alvo, deveria levar a
uma execuo que no faria sentido, executando operaes que, postas em sequncia, no gerariam
uma computao vlida.
Levando-se em considerao o que foi comentado e revendo cada uma das afirmaes que foram
apresentadas, pode-se afirmar que:
I Os computadores poderiam ter a quantidades diferentes de ncleos (cores). Verdadeiro, mas
desde que os elementos de processamento (i.e., processadores/ncleos) fossem equivalentes quanto
a sua ISA. O controle do nmero de processadores de responsabilidade do sistema operacional.
Certamente que o conhecimento de que um dado programa ser executado em um sistema de mltiplos processadores permitiria o planejamento deste para o melhor aproveitamento de tal caracterstica.
II As chamadas de sistema (system call) do sistema operacional do sistema A devem ser
compatveis com o do sistema B. Verdadeiro, pois a incompatibilidade entre chamadas de sistema
poderia fazer com que o programa no rodasse de forma equivalente em ambos os sistemas. Uma
chamada de sistema a forma como um programa, sendo executado por um processador, interage com
o sistema operacional. Chamadas de sistema podem ser empregadas para diferentes fins, tais como a

27

COMENTADO

sinalizao da ocorrncia de um erro em um programa (e.g., uma diviso por zero) ou a requisio de
uma leitura de um arquivo de texto armazenado em um disco rgido. Todavia, a forma como tal interao
ocorre, ou iniciada, varia de processador para processador. Da a necessidade de compatibilidade.
III O conjunto de instrues do sistema A pode ser diferente do conjunto de instrues do
sistema B. Falso. Como dito anteriormente, o conjunto de instrues (ISA) a linguagem entendida pelo
processador. Um programa somente pode ser executado corretamente pelo processador-alvo caso o
conjunto de instrues mapeados nesse programa seja compatvel. De forma anloga, imagine que um
programa executvel cujas instrues foram todas mapeadas para palavras em portugus. Dessa forma,
todo processador que v interpretar tal programa deve ter em seu vocabulrio termos em portugus.
Se o processador-alvo conhece to somente vocabulrio em chins, a execuo desse programa no
ocorrer conforme o esperado. Como no texto da Questo 18 o programa que foi executado compatvel entre os dois sistemas, a afirmao III no verdadeira.
IV Se os registradores do sistema A forem de 64 bits, os registradores do sistema B poderiam ser de 32. Falso. Arquiteturas de processadores que trabalham com registradores de 64 bits
possuem instrues que do suporte a tal tipo de caracterstica, ou seja, possuem instrues que
permitem a operao diretamente em 32 bits. Normalmente, por serem uma evoluo de arquiteturas
anteriores elaboradas sobre 32 bits, tais arquiteturas suportam operaes com representaes de 32
bits. O contrrio no verdadeiro. Sendo assim, o conjunto de instrues, e forma de operao, de
processadores de 64 bits suporta programas compilados para essa arquitetura e, muitas vezes, para
arquiteturas de processadores de mesma ISA no que se refere s operaes em 32 bits. J arquiteturas
de 32 bits no do suporte a arquiteturas de 64 bits.
Como concluso, a alternativa B a correta, ou seja, as afirmativas I e II esto corretas.

REFERNCIAS
DE ROSE, Cesar A. F.; NAVAUX, Philippe O. A. Arquiteturas paralelas. Porto Alegre: Sagra Luzzatto, 2003. 152
p. Srie Livros Didticos; 15.
SILBERSCHATZ, Abraham; GALVIN, Peter B.; GAGNE, Greg. Operating system concepts. 7. ed. John Wiley &
sons, 2004. 887p.
STALLINGS, W. Arquitetura e Organizao de Computadores. 8. ed. So Paulo: Pearson, 2010. 640 p.

28

COMENTADO

COMPUTAO
2011

QUESTO 19
Uma equipe est realizando testes com base nos cdigos-fonte de um sistema. Os testes envolvem a
verificao de diversos componentes individualmente, bem como das interfaces entre os componentes.
No contexto apresentado, essa equipe est realizando testes em nvel de
A. unidade.
B. aceitao.
C. sistema e aceitao.
D. integrao e sistema.
E. unidade e integrao.
Resposta: alternativa (E)
Autor: Flvio Moreira de Oliveira

COMENTRIO
Os nveis de teste so nveis de abstrao/granularidade em que so realizadas as atividades de
teste de software. A definio do nvel em que um teste ser realizado determina as fronteiras do artefato de software que ser testado; em consequncia, determina o foco do teste, os defeitos que sero
investigados, o espao de entrada que ser considerado para seleo dos casos de teste, as tcnicas
de teste aplicadas e a descrio dos resultados esperados. Tradicionalmente, consideram-se trs nveis:
A. nvel unitrio ou de unidade;
B. nvel de integrao;
C. nvel de sistema.
No nvel unitrio, o artefato a ser testado uma unidade do software, ou seja, os componentes
testveis mais simples do sistema (para um componente ser testvel, preciso que implemente um
comportamento ou funcionalidade identificvel). A definio do que ser considerado como unidade
depende do paradigma de programao utilizado; no paradigma orientado a objetos, considera-se como
unidade a classe (poder-se-ia argumentar que um mtodo j implementaria um comportamento; no entanto, a experincia demonstra que organizar o teste por classes mais produtivo, pois frequentemente
29

COMENTADO

os mtodos em uma mesma classe interagem entre si para realizar um servio). J no paradigma imperativo, a unidade pode ser um procedimento ou um mdulo, dependendo da complexidade. Os defeitos
investigados so de codificao e o espao de entrada de chamadas ou sequncias de chamadas
de mtodos/funes do componente em teste. Podem ser usadas tcnicas funcionais ou estruturais,
envolvendo anlise do cdigo-fonte. Assim, podemos dizer que o teste no nvel unitrio realizado na
perspectiva do desenvolvedor, em um nvel de abstrao equivalente ao da atividade de codificao.
No nvel de integrao, o artefato a ser testado um subsistema. Tipicamente, a integrao um
processo incremental, integrando componentes em subsistemas e testando-os, depois integrando
subsistemas entre si e testando-os novamente, at construir uma verso completa do sistema. O foco
do teste a investigao de defeitos nos relacionamentos entre os componentes e subsistemas, que
so mais difceis de detectar no teste unitrio. Podem ser reutilizados casos de teste do nvel unitrio,
adicionando outros para exercitar interaes entre os componentes. Tambm aqui podem ser usadas
tcnicas funcionais e estruturais, porm o teste baseado em modelos tem papel importante no nvel de
integrao. Isso porque a especificao dos relacionamentos entre componentes uma informao de
projeto, descrita nos diferentes modelos (lgicos, estruturais, comportamentais) do sistema. Pode-se
dizer, portanto, que o teste no nvel unitrio realizado na perspectiva do projetista ou arquiteto.
No nvel de sistema, o artefato em teste o sistema completo; podemos entender que as etapas
incrementais do nvel de integrao culminam no nvel de sistema, quando todos os subsistemas esto
integrados. O foco do teste aqui a investigao de defeitos do ponto de vista do usurio. Assim, o
espao de entrada determinado pelos requisitos propriamente ditos do sistema, e as tcnicas funcionais sero as mais utilizadas. Tambm no nvel de sistema usual testar os chamados requisitos no
funcionais: desempenho, confiabilidade, usabilidade etc.
Pelo exposto anteriormente, fica evidente que a resposta correta questo a alternativa E, dado
que os testes descritos envolvem a verificao de diversos componentes individualmente, bem como
das interfaces entre os componentes. Logo, so testes no nvel unitrio e de integrao.

REFERNCIAS
DELAMARO, M. E.; MALDONADO, J. C.; JINO, M. Introduo ao Teste de Software. 1. ed. Rio de Janeiro: Elsevier, 2007. 394p.
PEZZ, M; YOUNG M. Teste e Anlise de Software: Processo, Princpios e Tcnicas. Porto Alegre: Bookman,
2008. 512p.

30

COMENTADO

COMPUTAO
2011

QUESTO 20
Considere que G um grafo qualquer e que V e E so os conjuntos de vrtices e de arestas de G,
respectivamente. Considere tambm que grau (v) o grau de um vrtice v pertencente ao conjunto V.
Nesse contexto, analise as seguintes asseres.
Em G, a quantidade de vrtices com grau mpar mpar.
PORQUE
Para G, vale a identidade dada pela expresso

Acerca dessas asseres, assinale a opo correta.


A. As duas asseres so proposies verdadeiras, e a segunda uma justificativa correta da primeira.
B. As duas asseres so proposies verdadeiras, mas a segunda no uma justificativa correta
da primeira.
C. A primeira assero uma proposio verdadeira, e a segunda uma proposio falsa.
D. A primeira assero uma proposio falsa, e a segunda uma proposio verdadeira.
E. Tanto a primeira quanto a segunda asseres so proposies falsas.
Resposta: alternativa (D)
Autor: Marco Aurlio Souza Mangan

COMENTRIO
O contexto da questo formado por definies matemticas. Primeiro a definio de grafo e
em seguida o uso de termos como vrtices, arestas, conjuntos e das relaes grau, somatrio
e aridade. Alguns autores reservam aresta para grafos no dirigidos, entretanto, consideramos o uso
mais amplo, no qual as arestas podem ser dirigidas ou no. Nesse caso, temos que considerar tanto
grafos dirigidos quanto no dirigidos ao avaliar as asseres. A definio de grau no fornecida e
essencial para responder a questo.

31

COMENTADO

Segundo Cormen et al. (2009), o grau de um vrtice em um grafo no direcionado o nmero de


arestas incidentes. Ainda segundo os mesmos autores, o grau de um vrtice em um grafo direcionado
a soma dos graus de entrada e de sada do vrtice.
Imaginemos um grafo G (V, E), sendo V = {a, b} e E = {(a, b)}, os dois vrtices tm grau mpar. Nesse caso, temos um grafo que invalida a primeira assero. Existe apenas uma aresta, ento grau(a) =
0 + 1 = 1 e grau(b) = 1 + 0 = 1, no caso de grafos direcionados. No caso de grafos no direcionados,
grau(a) = 1 e grau(b) = 1, o que mantm o resultado. A validade da assero determinada por um
contraexemplo, como o caso da maior das questes que solicita a avaliao de um regra universal.
Com isso, so eliminadas as alternativas A, B e C.
Toda aresta conecta dois vrtices, logo, cada aresta contribui com o grau total do grafo duas vezes,
uma em cada vrtice que conecta. Portanto, a segunda assero verdadeira. Existe um caso particular, em que uma aresta pode conectar um vrtice a ele mesmo, formando um arco. Neste caso a
contribuio se acumula em um mesmo vrtice. Mesmo assim, o arco gera duas contribuies na soma
de todos os graus do grafo, o que mantm o resultado.
O uso de barras para determinar o nmero de elementos do conjunto E (arestas) pode causar confuso
com a representao da funo mdulo. No contexto a confuso fcil de evitar, pois E um conjunto
e no um tipo escalar. Em portugus, a definio do grafo poderia utilizar a letra A para representar o
conjunto de arestas. O uso da letra E possivelmente deriva do original em ingls, edge.

REFERNCIA
CORMEN, Thomas H. et al. Introduction to algorithms. 3. ed. Cambridge: The MIT Press, 2009.

32

COMENTADO

COMPUTAO
2011

QUESTO 21
No desenvolvimento de um software que analisa bases de DNA, representadas pelas letras A, C,
G, T, utilizou-se as estruturas de dados: pilha e fila. Considere que, se uma sequncia representa uma
pilha, o topo o elemento mais esquerda; e se uma sequncia representa uma fila, a sua frente o
elemento mais esquerda.
Analise o seguinte cenrio: a sequncia inicial ficou armazenada na primeira estrutura de dados na
seguinte ordem: (A,G,T,C,A,G,T,T). Cada elemento foi retirado da primeira estrutura de dados e inserido
na segunda estrutura de dados, e a sequncia ficou armazenada na seguinte ordem: (T,T,G,A,C,T,G,A).
Finalmente, cada elemento foi retirado da segunda estrutura de dados e inserido na terceira estrutura
de dados e a sequncia ficou armazenada na seguinte ordem: (T,T,G,A,C,T,G,A).
Qual a nica sequncia de estruturas de dados apresentadas a seguir pode ter sido usada no cenrio descrito acima?
A. Fila - Pilha - Fila.
B. Fila - Fila - Pilha.
C. Fila - Pilha - Pilha.
D. Pilha - Fila - Pilha.
E. Pilha - Pilha - Pilha.
Resposta: alternativa (A)
Autora: Isabel Harb Manssour

COMENTRIO
A partir do enunciado da questo possvel saber que:

um software analisa bases de DNA;

as bases de DNA so representadas pelas letras A, C, G, T;

as estruturas de dados utilizadas so pilha e fila;

33

COMENTADO

a pilha representada da seguinte maneira:

a fila representada da seguinte maneira:

O enunciado da questo tambm descreve o seguinte cenrio a ser analisado:


sequncia armazenada na primeira estrutura de dados: A,G, T, C, A, G, T, T;

elementos retirados da primeira estrutura de dados e armazenados na segunda estrutura


de dados na seguinte ordem: T, T, G, A, C, T, G, A;

elementos retirados da segunda estrutura de dados e armazenados na terceira estrutura


de dados na seguinte ordem: T, T, G, A, C, T, G, A.

Considerando as definies apresentadas por Goodrich e Tamassia (2007) e Mcallister (2009),


sabe-se que:

Uma Pilha consiste em uma coleo de objetos que so inseridos e removidos em um


nico extremo da estrutura (chamado topo), de acordo com o princpio de acesso aos
dados conhecido por LIFO (Last-In First-Out, ou seja, ltimo a entrar primeiro a sair).
Assim, os elementos so retirados na ordem inversa de sua entrada.

Uma estrutura de dados do tipo Fila tambm consiste em uma coleo de objetos,
porm os mesmos so inseridos e removidos de acordo com o princpio de acesso aos
dados conhecido por FIFO (First-In First-Out, ou seja, primeiro a entrar primeiro a sair).
Assim, os elementos so retirados na mesma ordem de sua entrada.

No cenrio a ser analisado, observa-se que ao passar da primeira para a segunda estrutura de dados, os elementos ficam na ordem inversa, o que possvel, conforme descrito, se a segunda estrutura
de dados for uma pilha.
Por outro lado, ao passar da segunda para a terceira estrutura de dados, a ordem dos dados
mantida, o que possvel se a terceira estrutura de dados for uma fila, como exemplificado passo a
passo a seguir.

34

COMENTADO

35

COMENTADO

Sendo assim, considerando as alternativas, a resposta correta a alternativa A.

REFERNCIAS
GOODRICH, Michael T.; TAMASSIA, Roberto. Estruturas de dados e algoritmos em Java. 4. ed. Porto Alegre:
Bookman, 2007. 600 p.
MCALLISTER, William. Data Structures and Algorithms Using Java. 1. ed. Boston: Jones and Bartlett, 2009. 580 p.

36

COMENTADO

COMPUTAO
2011

QUESTO 22
Considere a seguinte tabela verdade, na qual esto definidas quatro entradas A, B, C e D e uma
sada S.

A menor expresso de chaveamento representada por uma soma de produtos correspondente


sada S
A. AB(D+C)+AD+ABC.
B. AD + ABD+ABC+ABC.
C. AD + ABD+ABC+ABC.
D. (A+D)(A+B+C)(A+B+C+D).
E. (A+D)(A+B+C)(A+B+C+D).
Resposta: alternativa (C)
Autor: Fabiano Hessel

37

COMENTADO

COMENTRIO
A questo trata de minimizao de funes booleanas, cujo resultado deve ser expresso atravs de
uma soma de produtos. Como se trata de soma de produtos, a funo do resultado dever ser composta
por mintermos, nos quais as variveis que possuem valor zero (0) so representadas negadas e as variveis com valor um (1) so representadas afirmadas. Para fins de soluo da questo, nos interessam
todos os mintermos nos quais a funo responde a um (1) como resultado de sada.
Para solucionar essa questo, podemos utilizar qualquer mtodo de minimizao de funes booleanas, como, por exemplo, os teoremas da lgebra de Boole ou mapas de Karnaugh. Neste caso,
a maneira mais simples e rpida para determinar a expresso mnima que representa a sada S a
utilizao dos mapas de Karnaugh.
Mapa de Karnaugh uma ferramenta de auxlio minimizao de funes booleanas que utiliza a
tabela verdade dessa funo como base para as simplificaes. Cabe ressaltar que essa ferramenta
bastante til para funes com at seis (6) variveis de entrada. Funes com mais de seis (6) variveis
tornam a utilizao do mapa muito complexa. Para estes casos devemos utilizar solues algortmicas
computacionais. Informaes complementares a respeito de minimizao de funes lgicas e sobre
mapas de Karnaugh podem ser encontradas nas referncias indicadas abaixo.
Assumindo que o leitor tenha conhecimento prvio sobre como montar e utilizar mapas de Karnaugh,
o mapa para a tabela verdade da questo apresentado na Figura 1. Lembrando que iro nos interessar
as sadas nas quais a funo responde um (1).

Figura 1. Mapa de Karnaugh relativo tabela verdade da questo.

Aps construir o mapa, a prxima tarefa encontrar os mintermos que sero utilizados para construir
a expresso final correspondente sada S. Esses termos so encontrados atravs do agrupamento
de 1s adjacentes no mapa. importante lembrar que o agrupamento deve ser retangular e deve possuir uma rea igual a uma potncia de 2. Os retngulos devem ser os maiores possveis, sem conter
nenhum zero (0).

38

COMENTADO

A Figura 2 apresenta os agrupamentos para o mapa da questo.

Figura 2. Possveis agrupamentos para o mapa de Karnaugh da questo.

Mintermos relativos aos agrupamentos da Figura 2:


AD + ABC + ABD + ABC

REFERNCIAS
FLOYD, THOMAS L. Sistemas digitais: fundamentos e aplicaes. 9. ed. Porto Alegre: Bookman, 2007. 888 p.
MONTEIRO, M. A. Introduo Organizao de Computadores. 5. ed. Rio de Janeiro: LTC, 2012.
STALLINGS, W. Arquitetura e Organizao de Computadores. 8. ed. So Paulo: Pearson, 2010.
TANENBAUM, A. S. Organizao Estruturada de Computadores. 5. ed. So Paulo: Pearson, 2007.

39

COMENTADO

COMPUTAO
2011

QUESTO 23
Autmatos finitos possuem diversas aplicaes prticas, como na deteco de sequncias de
caracteres em um texto. A figura abaixo apresenta um autmato que reconhece sequncias sobre o
alfabeto

e uma gramtica livre de contexto que gera um Subconjunto de *, em que

representa o string vazio.


Analisando a gramtica e o autmato acima, conclui-se que
A. a linguagem gerada pela gramtica inerentemente ambgua.
B. a gramtica regular e gera uma linguagem livre de contexto.
C. a linguagem reconhecida pelo autmato a mesma gerada pela gramtica.
D. o autmato reconhece a linguagem sobre em que os strings possuem o prefixo ababc.
E. a linguagem reconhecida pelo autmato a mesma que a representada pela expresso regular

Resposta: alternativa (C)


Autor: Alexandre Agustini

40

COMENTADO

COMENTRIO
O Relatrio Sntese 2011: Computao apresenta o seguinte comentrio: [...] Alm destas duas, as
demais questes com ndice fraco de discriminao, questes 17, 23 e 24 tambm no foram utilizadas
no cmputo final das notas, num total de cinco questes eliminadas (p. 63). Ou seja, a Questo 23 foi
considerada muito difcil e, por no possuir ndice de discriminao, foi eliminada do clculo da nota
final do Enade 2011.
A questo apresenta um autmato finito e uma gramtica para anlise por parte dos estudantes. O
primeiro desafio apresentado o entendimento da linguagem gerada por essas duas representaes.
Iniciemos analisando a gramtica. O smbolo inicial S apresenta trs produes recursivas (aS, bS,
cS), donde se conclui que a linguagem aceita cadeias inicias no formato (a+b+c)*. O caso-base dessa
recurso a produo abA, ou seja, a linguagem gerada passa a ter o formato (a+b+c)*ab. A produo
A apresenta uma regra recursiva abA e uma produo no recursiva (caso-base) abcB. Com isso, podemos reescrever a linguagem gerada na forma: (a+b+c)*ab(ab)*abc. A produo B, finalmente, possui
uma recurso semelhante primeira produo (aB, bB, cC), ou seja, tambm gera a cadeia (a+b+c)*,
com o caso-base sendo a produo vazia. Dessa forma, temos que a linguagem reconhecida pela
gramtica (a+b+c)*ab(ab)*abc(a+b+c)*, e esta pode ser reescrita como (a+b+c)*(ab)*ababc(a+b+c)*,
e, finalmente, como (a+b+c)*ababc(a+b+c)*, ou seja, a gramtica reconhece a linguagem que contm
a substring ababc.
A anlise do autmato um pouco mais complexa, mas uma leitura inicial nos indica que, para realizar a transio do estado inicial 0 ao final 5, necessrio, em algum momento, reconhecer a substring
:ababc (transies 01, 12, .., 45). A questo importante se isso verdadeiro e, tambm, qual
o sufixo dessa substring. Tentemos analisar cada um dos estados:

no estado 0, possvel reconhecer (b+c)*, at que seja realizada uma transio para o
estado 1, com o smbolo a (que o primeiro smbolo de );

o estado 1 reconhece a* e apresenta duas transies para outros estados: no caso de


um c volta ao estado 0, onde nenhum smbolo de foi reconhecido, e com b vai para
o estado 2 (dois smbolos de j reconhecidos);

o estado 2 apresenta duas possibilidades: com a vai para o estado 3 (trs smbolos de
j reconhecidos: aba), ou, com b ou c retorna para o estado inicial, isto , nenhum
smbolo de foi reconhecido;

os estados 3 e 4 seguem a mesma estrutura, reconhecendo, cada um a seu tempo, os


restantes smbolos de ;

as transies do estado 5, finalmente, so bvias e reconhecem o sufixo (a+b+c)*.

importante notar que nos estados 0 a 4 todos os smbolos da entrada so sempre vlidos, e, tambm, a nica forma de atingir o estado final passando pela cadeia . Dessa forma, podemos concluir
que a linguagem aceita pelo autmato (a+b+c)*ababc(a+b+c)*, a mesma da gramtica.
Esta concluso sobre a linguagem aceita por cada formalismo explica a resposta correta: alternativa C.
Segue uma anlise do porqu de as outras alternativas serem falsas.
A alternativa A coloca que a linguagem gerada pela gramtica inerentemente ambgua. Uma linguagem inerentemente ambgua se no h gramtica no ambgua para esta linguagem. Demonstrar
41

COMENTADO

que a gramtica apresentada na questo ambgua bastante simples, basta selecionar a cadeia
ababcababc e demonstrar que a gramtica possui duas rvores de derivao para esta entrada, dadas,
respectivamente, pelas derivaes:
SaSabSabaSababSababcSababcabAababcababcBababcababc
SabAababcBababcaBababcabBababcabaBababcababB
ababcababcB ababcababc
Provar que no existe gramtica no ambgua para a linguagem muito difcil, mas basta apresentarmos uma gramtica no ambgua para provar que a linguagem no inerentemente ambgua. E aqui
o autor da questo deixou uma dica implcita. Se convertermos o autmato apresentado na questo,
ser obtida uma gramtica no ambgua para a linguagem, logo, a alternativa A falsa.
Utilizando os no terminais A a F, representando, respectivamente, os estados 0 a 5 do autmato temos a gramtica no ambgua:
A bA | cA | aB
B aB | cA | bC

C bA | cA | aD

D cA | aB | bE
E aD | bA | cF
F aF | bF | cF |
A alternativa B falsa, alm de a gramtica apresentada no ser regular, linguagens regulares no
geram linguagens livres de contexto.
A alternativa D facilmente demonstrvel como falsa pois a cadeia aaababc reconhecida pelo
autmato e no contm o prefixo ababc.
A alternativa E , tambm, facilmente demonstrvel como falsa pois a expresso apresentada gera
a cadeia abc, que no reconhecida nem pelo autmato nem pela linguagem.

REFERNCIAS
AHO, A. V.; SETHI, S.; ULMMAN, J. D. Compiladores: princpios, tcnicas e ferramentas. 2. ed. So Paulo: Pearson, 2008. 634p.
HOPCROFT, John E.; MOTWANI, Rajeev; ULLMAN, Jeffrey D. Introduo teoria de autmatos, linguagens e
computao.Rio de Janeiro: Elsevier, 2003. 560 p.
INEP. Instituto Nacional de Estudos e Pesquisas Educacionais Ansio Teixeira, Ministrio da Educao, Brasil.
Relatrio Sntese 2011: Computao 2013. Disponvel em: <http://portal.inep.gov.br/enade/relatorio-sintese-2011>.
Acesso em: abr. 2014.

42

COMENTADO

COMPUTAO
2011

QUESTO 24
As filas de prioridades (heaps) so estruturas de dados importantes no projeto de algoritmos. Em
especial, heaps podem ser utilizados na recuperao de informao em grandes bases de dados constitudos por textos. Basicamente, para se exibir o resultado de uma consulta os documentos recuperados
so ordenados de acordo com a relevncia presumida para o usurio. Uma consulta pode recuperar
milhes de documentos que certamente no sero todos examinados. Na verdade, o usurio examina
os primeiros m documentos dos n recuperados, em que m da ordem de algumas dezenas.
Considerando as caractersticas dos heaps e sua aplicao no problema descrito acima, avalie as
seguintes afirmaes.
I. Uma vez que o heap implementado como uma rvore binria de pesquisa essencialmente
completa,o custo computacional para sua construo O(n log n).
II. A implementao de heaps utilizando-se vetores eficiente em tempo de execuo e em espao
de armazenamento, pois o pai de um elemento armazenado na posio i se encontra armazenado na posio 2i+1.
III. O custo computacional para se recuperar de forma ordenada os m documentos mais relevantes
armazenados em um heap de tamanho n O(m log n).
IV. Determinar o documento com maior valor de relevncia armazenado em um heap tem custo
computacional O(1).

Est correto apenas o que se afirma em


A. I e II.
B. II e III.
C. III e IV.
D. I, II e IV.
E. I, III e IV.
Resposta: alternativa (C)
Autor: Joo Batista Souza de Oliveira

43

COMENTADO

COMENTRIO
Vamos analisar o enunciado da questo e as afirmaes dadas. O enunciado fala sobre heaps sem
dar detalhes de estrutura, de implementao ou operao, mas apresenta um caso em que desejamos recuperar os m elementos mais importantes de um heap com n elementos totais. Vamos para as
afirmaes.
A afirmao I informa que heaps so implementados como rvores binrias de pesquisa essencialmente completas e, portanto, o custo de construo de um heap O(n log n).
Anlise: em primeiro lugar, heaps geralmente no so implementados como rvores binrias de
pesquisa. Eles costumam ser modelados como rvores binrias sim, mas no de pesquisa: a regra
geralmente imposta estrutura obriga que o valor do nodo-pai seja maior ou igual aos valores de seus
filhos, o que faz os maiores valores estarem prximos raiz, mas sem preferncia por direita ou esquerda.
Em segundo lugar, mesmo sendo modelado como rvore binria, geralmente a estrutura mapeada
dentro de um array ou vetor, indexado de forma que o nodo 0 seja a raiz da rvore e para cada nodo
na posio i seu filho esquerdo esteja na posio 2i+1 e o direito esteja na posio 2i+2. Isso faz com
que possamos usar o acesso direto do array e torna desnecessrio criar a estrutura (crie um vetor de
15 elementos e desenhe a rvore correspondente: voc confirmar que ela contm todos os elementos
do vetor e balanceada).
Agora que sabemos que o heap estar inserido dentro de um vetor, resta a pergunta de como reorganizar os elementos para que o critrio de ordem (pai maior ou igual a filhos) seja respeitado. Para isso
existem duas formas: se realmente imitarmos uma rvore binria e fizermos n inseres de elementos
na rvore, como a altura dela est limitada a log(n), o desempenho final ser mesmo O(n log n). No
entanto, esta no a maneira mais eficiente, pois melhor comear com a rvore organizada de forma
arbitrria e construir o heap a partir dos nveis inferiores: para cada subrvore, iniciando de baixo, deixamos a raiz da subrvore descer at ser maior do que seus filhos. No incio temos vrias subrvores
pequenas, que vo sendo tratadas aos poucos como subrvores maiores e, com isso, mais elementos
competem para subir na estrutura. A anlise do desempenho dessa operao pode ser encontrada em
vrios livros de algoritmos ou na web e muito interessante. O resultado final que a montagem de
um heap, quando feita a partir dos nveis inferiores, O(n).
Como heaps no so implementados como rvores de pesquisa e sua construo pode ser
feita em tempo menor do que O(n log n), a afirmao I est incorreta.
A afirmao II assevera que o pai de um elemento armazenado na posio i estar na posio 2i+1.
Se for assim, existe um problema imediato: todos os elementos na segunda metade do vetor no tero
pai, por que 2i+1 estar fora do vetor. Como uma rvore s pode ter um nodo sem pai, a raiz, esta afirmao est errada. O certo seria dizer que o pai de um nodo na posio i est na posio floor( (i-1) /
2 ) para um vetor indexado a partir de 0.
Na afirmao III argumenta-se que recuperar os m documentos mais relevantes em um heap de n
elementos custa O(m log n). Recuperar o documento mais relevante simples: basta acessar a posio 0 do vetor, o que custa O(1). No entanto, ao retir-lo do heap, um novo elemento deve tomar o seu
lugar. Este elemento deve ser o maior entre seus dois filhos, que sobe para ocupar a posio e deixa
o seu lugar vago um nvel abaixo. Um de seus filhos deve ocupar o espao e assim sucessivamente
at o ltimo nvel da rvore, que tem O(log n) nveis. S ento o heap est reconstitudo, e fazer esta
operao m vezes custa, portanto, O(m log n). A afirmao est correta.

44

COMENTADO

A afirmao IV diz que encontrar o documento mais importante tem custo O(1). A anlise da afirmao anterior justifica esta resposta, pois o documento mais relevante ter a maior prioridade de todos
e, portanto, tem que estar na raiz do heap, ou seja, na posio 0. O acesso direto, o que custa O(1).
Ao final, apenas as afirmaes III e IV esto corretas, o que leva alternativa C1.

REFERNCIA
CORMEN, Thomas H.; LEISERSON, Charles E.; RIVEST, Ronald L.; STEIN, Clifford. Introduction to Algorithms.
3. ed. Cambridge: MIT Press, 2009.

1 Por outro lado, uma deduo muito elegante do custo da construo de um heap pode ser encontrada em: https://www.
cs.umd.edu/users/meesh/cmsc351/mount/lectures/lect14-heapsort-analysis-part.pdf

45

COMENTADO

COMPUTAO
2011

QUESTO 25
Um Padro de Projeto nomeia, abstrai e identifica os aspectos-chave de uma estrutura de projeto
comum para torn-la til para a criao de um projeto orientado a objetos reutilizveis.
GAMMA, E.; HELM, R.; JOHNSON, R.; VLISSIDES, J.
Padres de Projeto-Solues Reutilizveis de Software Orientado a Objetos.
Porto Alegre: Bookman, 2000.

Em relao a Padres de Projeto, analise as afirmaes a seguir.


I. Prototype um tipo de padro estrutural.
II. Singleton tem por objetivos garantir que uma classe tenha ao menos uma instncia e fornecer
um ponto global de acesso para ela.
III. Template Method tem por objetivo definir o esqueleto de um algoritmo em uma operao, postergando a definio de alguns passos para subclasses.
IV. Iterator fornece uma maneira de acessar sequencialmente os elementos de um objeto agregado
sem expor sua representao subjacente.

correto apenas o que se afirma em


A. I.
B. II.
C. I e IV.
D. II e III.
E. III e IV.
Resposta: alternativa (E)
Autora: Ana Paula Terra Bacelo

COMENTRIO
Esta questo trata a respeito dos Padres de Projeto propostos por Erich Gamma et al. (2000). O
uso de padres uma das tcnicas de reutilizao de software. Alm dessas, podemos considerar o
uso e reso de componentes, linhas de produto de software, dentre outros.
46

COMENTADO

No que se refere a esses padres de projeto, os autores propuseram um catlogo de padres oriundos de solues recorrentes em projetos de desenvolvimento orientado a objetos. Uma das grandes
vantagens no uso de padres de projeto o reso de solues recorrentes e, consequentemente, o
aumento da qualidade e a reduo de custo do software. Esses padres de projeto so descritos atravs
das seguintes propriedades: inteno, motivao, aplicabilidade, implementao, padres relacionados
e a forma como conhecido. Os padres que fazem parte desse catlogo so categorizados como
padres de criao, estrutural e comportamental.
Considerando as afirmativas descritas na questo, pode-se avaliar que:

a afirmativa I est incorreta, pois o Prototype considerado um padro de criao no


catlogo de Padres de Projeto de Erich Gamma et al. (2000);

a afirmativa II est incorreta, pois o padro Singleton garante que uma classe tenha
somente uma nica instncia, e no ao menos uma instncia como descrito na mesma;

a afirmativa III est correta;

a afirmativa IV est correta.

Sendo assim, est correto afirmar que a alternativa E a afirmativa correta dessa questo.

REFERNCIA
GAMMA, E.; HELM, R.; JOHNSON, R. et al. Padres de Projeto Solues Reutilizveis
de Software Orientado a Objetos. Porto Alegre: Bookman, 2000. 363p.

47

COMENTADO

COMPUTAO
2011

QUESTO 26

Um baralho tem 52 cartas, organizadas em 4 naipes, com 13 valores diferentes para cada naipe. Os
valores possveis so: s, 2, 3, ..., 10, J, Q, K.
No jogo de poker, uma das combinaes de 5 cartas mais valiosas o full house, que formado
por trs cartas de mesmo valor e outras duas cartas de mesmo valor. So exemplos de full houses:
I) trs cartas K e duas 10 (como visto na figura) ou
II) trs cartas 4 e duas s.
Quantas possibilidades para full house existem em um baralho de 52 cartas?
A. 156.
B. 624.
C. 1872.
D. 3744.
E. 7488.
Resposta: alternativa (D)
Autor: Srgio Kakuta Kato

COMENTRIO
Dentro de probabilidade, essa questo se enquadra nos modelos discretos, particularmente na
distribuio multinomial. No entanto, devido natureza da questo (cartas de um baralho), ela mais
facilmente resolvida sem aplicao das frmulas, e sim de forma intuitiva, uma vez que cada carta do
baralho tem 2 classificaes distintas (valores e naipe). A forma mais intuitiva e rpida de resoluo
apresenta a seguir.

48

COMENTADO

Num baralho de 52 cartas, existem 13 diferentes valores possveis, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K e


s, para cada naipe. Num jogo de Poker o full house composto por trs cartas do mesmo valor (uma
trinca) e duas cartas de mesmo valor (um par).
Existem 13 diferentes pares possveis. A possibilidade de formar uma trinca se restringe a 12,
pois uma das figuras ser usada para formar um par. Com isso, existem 156 (13*12) composies
de trinca e dupla.
Considerando como exemplo a composio K9, formada por K, K, K, 9, 9. Como o baralho composto por 4 naipes, para a obteno de 3 valores K, existem, ento, 4 combinaes de 3 a 3 (), ou seja,
4 formas diferentes de ter 3 valores K; e existem 4 combinaes 2 a 2 (), ou seja, 6 formas diferentes
de termos dois valores nove.
Essas possibilidades se repetem para cada uma das 156 composies de full house distintas, sendo
assim as possibilidades para full house em um baralho de 52 cartas so:

REFERNCIAS
BUSSAB, W. O; MORETTIN, P. A. Estatstica Bsica. 5. ed. So Paulo: Saraiva, 2002.
MEYER, Paul L. Probabilidade: aplicaes estatstica. Rio de Janeiro: LTC, 1987.

49

COMENTADO

COMPUTAO
2011

QUESTO 27
Um dos problemas clssicos da computao cientfica a multiplicao de matrizes. Assuma que
foram declaradas e inicializadas trs matrizes quadradas de ponto flutuante, a, b e c, cujos ndices variam
entre 0 e n - 1. O seguinte trecho de cdigo pode ser usado para multiplicar matrizes de forma sequencial:
1. for [i = 0 to n - 1] {
2.

for [j = 0 to n - 1] {

3.

c[i, j] = 0.0;

4.

for [k = 0 to n - 1]

5.

c[i, j] = c[i, j] + a[i, k] * b[k, j];

6.
7.

}
}

O objetivo paralelizar esse cdigo para que o tempo de execuo seja reduzido em uma mquina
com mltiplos processadores e memria compartilhada. Suponha que o comando co seja usado para
definio de comandos concorrentes, da seguinte forma: co [i = 0 to n - 1] { x; y; z;} cria n processos concorrentes, cada um executando sequencialmente uma instncia dos comandos x, y, z contidos no bloco.
Avalie as seguintes afirmaes sobre o problema.
I. Esse problema exemplo do que se chama embaraosamente paralelo, porque pode ser decomposto em um conjunto de vrias operaes menores que podem ser executadas independentemente.
II. O programa produziria resultados corretos e em tempo menor do que o sequencial, trocando-se
o for na linha 1 por um co.
III. O programa produziria resultados corretos e em tempo menor do que o sequencial, trocando-se
o for na linha 2 por um co.
IV. O programa produziria resultados corretos e em tempo menor do que o sequencial, trocando-se
ambos for, nas linhas 1 e 2, por co.

correto o que se afirma em


A. I, II e III, apenas.
B. I, II e IV, apenas.
C. I, III e IV, apenas.
D. II, III e IV, apenas.
E. I, II, III, IV.

50

COMENTADO

Resposta: alternativa (E)


Autor: Tiago Ferreto

COMENTRIO
A questo apresenta um trecho de cdigo sequencial para calcular a multiplicao de matrizes quadradas com dimenses n x n. O comando co apresentado para execuo das iteraes do lao de
repetio for de maneira concorrente, considerando o uso de uma mquina multiprocessada e com
memria compartilhada. O comando co anlogo ao uso do comando omp parallel for do padro
OpenMP. Aps a apresentao do problema, a questo pede que um conjunto de afirmaes seja avaliada.
A afirmao I indica que o problema pertence classe dos problemas embaraosamente paralelos
(Embarrassingly Parallel). Esses problemas so caracterizados pela facilidade em dividi-los em tarefas
independentes, devido inexistncia de dependncia entre as tarefas. No problema apresentado, uma
forma direta de paralelizar o trecho de cdigo consiste em substituir o primeiro for (linha 1) pelo comando co. Para garantir o funcionamento correto da verso paralela do problema, deve ser garantida
a inexistncia de dependncias entre as tarefas paralelas (iteraes do for). Analisando o trecho de
cdigo, possvel verificar que cada iterao utilizar um valor diferente na varivel i que utilizado
para indexar as matrizes a e c. Dessa forma, cada iterao ir acessar reas de memria distintas, com
exceo da matriz b, que compartilhada entre as tarefas. Considerando que a matriz b permanece
constante durante toda a execuo, conclui-se que no existe dependncia entre as tarefas e o problema pode ser facilmente paralelizado, sendo considerado como embaraosamente paralelo. Portanto,
a afirmativa I verdadeira.
A afirmao II indica que o programa produziria resultados corretos e em tempo menor do que o
sequencial, trocando-se o for na linha 1 por um co. De acordo com a anlise realizada na afirmao
I, verificou-se que a alterao do for da linha 1 por um co pode ser utilizada, pois no existe dependncia entre as tarefas. Considerando que cada iterao do for da linha 1 leve um tempo T, a verso
sequencial levaria um tempo n * T, e a verso paralela levaria um tempo T utilizando n processadores.
Logo, o tempo seria menor que o sequencial, e a afirmao II verdadeira.
A afirmao III indica que o programa produziria resultados corretos e em tempo menor do que o
sequencial, trocando-se o for na linha 2 por um co. Utilizando o mesmo tipo de anlise realizada
para a afirmao I, deve ser verificado se no existem reas de memria comuns que sejam alteradas
pelas iteraes durante a sua execuo em paralelo. Nesse caso, cada iterao utilizar um valor
distinto para a varivel j, que utilizada para indexar as matrizes c e b. Dessa forma, cada iterao ir
acessar reas de memria distintas, com exceo da matriz a, que compartilhada entre as tarefas.
Considerando que a matriz a permanece constante durante toda a execuo, conclui-se que no existe
dependncia entre as tarefas, e o programa ir produzir resultados corretos. Utilizando a mesma anlise
realizada para a afirmao II, se for considerado que cada iterao do for da linha 2 leve um tempo T,
a verso sequencial (do lao da linha 2) levaria um tempo n * T, e a verso paralela levaria um tempo T
utilizando n processadores. Portanto, o tempo da verso paralela seria menor que a verso sequencial,
e a afirmao III verdadeira.
A afirmao IV indica que o programa produziria resultados corretos e em tempo menor do que o
sequencial, trocando-se ambos os for, nas linhas 1 e 2, por co. Baseando-se nas anlises realizadas
51

COMENTADO

nas afirmaes anteriores, verificou-se que no h dependncia entre as iteraes decorrentes do uso
do comando co nas linhas 1 e 2. Dessa forma, ambos for podem ser substitudos produzindo resultados corretos. Considerando que cada iterao do for da linha 2 leve um tempo T, estima-se que o
tempo total do trecho de cdigo sequencial seria n * n * T. Se fossem utilizados n * n processadores, o
tempo paralelo estimado seria T. Logo, o tempo menor que o sequencial, e a afirmao IV verdadeira.
Considerando que as afirmaes I, II, III e IV so verdadeiras, ento a resposta correta a alternativa E.

REFERNCIAS
GRAMA, A. et al. Introduction to parallel computing. 2. ed. Harlow: Pearson Education, 2003. 636 p.
QUINN, M.J. Parallel Programming in C with MPI and OpenMP. Boston: McGraw Hill,2004. 529 p.

52

COMENTADO

COMPUTAO
2011

QUESTO 28
Algoritmos criados para resolver um mesmo problema podem diferir de forma drstica quanto a
sua eficincia. Para evitar este fato, so utilizadas tcnicas algortmicas, isto , conjunto de tcnicas
que compreendem os mtodos de codificao de algoritmos de forma a salientar sua complexidade,
levando-se em conta a forma pela qual determinado algoritmo chega soluo desejada.
Considerando os diferentes paradigmas e tcnicas de projeto de algoritmos, analise as afirmaes abaixo.
I. A tcnica de tentativa e erro (backtracking) efetua uma escolha tima local, na esperana de
obter uma soluo tima global.
II. A tcnica de diviso e conquista pode ser dividida em trs etapas: dividir a instncia do problema
em duas ou mais instncias menores; resolver as instncias menores recursivamente; obter a
soluo para as instncias originais (maiores) por meio da combinao dessas solues.
III. A tcnica de programao dinmica decompe o processo em um nmero finito de subtarefas
parciais que devem ser exploradas exaustivamente.
IV. O uso de heursticas (ou algoritmos aproximados) caracterizado pela ao de um procedimento
chamar a si prprio, direta ou indiretamente.

correto apenas o que se afirma em


A. I.
B. II.
C. I e IV.
D. II e III.
E. III e IV.
Resposta: alternativa (B)
Autor: Joo Batista Souza de Oliveira

53

COMENTADO

COMENTRIO
Vamos analisar cada afirmativa a seguir.
I. Backtracking explora todo o espao de busca, rejeitando partes dele quando determina que a
soluo desejada no pode estar na parte examinada. No obrigatrio que a escolha da regio
a examinar seja feita de alguma maneira especial, pois o processo geralmente vasculha todo
o espao de qualquer maneira. No entanto, a frase que fala de uma tcnica que faz escolhas
timas locais esperando encontrar um timo global praticamente uma descrio de como
funcionam os algoritmos gulosos.
II. Esta uma descrio curta porm muito acertada da tcnica de diviso e conquista. O problema
deve ser dividido em instncias menores, estas devem ser resolvidas e a resposta do problema
original deve ser reconstituda com as respostas das instncias menores. A afirmao ainda diz que
o processo de soluo recursivo, o que geralmente verdade, mas no foroso que seja assim.
III. Programao dinmica geralmente envolve a recurso e a quebra de problemas em instncias
menores que devem ser resolvidas, mas tambm inclui o uso de tcnicas de acelerao como
memorizao, que servem exatamente para evitar que tenhamos de explorar exaustivamente
as subtarefas parciais, reutilizando seus resultados.
IV. Heurstica a tentativa de aproximao de algoritmos a uma resposta desejada, porm sem
garantia de que ir encontr-la exatamente e usada quando um algoritmo que fornece essa
garantia muito caro para uso prtico. No entanto, no existe nenhuma obrigao de uma
heurstica envolver um procedimento que chame a si mesmo (ou seja, use recurso).

Em consequncia, a nica resposta possvel a alternativa B, que aceita como verdadeira apenas
a afirmao II, sobre diviso e conquista.

REFERNCIA
HOROWITZ, Ellis; SAHNI, Sartaj; RAJASEKARAN, Sanguthevar. Computer Algorithms. Summit: Silicon Press, 2008.

54

COMENTADO

COMPUTAO
2011

QUESTO 29
Uma antiga empresa de desenvolvimento de software resolveu atualizar toda sua infraestrutura computacional adquirindo um sistema operacional multitarefa, processadores multi-core (mltiplos ncleos)
e o uso de uma linguagem de programao com suporte a threads.
O sistema operacional multitarefa de um computador capaz de executar vrios processos (programas) em paralelo. Considerando esses processos implementados com mais de uma thread (multi-threads), analise as afirmaes abaixo.
I. Os ciclos de vida de processos e threads so idnticos.
II. Threads de diferentes processos compartilham memria.
III. Somente processadores multi-core so capazes de executar programas multi-threads.
IV. Em sistemas operacionais multitarefa, threads podem migrar de um processo para outro.

correto apenas o que se afirma em


A. I.
B. II.
C. I e III.
D. I e IV.
E. II e IV.
Resposta: alternativa (A)
Autor: Csar Augusto Fonticielha De Rose

COMENTRIO
Com a proliferao de arquiteturas com vrios ncleos (multi-core), uma das tcnicas para acelerar a execuo de um nico processo nessas mquinas subdividi-lo em vrias linhas de execuo
independentes, chamadas de threads ou processos leves. Dessa forma o escalonador do sistema
operacional pode delegar essas threads para ncleos diferentes do sistema, explorando o paralelismo
da arquitetura no intuito de reduzir o tempo de execuo do processo original.

55

COMENTADO

A nica afirmao correta das 4 apresentadas a afirmao I, pois threads possuem o mesmo ciclo
de vida que processos pesados (so criadas, executam e terminam), passando pelos mesmos estados
(prontas para executar, bloqueadas, terminadas etc.).
Threads compartilham memria apenas quando pertencem ao mesmo processo, de forma que a
afirmao II no est correta.
Programas compostos de vrias threads podem executar tambm em arquiteturas que no sejam
multicore, neste caso concorrendo pelos recursos existentes, o que torna a afirmao III incorreta.
A tendncia neste caso que demorem mais para executar devido menor explorao do potencial
paralelismo entre elas.
Threads podem migrar entre processadores/ncleos de uma mquina durante a execuo, mas
durante seu ciclo de vida sempre pertencem ao mesmo processo, de forma que a afirmao IV no
est correta.

REFERNCIAS
DE ROSE, Cesar A. F.; NAVAUX, Philippe O. A. Arquiteturas paralelas. Porto Alegre: Sagra Luzzatto, 2003. 152
p. (Srie Livros Didticos; 15)
SILBERSCHATZ, Abraham; GALVIN, Peter B.; GAGNE, Greg. Operating system concepts. 7. ed. John Wiley &
sons, 2004. 887p.
TANENBAUM, A. S.; WOODHULL, A. S. Sistemas Operacionais: Projeto e Implementao. 3. ed. Porto Alegre:
Bookman, 2008. 992p.

56

COMENTADO

COMPUTAO
2011

QUESTO 30
Suponha que se queira pesquisar a chave 287 em uma rvore binria de pesquisa com chaves entre
1 e 1 000. Durante uma pesquisa como essa, uma sequncia de chaves examinada.
Cada sequncia abaixo uma suposta sequncia de chaves examinadas em uma busca da chave 287.
I. 7, 342, 199, 201, 310, 258, 287
II. 110, 132, 133, 156, 289, 288, 287
III. 252, 266, 271, 294, 295, 289, 287
IV. 715, 112, 530, 249, 406, 234, 287

vlido apenas o que se apresenta em


A. I.
B. III.
C. I e II.
D. II e IV.
E. III e IV.
Resposta: alternativa (C)
Autor: Michael da Costa Mra

COMENTRIO
Uma rvore Binria de Pesquisa (ABP) uma rvore binria na qual, para cada no x da rvore, se y
um nodo na subrvore da esquerda de x, ento y < x, e se y um nodo na subrvore da direita de x,
ento x y (CORMEN, 2009). Ou seja, para qualquer nodo da rvore, os elementos sua esquerda so
menores do que este, e os sua direita so maiores ou iguais quele nodo. Isso permite que a busca
de uma chave nessa rvore seja otimizada, uma vez que no necessrio percorrer toda a rvore,
mas a cada nodo testar se a chave desejada menor ou maior que a chave corrente, e prosseguir a
busca na subrvore adequada.

57

COMENTADO

Uma consequncia dessa propriedade que a sequncia de busca (ou seja, a sequncia de chaves
testadas em busca da chave desejada) deve gerar uma rvore parcial que respeita essa propriedade.
Por exemplo, na sequncia
I. 7, 342, 199, 201, 310, 258, 287

a rvore parcial gerada seria

e, para cada nodo da rvore, os elementos na subrvore da esquerda so menores que o nodo, e os
elementos na subrvore da direita so maiores ou iguais ao nodo. O mesmo acontece na sequncia II.
J na sequncia:

III. 252, 266, 271, 294, 295, 289, 287

a rvore parcial gerada seria

colocando as chaves 287 e 289 na subrvore da direita da chave 294, violando a propriedade que define uma ABP. Tambm, na sequncia IV, a propriedade violada, pois a chave 234 fica colocada na
subrvore da direita da chave 249. Assim, as sequncias vlidas so as apresentadas em I e II. Logo,
a resposta correta a alternativa C.

58

COMENTADO

REFERNCIA
CORMEN, T.H.; LEISERSON, C.E.; RIVEST, R.L.; STEIN, C. Introduction to Algorithms. Boston (MA): The MIT
Press, 2009.

59

COMENTADO

COMPUTAO
2011

QUESTO 31
Na Sociologia da Educao, o currculo considerado um mecanismo por meio do qual a escola
define o plano educativo para a consecuo do projeto global de educao de uma sociedade, realizando, assim, sua funo social. Considerando o currculo na perspectiva crtica da Educao, avalie
as afirmaes a seguir.
I. O currculo um fenmeno escolar que se desdobra em uma prtica pedaggica expressa por
determinaes do contexto da escola.
II. O currculo reflete uma proposta educacional que inclui o estabelecimento da relao entre o
ensino e a pesquisa, na perspectiva do desenvolvimento profissional docente.
III. O currculo uma realidade objetiva que inviabiliza intervenes, uma vez que o contedo
condio lgica do ensino.
IV. O currculo a expresso da harmonia de valores dominantes inerentes ao processo educativo.

correto apenas o que se afirma em


A. I.
B. II.
C. I e III.
D. II e IV.
E. III e IV.
Resposta: alternativa (B)
Autora: Zuleica Almeida Rangel

COMENTRIO
A afirmao I considerada incorreta na medida em que se distancia do que se entende por currculo
numa perspectiva crtica de Educao. Ao se conceber currculo como trajetria, ao e caminhada
construda de forma coletiva e diferenciada, respeitando cada realidade escolar, tambm o entendemos como processo dinmico, aberto e flexvel. Assim, o currculo passa a ser visto no mais como
um fenmeno escolar que se desdobra em uma prtica pedaggica expressa por determinaes do
contexto da escola, e sim como um processo mutante, sujeito a inmeras influncias, que privilegia o

60

COMENTADO

conhecimento acumulado pela humanidade como ponto de partida, buscando-se as mediaes entre
esse conhecimento e a realidade do aluno.
A afirmao II correta, pois aborda a relao entre o ensino e a pesquisa como aspecto a ser expresso nas propostas educacionais que os currculos abarcam, uma vez que imprescindvel a ao de
educadores e de educandos com a realidade, fundamentada no trabalho com o conhecimento elaborado,
a fim de possibilitar o compreender, o usufruir ou o transformar a realidade (VASCONCELLOS, 2012,
p. 98). A partir dessa ideia, conforme a afirmao, a relao entre o ensino e a pesquisa, na perspectiva
do desenvolvimento profissional docente, o que garante ao professor uma prtica que se estende
perspectiva da formao do aluno, considerando-se, como nos diz Pedro Demo, que o cerne mais palpvel da competncia est na pesquisa, compreendida no s como expediente de construo cientfica,
mas igualmente como processo formativo (1995, p. 53). Ademais, um currculo, na perspectiva crtica
da Educao, deve ser um processo que tenha como objetivos levar o aluno a pensar por si mesmo e
o educador a tomar parte do processo de aquisio do conhecimento.
A afirmao III incorreta, uma vez que o currculo uma prtica dialgica entre agentes sociais,
educandos e educadores, que, juntos, concretizam as funes da escola numa maneira particular de
enfocar os contedos de ensino, num determinado momento histrico e social. O currculo procura
responder a algumas perguntas fundamentais: o que ensinar? Quando ensinar? Como ensinar? O que,
quando e como avaliar? Com quem planejar, ensinar e avaliar? Dessa forma, no pode ser pensado
apenas como um rol de contedos a serem transmitidos para um sujeito passivo [...]. Nesse sentido, o
currculo que nos interessa aquele em que o educando tem oportunidade de entrar no movimento do
conceito (VASCONCELLOS, 2012, p. 99).
A afirmao IV incorreta, pois nega a expresso da funo socializadora e cultural do currculo
da escola, que a de assegurar a seus membros a aquisio da experincia social historicamente
acumulada e socialmente organizada pela humanidade.

REFERNCIA
VASCONCELLOS, Celso dos Santos. Planejamento Projeto de Ensino-Aprendizagem e Projeto Poltico-Pedaggico. Elementos metodolgicos para elaborao e realizao. 22. ed. So Paulo: Libertad Editora, 2012.

61

COMENTADO

COMPUTAO
2011

QUESTO 32
O fazer docente pressupe a realizao de um conjunto de operaes didticas coordenadas entre si.
So o planejamento, a direo do ensino e da aprendizagem e a avaliao, cada uma delas desdobradas
em tarefas ou funes didticas, mas que convergem para a realizao do ensino propriamente dito.
LIBNEO, J. C. Didtica. So Paulo: Cortez, 2004, p. 72.

Considerando que, para desenvolver cada operao didtica inerente ao ato de planejar, executar
e avaliar, o professor precisa dominar certos conhecimentos didticos, avalie quais afirmaes abaixo
se referem a conhecimentos e domnios esperados do professor.
I. Conhecimento dos contedos da disciplina que leciona, bem como capacidade de abord-los
de modo contextualizado.
II. Domnio das tcnicas de elaborao de provas objetivas, por se configurarem instrumentos
quantitativos precisos e fidedignos.
III. Domnio de diferentes mtodos e procedimentos de ensino e capacidade de escolh-los conforme
a natureza dos temas a serem tratados e as caractersticas dos estudantes.
IV. Domnio do contedo do livro didtico adotado, que deve conter todos os contedos a serem
trabalhados durante o ano letivo.

correto apenas o que se afirma em


A. I e II.
B. I e III.
C. II e III.
D. II e IV.
E. III e IV.
Resposta: alternativa (B)
Autora: Ana Lcia Souza de Freitas

62

COMENTADO

COMENTRIO
A afirmao I est correta, pois pressupe que o contedo especfico de uma disciplina um conhecimento necessrio, mas no suficiente para o fazer docente. O que o professor precisa saber para
ensinar (LIMA, 2008), ou seja, o conhecimento profissional docente um tema amplo, que ganha relevncia quando considerado na perspectiva da superao da racionalidade tcnica. Ao longo do sculo
XX, a racionalidade tcnica prevaleceu como referncia para a formao docente, assim como para
outros profissionais, reduzindo a prtica a um espao de aplicao de conhecimentos acadmicos. Tal
perspectiva de formao desconsiderou as singularidades de cada contexto, bem como a dinamicidade das situaes em que a experincia cotidiana requer, juntamente com definies tcnicas, opes
polticas e ticas (GMEZ, 1997).
A afirmao II est incorreta, pois utiliza o conhecimento tcnico a respeito da elaborao de provas
objetivas para justificar a infalibilidade desse tipo de instrumento, desconsiderando as contribuies do
conhecimento pedaggico acerca das limitaes do uso exclusivo de provas, sugerindo que essas sejam
associadas a outros tipos de instrumento para a obteno de dados para a avaliao da aprendizagem
(GRILLO; GESSINGER, 2010).
A afirmao III est correta, pois traz implcita uma concepo ampliada do fazer docente, que inclui o conhecimento pedaggico como um dos componentes relevantes do conhecimento profissional
docente (LIMA, 2008).
A afirmao IV est incorreta, visto que apresenta uma viso restrita do fazer docente, limitada
pelo uso do livro didtico, contrastando visivelmente com a necessidade de sua contextualizao e
complementao.

REFERNCIAS
GMEZ, A. P. O pensamento prtico do professor A formao do professor como profissional reflexivo. In: NVOA, Antnio (org.). Os Professores e a sua Formao. Lisboa: Publicaes Dom Quixote, 1997.
GRILLO, M. C.; GESSINGER, R. M. (Org.).Por que falar ainda em avaliao? Porto Alegre: EDIPUCRS, 2010.
Disponvel em: <http://www.pucrs.br/edipucrs/porquefalaraindaemavaliacao.pdf>. Acesso em: 11 abr. 2014
LIMA, V. M. (Org.) et al. A gesto da aula universitria na PUCRS. Porto Alegre: EDIPUCRS, 2008. Disponvel em:
<http://www.pucrs.br/edipucrs/agestaodaaula.pdf>. Acesso em: 15 abr. 2014.

63

COMENTADO

COMPUTAO
2011

QUESTO 33

Figura. Brasil: Pirmide Etria Absoluta (2010-2040)


Disponvel em: <www.ibge.gov.br/home/estatistica/populacao/projecao_da_populacao/piramide/piramide.shtm>.
Acesso em: 23 ago. 2011.

Com base na projeo da populao brasileira para o perodo 2010-2040 apresentada nos grficos,
avalie as seguintes asseres.
Constata-se a necessidade de construo, em larga escala, em nvel nacional, de escolas
especializadas na Educao de Jovens e Adultos, ao longo dos prximos 30 anos.
PORQUE
Haver, nos prximos 30 anos, aumento populacional na faixa etria de 20 a 60 anos e decrscimo
da populao com idade entre 0 e 20 anos.

64

COMENTADO

A respeito dessas asseres, assinale a opo correta.


A. As duas asseres so proposies verdadeiras, e a segunda uma justificativa correta da primeira.
B. As duas asseres so proposies verdadeiras, mas a segunda no uma justificativa da primeira.
C. A primeira assero uma proposio verdadeira, e a segunda, uma proposio falsa.
D. A primeira assero uma proposio falsa, e a segunda, uma proposio verdadeira.
E. Tanto a primeira quanto a segunda asseres so proposies falsas.
Resposta: alternativa (D)
Autora: Rosana Maria Gessinger

COMENTRIO
A primeira assero falsa, pois, embora a projeo da populao brasileira para o perodo de
2010-2040, apresentada no grfico, indique aumento populacional na faixa etria de 20 a 60 anos, no
possvel supor que essa faixa da populao no estar escolarizada e que necessitar de escolas
especializadas em Educao de Jovens e Adultos.
A segunda assero verdadeira, pois, comparando as regies dos grficos correspondentes
projeo da populao de 0 a 20 anos em 2010 e 2040, percebe-se que h um decrscimo. Com relao projeo da populao de 20 a 60 anos, percebe-se que h um aumento no mesmo perodo.

65

COMENTADO

COMPUTAO
2011

QUESTO 34
Na escola em que Joo professor, existe um laboratrio de informtica, que utilizado para os
estudantes trabalharem contedos em diferentes disciplinas. Considere que Joo quer utilizar o laboratrio para favorecer o processo ensino-aprendizagem, fazendo uso da abordagem da Pedagogia de
Projetos. Nesse caso, seu planejamento deve
A. ter como eixo temtico uma problemtica significativa para os estudantes, considerando as possibilidades tecnolgicas existentes no laboratrio.
B. relacionar os contedos previamente institudos no incio do perodo letivo e os que esto no banco
de dados disponvel nos computadores do laboratrio de informtica.
C. definir os contedos a serem trabalhados, utilizando a relao dos temas institudos no Projeto
Pedaggico da escola e o banco de dados disponvel nos computadores do laboratrio.
D. listar os contedos que devero ser ministrados durante o semestre, considerando a sequncia
apresentada no livro didtico e os programas disponveis nos computadores do laboratrio.
E. propor o estudo dos projetos que foram desenvolvidos pelo governo quanto ao uso de laboratrios de
informtica, relacionando o que consta no livro didtico com as tecnologias existentes no laboratrio.
Resposta: alternativa (A)
Autora: Rosana Maria Gessinger

COMENTRIO
A alternativa A est correta, pois um dos fundamentos da Pedagogia de Projetos a aprendizagem
significativa. Alm disso, a organizao de um projeto pode seguir um eixo, em que o ponto de partida
para a definio do trabalho a ser desenvolvido pelos alunos a escolha do tema, a partir dos interesses e das propostas dos estudantes (HERNNDEZ, 1998). Nessa perspectiva, as possibilidades
tecnolgicas existentes no laboratrio devem ser levadas em considerao, pois podero contribuir
para a execuo do projeto.

66

COMENTADO

As alternativas B, C e D esto incorretas, pois a abordagem da Pedagogia de Projetos no


compatvel com uma organizao prvia de contedos, uma vez que esses so definidos a partir da
definio do tema.
A alternativa E est incorreta, pois no apresenta argumentos tericos pertinentes Pedagogia
de Projetos.

REFERNCIA
HERNANDZ, F.; VENTURA, M. A organizao do currculo por projetos de trabalho: o conhecimento um caleidoscpio. 5. ed. Porto Alegre: Artmed, 1998.

67

COMENTADO

COMPUTAO
2011

QUESTO 35

Muitas vezes, os prprios educadores, por incrvel que parea, tambm vtimas de uma formao
alienante, no sabem o porqu daquilo que do, no sabem o significado daquilo que ensinam e quando
interrogados do respostas evasivas: pr-requisito para as sries seguintes, cai no vestibular, hoje
voc no entende, mas daqui a dez anos vai entender. Muitos alunos acabam acreditando que aquilo
que se aprende na escola no para entender mesmo, que s entendero quando forem adultos, ou
seja, acabam se conformando com o ensino desprovido de sentido.
VASCONCELLOS, C. S. Construo do conhecimento em sala de aula. 13. ed. So Paulo: Libertad, 2002, p. 27-8.

Correlacionando a tirinha de Mafalda e o texto de Vasconcellos, avalie as afirmaes a seguir.


I. O processo de conhecimento deve ser refletido e encaminhado a partir da perspectiva de uma
prtica social.
II. Saber qual conhecimento deve ser ensinado nas escolas continua sendo uma questo nuclear
para o processo pedaggico.
III. O processo de conhecimento deve possibilitar compreender, usufruir e transformar a realidade.
IV. A escola deve ensinar os contedos previstos na matriz curricular, mesmo que sejam desprovidos
de significado e sentido para professores e alunos.
V. Os projetos curriculares devem desconsiderar a influncia do currculo oculto que ocorre na
escola com carter informal e sem planejamento.

68

COMENTADO

correto apenas o que se afirma em


A. I e III.
B. I e IV.
C. II e IV.
D. I, II e III.
E. II, III e IV.
Resposta: alternativa (D)
Autora: Ana Lcia Souza de Freitas

COMENTRIO
A afirmao I est correta, pois o processo de conhecimento, compreendido como prtica social,
requer que o ensino seja exercido como ao mediadora, levando em conta os saberes que os estudantes j possuem e tendo em vista uma leitura crtica da realidade (RIOS, 2008).
A afirmao II est correta, pois a referncia responsabilidade docente em relao seleo de
contedos traz implcita a no neutralidade do conhecimento, bem como a natureza poltica do trabalho
de ensinar, ou seja, exige uma tomada de posio do educador acerca do que ensina, por que ensina,
como ensina e para que ensina (FREIRE, 1993).
A afirmao III est correta, pois apresenta implicitamente a compreenso sobre o processo de
conhecimento como prtica social, ou seja, de que as prticas pedaggicas tm uma finalidade que
transcende o espao da sala de aula (FRANCO, 2012).
As afirmaes IV e V esto incorretas, visto que a formulao das mesmas contraria, de modo
evidente, as afirmaes anteriores.

REFERNCIAS
FRANCO, Maria Amlia do Rosrio Santoro. Pedagogia e Prtica Docente. So Paulo: Cortez, 2012. (Coleo
Docncia em Formao: Saberes Pedaggicos / Coordenao Selma Garrido Pimenta)
FREIRE, Paulo. Professora, sim; tia, no: cartas a quem ousa ensinar. So Paulo: Olho DAgua, 1993.
RIOS, Terezinha. Compreender e ensinar: por uma docncia da melhor qualidade. So Paulo: Cortez, 2001.

69

COMENTADO

COMPUTAO
2011

QUESTO 36
O problema P versus NP um problema ainda no resolvido e um dos mais estudados em Computao. Em linhas gerais, deseja-se saber se todo problema cuja soluo pode ser eficientemente verificada
por um computador, tambm pode ser eficientemente obtida por um computador. Por eficientemente
ou eficiente significa em tempo polinomial.
A classe dos problemas cujas solues podem ser eficientemente obtidas por um computador
chamada de classe P. Os algoritmos que solucionam os problemas dessa classe tm complexidade
de pior caso polinomial no tamanho das suas entradas.
Para alguns problemas computacionais, no se conhece soluo eficiente, isto , no se conhece
algoritmo eficiente para resolv-los. No entanto, se para uma dada soluo de um problema possvel
verific-la eficientemente, ento o problema dito estar em NP. Dessa forma, a classe de problemas
para os quais suas solues podem ser eficientemente verificadas chamada de classe NP.
Um problema dito ser NP-completo se pertence classe NP e, alm disso, se qualquer outro
problema na classe NP pode ser eficientemente transformado nesse problema. Essa transformao
eficiente envolve as entradas e sadas dos problemas.
Considerando as noes de complexidade computacional apresentadas acima, analise as afirmaes que se seguem.
I. Existem problemas na classe P que no esto na classe NP.
II. Se o problema A pode ser eficientemente transformado no problema B e B est na classe P,
ento A est na classe P.
III. Se P = NP, ento um problema NP-completo pode ser solucionado eficientemente.
IV. Se P diferente de NP, ento existem problemas na classe P que so NP-completos.

correto apenas o que se afirma em


A. I.
B. IV.
C. I e III.
D. II e III.
E. II e IV.
Gabarito: Alternativa (D)
Autor: Alfio Ricardo de Brito Martini
70

COMENTADO

COMENTRIO
Como o enunciado da questo no traz informaes suficientes para uma argumentao slida sobre
cada uma das alternativas de resposta, algumas definies auxiliares sobre as classes P e NP sero
colocadas. Para maiores detalhes, sugere-se as referncias [1,2,3].
Seja o conjunto dos nmeros naturais. O tempo de execuo de uma mquina de Turing M (ou

qualquer outro modelo de computao) pode ser visto como uma funo f : , onde f (n) o nmero mximo de instrues (considerando a anlise do pior caso) que M usa sobre qualquer entrada de
comprimento n. Alm disso, com frequncia estamos interessados no fato de que o tempo de execuo

de f possa estar delimitado por alguma outra funo g, possivelmente mais simples de expressar. Por

exemplo, considere as funes


f (n) = 2n3 + 2n + 5

e g (n) = 10n2 + 3.

Para n 4 temos que f (n) g (n). Entretanto, a medida que n cresce, f cresce muito mais rapidamente

do que g. O que define a taxa de crescimento de f o seu termo mais alto . Dessa forma, dizemos que
a funo limitada ou delimitada pela funo no que se refere a sua taxa de crescimento.
Aps essa breve reviso, podemos precisar melhor a classe P.

Definio 1. Dizemos que uma mquina de Turing est polinomialmente limitada se existe um

polinmio p (x) tal que, para qualquer nmero natural n,tM(n) p(n).

Definio 2. Uma linguagem chamada polinomialmente decidvel se existe uma mquina de


Turing determinstica polinomialmente delimitada que a decide. A classe de todas as linguagens polinomialmente decidveis denotada por P.
A definio acima independente do modelo formal utilizado. Em outras palavras, todos os modelos
formais do mesmo algoritmo esto polinomialmente relacionados uns com os outros tanto quanto a
complexidade computacional esteja em questo. Quando traduzimos um algoritmo para um formalismo
diferente, seu tempo de execuo pode aumentar, mas a taxa de crescimento est limitada por um polinmio. Dessa forma, podemos considerar que P invariante para todos os modelos de computao.
Alm disso, P corresponde aproximadamente classe de problemas que so realisticamente solucionveis em um computador.
Exemplo 3. Existe uma classe de problemas muito interessantes e teis, para os quais no foram
encontrados at hoje algoritmos de deciso em tempo polinomial. Entretanto, eles podem ser verificados
em tempo polinomial. Esta classe inclui problemas fundamentais como o problema do caixeiro viajante,
da satisfatibilidade de frmulas booleanas (SAT) e do ciclo hamiltoniano em grafos [1,2,3]. Esta classe
ser especificada precisamente na definio 5.
Considere agora como uma mquina de Turing no-determinstica M decide uma linguagem L. Para

qualquer W L, todas as computaes de M sobre W devem rejeit-la. Para qualquer W L, pelo


menos uma computao de M deve aceit-la.

71

COMENTADO

Definio 4. Dizemos que uma mquina de Turing no-determinstica M polinomialmente limitada

se existe um polinmio p(x) tal que, para qualquer string de entrada w, pelo menos uma computao
de M na entrada w para em p(|w|) passos .

De forma mais geral, abstraindo o modelo formal, pode-se conceber um algoritmo no-determinstico
que, dado qualquer string w L , opera em duas fases:
1.

Adivinhar ou supor um string para ser testado;

2.

Verificar que o string satisfaz as condies do problema (se a adivinhao estiver errada, no ir satisfazer as condies).

A primeira parte do algoritmo claramente no-determinstica. Entretanto, a fase de verificao para


os problemas citados acima pode ser executada em tempo polinomial por um algoritmo determinstico.
Como a discusso acima sugere, um algoritmo de verificao v toma dois argumentos, w e c. O

string c chamado de certificado ou prova. A linguagem L dita como verificada por um algoritmo de
verificao v se

Observe que na definio de L acima, o no-determinismo est capturado pelo quantificador existencial.
Agora podemos definir de forma precisa a classe NP.
Definio 5. Uma linguagem L pertence classe NP se existe um algoritmo determinstico de tempo

polinomial q tal que

Em outras palavras, V verifica L em tempo polinomial. NP significa polinomial no-determinstico.

Esse no-determinismo, como colocamos acima, vem da adivinhao do certificado c.

Definio 6. Uma funo ** chamada computvel em tempo polinomial se existe uma


mquina de Turing determinstica limitada polinomialmente que computa essa funo.
Definio 7. Sejam L,R * duas linguagens. Dizemos que a linguagem L redutvel em tempo

polinomial para R se existe uma funo r : ** tal que, para qualquer w , w L se e somente
se r(w) R. A funo r chamada de reduo em tempo polinomial.

Definio 8. Uma linguagem (problema) L chamada de NP completa se L NP e qualquer

L' NP redutvel em tempo polinomial para L.

Seguimos agora ento para as opes das questes. Os comentrios sero feitos imediatamente
aps cada alternativa.

72

COMENTADO

I. Existem problemas na classe P que no esto na classe NP.

Esta assero falsa. Qualquer algoritmo de tempo polinomial A que decide uma linguagem L

P pode ser facilmente convertido em um algoritmo de verificao em tempo polinomial A' que apenas
ignora o segundo argumento (certificado) e simula A. Portanto, temos que P NP.

II. Se o problema A pode ser eficientemente transformado no problema B e B est na classe P,


ento A est na classe P.

Esta assero verdadeira. Apenas interprete problema como deciso de uma linguagem. Logo,
a afirmao de que a linguagem pode ser transformada eficientemente na linguagem B equivalente

a dizer que A redutvel em tempo polinomial para B. Agora, de acordo com a definio 7, considere
o seguinte algoritmo: suponha que temos um algoritmo A B que decide B em tempo polinomial. Ento o

seguinte algoritmo A A decide A tambm em tempo polinomial: dada qualquer entrada w A, computar
r (w) em tempo polinomial. Ento chamar o algoritmo polinomial de B para determinar se r (w) B. Se r
(w) B, ento w A. Do contrrio w A. Isso significa que A, atravs de B, polinomialmente decidvel
e, portanto est em P.

III. Se P = NP, ento um problema NP-completo pode ser solucionado eficientemente.

Esta uma assero condicional. No se sabe at hoje se o antecedente verdadeiro ou falso.


(embora a probabilidade de que seja falsa grande). Se ela for falsa, ento a implicao trivialmente
verdadeira. Se ela for verdadeira, ento por definio, qualquer problema em P e, portanto em NP pode
ser solucionado polinomialmente, isto , de forma eficiente. Desta forma, como qualquer problema
NP-completo est em NP, segue que ele, por estar tambm em P, teria tambm uma soluo eficiente.
Logo, a assero verdadeira.
IV. Se P NP, ento existem problemas na classe P que so NP-completos.

Esta tambm uma assero condicional. Provamos que ela falsa, mostrando que ao assumirmos
o antecedente e o consequente, derivamos uma contradio. Da hiptese de que P NP e levando em
conta que P NP (ver alternativa I), segue que P NP. Desta forma, seja LP um problema em P que

seja NP-completo. Pela definio 8 todo problema em NP pode ser reduzido de forma eficiente a LP .
Da segue, pela alternativa II, que todo problema em NP estaria em P, isto , que P = NP. Mas isto uma
contradio com a hiptese de que P NP. Portanto, esta afirmao falsa.

Da discusso acima segue que apenas as afirmativas II e III so verdadeiras.

REFERNCIAS
KINBER, E.; SMITH, C. Theory of Computing: A Gentle Introduction. Upper Saddle River: Prentice-Hall, 2001.
LEWIS, H.; PAPADIMITRIOU, C. Elementos de Teoria da Computao. Porto Alegre: Bookman, 2000.
SIPSER, M. Introduo Teoria da Computao. So Paulo: Thomson Learning, 2007.

73

COMENTADO

COMPUTAO
2011

QUESTO 37
Escopo dinmico: para as linguagens com escopo dinmico, a vinculao das variveis ao escopo
realizada em tempo de execuo. (...) Se uma varivel local ao bloco, ento o uso da dada varivel
no bloco ser sempre vinculado quela local. Contudo, se a varivel for no local, a sua vinculao
depende da ordem de execuo, a ltima vinculada na execuo. A consequncia disso que, em um
mesmo bloco de comandos, um identificador pode ter significados diferentes, e o programador precisa
ter a ideia precisa de qual varivel est sendo usada.
MELO, A. C. V.; SILVA, F. S. C. Princpios de Linguagens de Programao. So Paulo: Edgard Blcher, 2003. p. 65.

Suponha que uma linguagem de programao tenha sido projetada com vinculao e verificao
estticas para tipos de variveis, alm de passagem de parmetros por valor.
Tambm exigido pela especificao da linguagem que programas sejam compilados integralmente e
que no permitido compilar bibliotecas separadamente. Durante uma reviso da especificao da linguagem, algum props que seja adicionado um mecanismo para suporte a variveis com escopo dinmico.
A respeito da proposta de modificao da linguagem, analise as seguintes afirmaes.
I. As variveis com escopo dinmico podem ser tratadas como se fossem parmetros para os
subprogramas que as utilizam, sem que o programador tenha que especific-las ou declarar
seu tipo (o compilador far isso). Assim, eliminasse a necessidade de polimorfismo e possvel
verificar tipos em tempo de compilao.
II. Como diferentes subprogramas podem declarar variveis com o mesmo nome mas com tipos
diferentes, se as variveis com escopo dinmico no forem declaradas no escopo onde so
referenciadas, ser necessrio que a linguagem suporte polimorfismo de tipos.
III. Se as variveis dinmicas forem declaradas tanto nos escopos onde so criadas como nos
subprogramas em que so referenciadas, marcadas como tendo escopo dinmico, ser possvel
identificar todos os erros de tipo em tempo de compilao.

correto apenas o que se afirma em:


A. I.
B. II.
C. I e III.
D. II e III.
E. I, II e III.

74

COMENTADO

Resposta: alternativa (D)


Autor: Marco Gonzalez

COMENTRIO
Conforme Ghezzi e Jazayeri (GHEZZI; JAZAYERI, 1998, p. 93-96), linguagens como APL, SNOBOL4
e LISP adotam recursos para variveis com escopo dinmico. Uma propriedade dinmica, em geral,
implica amarrao em tempo de execuo, inviabilizando-a em tempo de compilao. Essa implicao
vlida tambm no caso de variveis com escopo dinmico.
Para exemplificar, vamos considerar o trecho de programa a seguir, exemplificado em Ghezzi e Jazayeri (GHEZZI; JAZAYERI, 1998, p. 95), com sintaxe da linguagem C e semntica da linguagem APL:

sub2() {
declare x;
...
... x ...;
... y ,.,.;
...
}
sub1() {
declare y;
...
... x ...;
... z ...;
sub2();
...
}
main() {
declare x, y, z;
z = 0;
x = 5;
y = 7;
sub1;
sub2;
...
}
Nesse exemplo, y varivel local rotina sub1, x varivel local rotina sub2, e x, y e z so variveis locais rotina principal, a main. Nesse contexto, qualquer acesso a uma varivel em determinado
ponto do programa, que no esteja declarada de forma local na rotina onde esse ponto est inserido,
esse acesso implicitamente assumido como referente a uma varivel no local. No caso do escopo
dinmico, sabe-se que esse escopo depende da ordem de execuo das unidades de programao e
no da estrutura esttica do programa.
No exemplo apresentado, quando sub1 ativada a partir da main, as referncias a x e a z so no
locais, ou seja, so globais atendendo declarao dessas variveis na main. Quando sub2 ativada a

75

COMENTADO

partir de sub1, a referncia no local a y, em sub2, amarrada sua mais recente declarao, ou seja,
ao objeto de dados associado a y local em sub1. Quando sub2 ativada a partir da main, o acesso a
y, em sub2, far referncia, agora, ao objeto de dado associado a y local na main.
A afirmao I no verdadeira porque, ao adotar variveis com escopo dinmico, o escopo de uma
varivel fica dependente das ativaes ou no das rotinas em questo, ou seja, definido em funo
da execuo do programa. Assim, o compilador fica impossibilitado da verificao correta de tipo, que
s poder ser realizada em tempo de execuo, conforme Ghezzi e Jazayeri (GHEZZI, 1998, p. 94).
Com o exemplo apresentado, fica claro que a afirmao II est correta, pois o acesso correto a
variveis com o mesmo nome, como o caso de y, mas declaradas em rotinas diferentes, viabilizado
atravs do recurso de escopo dinmico, pois permitir referncias a declaraes dessas variveis nas
respectivas rotinas.
No caso da afirmao III, no contexto proposto h restrio ao aspecto dinmico do escopo. Ressalvamos esse fato pois ele se constitui em condio e no em concluso na afirmao. Assim, a afirmao
III est correta porque a verificao de erros de tipo poder ser realizada em tempo de compilao se
uma varivel, alm da declarao existente no escopo em que criada, possuir declarao tambm na
rotina em que acessada (que no o caso do exemplo apresentado aqui). Dessa forma, a estrutura
esttica do programa permitiria ao compilador associar corretamente a varivel, no seu acesso, s propriedades do correto objeto de dado em uso. No caso do exemplo apresentado, a verificao em tempo
de compilao se viabilizaria ao ser includa em sub2 uma declarao para y, especificando o carter
do escopo dinmico e indicando quais propriedades estariam sendo adotadas ali para y de forma que
o compilador pudesse verific-las.

REFERNCIA
GHEZZI, C.; JAZAYERI, M. Programming language concepts. 3. ed. Nova York: John Wiley, 1998.

76

COMENTADO

COMPUTAO
2011

QUESTO 38
comum que linguagens de programao permitam a descrio textual de constantes em hexadecimal, alm de descries na base dez. O compilador para uma linguagem que suporte constantes
inteiras em hexadecimal precisa diferenciar inteiros em base dez dos nmeros hexadecimais que no
usam os dgitos de A a F. Por exemplo, a sequncia de caracteres 12 pode ser interpretada como doze
em base dez ou como dezoito em hexadecimal. Uma maneira de resolver esse problema exigindo que
as constantes em hexadecimal terminem com o caracter x. Assim, no h ambiguidade, por exemplo,
no tratamento das sequncias 12 e 12x.
A gramtica a seguir descreve nmeros inteiros, possivelmente com o smbolo x aps os dgitos.
Os no terminais so M, N, E e os terminais so x e d, em que d representa um dgito.

ME
MN
E Nx
N Nd
Nd

Durante a construo de um autmato LR para essa gramtica, os seguintes estados so definidos:

e0:
M M
M E
M N
E Nx
N Nd
N d
e1(e0, N):
MN
M N x
MNd
A respeito dessa gramtica, analise as seguintes asseres e a relao proposta entre elas.
A gramtica descrita do tipo LR(0).
PORQUE
possvel construir um autmato LR(0), determinstico,cujos estados incluem

acima descritos.

77

COMENTADO

Acerca dessas asseres, assinale a opo correta.


A. As duas asseres so proposies verdadeiras, e a segunda uma justificativa correta da primeira.
B. As duas asseres so proposies verdadeiras, mas a segunda no uma justificativa correta da primeira.
C. A primeira assero uma proposio verdadeira, e a segunda, uma proposio falsa.
D. A primeira assero uma proposio falsa, e a segunda, uma proposio verdadeira.
E. Tanto a primeira quanto a segunda asseres so proposies falsas.
Resposta: alternativa (E)
Autor: Alexandre Agustini

COMENTRIO
O Relatrio Sntese 2011: Computao apresenta o seguinte comentrio:
[...] A questo de nmero 38 foi a mais difcil dentre as 26 questes especficas vlidas, com baixo ndice de facilidade, apenas 8,0% de acertos.
Essa questo apresentou poder discriminatrio igualmente baixo, 0,15, o que
comprova ter sido esta a mais difcil para os estudantes (p. 63).
Dessa forma, foi considerada muito difcil e, por no possuir ndice de discriminao, foi eliminada
do clculo da nota final do Enade 2011.
A Questo 38 do tipo assero-razo. Nesse modelo de questo, so apresentadas duas afirmativas
(asseres) que podem ser proposies verdadeiras ou falsas, assim como podem ou no estabelecer
relaes entre si. Dessa forma, o primeiro objetivo determinar se as afirmativas apresentadas so
verdadeiras ou falsas. No caso de serem as duas proposies verdadeiras, estabelecer se a segunda
justifica ou no a primeira.
A primeira assero A gramtica descrita LR(0). Uma gramtica G dita uma gramtica LR(0)
se as seguintes propriedades forem vlidas:
1.

o smbolo inicial de G no aparece no lado direito de uma produo;

2.

todo prefixo de G onde A um item completo e nico, ou seja, no h outros itens


completos (e no existem itens com um terminal direita do ponto) que so vlidos para .

A segunda propriedade pode ser resumida como: no h estado de reduo que


tambm contm ao para empilhar e em cada estado de reduo s possvel
reduzir de acordo com uma nica produo. Com isso, fica claro que a gramtica apresentada no
LR(0), pois a regra falha no estado e1 do autmato.
A segunda proposio possvel construir um autmato LR(0), determinstico, cujos estados
incluem e0 e e1 acima. Segundo a definio de autmato determinstico apresentado por Aho (2008),
o autmato gerado no ser determinista, pois no h estados mortos, logo, haver pares estado-palavra para os quais no h estado seguinte. Portanto, as duas afirmaes so falsas e a resposta
correta a alternativa E.

78

COMENTADO

REFERNCIAS
AHO, A. V.; SETHI, S.; ULMMAN, J. D. Compiladores: princpios, tcnicas e ferramentas. 2. ed. So Paulo: Pearson, 2008. 634p.
HOPCROFT, John E.; MOTWANI, Rajeev; ULLMAN, Jeffrey D. Introduo teoria de autmatos, linguagens e
computao.Rio de Janeiro: Elsevier, 2003. 560 p.
INEP. Instituto Nacional de Estudos e Pesquisas Educacionais Ansio Teixeira, Ministrio da Educao, Brasil.
Relatrio Sntese 2011: Computao 2013. Disponvel em: <http://portal.inep.gov.br/enade/relatorio-sintese-2011>.
Acesso em: abr. 2014.

79

COMENTADO

COMPUTAO
2011

QUESTO 39
O conceito de Tipo de Dados Abstrato (TDA) popular em linguagens de programao. Nesse
contexto, analise as afirmativas a seguir.
I. A especificao de um TDA composta das operaes aplicveis a ele, da sua representao
interna, e das implementaes das operaes.
II. Dois mecanismos utilizveis na implementao de um TDA em programas orientados a objetos
so a composio e a herana.
III. Se S um subtipo de outro T, ento entidades do tipo S em um programa podem ser substitudas
por entidades do tipo T, sem alterar a corretude desse programa.
IV. O encapsulamento em linguagens de programao orientadas a objetos um efeito positivo do
uso de TDA.

correto apenas o que se afirma em


A. I.
B. II.
C. I e III.
D. II e IV.
E. III e IV.

Resposta: alternativa (D)


Autor: Jlio Henrique Arajo Pereira Machado

COMENTRIO
A questo envolve conceitos bsicos associados a algoritmos e especificao e tipos de dados,
bem como a implementao dos mesmos em linguagens de programao. Mais especificamente, o
tpico abordado Tipos de Dados Abstratos (TDA) e sua implementao em linguagens do paradigma
de Orientao a Objetos.

80

COMENTADO

A construo da resposta correta consiste em identificar cada uma das afirmativas apresentadas
como sendo verdadeira ou falsa.
A afirmativa I deve ser considerada falsa, uma vez que a definio para TDA apresentada traz uma
informao incorreta, qual seja, a de que um tipo abstrato deve conter a sua representao interna
dos dados. Ora, tal afirmao vai contra a prpria definio de abstrato, que traz consigo o conceito de que um TDA independente de sua implementao concreta, ou seja, que o TDA pode vir a
ser implementado de diversas formas alternativas (por exemplo, no caso do tipo Lista, que pode ser
implementado via estruturas encadeadas ou estruturas estticas de array). Como exemplo concreto,
a Figura 1 traz a associao entre a interface List<E> e as possveis implementaes LinkedList<E>
e ArrayList<E> da linguagem Java.

Figura 1. Implementao de TDA Lista em Java.

A afirmativa II correta, pois os mecanismos da Orientao a Objetos citados, composio e


herana, so bsicos na construo de classes. Para exemplificar o mecanismo de composio,
tem-se o exemplo de implementao de uma Pilha a partir de uma Lista. J o mecanismo da herana
pode ser exemplificado na implementao de uma Lista de Tamanho Limitado a partir de uma Lista.
Como exemplo concreto, observe a implementao parcial em Java a seguir:

81

COMENTADO

public class Lista<T> {


...
public void inserir(T elemento) {...}
public int tamanho() {...}
...
}
public class Pilha<T> {
private Lista<T> elementos;
...
public void empilhar(T elemento) {
elementos.inserir(elemento);
}
public int tamanho() {
return elementos.tamanho();
}
}
public class ListaTamanhoLimitado<T> extends Lista<T> {
...
public int tamanhoMaximo() {...}
public void inserir(T elemento) throws Exception{
if(tamanho() < tamanhoMaximo())
super.inserir(elemento);
else
throw new Exception();
}
...
}
A afirmativa III falsa, pois apresenta o conceito de polimorfismo na herana de maneira incorreta.
Dado S, um subtipo de T, o correto afirmar que qualquer ocorrncia de T pode ser substituda por
uma ocorrncia de S. Ou seja, todo subtipo S tambm um tipo compatvel com o supertipo T. Como
exemplo concreto, observe a implementao parcial em Java a seguir:

public class T {...}


public class S extends T {...}
public class Exemplo {
public static void main(String[] args) {
T ref1 = new T(); // correto
T ref2 = new S(); // correto
S ref3 = new S(); // correto
S ref4 = new T(); // incorreto
}
}

82

COMENTADO

A afirmativa IV deve ser considerada como verdadeira, j que a afirmativa est diretamente relacionada
definio de Tipo de Dados Abstrato. Quando um TDA implementado de acordo com o paradigma
de Orientao a Objetos, sua representao interna (estrutura de dados e operaes que no dizem
respeito interface pblica do objeto) deve permanecer escondida do usurio do objeto, ou seja,
no pertence interface pblica e, portanto, est encapsulada. Alm disso, o correto encapsulamento
permite que a estrutura interna de implementao mude completamente sem afetar a interface pblica
do objeto em questo. Um exemplo concreto na linguagem Java o mesmo apresentado na Figura 1.

REFERNCIAS
CORMEN, Thomas H. et al. Introduction to algorithms. Cambridge: The MIT Press, 2009.
FORBELLONE, Andr L. V; EBERSPCHER, Henri F. Lgica de programao: a construo de algoritmos e
estruturas de dados. So Paulo: Pearson, 2011.
GOODRICH, Michael T; TAMASSIA, Roberto. Estruturas de dados e algoritmos em Java. Porto Alegre: Bookman, 2013.

83

COMENTADO

COMPUTAO
2011

QUESTO 40
Considere que a figura abaixo corresponde ao cenrio de um jogo de computador. Esse cenrio
dividido em 24 quadrados e a movimentao de um personagem entre cada quadrado tem custo 1,
sendo permitida apenas na horizontal ou na vertical. Os quadrados marcados em preto correspondem
a regies para as quais os personagens no podem se mover.

Nesse cenrio, o algoritmo A* vai ser usado para determinar o caminho de custo mnimo pelo qual
um personagem deve se mover desde o quadrado verde at o quadrado vermelho. Considere que, no
A*, o custo f(x) = g(x) + h(x) de determinado n x computado somando-se o custo real g(x) ao custo
da funo heurstica h(x) e que a funo heurstica utilizada a distncia de Manhattan (soma das distncias horizontal e vertical de x at o objetivo). Desse modo, o custo f(x) do quadrado verde igual a
A. 2.
B. 3.
C. 5.
D. 7.
E. 9.
Resposta: alternativa (B)
Autores: Bernardo Copstein e Michael da Costa Mora

84

COMENTADO

COMENTRIO
O algoritmo A* um algoritmo de busca que determina o caminho de menor custo de um nodo inicial
at um nodo objetivo e tem seu caminho de busca guiado por uma heurstica que estima a distncia do
estado corrente at o destino. medida que o algoritmo percorre as possibilidades, opta sempre pelo
caminho que apresenta o menor custo. O custo de cada nodo x fornecido por uma funo de custo
(normalmente denotada por f(x)) que usada para determinar a ordem em que a pesquisa visita os
nodos da rvore. A funo de custo corresponde soma de duas funes:

a funo de custo passado, que corresponde a distncia do nodo de origem at o nodo


atual (normalmente denotada por g(x));

a funo de custo futuro, que corresponde a uma estimativa heurstica admissvel da


distncia que falta percorrer at o objetivo (normalmente denotada por h(x)).

Para aplicaes de determinao de caminho, h(x) pode ser equivalente, por exemplo, a distncia
em linha reta at o objetivo, visto que uma linha reta a menor distncia possvel entre dois pontos.
A questo pede que se calcule o custo f(x) da posio verde, tendo como destino a posio vermelha
(ver Figura 1), no contexto do algoritmo A*. Coloca que, para o clculo de h(x), usa-se a distncia de Manhattan, ou seja, consideram-se apenas deslocamentos na vertical ou horizontal no clculo da distncia.

Figura 1. Problema proposto.

No caso a posio verde a posio de partida, logo, para essa posio, o custo acumulado para
se chegar at a mesma zero, ou seja, g(x) = 0. J o custo da heurstica estimativa da distncia que
falta percorrer igual a trs, pois, considerando a distncia de Manhattan, apenas trs posies
separam a posio verde da posio vermelha, ou seja, h(x) = 3. Sendo assim, como f(x) = g(x) + h(x),
o custo da posio verde igual a f(x) = 0 + 3, f(x) = 3 (alternativa B).
O que pode causar certa confuso, em um primeiro momento, o fato de que o problema coloca que
as posies marcadas em preto correspondem a obstculos que no podem ser transpostos. Dessa
maneira, intuitivamente, calcula-se que o peso da posio verde 7 (alternativa D), pois essa a menor
distncia entre as posies verde e vermelho contornando-se os obstculos. Ocorre que a heurstica
h(x) trabalha com uma estimativa de distncia, ignorando os obstculos (se h(x) pudesse antever o

85

COMENTADO

menor caminho, o problema se resolveria em um nico passo). A ideia do algoritmo A* considerar h(x)
de maneira a determinar o quo distante se est, em cada passo, do suposto menor caminho.

REFERNCIA
RUSSELL, S.; NORVIG, P. Inteligncia Artificial. 2. ed. Rio de Janeiro: Editora Campus, 2004.

86

COMENTADO

COMPUTAO
2011

QUESTO 41
A figura abaixo ilustra a tentativa de se utilizar um filtro digital no domnio da frequncia, para suavizar
o sinal bidimensional de entrada que est no domnio do espao.

A partir do resultado obtido no processo de filtragem, analise as seguintes asseres e a relao


proposta entre elas.
O sinal de sada possui as caractersticas de um sinal processado por um filtro passa-baixa ideal.
PORQUE
Embora suavizado, o sinal de sada evidencia a presena do efeito de ringing, que tpico de um
sinal convolucionado pela funo sinc no domnio do espao.
Acerca dessas asseres, assinale a opo correta.
A. As duas asseres so proposies verdadeiras, e a segunda uma justificativa correta da primeira.
B. As duas asseres so proposies verdadeiras, mas a segunda no uma justificativa correta
da primeira.
C. A primeira assero uma proposio verdadeira e a segunda, uma proposio falsa.
D. A primeira assero uma proposio falsa e a segunda, uma proposio verdadeira.
E. Tanto a primeira quanto a segunda asseres so proposies falsas.
Resposta: alternativa (A)
Autor: Dnis Fernandes

87

COMENTADO

COMENTRIO
A questo aborda conceitos bsicos de processamento digital de sinais (DSP) apresentando uma
aplicao referente filtragem de uma imagem bidimensional.
Filtros digitais passa-baixos so frequentemente utilizados em processamento de imagens com o
objetivo de obter a suavizao das mesmas. Essa suavizao implica atenuao do rudo nas imagens
e no borramento (nem sempre desejado) das bordas dos objetos presentes.
A resposta em frequncia H(u,v) de um filtro passa-baixos bidimensional ideal apresentada na
Figura 1, onde u e v so os eixos de frequncia. Na mesma figura, tambm apresentado um corte
transversal da resposta em frequncia (radialmente simtrica nesse caso), onde se observa claramente
que as amplitudes das componentes com frequncias espaciais at a frequncia de corte D0 no so
modificadas. J as componentes com frequncia espacial acima da frequncia de corte so eliminadas,
caracterizando uma filtragem passa-baixos ideal.

Figura 1. Resposta em frequncia H(u,v) de um filtro passa-baixos ideal bidimensional.

A questo apresenta uma estratgia para filtragem de uma imagem em que a mesma transformada
para o domnio da frequncia utilizando tcnicas de Fourier. A imagem no domnio da frequncia ento multiplicada pela resposta em frequncia do filtro desejado. A aplicao da transformao inversa,
do domnio da frequncia para o domnio do espao, resulta uma verso filtrada da imagem original.
Das propriedades bsicas das tcnicas de Fourier, sabe-se que a um produto no domnio da frequncia est associada uma operao de convoluo no domnio do tempo ou do espao (no caso de uma
imagem). Sabe-se tambm que uma resposta em frequncia na forma de um pulso retangular corresponde a um sinal do tipo sinc no domnio do tempo (unidimensional) ou do espao (bidimensional). No
caso de uma dimenso, a resposta amostra unitria do filtro digital passa-baixos ideal com frequncia
de corte D0 tem a forma apresentada na equao (1). A convoluo de h(n) com o sinal a ser filtrado
resultar no surgimento de uma ondulao relacionada com a frequncia de corte do filtro. Tal efeito
similarmente observado no caso de sinais bidimensionais, como no caso de imagens.

Considerando o exposto, pode-se afirmar que a imagem de sada do filtro apresentada na questo
possui caractersticas que indicam que a mesma tenha sido processada por um filtro passa-baixos
ideal (mas no necessariamente). Como justificativas para essa concluso, aponta-se a suavizao
88

COMENTADO

da fronteira entre as regies clara e escura da imagem e a oscilao da intensidade (nvel de cinza)
decorrente da convoluo da imagem original com uma funo do tipo sinc bidimensional.

REFERNCIAS
GONZALEZ, Rafael C. Processamento de imagens digitais. So Paulo: Blucher, 2007. 509 p.
HAYES, Monson H. Teoria e problemas de processamento digital de sinais. Porto Alegre: Bookman, 2006. 466 p.
LATHI, Bhagwandas Pannalal. Sinais e sistemas lineares. 2. ed. Porto Alegre: Bookman, 2008. 856 p.

89

COMENTADO

COMPUTAO
2011

QUESTO 42
Sabendo que a principal tarefa de um sistema ser de classificao em domnios complexos, um gerente
de projetos precisa decidir como vai incorporar essa capacidade em um sistema computacional a fim de
torn-lo inteligente. Existem diversas tcnicas de inteligncia computacional / artificial que possibilitam isso.
Nesse contexto, a tcnica de inteligncia artificial mais indicada para o gerente
A. lgica nebulosa.
B. rvores de deciso.
C. redes neurais artificiais.
D. ACO (do ingls, Ant-Colony Optimization).
E. PSO (do ingls, Particle Swarm Optimization).
Resposta: alternativa (C)
Autora: Renata Vieira

COMENTRIO
Essa questo pode ser resolvida por eliminao e refinamento. Primeiro pode-se eliminar as tcnicas que no so apropriadas para a tarefa de CLASSIFICAO, opes A, D e E. Entre as opes
restantes, redes neurais tendem a ser aplicadas em domnios mais complexos (com alta dimensionalidade de dados, por exemplo, imagens), por lidarem melhor com variveis numricas, em especial se os
dados possuem mais rudo, ou at mesmo contradio. As rvores de deciso apesar de poderem ser
usadas com dados numricos, tendem a ser mais bem aproveitadas para classificar dados que podem
ser expressos de forma booleana (verdadeiro ou falso) ou simblicos.

REFERNCIAS
RUSSEL, S.; NORVIG, P. Artificial Intelligence: a modern approach. Prentice-Hall, 1995. 931p.
ALPAYDIN, Ethem. Introduction to Machine Learning. The MIT Press, Cambridge, 2004. 415p.
90

COMENTADO

COMPUTAO
2011

QUESTO 43
O razor uma arquitetura para desempenho better-than-worst-case que usa um registrador especializado, mostrado na figura, que mede e avalia os erros.

O registrador do sistema mantm o valor chaveado e comandado por um clock de sistema better-than-worst-case. Um registrador adicional comandado separadamente por um clock ligeiramente
atrasado com relao ao do sistema. Se os resultados armazenados nos dois registradores so diferentes, ento um erro ocorreu, provavelmente devido temporizao. A porta XOR detecta o erro e faz
com que este valor seja substitudo por aquele no registrador do sistema.
Wolf, W. High-performance embedded computing: architectures, applications, and methodologies.
Morgan Kaufmann, 2007
Considerando essas informaes, analise as afirmaes a seguir.
I. Sistemas digitais so tradicionalmente concebidos como sistemas assncronos regidos por um clock.
II. Better-than-worst-case um estilo de projeto alternativo em que a lgica detecta e se recupera
de erros, permitindo que o circuito possa operar com uma frequncia maior.
III. Nos sistemas digitais, o perodo de clock determinado por uma anlise cuidadosa para que os
valores sejam armazenados corretamente nos registradores, com o perodo de clock alargado
para abranger o atraso de pior caso.

91

COMENTADO

correto o que se afirma em


A. I, apenas.
B. III, apenas.
C. I e II, apenas.
D. II e III, apenas.
E. I, II e III.
Resposta: alternativa (D)
Autor: Fernando Gehm Moraes

COMENTRIO
Better Than Worst-Case Design uma tcnica que separa os elementos de memria em dois componentes: um flip-flop principal e um flip-flop de verificao (shadow). Essa tcnica permite determinar
a frequncia de operao de cada estgio de um circuito pelo atraso mdio, e no pelo pior caso. O
objetivo da tcnica a deteco de erros em caso de falha de atraso. Em situaes normais (sem
erros), ambos flip-flops geram a mesma sada. O flip-flop de verificao controlado por um sinal de
relgio atrasado, mas com mesma frequncia (razor clock). Quando h um erro devido a atraso na
lgica combinacional que gera dados para os flip-flops (esses erros de atraso podem ser causados,
por exemplo, por reduo na tenso de alimentao ou aumento da frequncia de operao), haver
diferena na sada dos flip-flops, com a sinalizao de erro na sada da porta XOR. Assim, os dados
corretos estaro armazenados na sada do flip-flop de verificao, sendo esses direcionados para a
sada do circuito atravs desse flip-flop.
Afirmaes da questo e comentrios:

I - FALSA. A grande maioria dos sistemas digitais sncrona, com um ou mais sinais de
relgio (clock). Circuitos assncronos so menos utilizados devido falta de ferramentas
de projeto e complexidade de projeto maior que em sistemas sncronos.

II - VERDADEIRA. Como explicado anteriormente, o circuito pode operar no caso


mdio e no no pior caso, e a porta XOR indicar erro (sadas diferentes nos flip-flops)
devido a um perodo de clock menor (maior frequncia). Assim a resposta certa estar
armazenada no flip-flop de verificao, podendo assim o circuito se recuperar de erros.

III - VERDADEIRA. Como pode ser inferido da explicao acima, o perodo de clock
deve ser determinado calculando-se o pior caso de atraso em cada estgio (chamados
corner cases de temperatura, tenso, frequncia).

REFERNCIA
ERNST, Dan et al. Razor: A Low-Power Pipeline Based on Circuit-Level Timing Speculation. International Symposium on Microarchitecture (MICRO), 2003, p. 7-18.
92

COMENTADO

COMPUTAO
2011

QUESTO 44 (ANULADA)
A utilizao dos somadores completos em cascata no projeto de Unidades Lgicas Aritmticas
pode comprometer o seu desempenho, uma vez que o sinal de vai-um final deve propagar por todos os
somadores, desde as entradas dos bits menos significativos. Esse caminho crtico insere um atraso no
sistema que compromete o projeto de ULAs rpidas. Para reduzir esse atraso, mecanismos de predio
de vai-um podem ser usados. Um esquema bem simples de predio de vai-um para um somador de
8 bits apresentado na figura a seguir.

Os 4 bits mais significativos so somados de forma redundante, considerando o vem-um 0 no primeiro somador e vem-um igual a 1 no segundo somador. A sada dos somadores selecionada a partir
de um multiplexador, que acionado pelo vai-um resultado da soma dos 4 bits menos significativos.
Como os 3 somadores podem realizar as operaes ao mesmo tempo, o multiplexador pode entregar
o resultado mais rapidamente.

93

COMENTADO

Considere as seguintes equaes dos somadores:

e
Considere, ainda, a equao dos multiplexadores a seguir:

Suponha que o somador de 8 bits tem predio de vai-um baseada na duplicao da soma dos 4 bits
mais significativos e que 7 ns o tempo de atraso de propagao por nvel de porta AND, OR e XOR.
Desconsiderando os inversores, o aumento do nmero de portas e a reduo do tempo de propagao
podem ser expressos, em porcentagem, como aumento de
A. 26 portas, representando 65% de acrscimo no nmero de portas e reduo de 112 ns para 70
ns, reduo de 47% do tempo para a execuo da soma.
B. 20 portas, representando 50% de acrscimo no nmero de portas e reduo de 112 ns para 70
ns, reduo de 47% do tempo para a execuo da soma.
C. 26 portas, representando 65% de acrscimo no nmero de portas e reduo de 112 ns para 56
ns, reduo de 50% do tempo para a execuo da soma.
D. 20 portas, representando 50% de acrscimo no nmero de portas e reduo de 112 ns para 56
ns, reduo de 50% do tempo para a execuo da soma.
E. 26 portas, representando 65% de acrscimo no nmero de portas. No h reduo no tempo de
atraso de propagao para a execuo da soma.

94

COMENTADO

COMPUTAO
2011

QUESTO 45
Os amplificadores operacionais, como ilustra a figura a seguir, so componentes teis em diversas
aplicaes.

Considerando que o amplificador operacional do circuito ideal, avalie as seguintes afirmativas.


I. A corrente i1 idealmente nula.
II. A corrente i2 idealmente nula.
III. O circuito exemplifica um seguidor de tenso.
IV. A diferena de potencial entre o ponto v1 e o ponto terra do circuito idealmente nula.
V. A diferena de potencial entre o ponto v2 e o ponto terra do circuito de +3,6 V.

correto apenas o que se afirma em


A. I, II e III.
B. I, II e IV.
C. I, III e V.
D. II, IV e V.
E. III, IV e V.
Resposta: alternativa (B)
Autor: Dnis Fernandes

95

COMENTADO

COMENTRIO
A questo aborda conceitos bsicos de amplificadores operacionais, apresentando um circuito amplificador somador, o qual uma aplicao prtica tpica. A Figura 1 apresenta um amplificador somador
com duas tenses de entrada, va e v b e uma tenso de sada vo, relacionadas conforme a equao (1).

Figura 1. Circuito amplificador somador com duas entradas.

I.

O amplificador operacional um circuito eletrnico que se comporta como uma fonte de tenso
controlada por tenso, em que
II.

Idealmente, o ganho a circuito aberto A infinitamente grande, o que faz com que a tenso diferencial
v -v- seja nula em circuitos nos quais o amplificador operacional opere em sua regio linear (no satu+

rado). Tambm sob o ponto de vista ideal, a resistncia na sada vo considerada nula, e a resistncia
entre as entradas v+ e v- infinitamente grande.
Com base no exposto, conclui-se que as alternativas I, II e IV so verdadeiras.

J a alternativa

III falsa, pois um circuito seguidor de tenso tem a forma apresentada na Figura 2, na qual a tenso
de sada vo tem valor igual tenso de entrada vi .

Figura 2. Circuito seguidor de tenso.

Finalmente, a alternativa V tambm falsa, pois o valor da tenso de sada v2 em relao ao ponto
terra dado por

96

COMENTADO

REFERNCIAS
ALEXANDER, Charles K. Fundamentos de circuitos eltricos. 3. ed. So Paulo: McGraw-Hill, 2008. 1014 p.
PERTENCE JNIOR, Antonio. Amplificadores operacionais e filtros ativos: teoria, projetos, aplicaes e laboratrio.
6. ed. Porto Alegre: Bookman, 2003. 304 p.
SEDRA, Adel S. Microeletrnica. 5. ed. So Paulo: Pearson, 2011. 848 p.

97

COMENTADO

COMPUTAO
2011

QUESTO 46
Em um modelo de dados que descreve a publicao acadmica de pesquisadores de diferentes
instituies em eventos acadmicos, considere as tabelas abaixo.
DEPARTAMENTO (#CodDepartamento, NomeDepartamento)
EMPREGADO (#CodEmpregado, NomeEmpregado, CodDepartamento, Salario)
Na linguagem SQL, o comando mais simples para recuperar os cdigos dos departamentos cuja
mdia salarial seja maior que 2000
A. SELECT CodDepartamento
FROM EMPREGADO
GROUP BY CodDepartamento
HAVING AVG (Salario) > 2000
B. SELECT CodDepartamento
FROM EMPREGADO
WHERE AVG (Salario) > 2000
GROUP BY CodDepartamento
C. SELECT CodDepartamento
FROM EMPREGADO
WHERE AVG (Salario) > 2000
D. SELECT CodDepartamento, AVG (Salario) > 2000
FROM EMPREGADO
GROUP BY CodDepartamento
E. SELECT CodDepartamento
FROM EMPREGADO
GROUP BY CodDepartamento
ORDER BY AVG (Salario) > 2000
Resposta: alternativa (A)
Autor: Duncan Dubugras Alcoba Ruiz

98

COMENTADO

COMENTRIO
Trata-se de consulta somente na tabela EMPREGADO, pois a mesma contm o cdigo do departamento ao qual o empregado est vinculado. A mdia salarial pode ser obtida diretamente com a funo de agregao AVG. Como a questo quer a mdia salarial por departamento, necessrio usar a
clusula GROUP BY com a coluna CodDepartamento. Ainda, como a condio de seleo sobre o
resultado de uma funo de agregao, a mdia salarial seja maior que 2000, esta condio deve estar
na clusula HAVING. Logo, a alternativa correta A.
A alternativa A a nica sintaticamente correta.
As alternativas B e C esto erradas porque, na clusula WHERE, podem-se filtrar registros da tabela
de entrada ANTES da agregao ser feita. A alternativa D coloca a condio de filtragem como sada
do comando SELECT, enquanto a alternativa E a coloca na especificao da ordem na sada.

REFERNCIAS
ELMASRI, R.; NAVATHE, S. B. Sistemas de Banco de Dados. 4. ed. So Paulo: Pearson Brasil, 2005. 724p.
BOWMAN, J.; EMERSON, S.; DARNOVSKY, M. The practical SQL handbook: using Structured Query Language.
3. ed. Boston: Addison-Wesley, 1996. 454p.
DATE, C. J. Introduo a sistemas de bancos de dados. Rio de Janeiro: Campus, 2000. 454p.
HEUSER, C. Projeto de banco de dados. 5. ed. Porto Alegre: Sagra-DC Luzzatto, 2004. 236p.
PRICE, J. Oracle Database 11g SQL. Porto Alegre: Bookman, 2008. 684p.
RAMAKRISHNAN, R. Database management systems. Boston: McGraw-Hill, 2000. 906p.
SILBERSCHATZ, A.; KORTH, H. F.; SUDARSHAN, S. Sistema de bancos de dados. 5. ed. Rio de Janeiro: Campus, 2006. 808p.
ULLMAN, J.; WIDOM, J. A first course in database systems. Nova Jersey: Prentice Hall, 1997. 470p.

99

COMENTADO

COMPUTAO
2011

QUESTO 47
Uma empresa de natureza estritamente operacional deseja implantar um setor de suporte ao processo de tomada de deciso, j que os resultados que vem apresentando demonstram contnua queda da
margem de lucro e aumento do custo operacional. Para isso, os executivos de alto escalo da empresa
decidiram investir na aquisio de uma ferramenta OLAP acoplada a uma data warehouse.
Nessa situao, avalie as afirmaes a seguir.
I. No que tange ao tipo de suporte propiciado, os sistemas OLAP podem ser classificados como
sistemas de trabalhadores do conhecimento.
II. Ferramentas OLAP apresentam foco orientado a assunto, em contraposio a sistemas OLTP,
que so orientados a aplicao.
III. Tendo em vista que data marts so construdos utilizando-se os sistemas legados da empresa,
sem a utilizao de dados externos, o processo de extrao, transformao e carga envolve a
integrao de dados, suprimindo-se a tarefa de limpeza.
IV. O projeto de um data warehouse define a forma com que a base de dados ser construda. Uma
das opes a abordagem data mart, em que os diversos data marts so integrados, at que
se obtenha, ao final do processo, um data warehouse da empresa.

correto o que se afirma em


A. I e III, apenas.
B. I e IV, apenas.
C. II e III, apenas.
D. II e IV, apenas.
E. I, II, III e IV.
Resposta: alternativa (D)
Autor: Duncan Dubugras Alcoba Ruiz

100

COMENTADO

COMENTRIO
Trata-se de questo sobre processamento analtico de dados e armazns de dados. Nesse contexto,
quer se saber quais das quatro afirmaes da questo esto corretas.
A afirmao I est incorreta. Um sistema OLAP um SAD Sistema de Apoio a Deciso.
A afirmao II est correta. Para Inmon (1997), um data warehouse um conjunto de dados baseado
em assuntos, integrado, no voltil e varivel em relao ao tempo, de apoio s decises gerenciais.
A afirmao III est incorreta. A limpeza dos dados sempre necessria para tentar completar dados faltantes, amenizar a presena de rudos, identificar outliers, e corrigir inconsistncias nos dados,
mesmo que os dados externos terminem.
A afirmao IV est correta. uma das opes apresentadas por Kimball (2002) e por Inmon (1997)
para a construo de um armazm de dados.

REFERNCIAS
INMON, W. H. Como construir o Data Warehouse. Rio de Janeiro: Editora Campus, 1997. 388p.
LAUDON, Kenneth C. Sistemas de informao gerenciais. 7. ed. So Paulo: Pearson, 2010. 452 p.
KIMBALL, R. The data warehouse toolkit: the complete guide to dimensional modeling. 2. ed. Nova York: John
Wiley & Sons, 2002. 436 p.

101

COMENTADO

COMPUTAO
2011

QUESTO 48
No desenvolvimento de um software para um sistema de venda de produtos nacionais e importados,
o analista gerou o diagrama de casos de uso a seguir.

Da anlise do diagrama, conclui-se que


A. a execuo do caso de uso Consultar estoque incorpora opcionalmente o caso de uso Liberar
desconto.
B. a execuo do caso de uso Liberar desconto incorpora opcionalmente o caso de uso Realizar
venda.
C. a execuo do caso de uso Realizar venda incorpora obrigatoriamente o caso de uso Consultar
estoque.
D. a execuo do caso de uso Realizar venda de produto nacional incorpora obrigatoriamente o
caso de uso Liberar desconto.
E. um Gerente pode interagir com o caso de uso Realizar venda, pois ele um Usurio.

102

COMENTADO

Resposta: alternativa (C)


Autor: Marcelo Hideki Yamaguti

COMENTRIO
A questo aborda a interpretao de um diagrama de Casos de Uso que envolve atores, casos
de uso e relacionamentos. Para a resoluo da questo, importante o conhecimento do significado
dos relacionamentos:
RELACIONAMENTO

DIAGRAMA

Generalizao

SIGNIFICADO

Relacionamento entre casos


de uso (ou atores) que indica
que um caso de uso (ou ator) A
herda as caractersticas do caso
de uso (ou ator) B.

<<include>>

Relacionamento estereotipado
entre casos de uso que indica
que um caso de uso A incorpora
obrigatoriamente outro caso de
uso B.

<<extend>>

Relacionamento estereotipado entre casos de uso que indica


que um caso de uso A incorporado opcionalmente pelo caso
de uso B na ocorrncia do ponto
de extenso.

Dentre as opes apresentadas, a nica correta a alternativa C (a execuo do caso de uso


Realizar venda incorpora obrigatoriamente o caso de uso Consultar estoque).
Quanto s demais opes:

Na alternativa A, o correto seria a execuo do caso de uso Liberar desconto incorpora


obrigatoriamente o caso de uso Consultar estoque.

Na alternativa B, o correto seria a execuo do caso de uso Realizar venda incorpora


opcionalmente o caso de uso Liberar desconto.

Na alternativa D, o correto seria a execuo do caso de uso Realizar venda de produto


nacional incorpora opcionalmente o caso de uso Liberar desconto.

Na alternativa E, o correto seria um Gerente pode interagir com o caso de uso Realizar
login, pois ele um Usurio.

103

COMENTADO

REFERNCIAS
ARLOW, J.; NEUSTADT, I. UML 2 and the Unified Process: practical object-oriented analysis and design. 2. ed.
Upper Saddle River: Addison Wesley, 2005. 592p.
BOOCH, G.; RUMBAUGH, J.; JACOBSON, I. UML: guia do usurio. 2. ed. Rio de Janeiro: Elsevier, 2006. 474p.
FOWLER, M. UML essencial: um breve guia para a linguagem-padro de modelagem de objetos. 2. ed. Porto
Alegre: Bookman, 2000. 169p.
JACOBSON, I.; BOOCH, G.; RUMBAUGH, J. The unified modeling language reference manual. Reading: Addison-Wesley, c1999. 550p.
LARMAN, C. Utilizando UML e padres: uma introduo anlise e projeto orientados a objetos. 3. ed. So Paulo:
Bookman, 2007. 696p.

104

COMENTADO

COMPUTAO
2011

QUESTO 49
Considerando o conceito de sistema, trazido pela Teoria Geral de Sistemas, um projeto de desenvolvimento de software poderia ser considerado como um sistema aberto.
Nessa perspectiva, solicitaes de mudanas originadas de um stakeholder externo e que afetam
o projeto podem ser consideradas como
A. ambiente.
B. entrada.
C. feedback.
D. processos.
E. sada.
Resposta: alternativa (B)
Autor: Gilberto Keller de Andrade

COMENTRIO
A questo inicia com uma afirmao verdadeira: a Teoria Geral de Sistemas considera que todo
sistema aberto (uma comunidade de entidades conectadas com a finalidade de alcanar um ou mais
objetivos operando dentro de um ambiente) sofre influncia do meio em que atua ou o influencia.
Nesse contexto, um projeto de desenvolvimento de software pode ser visto como um sistema, pois,
em um projeto, ns temos pessoas, equipamentos, regras, organizao, estruturas, todas conectadas,
formando um todo que se espera que seja organizado, na busca de objetivos: o software. Esse sistema
aberto, pois foi criado para atender necessidades de algum cliente, usar recursos de fornecedores
diversos, produzir um software que influenciar outras entidades que esto em seu ambiente. A partir de
1948, com o surgimento da Ciberntica, o conceito de feedback, como um processo de realimentao e
controle, incorporado no modelo geral de um sistema aberto, pois este mecanismo (feedback) ajuda o
sistema a no se desviar de seus propsitos por falta de controle. Assim, podemos resumir que existem
cinco elementos mnimos, necessrios especificao de um sistema aberto: entradas (provenientes
do ambiente), sadas (resultados gerados pelo sistema para o ambiente), transformaes (responsvel

105

COMENTADO

pelas mudanas das entradas em sadas), ambiente (contexto do sistema) e feedback (responsvel pelo
controle, uma espcie de administrao do sistema, na viso de C. W. Churchmann (Churchmann, 1971)).
Assim, uma solicitao de mudana feita por um agente externo (stakeholder) s pode ser uma
entrada (alternativa B), uma vez que a solicitao no um processo, nem de mudana, nem de feedback, no uma sada, no ambiente, mesmo que tenha sido gerada no ambiente.

REFERNCIA
CHURCHMAN, C. W. Introduo Teoria Geral dos Sistemas. So Paulo: Vozes, 1971.

106

COMENTADO

COMPUTAO
2011

QUESTO 50
Uma empresa vem desenvolvendo um programa de melhoria de seus processos de software utilizando o modelo de qualidade CMMI. O programa envolveu a definio de todos os processos padro
da organizao, implementao de tcnicas de controle estatstico de processos e mtodos de melhoria
contnua. Aps a avaliao SCAMPI, classe A, foi detectado que a rea de processo de PP - Project
Planning (Planejamento de Projeto) no estava aderente ao modelo.
Nesse contexto, considerando a representao por estgios do CMMI, a empresa seria classificada
em que nvel de maturidade?
A. Nvel 1.
B. Nvel 2.
C. Nvel 3.
D. Nvel 4.
E. Nvel 5.
Resposta: alternativa (A)
Autora: Sabrina dos Santos Marczak

COMENTRIO
O modelo CMMI (Capability Maturity Model Integration) um modelo que guia o desenvolvimento
ou avaliao da maturidade dos processos de software de um projeto, um departamento ou uma organizao como um todo. A maturidade do processo indica a capacidade do mesmo de fornecer uma
previsibilidade dos seus resultados. Ou seja, indica quanto os resultados gerados por um processo de
software podero ser alcanados com a execuo dos mesmos.
Visando a uma progresso gradativa da maturidade dos processos relacionados ao ciclo de desenvolvimento de software, o modelo CMMI organizou o mesmo em nveis de maturidade. Os nveis de
maturidade so os seguintes: nvel 1 inicial, os processos so imprevisveis e reativos s aes dos
indivduos; nvel 2 gerenciado, os processos so definidos por projetos e ainda so, em geral, reativos;
nvel 3 definido, os processos so padronizados em nvel organizacional e decises so feitas a priori

107

COMENTADO

quanto customizao dos processos (quando necessrio), justificando as mudanas realizadas; nvel
4 quantitativamente gerenciados, os processos so medidos e controlados; e nvel 5 em otimizao,
os processos focam na busca de uma melhoria contnua, otimizando seus recursos e atividades.
Cada nvel de maturidade composto de reas de processo. Uma rea de processo rene as prticas esperadas para um determinado fim. Por exemplo, a rea de processo denominada Gerncia
de Requisitos rene prticas que visam gerenciar os requisitos dos produtos do projeto, identificando
inconsistncias entre os requisitos, o plano de projeto e os produtos de trabalho gerados pelo projeto.
Para que um nvel de maturidade seja considerado como aderente ao modelo, todas as reas
de processo precisam ter suas prticas definidas e institucionalizadas no projeto, departamento ou
organizao. Caso uma das reas de processo no esteja aderente, o projeto, departamento ou
organizao ser ento considerado como um nvel de maturidade inferior ao nvel a que a rea de
processo est relacionada.
A rea de processo PP Project Planning (Planejamento de Projeto) uma rea do nvel 2 de
maturidade. Dessa forma, se esta rea no est aderente ao modelo, ento a empresa ser classificada
com um nvel de maturidade 1 inicial. Sendo assim, a resposta correta a alternativa A.

REFERNCIA
CHRISSIS, M. B.; KONRAD, M.; SHRUM, S. CMMI: Guidelines for Process Integration and Product Improvement.
2. ed. Nova York: Addison-Wesley, 2006. 704p.

108

COMENTADO

COMPUTAO
2011

QUESTO DISCURSIVA 3
Os nmeros de Fibonacci correspondem uma sequncia infinita na qual os dois primeiros termos
so 0 e 1. Cada termo da sequncia, exceo dos dois primeiros, igual soma dos dois anteriores,
conforme a relao de recorrncia abaixo.

Desenvolva dois algoritmos, um iterativo e outro recursivo, que, dado um nmero natural n > 0,
retorna o n-simo termo da sequncia de Fibonacci. Apresente as vantagens e desvantagens de cada
algoritmo. (valor: 10,0 pontos)

Autora: Lucia Maria Martins Giraffa

COMENTRIO
Asequncia de nmeros naturais, denominada de Fibonacci, associada recorrncia fn= fn -1+ fn-2
expressa por:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377,
Um nmero integrante desta srie obtido, a partir do terceiro, pela soma dos seus dois antecessores. Por definio os dois primeiros termos da srie so 0 e 1. Isso importante para a elaborao do
algoritmo. Destaca-se que o enunciado pede o n-simo nmero apenas a ser impresso e no a srie
inteira at aquele nmero. Ser necessrio gerar todos os valores at o n-simo e imprimir apenas este.
Este algoritmo, quando escrito da forma iterativa, implementado diretamente da definio da srie
e pode ser construdo usando-se as opes existentes para comandos relacionados s estruturas de
repetio. A opo com Para (for) a mais usada.
A verso iterativa tem complexidade linear, o que a torna mais vantajosa em termos de eficincia,
mas exige mais ateno na implementao. Importante na verso iterativa que aparea de forma
explcita a inicializao das variveis auxiliares que representam os dois primeiros termos, os testes

109

COMENTADO

para sada direta desses dois primeiros termos e que a estrutura de repetio utilize um acumulador e
as atribuies que alteram os valores, seguindo esta lgica:
aux valor_anterior+ valor_corrente
valor_anterior valor_corrente
valor_corrente aux
Uma opo iterativa de algoritmo seria:

a0
b1
se (termo1) escrever a
se (termo2) escrever b
se (termo >=3)
incio
para int i=3 at i <=termo incremento de 1

incio
somaa+b
ab
bsoma
fim

escrever soma
fim
Outra opo iterativa seria:

se n = 0 ou n = 1 ento retorna 1
seno
incio
a0
b1
para i 1 at n - 1 incremento 1
incio
aux a + b
ab
b aux
fim
retorna aux
fim

110

COMENTADO

Os algoritmos recursivos quase sempre consomem mais recursos (especialmente memria) do


computador, logo, tendem a apresentar um desempenho inferior aos iterativos.
No caso dessa Srie, o algoritmo proposto deve considerar os seguintes componentes:

...int ... Fib(int n)


incio
se n = 0 ou n = 1 ento
retorna n
seno
retorna Fib(n-2) + Fib(n-1)
fim
Ou uma opo desse poderia ser assim:

...int ... Fib(int n)


incio
se n = 1 retorna 0
se n = 2 retorna 1
seno
retorna Fib(n-2) + Fib(n-1)
fim
Essa implementao poder ser uma funo ou um mtodo dentro e uma classe dependendo do
paradigma que o programador est usando. Razo pela qual usamos os ... (trs pontos) para destacar isso e chamamos ateno nos exemplos relacionados s opes recursivas nos exemplos acima.

REFERNCIAS
FORBELLONE, A. L. V.; EBERSPACHER, H. F. Lgica de Programao. So Paulo: Makron Books, 2005.
GOODRICH, M. T.; TAMASSIA, R. Estruturas de Dados e Algoritmos em Java. 4a ed., Porto. Alegre, Bookman, 2007.
HORSTMANN, C. Big Java. Porto Alegre: Bookman, 2004.
SZWARCFITER, J. L.; MARKENZON, L.Estruturas de Dados e seus Algoritmos. 2. ed. Rio de Janeiro. LTC Editora, 1997.

111

COMENTADO

COMPUTAO
2011

QUESTO DISCURSIVA 4
Listas ordenadas implementadas com vetores so estruturas de dados adequadas para a busca
binria, mas possuem o inconveniente de exigirem custo computacional de ordem linear para a insero de novos elementos. Se as operaes de insero ou remoo de elementos forem frequentes,
uma alternativa transformar a lista em uma rvore binria de pesquisa balanceada, que permitir a
execuo dessas operaes com custo logartmico.
Considerando essas informaes, escreva um algoritmo recursivo que construa uma rvore binria
de pesquisa completa, implementada por estruturas auto referenciadas ou apontadores, a partir de
um vetor ordenado, v, de n inteiros, em que n = 2m - 1, m > 0. O algoritmo deve construir a rvore em
tempo linear, sem precisar fazer qualquer comparao entre os elementos do vetor, uma vez que este
j est ordenado. Para isso,
A. descreva a estrutura de dados utilizada para a implementao da rvore (valor = 2,0 pontos)
B. escreva o algoritmo para a construo da rvore. A chamada principal funo recursiva deve
passar, como parmetros, o vetor, ndice do primeiro e ltimo elementos, retornando a referncia
ou apontador para a raiz da rvore criada (valor: 8,0 pontos).
Observao: Qualquer notao em portugus estruturado, de forma imperativa ou orientada a objetos
deve ser considerada, assim como em uma linguagem de alto nvel, como o Pascal, C e Java.

Autor: Marcelo Cohen

COMENTRIO
A questo engloba a transformao de uma estrutura de dados linear (vetor) em uma hierrquica
(rvore binria balanceada), com o objetivo especfico de melhorar o desempenho das operaes de
insero e remoo de elementos. O problema da insero em um vetor que os elementos sempre
precisam ser deslocados na memria, o que exige um custo computacional linear. Alm disso, a insero de elementos em um vetor requer que esse tenha espao livre: se no for o caso, ainda haver a
necessidade de alocar um vetor maior e copiar os elementos do original para ele. Isso aumenta ainda
mais o custo da operao. J numa estrutura de rvore, a insero trivial: basta localizar o nodo cor-

112

COMENTADO

reto (o que tem um custo logartmico, como afirma o enunciado) e inserir o novo elemento direita ou
esquerda, dependendo da relao de ordem entre o valor dele e do nodo localizado.
Para realizar a transformao, a questo solicita explicitamente um algoritmo de complexidade linear,
ou seja, cujo tempo seja diretamente proporcional quantidade de itens no vetor original.
Resposta e comentrio do item A. Para a criao de uma rvore binria de pesquisa, necessria
a representao de um nodo dessa rvore. Uma estrutura possvel na linguagem C++ seria um template de classe com ponteiros. Dessa forma, ser possvel armazenar qualquer tipo de dado ordenvel
no nodo, isto , que possa ser comparado usando os operadores relacionais (<, >, <=, >=, == ou !=).
Qualquer linguagem de programao poderia ser utilizada desde que a resposta contivesse os elementos sublinhados: o valor armazenado, um ponteiro/referncia para o Nodo direita e outro ponteiro/
referncia para o Nodo esquerda.
template<typename T>
class Nodo {
T valor;
Nodo* esq;
Nodo* dir;
public:

Nodo(T valor) {
this->valor = valor;
this->esq = this->dir = NULL;
}
T getValor() { return valor; }
Nodo* getEsq() { return esq; }
Nodo* getDir() { return dir; }
void setDir(Nodo* n) { dir = n; }
void setEsq(Nodo* n) { esq = n; }
};

113

COMENTADO

Resposta e comentrio do item B. Algoritmo recursivo, implementado como uma funo genrica
(template) em C++:
template<typename T>
Nodo<T>* gera_abp(T lista[], int primeiro, int ultimo)
{
if (primeiro > ultimo)
return NULL;
int meio = (primeiro+ultimo)/2;
Nodo<T>* raiz = new Nodo<T>(lista[meio]);
raiz->setEsq(gera_abp(lista, primeiro, meio-1));
raiz->setDir(gera_abp(lista, meio+1, ultimo));
return raiz;
}
Para se criar uma rvore binria de pesquisa a partir do vetor, preciso escolher um dos elementos
para ser a raiz. Como o enunciado solicita uma rvore balanceada, a melhor escolha o elemento exatamente no meio do vetor. A partir da, a rvore gerada recursivamente, considerando-se a metade
esquerda e direita. Em outras palavras, o processo repetido, novamente escolhendo-se o elemento no
meio de cada partio. Isso garante o balanceamento da rvore e caracteriza, como solicita o enunciado,
um algoritmo de complexidade linear, uma vez que cada elemento do vetor s ser visitado uma nica vez.

REFERNCIAS
GOODRICH, Michael T. Estruturas de dados e algoritmos em Java. 4. ed. Porto Alegre: Bookman, 2007. 600 p.
MCALLISTER, W. Data Structures and Algorithms Using Java. 1. ed. Boston: Jones and Bartlett, 2009. 580 p.

114

COMENTADO

COMPUTAO
2011

QUESTO DISCURSIVA 5
As memrias cache so usadas para diminuir o tempo de acesso memria principal, mantendo
cpias de seus dados. Uma funo de mapeamento usada para determinar em que parte da memria
cache um dado da memria principal ser mapeado. Em certos casos, necessrio usar um algoritmo
de substituio para determinar qual parte da cache ser substituda.
Suponha uma arquitetura hipottica com as seguintes caractersticas:

A memria principal possui 4 Gbytes, em que cada byte diretamente enderevel


com um endereo 32 bits.

A memria cache possui 512 Kbytes, organizados em 128 K linhas de 4 bytes.

Os dados so transferidos entre as duas memrias em blocos de 4 bytes.

Considerando os mapeamentos direto, totalmente associativo e associativo por conjuntos (em 4 vias),
redija um texto que contemple as organizaes dessas memrias, demonstrando como so calculados
os endereos das palavras, linhas (blocos), rtulos (tags) e conjunto na memria cache em cada um
dos trs casos. Cite as vantagens e desvantagens de cada funo de mapeamento, bem como a necessidade de algoritmos de substituio em cada uma delas. (valor: 10,0 pontos)

Autor: Alexandre de Morais Amory

COMENTRIO
O crescimento de desempenho dos processadores tipicamente muito mais acentuado que o crescimento de desempenho das memrias, efeito chamado de Memory Gap. Isso faz com que, a longo
prazo, o custo de tempo de acesso memria se torne cada vez mais relevante para o desempenho de
um programa. Dessa forma, importante que os alunos estejam cientes do funcionamento da hierarquia
de memria para aplicaes com restries de desempenho.
Dado que a especificao de hierarquia de memria apresentada e assumindo que a memria
em questo endereada em palavras de 1 byte, essa pode ser configurada das seguintes formas:

115

COMENTADO

Mapeamento direto: 2 bits para enderear o byte do bloco, 17 para endereamento da


linha da cache, e 13 bits de rtulo.

Mapeamento associativo: 2 bits para enderear o byte do bloco e 30 bits de rtulo.

Mapeamento conjunto associativo: 2 bits para enderear o byte do bloco, 15 bits para
enderear o conjunto (128 K linhas/4 vias), e 15 bits de rtulo.

O mapeamento direto o que tem implementao de hardware mais simples e barata, porm
possui a tendncia de gerar mais erros de cache, pois os endereos de memria so mapeados em
endereos fixos da cache, aumentando o nmero de conflitos na cache. O mapeamento associativo
possui o menor nmero de conflitos de cache, pois um endereo da memria pode ser associado a
qualquer linha da memria cache. Por outro lado, o custo de implementao do hardware alto e no
escalvel, ou seja, o custo aumenta rapidamente medida que o tamanho da cache tambm aumenta.
O mapeamento conjunto associativo um compromisso entre os dois mtodos anteriores. Ele no
to restritivo quanto o mapeamento direto, reduzindo o nmero de conflitos na cache, porm, o custo
de hardware no to alto quanto o mapeamento direto. Experimentos demonstram que aumentar a
associatividade demais no traz necessariamente benefcios de desempenho. Por esse motivo o mapeamento conjunto associativo o mais utilizado nos processadores reais, pois prov baixo nvel de
conflito e custo de hardware aceitvel.
Os algoritmos de substituio so utilizados quando um novo bloco precisa ser escrito em uma
memria cache com suas linhas j preenchidas. Dessa forma, uma linha deve ser selecionada para
receber o novo bloco de dados. Um exemplo de algoritmos de substituio chamado de Least Recently Used (LRU), que seleciona a linha usada por mais tempo para ser substituda. Os algoritmos de
substituio s fazem sentido nos mtodos de mapeamento nos quais um determinado endereo da
memria possa ser mapeado em mltiplas linhas da cache. Dessa forma, o mapeamento direto no
necessita de algoritmo de substituio.

REFERNCIAS
MONTEIRO, M. A. Introduo Organizao de Computadores. 5. ed. Rio de Janeiro: LTC, 2012.
PATTERSON, David; HENESSY, John L. Arquitetura de computadores: uma abordagem quantitativa. 4. ed. Rio
de Janeiro: Campus, 2008.
______; ______. Organizao e projeto de computadores: a interface hardware/software. 4. ed. Rio de Janeiro:
Elsevier, 2014.
STALLINGS, W. Arquitetura e Organizao de Computadores. 8. ed. So Paulo: Pearson, 2010.
TANENBAUM, A. S. Organizao Estruturada de Computadores. 5. ed. So Paulo: Pearson, 2007.

116

Вам также может понравиться