Beispiel #1
0
  // метод взятия производной
  public static void trigDerivative(List<TrigCoef> a) {
    TrigCoef n = a.returnHead();
    if (n.number == 0) a.firstDelete(); // удаляем нулевой элемент как производную константы

    // пройдемся итератором по списку
    for (TrigCoef x : a) { // берем производную синуса и косинуса
      int swap = -(x.cosCoef * x.number);
      x.cosCoef = x.sinCoef * x.number;
      x.sinCoef = swap;
    }
  }
Beispiel #2
0
 // вывод вектора коэффицентов многочлена
 public static void trigOutput(List<TrigCoef> a) {
   int i = 1;
   TrigCoef n = a.returnHead();
   if (n.number == 0) { // обработка нулевого коэффицента
     int coef = n.cosCoef + n.sinCoef;
     System.out.print(coef + " ");
   } else System.out.print("0" + " ");
   for (TrigCoef x : a) {
     if (x.number != 0) { // нулевой коэффициент уже обработан отдельно
       if (x.number == i) // если это следующий по порядку коэффицент
       System.out.print(x.cosCoef + " " + x.sinCoef + " "); // выводим его на экран
       else { // иначе выводим перед ним нужное количество нулей
         for (int j = 0; j < 2 * (x.number - i); j++) System.out.print("0" + " ");
         System.out.print(x.cosCoef + " " + x.sinCoef + " ");
       }
       i = x.number + 1;
     }
   }
   System.out.println(); // перевод курсора на новую строку
 }