UNIFEI Instituto de Engenharia de Sistemas e Tecnologias ... · 1) (30 pontos) A empresa de...

12
UNIFEI Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI Prova 2009 - PCO203 – Tópicos Especiais de Programação - Prof. Enzo Seraphim 1) (30 pontos) A empresa de biotecnologia chamada InGen, conseguiu clonar dinossauros através de DNA extraído de mosquitos fossilizados em âmbar. Todas as raças de dinossauros eram de grande estatura. O dinossauro tirannosaurus que  significa  "lagarto tirano rei" é um animal carnívoro e bípede (locamoção em duas pernas). Se por um lado as pernas de um tiranossauro eram bem desenvolvidas e fortes, por outro lado seus braços eram fracos, pequenos e praticamente inúteis, pois nem ao menos alcançavam a boca. O dinossauro velociraptor que significa "ladrão veloz" é um animal carnívoro e bípede. Este animal recebe grande atenção da comunidade científica porque possuía pernas de diversas colorações. Era um dos dinossauros mais ágeis que já existiram, pois caminhava sobre dois dedos, sendo o último de sua pata um dedo modificado, onde se encontra a mais famosa das características do velociraptor: a chamada "garra terrível", que media de 7 à 11 centímetros. O dinossauro triceratops que significa "cabeça com três chifres" é um animal herbívoro e quadrúpede. Este animal ficou conhecido como o principal inimigo do tirannosaurus. Os indivíduos dessa espécie variavam o tamanho de seus três chifres em sua cabeça, além do tamanho do escudo no alto da mesma. O pterodáctilo que significa "dedo com asa ou dedo voador" era carnívoro e adaptado para voar. Os pterodáctilos possuíam bicos de diversos tamanho, sendo que somente alguns deles tinham uma crista. Uma característica importante é que o tamanho do dedo do pterodáctilo define o tamanho de sua asa. Todos esses dinossauros eram habitantes de uma ilha costa-riquenha chamada Nublar. Nesta ilha um milionário chamado John Hammond construiu um zoológico chamado "Jurassic Park". Para manter a segurança do zoológico todos os dinossauros eram monitorados por uma coleira que indicava em uma unidade de tempo sua localização em coordenada de latitude e longitude. Através desta coordenada era possível identificar em que setor da ilha o animal se encontrava. Para organizar o monitoramento, a ilha foi dividida em várias regiões que são compostas por vários setores. Os setores são marcações quadradas de qualquer tamanho (qualquer lado) e que possuem uma latitude e longitude central. Toda região tem um nome e somente uma montanha, ou um planalto ou uma planície ou uma depressão. A maior montanha da ilha era o Cerro Chirripó com mais de 3.820m de altura. O planalto mais importante era o Vale Central com mais de 10 km de comprimento. A menor planície era o Pântano Sombrio com retenção mensal de água superior à 0,99 cm 3 /cm 3 . A depressão Poço Sem Fim é formada por uma inclinação de 240m de comprimento com um ângulo de 72 graus. Existem rios e os lagos, sendo que um mesmo rio ou um mesmo lago pode estar em vários setores da ilha. Um rio é a Corredeira das Pedras onde a água alcança a velocidade máxima de 20km/h. O Lago Negro é um lago com mais de 100m de profundidade. Na ilha existiam várias montanhas, planaltos, planícies, depressões, lagos e rios. Construa o diagrama de classes de UML adicionando a visita de turistas na ilha que realizam uma trilha escoltado por um caçador, em uma data, sendo que o passeio percorre vários setores. Omita métodos de leitura e escrita nos atributos (gets e sets) para atributos privados da classe. Nesta modelagem não existe classe sem membro e objetos com uma única instância. 2) (30 pontos) Construa um diagrama em UML usando o padrão de projeto Mediador (Mediator) para promover acoplamento fraco entre Classe A e Classe B, assim não haverá referencia explícita de um ao outro, permitindo variar sua interação independentemente. Implemente esse diagrama na linguagem C++. Somente declare o que deve estar dentro de cada classe, pois não será avaliado declarações fora do escopo da classe (ex: pacotes, inclusões de arquivos, etc). 

Transcript of UNIFEI Instituto de Engenharia de Sistemas e Tecnologias ... · 1) (30 pontos) A empresa de...

UNIFEI Universidade Federal de ItajubáInstituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI

