Este documento apresenta duas questões sobre modelagem de classes para representação de polinômios. A primeira questão pede para criar classes Termo e Polinômio para representar termos e polinômios, respectivamente. A segunda questão modifica essas classes para implementar a interface Calculavel e cria a classe PolinômioComSub para representar polinômios com subpolinômios.
Este documento apresenta duas questões sobre modelagem de classes para representação de polinômios. A primeira questão pede para criar classes Termo e Polinômio para representar termos e polinômios, respectivamente. A segunda questão modifica essas classes para implementar a interface Calculavel e cria a classe PolinômioComSub para representar polinômios com subpolinômios.
Este documento apresenta duas questões sobre modelagem de classes para representação de polinômios. A primeira questão pede para criar classes Termo e Polinômio para representar termos e polinômios, respectivamente. A segunda questão modifica essas classes para implementar a interface Calculavel e cria a classe PolinômioComSub para representar polinômios com subpolinômios.
Instituto de Computao Universidade Estadual de Campinas Classe !erana e Polimor"ismo #ndr$ %antan&'( 20)) Questo 1 Considere um polin*mio de grau n+ P (x) = an x n + an1 x n1 + . . . + a1 x 1 + a0 x 0
Escreva uma classe Termo que represente um termo deste polinmio com os seguintes mtodos construtor !ece"e dois par#metros ai e i$ e cria um o"%eto em mem&ria na 'orma ai x i . insere ,e&ebe um o"%eto da classe Termo e substitui os valores a i - i do termo &orrente por a.ueles do termo re&ebido &omo par/metro0 calcula ,e&ebe um valor de - &omo par/metro e retorna o valor do termo &al&ulado0 Escreva uma classe Polinomio que representa polinmio completo na 'orma de uma sequ(ncia de o"%etos da classe Termo$ com os seguintes mtodos construtor !ece"e um o"%eto da classe Termo e cria um polinmio em mem&ria na 'orma P(x) = ai x i . insere ,e&ebe um o"%eto da classe Termo e adi&iona o termo a i - i ao polin*mio re&ebido &omo par/metro0 O polin*mio pode ter um terno a . - . &ujo valor de . seja igual a i neste &aso a "uno deve uni"i&ar ambos em um 1ni&o termo0 calcula ,e&ebe um valor de - &omo par/metro e retorna o valor de P2-30 fusao ,e&ebe &omo par/metro outro objeto da &lasse Polinomio e reali4a a "uso do polin*mio re&ebido &omo par/metro &om o polin*mio &orrente0 )crescente os mtodos que ac*ar necess+rios nas classes solicitadas. E-er&5&io inspirado em e-emplo dos slides de pro"0 6omas4 7o8alto8s9i + :Estruturas de ;ados e 6$&ni&as de Programao< 20)00 Questo 2 ,ada a seguinte inter'ace public interface Calculavel { public void insere(Termo termoInserido); public float calcula(); } -odi'ique as classes da quest.o anterior para que implementem a inter'ace Calculavel. Escreva uma classe PolinomioComSub que represente um polinmio com su"/polinmios. 0onsidere o seguinte exemplo P (x) = ((a1 x 1 + a2 x 2 ) + "0 x 0 ) + c1 x 1 + (d2 x 2 + d1 x 1 ) 3este exemplo$ o polinmio P(x) contm 2 su"/polinmios. 4s par(nteses aparecem apenas para identi'icar su"/polinmios dentro de polinmios. 4 primeiro su"/polinmio$ por sua ve5$ contm dois su"/ ) polinmios. ) classe PolinomioComSub deve ser capa5 manter uma lista de termos (o"%etos da classe Termo) ou su"/polinmios (o"%etos da classe Polinomio ou PolinomioComSub). Ela possui os seguintes mtodos insere ,e&ebe um o"%eto da classe Termo e adi&iona o termo a i - i ao polin*mio re&ebido &omo par/metro0 O polin*mio pode ter um terno a . - . &ujo valor de . seja igual a i neste &aso a "uno deve uni"i&ar ambos em um 1ni&o termo0 insere ,e&ebe um objeto da &lasse Polinomio ou PolinomioComSub e o adi&iona &omo sub= polin*mio0 calcula ,e&ebe um valor de - &omo par/metro e retorna o valor de P2-30 fusao >o re&ebe par/metros0 ,eali4a uma "uso de todos os sub=polin*mios do objeto &orrente de tal modo .ue este objeto &orrente passe a ter um polin*mio sem sub=polin*mios sinteti4ando os termos de todos os sub=polin*mios .ue so"reram "uso0 fusao ,e&ebe &omo par/metro um objeto da &lasse Polinomio ou PolinomioComSub e se &omporta &omo o m$todo "uno anterior a&res&entando o objeto re&ebido &omo par/metro no pro&esso0 )crescente os mtodos que ac*ar necess+rios nas classes e inter'aces solicitadas. Em alguns casos pode ser interessante de'inir novas inter'aces ou su"/inter'aces. )nalise a possi"ilidade de adaptar a classe PolinomioComSub para que se torne *erdeira de Polinomio e avalie as vantagens e desvantagens. ,ecis6es de re/pro%eto 'a5em parte desta quest.o. 2