Sei sulla pagina 1di 2

Lista de Exerccios

MC302 Programao Orientada a Objetos


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

Potrebbero piacerti anche