Prova 2009 - PCO203 – Tópicos Especiais de Programação - Prof. Enzo Seraphim1) (30 pontos) A empresa de biotecnologia chamada InGen, conseguiu clonar dinossauros através de DNAextraído de mosquitos fossilizados em âmbar. Todas as raças de dinossauros eram de grande estatura. Odinossauro tirannosaurus que  significa  "lagarto tirano rei" é um animal carnívoro e bípede (locamoção emduas pernas). Se por um lado as pernas de um tiranossauro eram bem desenvolvidas e fortes, por outro ladoseus  braços   eram  fracos,  pequenos  e  praticamente   inúteis,   pois  nem ao  menos  alcançavam a  boca.  Odinossauro velociraptor que significa "ladrão veloz" é um animal carnívoro e bípede. Este animal recebegrande   atenção   da   comunidade   científica   porque   possuía   pernas   de   diversas   colorações.   Era   um   dosdinossauros mais ágeis que já existiram, pois caminhava sobre dois dedos, sendo o último de sua pata umdedo modificado, onde se encontra a mais famosa das características do velociraptor: a chamada "garraterrível", que media de 7 à 11 centímetros. O dinossauro triceratops que significa "cabeça com três chifres" éum animal herbívoro e quadrúpede. Este animal ficou conhecido como o principal inimigo do tirannosaurus.Os indivíduos dessa espécie variavam o tamanho de seus três chifres em sua cabeça, além do tamanho doescudo no alto da mesma. O pterodáctilo que significa "dedo com asa ou dedo voador" era carnívoro eadaptado para voar. Os pterodáctilos possuíam bicos de diversos tamanho, sendo que somente alguns delestinham uma crista.  Uma característica   importante   é   que  o   tamanho do  dedo  do  pterodáctilo  define  otamanho de sua asa. Todos esses dinossauros eram habitantes de uma ilha costa­riquenha chamada Nublar.Nesta ilha um milionário chamado John Hammond construiu um zoológico chamado "Jurassic Park". Paramanter a segurança do zoológico todos os dinossauros eram monitorados por uma coleira que indicava emuma unidade de tempo sua localização em coordenada de latitude e longitude. Através desta coordenada erapossível identificar em que setor da ilha o animal se encontrava. Para organizar o monitoramento, a ilha foidividida em várias regiões que são compostas por vários setores. Os setores são marcações quadradas dequalquer tamanho (qualquer lado) e que possuem uma latitude e longitude central. Toda região tem umnome e somente uma montanha, ou um planalto ou uma planície ou uma depressão. A maior montanha dailha era o Cerro Chirripó com mais de 3.820m de altura. O planalto mais importante era o Vale Central commais de 10 km de comprimento. A menor planície era o Pântano Sombrio com retenção mensal de águasuperior   à   0,99   cm3/cm3.   A   depressão   Poço   Sem   Fim   é   formada   por   uma   inclinação   de   240m   decomprimento com um ângulo de 72 graus. Existem rios e os lagos, sendo que um mesmo rio ou um mesmolago  pode  estar   em vários   setores  da   ilha.  Um  rio   é   a  Corredeira  das  Pedras  onde  a   água  alcança  avelocidade máxima de 20km/h. O Lago Negro é  um lago com mais de 100m de profundidade. Na ilhaexistiam várias montanhas, planaltos, planícies, depressões, lagos e rios. Construa o diagrama de classes deUML adicionando a visita de turistas na ilha que realizam uma trilha escoltado por um caçador, em umadata, sendo que o passeio percorre vários setores. Omita métodos de leitura e escrita nos atributos (gets esets) para atributos privados da classe. Nesta modelagem não existe classe sem membro e objetos com umaúnica instância.

2) (30 pontos) Construa um diagrama em UML usando o padrão de projeto Mediador (Mediator) parapromover acoplamento fraco entre Classe A e Classe B, assim não haverá  referencia explícita de um aooutro, permitindo variar sua interação independentemente. Implemente esse diagrama na linguagem C++.Somente declare o que deve estar dentro de cada classe, pois não será avaliado declarações fora do escopoda classe (ex: pacotes, inclusões de arquivos, etc). 

UNIFEI Universidade Federal de ItajubáInstituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI

Prova 2009 - PCO203 – Tópicos Especiais de Programação - Prof. Enzo Seraphim3)   (30   pontos)   Implemente   as   classes   da   figura   (a)   com   os   relacionamentos   abaixo   na   linguagemC++. Somente declare o que deve estar dentro de cada classe, pois não será avaliado declarações fora doescopo da classe (ex: pacotes, inclusões de arquivos, etc). Em seguida, construa uma aplicação em C++ quealoca dinamicamente os objetos da figura (b). Responda: Qual o nome desse padrão de projeto.

(a) Classes (b) Objetos

4) (10 pontos) Construa um diagrama em UML usando o padrão de projeto Ponte (Bridge) para que as duasabstrações possam variar independentemente.

UNIFEI Universidade Federal de ItajubáInstituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI

