ayuzo Hernandez Aaron Adan Ignacio //cabrera Duran Zajid //delgado Castro Uriel //ramirez Hernandez Diego

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

/*

//Ayuzo Hernandez
Aaron Adan Ignacio
//Cabrera Duran Zajid
//Delgado Castro Uriel
//Ramirez Hernandez
Diego
#include <iostream>
#include "../mibiblioteca/ListaDT.h"
#include "../mibiblioteca/Termino.h"
template <typename T>
void guardaDatos(ListaDT<T> & LDTo);

template <typename T>


double evaluaEn(ListaDT<T> &LD,int x);

template <typename T>


void derivate(ListaDT<T> &LDTo,ListaDT<T> &LDTdx);

using namespace std;


int main()
{
ListaDT<Termino> LDTo;
ListaDT<Termino> LDTdx;
int x;
x = 1;
guardaDatos(LDTo);
cout << "f(x)= ";
LDTo.muestraTusDatosDI();

cout << endl << "f(" << x<< ")=\t" << evaluaEn(LDTo,x) << endl;
derivate(LDTo,LDTdx);

cout << "f'(x)= ";


LDTdx.muestraTusDatosDI();

cout << endl << "f'(" << x<< ")=\t" << evaluaEn(LDTdx,x) << endl;
return 0;
}

template <typename T>


void guardaDatos(ListaDT<T> & LDTo)
{
Termino Term(3,2);
LDTo.insertaUnNodo(Term);

Term.modificaTuCoeficiente(2);
Term.modificaTuExponente(5);
LDTo.insertaUnNodo(Term);
Term.modificaTuCoeficiente(3);
Term.modificaTuExponente(4);
LDTo.insertaUnNodo(Term);

Term.modificaTuCoeficiente(-4);
Term.modificaTuExponente(1);
LDTo.insertaUnNodo(Term);
}

template <typename T>


double evaluaEn(ListaDT<T> &LDTo,int x)
{
NodoDT<T>*aux;
Termino term;

double resultado=0.0;
aux=LDTo.dameTuFin();
while(aux!=NULL)
{
term=aux->dameTuDato();
resultado=resultado+term.evaluateEn(x);
aux=aux->dameTuAnterior();
}
return resultado;
}

template <typename T>


void derivate(ListaDT<T> &LDTo,ListaDT<T> &LDTdx)
{
int Exp;
double Coe;
NodoDT<T>* aux;
Termino Term, Term2;
aux = LDTo.dameTuFin();
while (aux)
{
Term = aux
->dameTuDato();
Exp = Term.dameTuExponente();
Coe = Term.dameTuCoeficiente();
Term2.modificaTuCoeficiente(Coe*Exp);
Term2.modificaTuExponente(Exp-1);
LDTdx.insertaUnNodo(Term2);
aux = aux->dameTuAnterior();
}
}

You might also like