Пример #1
0
 /** Divide, si es posible */
 public void divide() {
   if (operandos.size() > 1) {
     Polinomio p = operandos.pop();
     Polinomio q = operandos.pop();
     if (p.getGrado() > q.getGrado()) {
       operandos.add(p.divida(q));
     } else {
       operandos.add(q.divida(p));
     }
   }
 }
Пример #2
0
 /** Integra, si es posible */
 public void integre() {
   if (operandos.size() > 0) {
     Polinomio p = operandos.pop();
     int[][] q = new int[p.getGrado() + 2][2];
     q[0][0] = 0;
     q[0][1] = 1;
     for (int i = 0; i < p.getGrado() + 1; i++) {
       q[i + 1][0] =
           p.getCoeficiente(i)
               .multiplique(new Fraccionario(i + 1).inverso())
               .numeradorSimplificado();
       q[i + 1][1] =
           p.getCoeficiente(i)
               .multiplique(new Fraccionario(i + 1).inverso())
               .denominadorSimplificado();
     }
     operandos.push(new Polinomio(q));
   }
 }
Пример #3
0
 /** Deriva, si es posible */
 public void derive() {
   if (operandos.size() > 0) {
     Polinomio p = operandos.pop();
     int[][] q = new int[p.getGrado()][2];
     for (int i = 1; i < p.getGrado() + 1; i++) {
       q[i - 1][0] = p.getCoeficiente(i).multiplique(new Fraccionario(i)).numeradorSimplificado();
       q[i - 1][1] =
           p.getCoeficiente(i).multiplique(new Fraccionario(i)).denominadorSimplificado();
     }
     operandos.push(new Polinomio(q));
   }
 }