Prova 2010 - PCO203 – Tópicos Especiais de Programação - Prof. Enzo Seraphim1)  (30 pontos)  Introdução: No futuro, as riquezas minerais da Terra acabaram e a gananciosa humanidade cria aprimeira expedição em 2129d.C para  localizar riquezas em outros  sistemas  interestelar.  Nesta expedição a  lua dePolyphemus chamada Pandora desperta grande interesse, pois, mesmo sendo menor do que a Terra, possui um campomagnético radicalmente grande. Isto acontece pela presença de um supercondutor de alta temperatura que não existena Terra chamado unobtanium que é valiosíssimo e útil para diversas aplicações de tecnologia. Especificação:   Vinte   e   cinco   anos   se   passam   e   empresas   como   a   RDA   (Resources   Development   Administration)licenciada pelo registro ABC123E promovem a exploração de Pandora. Cada empresa cria várias colônias em Pandora,como por exemplo, a Colônia Extrassolar 01 da RDA que é apelidada de Portal do Inferno. Quase todas as colônia sãopressurizadas, mas quando isto não acontece, os humanos necessitam usar máscaras que filtram os gases nocivos. Ascolônias são formadas por  containers  de diversos tamanhos que abrigam: laboratórios, residencias e depósitos. Umlaboratório é caracterizado por um nome, uma sigla e tem uma finalidade. Uma residência é caracterizada por nome,sigla, uma quantidade de camas e banheiros. O depósito é caracterizado por nome, sigla e pode ser de material demineração, ou de material bélico, ou de veículos espaciais. Uma colônia pertence a somente uma jazida de unobtaniummas, uma jazida por ter mais de uma colônia. As jazidas unobtanium são demarcadas por retângulo que registra suabase, altura, latitude e a longitude do ponto central. Infelizmente, a exploração das reservas tem um violento impactona natureza que gera ilhas de deserto retangulares em meio às florestas tropicais do planeta após a finalização daexploração.  Conforme os  recursos se esgotam numa jazida,  os humanos partem para a  seguinte.  As   jazidas  estãoespalhadas por várias regiões e em algumas são povoadas pelos Na'vi. Os Na'vis são seres de Pandora semelhantes ahumanóides com mais de 3 metros de altura que possuem uma grande calda que equilibra seu corpo, além de pele azulmarinho e um quantidade de bioluminescentes que mostram seu humor. Um Na'vi só pode pertecer a um clã ondeocupa uma função. Por exemplo, o clã Omaticaya que tem como rei Eytucan, a rainha Mo'at e Neytiri é a princesa. Asárvores  ocupam papéis   importantes  na vida dos Na'vi:  espiritualidade,  moradia  e   terapêutico.  A espiritualidade écelebrada  na Árvore da Alma e pela Árvore das Vozes. A árvore da Alma, supostamente, permite que qualquer criaturapossas se ligar diretamente a Eywa. Eywa é a divindade máxima daquela cultura, que se mistura ao próprio poder danatureza. O que se sabe é que a árvore de fato tem a capacidade de se concectar diretamente ao sistema nervoso detodas criaturas vivas. A Árvore das Vozes permite que as "vozes" de seus antepassados sejam ouvidas, por meio decontato nervoso com a árvore. A Árvore­Lar é usada pelos vários clãs Na'vi como sua moradia. Geralmente tem mais de100 anos de idade, uma altura que permitem abrigar uma cerca quantidade de habitantes em seus espaços. A Árvore daVida pode gerar ou não sementes que tem propriedades terapêuticas. As árvores e as jazidas são encontradas em todasas regiões de Pandora como: Montanhas, Vales e Planícies. As montanhas são de diversas alturas em Pandora e podemou não se movimentar lentamente no ar, como os icebergs num oceano, como por exemplo, as montanhas Aleluia. Istoacontece por causa dos grandes efeitos magnéticos do unobtanium contido dentro da montanha. As montanhas sãohabitadas por seres chamados Banshee que são animais que voam até uma determinada altura e possuem uma corpredominante. Os banshees podem servir de transporte ao Na'vi que consegue dominá­lo em conexão "cerebral", em umrito de passagem aos aspirantes à guerreiros. É extremamente difícil de montar em um banshees, por isso, conseguirdomá­lo representa assumir uma posição de prestígio no clã. Uma outra região é o vale que pode ou não possuir águaem seu canal e tem uma profundidade máxima. Um exemplo, é o vale dos Thanators, que são habitados por seresperigosos chamadas Thanators. Esses animais ferozes são os predadores que ocupam o topo da cadeia alimentar emPandora. Eles lembram panteras da Terra, e possuem uma força e velocidade de deslocamento máxima. O vale tambémé o lar do Leonopteryx que é um predador dos ares, listrado por duas cores e suas asas podem chegar a 24,5 metrosquando abertas. As planícies são regiões onde podem ou não existir rios ou lagos e desenvolvem a mais variada flora. Aplanície Campo Largo, é o lar dos seres Direhorses que lembram os cavalos terrenos, eles possuem duas finas e longasantenas e seis patas compridas. Todos os seres e árvores de Pandora podem se conectar entre si e durante esta conexãopode existir uma relação de domínio ou de comunicação ou de reprodução. Por fim, uma jazida é explorada utilizandovários maquinários como escavadeiras e caminhões. Um escavadeira é a E984A que suporta um peso operacional de125t, com potência do motor 512 kW e tem uma pá com capacidade 8,00 m³. Um caminhão é o T282B que suporta umpeso operacional de 600t, com potência de motor 1024kW e caçamba com capacidade de 64,00 m³. Na exploração dasjazidas  as   colônias   empregam Mineradores,  Militares   e  Cientístas.  Um militar   é   o  Coronel  Miles  Quaritch  que   éespecializado em armamento. Um minerador é o Duck Nuke que tem como função explosão de rochas. Uma cientísta éa botânica Dra. Grace Augustine. Os cientistas trabalham em um laboratório onde desenvolvem pesquisas. A pesquisatem   um   nome,   tem   associado   vários   equipamentos   e   pode   ou   não   retornar   resultados.   Os   equipamentos   sãocaracterizados por um nome, possuem uma utilidade e consomem uma quantiade de energia. Um resultado de pesquisaé o Avatar, um ser híbrido, entre humano e Na'vi. Para criar um Avatar é necessário que um humano compartilhe seumaterial genético que permite através de conexões neurais o controle do corpo do Avatar.  Thomas era um cientista quecompartilhou material genético para criar um dos Avatares, no entanto, acabou morrendo em Pandora. Para não perdero investimento com o Avatar, foi chamado o seu irmão gêmeo Jake Sully, um ex­fuzileiro paraplégico. Construa odiagrama de classes em UML para a especificação do filme descrito acima sem levar em consideração a introdução.Adicione   a   batalha   entre   humanos   e   Na'vi   em   uma   determinada   região.   Omita   métodos   manipuladores   derelacionamentos entre as classes e métodos gets e sets para atributos privados da classe. Nesta modelagem não existemclasses vazias, ou seja, uma classe sem campos ou sem métodos e nem classes com uma única instância.

UNIFEI Universidade Federal de ItajubáInstituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI

Prova 2010 - PCO203 – Tópicos Especiais de Programação - Prof. Enzo Seraphim2) (25 pontos) O universo subdivide­se em vários aglomerados de galáxias, que se subdividem em grupos de galáxias,que   se   subdivide   em   galáxias,   que   se   subdivide   em   sistemas   estelares   que   contém   objetos   astronômicos.   Osaglomerados   possuem   um   nome   e   são   formados   por  inúmeros   grupos   de   galáxias   que   estão   interagindogravitacionalmente uns com os outros de duas maneiras: chocando­se entre si ou equilibradas à uma certa distância.Os grupos possuem um nome, abrangem cerca de 3 à 5 milhões de anos luz de diâmetro e são formados por inúmerasgaláxias. Uma galáxia é um aglomerado de bilhões de sistemas que giram em torno de um centro de massa comum. Asgaláxias  possuem um nome e  dividem­se em vários tipos morfológicos: galáxias espirais, galáxias elípticas, galáxiasirregulares e galáxias anãs.  Os sistemas possuem um nome e são formados por aglomerações de objetos astronômicos,mas   sempre   possuem   um   objeto   astronômico   central.   O   objeto   astronômico   possui   um   nome,   latitude   galática,longitude galática, massa,  se desloca a uma velocidade e gera um campo gravitacional. Um objeto astronômico podegirar em torno de outro objeto astronômico. Os objetos astronômicos podem ser planeta, estrela, cometa, planetóide,nebulosas ou buracos negros. a) Construa um diagrama em UML usando o padrão de projeto Compositor onde seja possível identificar qual é o maiorobjeto astronômico de qualquer subdivisão. Omita métodos gets e sets para atributos privados da classe e os métodosmanipuladores de relacionamentos entre as classes. Neste diagrama não existem classes vazias, ou seja, uma classe semcampos ou sem métodos.b) Implemente uma aplicação em C++ (main) que satisfaça a frase a seguir: “A lua Pandora (planetóide) gira ao redordo gigante planeta gasoso Polyphemus que por sua vez gira ao redor da estrela de Alfa Centauri 'A'. Todos esses objetosastronômicos fazem parte do sistema de Alfa Centauri da galáxia Via Láctea que por sua vez faz parte do aglomeradodo Grupo Local que constitui o Super Aglomerado Local”.

