ayuda para realizar programa de polinimios c++

katiusca
24 de Marzo del 2010
En un gran numero de casos, podemos modelisar un comportamiento físico por un polinomio (obs: 2x3-4x2-3 es un polinomio de orden 3).el interés de los polinomios es la simplicidad de la derivación y la integración. L’intérêt des polynômes est la simplicité de la dérivation et de l’intégration. Es a menudo necesario sin embargo utilizar polinomios de orden importante, aunque algunas veces un cierto número de coeficientes puede ser nulos (x100+x-1 por ejemplo). Hay dos medios de representar un polinomio en memoria: memorizando todos los coeficientes (por un primer ejemplo, seria 2,-4, 0,-3 pero necesariamente 101 valores entre los que están 99 nulos para el segundo), o memorizando únicamente los coeficientes no nulos pero para cada uno hace falta conocer su orden (para el segundo ejemplo: [coef 1, orden 100] + [coef 1, orden 1] + [coef -1, orden 0]).
Pregunta 1:
Comenzaremos por la segunda, en un primer tiempo crear una clase que represente una pareja [coef, orden], llamarla “pareja”. Usted preverá la entrada, la visualización, los accesorios en lectura y escritura, también un método llamado “val” que pone un “x” recibida en argumento, y retorna coef*xorden.
Observaciones: coef es un real, pero el orden será siempre entero. Pow(x,y) es una función disponible en c++ que calcula xy (si hemos incluido cmath). Escribir la clase y los métodos en un primer fichero, en un pequeño programa principal, para probarlo en un segundo fichero (Pero pidiendo incluir el primero)
Pregunta 2:
Crear la clase “polinomio” en un tercer fichero. El contendrá una tabla de pareja (100 como máximo), asi que le nombre de parejas. Suponemos (usted debe verificar) que las parejas están almacenados por orden creciente (donde le índice 0, es la orden mas facil). Como métodos, prvea la entrada, la visualización, de los accesorios en lectura (damos la orden deseada, el retorna el coef), en escritura (damos un orden y un coef, el modifica le oef si ya existe en ese orden, sino el lo crea), et “val” que por recibir un “x” en argumento, retorna el valor de un polinomio (se utiliza obligatoriamente el método val para las parejas) y “get_orden”que da la orden del polinomio, es decir el contenido en la ultima pareja. También sobrecarga << para simplificar la visualización. Crear igualmente un programa de test.
Pregunta 3:
La derivada de un polinomio se calcula así: para cada pareja, el coef es multiplicado por el orden después el orden es disminuido en 1. Escribir el método “derivada” que transforma un polinomio en derivada
Pregunta 4:
Escribir el método “adjuntar” que recibe en argumento una pareja. I el orden de esta pareja existe en el polinomio, el coeficiente es añadido al que exista. Sino el se inserta en la lista de coeficientes, en buen lugar (Le recuerdo que coeficientes deben estar arreglados en la orden creciente )
Pregunta 5:
escribir un método “adjuntar” que por un polinomio, le adicione un segundo polinomio dado en argumento. Por esto, los coeficientes del mismo orden serán adicionados, pero hay que pensar en las órdenes que existen sólo en uno de los dos polinomios.
Sobrecargar el operador + que permite adjuntar 2 polinomio, 1 polinomio y una pareja, 1 polinomio y un float.
Pregunta6:
Crear en sucesivo, en otro fichero una clase igualmente nombrada “polinomio”, pero utilizando el primer método: es un objeto contenido en una tabla de todos los coeficientes (igualmente nulos), y un entero para memorizar el orden. Rehacer los mismos métodos que anteriormente, haría falta que los programas de test precedentes funcionen todos sin ningún cambio que se incluya en la primera o la segunda representación.