Upload
vuongthuan
View
214
Download
0
Embed Size (px)
Citation preview
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 costariquenha 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 ÁrvoreLar é 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 exfuzileiro 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 subdividese 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: chocandose 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 dividemse 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 tornouse comandante. Klingons são mamíferos, bípedes e humanoides que sãocriados para tornaremse 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 quetornouse 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 anosluz. 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 anosluz. 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 anosluz 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 NCC1701, lançada em 2245 doestaleiro de São Francisco e comandada pelo humano James Tiberius Kirk; USS Challenger com número deregistro NCC71099, lançada em 2377 do estaleiro de Utopia Planitia e comandada pelo humano Geordi LaForge; USS Venture com número de registro NCC2011, 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: XBurger, XTudo, FrangoSimples e FrangoTudo. O XBurger é 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 XTudo é 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 FrangoSimples é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 FrangoTudo é 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õemse à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. LufaLufa 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 tornase 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 superheró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, destacamse:Bizarro, Homem Ângulo e MulherLeopardo. Um superheró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 superhumana, 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, superresistê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 locomoverse à metade da velocidade do som; a batlancha doBatman que podese locomover à velocidade do som; o jato invisível da Mulher Maravilha quepodese 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 SuperHomem; 3) SuperHomem 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 transformandoa 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