3)   (20   pontos)   Implemente   as   classes   com   os   relacionamentos   abaixo   na   linguagemC++. Somente declare o que deve estar dentro de cada classe, pois não será avaliado declarações fora do escopo daclasse (ex: pacotes, inclusões de arquivos, etc). 

4)  (25 pontos)  A  empresa  Petrolix  está   implantando um sistema para  gerenciar  a  atualização dos  seus produtosderivados do petróleo que são: botijão de gás e barril de gasolina. Os botijões de gás são caracterizados pela pressãomedida   no   envasamento   e   um   valor   de   venda.   O   barril   de   gasolina   é   caracterizado   pelo   volume   medido   noenvasamento e um valor de venda. O problema é que os valores de venda desses derivados sofrem reajustes conforme aoscilação da cotação do dólar ou da produção mensal do petróleo. Quando o valor da cotação do dólar muda, 40%desse percentual de aumento ou decremento atualiza o valor dos produtos. Quando a produção mensal de petróleomuda, 60% desse percentual de aumento ou decremento atualiza o valor dos produtos. Construa o diagrama UMLusando o padrão de projeto Observador que reajusta os produtos mencionados.  Omita métodos manipuladores derelacionamentos entre as classe e métodos  gets  e  sets  para atributos privados da classe não usados pelo padrão. Noentanto, todos métodos que caracterizam o padrão devem ser declarados e implementados no diagrama UML usando alinguagem C++. Neste diagrama não existem classes vazias, ou seja, uma classe sem campos ou sem métodos.

"Tudo o que Eywa dá é emprestado e será preciso devolver"Neytiri (princesa do clã Omaticaya)

UNIFEI Universidade Federal de ItajubáInstituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI

Prova 20112 – PCO203 – Tópicos Especiais em Programação - Prof. Enzo SeraphimIntrodução: A Federação Unida dos Planetas foi fundada após descoberta da Dobra Estelar que permitiu aoshumanos expandir para fora Sistema Solar entrando em contato com outros Seres.Especificação: O governo da federação é exercido pelo conselho que é composto de vários membros queescolhem um presidente. Qualquer Ser que faz parte da federação pode é eleito em uma data estelar parauma mandato no conselho. Os seres que fazem parte da federação são: Andorianos, Klingons, Vulcanos eHumanos. Andorianos são insetóides,  bípedes e não humanoides com capacidade auditiva definida pelotamanho de duas antenas que na verdade são ramificações de nervos sensoriais. Sua retina é muito sensívele não é capaz de captar cores por isso desenvolveu a capacidade de enxergarem em infravermelho. ShendroThelev é um andoriano que tornou­se comandante. Klingons são mamíferos, bípedes e humanoides que sãocriados para tornarem­se grandes guerreiros desenvolvem o conceito de honra. A beleza na raça Klingons édefinida pela quantidade de rugas na testa que formam aglomerados de peles (quanto mais rugas maisbonito).   A camada extra de musculatura em seu coração proporcionar grande força. Worf foi o primeiroklingon a se graduar na academia. Vulcanos são mamíferos, bípedes e humanoides que desde crianças sãoiniciados na filosofia da lógica para desenvolver sua uma grande capacidade logica e telepática. A densidadede seus músculo conferem grande agilidade.  Spock foi  o primeiro dessa raça a entrar na frota  estelar.Humanos     são   humanoides   mamíferos   e   bípedes   que   diferem   dos   demais   seres   por   deixar   que   seussentimentos emocionais  influenciem suas tomadas de decisões. James Tiberius Kirk foi  um humano quetornou­se capitão de uma nave estelar. Todo ser é natural de um planeta como por exemplo: Terra que é umplaneta da classe M, orbita a estrela Sol, com atmosfera rarefeita e com temperatura agradável; Vulcano queé um planeta da classe H, orbita o planeta 40 Eridani, com atmosfera rarefeita e com temperatura elevada;Andor que é um planeta da classe M, orbita o planeta Epsilon Indi, com atmosfera árida e com temperaturaelevada. Outras estrelas conhecidas são: Mintaka de cor azul escuro composta por átomos ionizados de héliocom temperatura de 46.464°K; Procyon de cor branca composta por hidrogênio e ferro com temperatura de6.666°K; Alpha Centauri B de cor laranja composta por metais neutros com temperatura de 4.422°K. Estrelase planetas são objetos atronômicos que pertencem a uma galáxia. A Galáxia contém um diâmetro e umaespessura em anos­luz. Exemplos de galáxia são: Via Láctea, Galáxia de Andrômeda e Galáxia Starburst.Toda Galáxia administrada por um almirante é dividida politicamente pela Federação em quatro quadrantes.Cada quadrante tem um nome (alfa, beta, gama e delta) e é administrada por um comodoro. Como osquadrantes são muito extensos estes também são divididos em setores caracterizados por um número que oidentifica, uma latitude e longitude galática. Todos os setores tem um diâmetro de 20 anos­luz. A federaçãorecruta Seres para um programa de treinamento para que possam assumir alguma patente na federação.Cada academia tem um nome, está localizada em um planeta e tem um ponto forte de ensino. As patentessão   assumidas   pelos   Seres   e   são   de   4   tipos:   tenente,   capitão,   comodoro   e   almirante.   O   tenente   temconhecimento de uma quantidade de mapas para auxiliar a navegação de uma nave da federação. O capitãotem uma quantidade de anos­luz de navegação. O comodoro tem quantidade de anos na administração dequadrantes. O almirante tem quantidade honras recebidas. Para defender as fronteiras da federação existemdiversas naves que tem uma capacidade de realizar a dobra espacial. A dobra impulsiona a nave a navegarem múltiplos superiores à velocidade da luz e evita os problemas associados a dilatação do tempo. Navesimportantes da federação são: USS Enterprise com número de registro NCC­1701, lançada em 2245 doestaleiro de São Francisco e comandada pelo humano James Tiberius Kirk; USS Challenger com número deregistro NCC­71099, lançada em 2377 do estaleiro de Utopia Planitia e comandada pelo humano Geordi LaForge; USS Venture com número de registro NCC­2011, lançada em 2292 do estaleiro de São Francisco ecomandada pelo humano Owen Paris. Toda nave tem uma tripulação de Seres patenteados. Finalmente, osBorgs são seres não aliados a federação. Esses seres são uma espécie humanóides e bípedes com implantescibernéticos que possibilitam ter uma consciência coletiva. Cada Borg tem implantes cibernéticos os quaisvariam dependendo da tarefa designada ao individuo. Esses seres assimilam outros seres em sua consciênciacoletiva através dos  implantes  cibernéticos permitindo que escutem o pensamento de milhares,  que  lhetransmite a tarefa que deve ser cumprida. A rainha Borg é o único borg que detém sua individualidadesendo que os demais não a detém.

