Está en la página 1de 2

3.

Para el tipo de dato abstracto: Polinomio


a) Especificación Informal
 Polinomio = TDA con operaciones crea, esCero,grado ,poner_termino,
coeficiente, sumar, multiplicar, restar, igual,numero_terminos,
Exponente.
Descripción: Los valores del TDA Polinomio son coeficientes y grados
del tipo Entero. El polinomio es mutable cuando se pone términos o
sumar,restar,multiplicar polinomios.
Operaciones:

crea() devuelve (Polinomio)


 Efecto:Devuelve la polinomio cero P.

EsCero(P:Polinomio) devuelve (booleano) 


 Efecto: Devuelve true si P es la polinomio sin términos

Grado(P:Polinomio) devuelve (entero) 


 Requerimientos: El polinomio es no cero. 
 Efecto: Devuelve valor que indica grado polinomio

coeficiente(P:Polinomio,Exp:entero)  devuelve (entero)


 Requerimiento: Polinomio != 0
 Efecto: Devuelve el Coeficiente que corresponde al termino con
exponente Exp.

sumar(P1,P2:Polinomio)  devuelve (Polinomio)


 Requerimientos: Dos polinomios P1 y P2 
 Efecto: Retorna el P3 como resultado de la suma

restar(P1,P2:Polinomio) devuelve (Polinomio) 


 Requerimientos: Dos polinomios P1 y P2 
 Efecto: Retorna el P3 como resultado de la resta 
multiplicar(P1,P2) devuelve (Polinomio)
 Requerimientos: Dos polinomios P1 y P2 
 Efecto: Retorna el P3 como resultado de la multiplicación

poner_termino(P:Polinomio; coef, exp : entero) devuelve


(Polinomio)
 Requerimientos: Coeficiente y grado de tipo entero 
 Efecto: Modifica polinomio P asignando el termino con coeficiente
y exponente. 

numero_terminos(P:Polinomio)  devuelve (entero)


 Requerimientos: Polinomio 
 Efecto: retorna el numero de términos del polinomio 

exponente(P:Polinomio; nroTer: entero) devuelve (entero)


 Requerimientos: Numero de términos 
 Efecto: retorna el exponente que corresponde al nroTer (Numero de
termino).
b) Especificación formal
Tipo: Polinomio(Termino)
Sintaxis:
crea() -> Polinomio
EsCero(polinomio) -> booleano
Grado(polinomio) -> entero
coeficiente(polinomio,exp)  -> entero
sumar(polinomio1,polinomio2)  -> Polinomio
restar(polinomio1,polinomio2) -> Polinomio
multiplicar(polinomio1,polinomio2) -> Polinomio
poner_termino(polinomio,coef, exp) -> Polinomio
numero_terminos(polinomio)  -> entero
exponente(polinomio, nroTer)  -> entero
Semántica:
crea() -> void
EsCero(crea()) -> true
EsCero(poner_termino(crear(),coef,exp) -> false
Grado(poner_termino(crear(),coef,exp) -> Grado de el Polinomio
coeficiente(crea(),exp)  -> error
coeficiente(poner_termino(crear(),4,3),5) -> Coeficiente
sumar(poner_termino(crear(),coef,exp,poner_termino(crear(),coef,exp)
 -> P3:Polinomio
restar(poner_termino(crear(),coef,exp,poner_termino(crear(),coef,exp)
-> P3:Polinomio
multiplicar(poner_termino(crear(),coef,exp),poner_termino(crear(),
coef,exp) -> P3:Polinomio
poner_termino(crear(),coef, exp) -> Polinomio
numero_terminos(poner_termino(crear(),coef,exp)) -> Numero de
terminos
exponente(poner_termino(crear(),coef,exp), nroTer) -> Exponente

También podría gustarte