1) (45 pontos) Construa o diagrama de classes em UML para a especificação da série Star Trek descritoacima sem levar em consideração a introdução. Omita métodos manipuladores de relacionamentos entre asclasses e métodos gets e sets para atributos privados da classe. Nesta modelagem não existem classes vazias,ou seja, uma classe sem campos ou sem métodos, e nem classes com uma única instância.

UNIFEI Universidade Federal de ItajubáInstituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI

Prova 2012 – PCO203 – Tópicos Especiais em Programação - Prof. Enzo Seraphim2)   (20   pontos)   Agentes   do  FBI   de  uma  divisão   chamada  Fringe   investigam e   solucionam casos   estranhos,relacionados com "o padrão". Fazem parte desta divisão agentes e cientistas. Alguns agentes são: a agente OliviaDunham, 26 anos,   formada pela  Universidade  da Carolina do Norte em Chapel  Hill  em Psicologia  e   tem acapacidade de recordar sequências de números e de contar cartas; o agente especial encarregado Phillip Broyles,48 anos, formado como militar da Academia das Forças Armadas Americanas e desenvolveu a capacidade deidentificar crimes relacionados aos padrões; o falecido agente Charlie Francis, 34 anos, formado em direito pelaUniversidade da Cidade de Nova Iorque e tinha grande habilidade em investigar inquéritos criminais. Algunscientistas são: o biólogo Walter Bishop (QI de 196), 58 anos, formado em Harvard, fez mestrado em biologia emOxford, doutorado em química no Instituto de Tecnologia de Massachusetts, publicou 198 trabalhos,  sendo quenunca fraudou nenhum resultado; o químico Peter Bishop (QI de 190) formado pelo Instituto de Tecnologia deMassachusetts, fez mestrado e doutorado em química no Instituto de Tecnologia de Massachusetts, publicou 5trabalhos, sendo que 2 destes trabalhos são fraudes. Os agentes e cientistas podem ser do Universo Real ou doUniverso Alternativo e podem sofrer  de um mal chamado de vibração prejudicial harmônica que o incapacita porum determinado tempo. O tempo em segundos da incapacitação no universo alternativo é a idade multiplicadapela   constante   666.   No  universo   real   o   tempo   em  segundos   da   incapacitação  é   a   idade  multiplicada  pelaconstante 77. Construa um diagrama em UML usando o padrão de projeto Ponte (Bridge) para desacoplar as duasabstrações para que possam variar independentemente.  Omita métodos  gets  e  sets  para atributos privados daclasse e os métodos manipuladores de relacionamentos entre as classes.  Neste diagrama não existem classesvazias, ou seja, uma classe sem campos ou sem métodos. Implemente uma aplicação java (main) que satisfaça afrase a seguir: “Qual é o tempo da incapacitação vibração prejudicial harmônica da agente no Universo RealAstrid Farnsworth”.

2) (15 pontos) Implemente as classes com os relacionamentos abaixo na linguagem Java e responda qual  é opadrão de construção caracterizado.  Somente declare o que deve estar dentro de cada classe, pois  não seráavaliado declarações fora do escopo da classe (ex: pacotes, inclusões de arquivos, etc). 

4) (20 pontos) A rede McMineiro fabrica quatro tipos de lanches: X­Burger, X­Tudo, Frango­Simples e FrangoTudo. O X­Burger é feito com 2 hambúrgueres, 3 folhas alface, 3 fatias de queijo, 50g de molho especial, 1 rodelacebola, 3 fatias de picles e um pão de leite com gergelim. O X­Tudo é feito com 2 hambúrgueres, 2 folhas alface, 2fatias de queijo, 50g de maionese, 1 ovo, 3 fatias de bacon e um pão de leite com gergelim.  O Frango­Simples  éfeito com 1 filé de frango empanado, 5 folhas de alface, 2 fatias de queijo, 75g de maionese e uma pão de leite.O Frango­Tudo é feito com 2 filés de frango empanado, 2 fatias de queijo, 60g de molho especial, 1 ovo, 3 fatiasde bacon e um pão de leite com gergelim. As lanchonetes da franquia são de dois tipos McMineiro Galinha e oMcMineiro Vaquinha. Ambas lanchonetes somente fabricam lanches, no entanto, o McMineiro Galinha fabricasomente   lanches  de   frango e o  McMineiro  Vaquinha   fabrica   somente   lanches  de  hambúrguer.  Construa umdiagrama em UML usando o padrão de projeto fábrica abstrata. Omita métodos gets e sets para atributos privadosda classe e os métodos manipuladores de relacionamentos entre as classes. Neste diagrama não existem classesvazias, ou seja, uma classe sem campos ou sem métodos.

"As necessidades de muitos sobrepõem­se às necessidades de poucos... Ou a de um só." Comandante Spock

UNIFEI Universidade Federal de ItajubáInstituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI

Prova 2013 – PCO203 – Tópicos Especiais em Programação - Prof. Enzo SeraphimIntrodução:  No mundo mágico, crianças a partir de 11 anos de idade são ensinadas a arte damagia durante 7 anos.Especificação: Na Inglaterra moderna, moram juntos: Válter Dursley que nasceu em 28/11/1948 égrisalho e gordo;  Petunia Dursley que nasceu em uma data não divulgada é loira e magra; DudaDursley que nasceu em 22/06/1980, tem cabelos pretos moreno e é gordo; e Harry Potter quenasceu   em 31/07/1980,   tem  cabelos   castanhos,   é  magro,   e   é   um bruxo.  Bruxos   são  pessoascapazes de manipular a magia que se manifesta através feitiços, itens mágicos e poções. Exemplosde   feitiços   são:   Wingardium  Leviosa   que   levita   objetos;  Avada   Kedavra   que   é   uma   maldiçãoimperdoável que causa morte instantânea na vítima; Crucio que é uma maldição imperdoável quecausa enormes dores psicológicas e físicas na vítima; Imperio que é uma maldição imperdoável queprovoca controle das ações na vítima; Expelliarmus que é usado para derrubar a varinha da mão dooutro   bruxo.   Exemplos   de   itens   mágicos:   Berrador   é   uma   carta   que   berra   uma   mensagem;Desiluminador é um isqueiro que suga as luzes do ambiente; Horcruxe é um objeto que guardamparte da alma do bruxo; Penseira é uma bacia que serve para rever lembranças; Pena de RepetiçãoRápida   é   uma  pena   comum que  escreve   tudo  que   é   dito  para  ela.  Exemplos  de  poções   são:Amortentia é a poção do amor que tem brilho perolado e gera uma apaixonite que dura por 72horas; Felix Felicis é a sorte líquida que tem cor de ouro e gera 12 horas de sorte; Polissuco quetem cor marron e serve para transformar uma pessoa em outra, necessitando de algo da pessoa quese  pretende   transformar   com duração de  até   1  hora.  Outros  bruxos  e  bruxas  que  conseguemmanipular a magia são: Ronald Weasley que nasceu em 1/03/1980 tem cabelos vermelhos e  émagro; Hermione Granger que nasceu em 19/09/1979, tem cabelos castanhos claros, e é magra;Neville Longbottom que nasceu em 30/07/1980, tem cabelos preto e é gordo. Alguns bruxos são desangue puro (pai e mãe são bruxo) e outros bruxos são de sangue mestiço (pai ou mão são bruxos)e outros ainda são de sangue trouxa (pai e mãe não são bruxo). Os bruxo podem assumir uma oumais das seguintes profissões, a partir de uma data: Professores dominam uma especialidade deuma   área   da   magia;   Aurores   aplicam   técnicas   investigativas   e   possuem   em   seu   currículo   aquantidade de bruxos que apreenderam praticando as artes das trevas; Comerciantes são atuantesno comércio ou são atuantes na área financeira; Escritores escrevem livros e escrevem matérias emjornais; Esportista praticam algum esporte. Somente bruxos podem estudar em escolas de magiacomo a: Escola de Magia e Bruxaria de Hogwarts localizada na Inglaterra que tem como diretor oprofessor Albus Percival Wulfric Brian Dumbledore; Academia de Magia Beauxbatons localizada naFrança   que   tem   como   diretora   a   professora   Madame   Olympe   Maxime;   Instituto   Durmstranglocalizada na  Suécia    que   tem como diretor  o  professor   Igor  Karkaroff;   e  Brazilian  WizardingSchool, localizada no Brasil que não se sabe quem é o diretor. Todas essas escolas foram fundadas aséculos atrás e seus alunos são selecionados para morar em uma das suas casas. Hogwarts, porexemplo, tem 4 casas: Grifinória tem como símbolo um leão, usa as cores vermelho e dourado, esua professora responsável é  Minerva McGonagall. Corvinal tem como símbolo uma águia, usa ascores azul e bronze, e seu professor responsável é Filius Flitwick. Sonserina tem como símbolo umaserpente e usa as cores verde e prata, e seu professor responsável é Severus Snape. Lufa­Lufa temcomo símbolo uma texugo e usa as cores amarelo e preto, e sua professora responsável é PomonaSprout. A cada ano a casa forma um time de quadribol, usando seus alunos para compor os setejogadores: um goleiro que realiza horas de treinamentos e uma quantidade de defesas, evitandoque   os   artilheiros   marquem   gols;   um   apanhador   que   realiza   horas   de   treinamentos   e   umaquantidade de captura do pomo de ouro; dois batedores que realizam horas de treinamentos e umaquantidade   de   rebatida   dos   balaços   com   seus   bastões,   para   dificultar   a   movimentação   dosartilheiros e do apanhador do time adversário; três artilheiros que realizam horas de treinamentose marcam uma quantidade de gols. Um partida de quadribol é realizada em um data, envolve 2times das casas e tem um total de pontos de cada time.  

UNIFEI Universidade Federal de ItajubáInstituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI

Prova 2013 – PCO203 – Tópicos Especiais em Programação - Prof. Enzo Seraphim1) (50 pontos) Construa o diagrama de classes em UML para a especificação da série Harry Potter descritoacima sem levar em consideração a introdução. Omita métodos manipuladores de relacionamentos entre asclasses e métodos gets e sets para atributos privados da classe. Nesta modelagem não existem classes vazias,ou seja, uma classe sem campos ou sem métodos, e nem classes com uma única instância.

2) (40 pontos) Implemente as classes com os relacionamentos abaixo na linguagem Java. Somente declare oque deve estar dentro de cada classe, pois não será  avaliado declarações fora do escopo da classe (ex:pacotes, inclusões de arquivos, etc). 

3) (10 pontos ) Usando a modelagem do exercício anterior, construa uma classe chamada App que tem ummétodo main que insere o objeto da classe B na lista de um objeto da classe D.

“O mundo não se divide em pessoas boas e más. Todos temos luz e trevas dentro de nós. 

O que importa é o lado o qual decidimos agir.Isso é o que realmente somos!.” 

Sirius Black.

UNIFEI Universidade Federal de ItajubáInstituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI

Prova 2014 – PCO203 – Tópicos Especiais em Programação - Prof. Enzo Seraphim1) (25 pontos) Em uma competição para ganhar 1 milhão, pessoas são confinadas em uma casadurante 10 semanas com câmeras que captam tudo que é  feito. O objetivo dessa competição éidentificar qual pessoa da casa será a mais amigável para ganhar o prêmio de 1 milhão. Esse anoforam selecionadas 12 pessoas, sendo 6 de cada sexo (masculino e feminino). Um dos selecionadosfoi José da Silva, 28 anos, com opção sexual hétero, apelidado Zezinho. Para serem mais fortesdurante   a   competição   esses   competidores   podem   formar   um   grupo,   onde   sempre   existe   umcompetidor que manda nos demais. Essa equipe tem um nome que é dado pela equipe que dirige acompetição. A cada semana os competidores participam de 3 tipos de provas: prova de líder, provade dinheiro, prova de anjo. A prova de dinheiro acontece sempre no segundo dia da semana eexiste um valor que é  pago a cada competidor que conseguir completar a prova. Esse dinheiroincrementa o saldo da conta que cada competidor recebe ao final da competição. A prova de líderacontece sempre no quarto dia da semana e existe um único competidor que ganha, podendo ter ounão um prêmio material associado a prova (um carro, uma televisão, etc). A prova do anjo acontecesempre  no   sexto   dia  da   semana   e   existe   apenas  um  único   ganhador   que   recebe  um  prêmiosentimental associado a prova (por exemplo, um telefonema aos pais, uma realização de sonho,etc). Para cada prova existe uma regra própria que é lida aos competidores no início de cada prova.A cada dia  da semana acontecem vários  eventos na casa.  Um evento  interessante é  quando ocompetidor fala bem ou mau de outro competidor em uma determinada data, horário e dura umdeterminado   tempo.   Um   outro   evento   é   cozinhar,   onde   um   competidor   prepara   as   refeições(almoço ou jantar) para os demais competidores. O último evento é a limpeza onde um competidorlimpa um determinado cômodo da casa usando um utensílio doméstico (vassoura, balde, rodo,etc). A cada semana um dos competidores deixa a casa. Para selecionar quem vai deixar a casa, éfeita uma votação interna e uma votação externa. Na votação interna cada competidor pode votarem qualquer outro competidor (inclusive líder e anjo). Ao final da votação o competidor com amaior quantidade de votos disputa uma votação externa contra o competidor indicado pelo líder.Na votação externa os dois competidores computam votos entre si para verificar quem vai sair doprograma.   Construa   o   diagrama   de   classes   de   UML   omitindo   os   métodos   gets   e   sets   e   osmanipuladores de relacionamentos. Nesta modelagem não existe classe sem membro e com umaúnica instância.

2)   (25  pontos)  Implemente  as   classes  com os   relacionamentos  abaixo  na   linguagem Java  eresponda qual é o padrão de construção caracterizado. Somente declare o que deve estar dentrode cada classe, pois não será avaliado declarações fora do escopo da classe (ex: pacotes, inclusõesde arquivos, etc).

UNIFEI Universidade Federal de ItajubáInstituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI

Prova 2014 – PCO203 – Tópicos Especiais em Programação - Prof. Enzo Seraphim

3) (25 pontos)  Implemente as classes  na  linguagem Java o padrão protótipo  genérico  CRTP(Curiously Recurring Template Pattern).  Adicione uma nova interface genérica CRTP  chamadaIgualdade que tem um método chamado isEqual() que tem como parâmetro um outro objeto damesma classe. Essa função deve retorna verdadeiro se ambas classes tem os mesmos valores deatributos. Verifique esse condição para a implementação desta interface nas classe Carro e Moto.

4)   (25   pontos)   Pessoas   que   foram   atingidas   por   raios   gama   são   condenadas   a   uma   vidacompartilhada   com   os   seus   dois   lados:   selvagem   e   civilizado.   O   lado   selvagem   evolui   ascaracterísticas de resistência, agilidade e regeneração. O lado civilizado evolui as características deraciocínio   dedutivo   e   grau   de   observação   que   ajuda   nas   ocasiões   de   fuga.   A   transição   entrecivilizado e selvagem acontece quando a pessoa acumula uma quantidade de 80% de raiva, sendoque   abaixo   dessa   quantidade   o   selvagem   torna­se   civilizado   novamente.   Uma   pessoa   que   foiatingida pelos raios gama enquanto salvava um adolescente durante o teste militar foi o cientistaDr. Robert Bruce Banner. Construa um diagrama de classes usando o padrão de projeto Estado.

UNIFEI Universidade Federal de ItajubáInstituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI

Prova 2015 – PCO203 – Tópicos Especiais em Programação - Prof. Enzo Seraphim1) (35 pontos) A Liga da Justiça (codinome JSA) é um grupo super­heróis criada nos anos 1940 e écomandada por  Superman.  Entre  outros,  alguns  membros  que  se  destacam: Batman,  LanternaVerde e Mulher Maravilha. A Legião do Mal (codinome ISW) é um grupo de supervilões criada em1947 e comandada por  Lex Luthor.  Entre  outros,  alguns  membros que se  destacam: Charada,Sinestro   e   Brainiac.  A   Sociedade  Secreta   dos  Supervilões   (codinome   SSoSV)   é   um   grupo   desupervilões   criada   em 1976  e   comandada  por   Lex   Luthor.   Entre   seus  membros,   destacam­se:Bizarro, Homem Ângulo e Mulher­Leopardo. Um super­herói ou supervilão é um alterego de umindivíduo humano ou de um indivíduo alienígena. Por exemplo, Supernam é o alterego do repórter,alienígena,  kryptoniano,   chamado Clark  Kent  que prega  os  princípios  altruísta  de   justiça e  deliberdade.   Algumas   habilidades   do   Superman   é   agilidade   super­humana,   superforça   ilimitada,supervelocidade ilimitada entre outras. Batman é o alterego do empresário, humano, masculino,chamado  Bruce  Wayne  que  prega  os  princípios  altruísta  de   sacrifício   e  de   coragem.  Algumashabilidades do Batman são mestre em artes marciais,  mestre em fulga.  Outras habilidades sãogarantidas por manipular armas e veículos, por exemplo, planar com sua capa, dirigir seu batmóvel(terrestre), entre outros. Outros princípios altruístas são: fraternidade e liberdade. Lex Luthor é oalterego   do   magnata,   humano,   masculino,   chamado   Alexander   Joseph   Luthor   que   prega   osprincípios  egoístas  de vaidade e  ganância.  Algumas habilidades do  Lex Luthor   é  alto  nível  deinteligência. Outras habilidades, tais como, superforça, super­resistência, voo, projeção de váriostipos  de   energia   são  garantidas   pelo  uso  de   sua   armadura.  Brainiac   é   o   alterego  do   espião,alienígena, coluano,  chamado  Vril  Dox que prega os princípios egoístas de orgulho e vingança.Algumas habilidades do Brainiac são alto nível de inteligência, superforça, voo, projeção de váriostipos de energia, entre outros. Outros princípios egoístas são: ódio e vaidade. Alguns exemplos dearmas são: o cinto de utilidades do Batman que provoca danos e pode ser usado como proteção; olaço mágico da Mulher maravilha que pode ser usado como proteção, pois concede a habilidade dedescobrir a verdade; o anel energético do Lanterna Verde ou do Sinestro que provoca danos e podeser usado para proteção, pois concede a habilidade de manipular a energia para assumir formas.Um veículo é aéreo, terrestre e aquático e pode ter armas, sendo que alguns exemplos são: a naveda destruição do Lex Luthor que pode locomover­se à metade da velocidade do som; a batlancha doBatman que pode­se locomover à  velocidade do som; o  jato invisível da Mulher Maravilha quepode­se   locomover   ao  dobro  da  velocidade  do   som.  Em uma   reunião  da   Legião  do  Mal   queaconteceu em 01/01/1980, foi idealizado o plano para destruir a Sala da Justiça. As ações desseplano   foram:  1)  No  Pentágono,  o  Brainiac  vai   controlar   todos  os   computadores  para  atrair  aatenção de vários membros da Liga da Justiça; 2) Bizarro vai levar kriptonita vermelha na Sala daJustiça para alterar o comportamento do Super­Homem; 3) Super­Homem destrói a Sala da Justiça.No dia 02/01/1980, a Liga da Justiça estava ao caos das ações do Superman, sendo que houve umareunião que estabeleceu o plano para deter a destruição da Sala da Justiça. As ações desse planoforam: 1) Mulher Maravilha vai cortar os cabos da Usina de Grand Coulee que fornecem energia doPentágono  para   desligar   todos   os   computadores;   2)   Na   Sala   de   Justiça,   o   Batman   vai   usarkriptonita verde para tirar os poderes do Superman; 3) Ainda na Sala de Justiça, o Lanterna Verdevai prender Bizarro em uma cadeia de kriptonita  azul que cura o efeito de outras kryptonitas noSuperman.   Construa   o   diagrama   de   classes   de   UML   omitindo   os   métodos   gets   e   sets   e   osmanipuladores de relacionamentos. Nesta modelagem não existe: classe sem atributos, classes comuma única instância e interfaces.

UNIFEI Universidade Federal de ItajubáInstituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI

Prova 2015 – PCO203 – Tópicos Especiais em Programação - Prof. Enzo Seraphim2) (25 pontos) A temperatura influencia muito aprodução de café e de milho. Cada grau que éaumentado na temperatura provoca aumento deum porcento na produção de milho e provocaqueda   de   um   porcento   na   produção   de   café.Cada   grau   que   é   diminuído   na   temperaturaprovoca aumento de um porcento na produçãode   café   e   provoca  queda  de  um porcento  naprodução de milho. Ao lado é apresentado umaaplicação que atualiza manualmente a produçãoa partir da mudança da temperatura, assim, nãousa   o   padrão   de   projeto.  Construa   umdiagrama UML usando o padrão Observador sem considerar a classe App.

3)   (20   pontos)  Implemente   na   linguagem   Java  a   classePretrobras   ao   lado   transformando­a   em   um   padrão   de   projetoobjeto único (singleton). Em seguida crie uma classe chamada Appe   que   tem   um   método   principal.   Neste   método   declare   umavariável  chamada petro  que  recebe o  único objeto dessa  classe.Somente declare o que deve estar dentro de cada classe, pois nãoserá avaliado declarações fora do escopo da classe (ex: pacotes, inclusões de arquivos, etc). 

4) (20 pontos) Implemente as classes da figura (a) com os relacionamentos abaixo na linguagemJava. Somente declare o que deve estar dentro de cada classe, pois não será avaliado declaraçõesfora  do  escopo da  classe   (ex:  pacotes,   inclusões  de  arquivos,  etc).  Em seguida,   construa  umaaplicação em Java que aloca dinamicamente os objetos da figura (b). Responda: Qual o nome dessepadrão de projeto.

(a) Classes(b) Objetos