Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2017, 21:33   #1
JackieReev
Новичок
Джуниор
 
Регистрация: 20.12.2017
Сообщений: 1
Печаль Задача на рациональные выражения

У меня такая задача:

Используя принципы ООП написать на языке Java программу, которая обеспечивает точное выполнение таких операций над рациональными функциями, представленными выражениями вида (a0 + a1*x + a2*x^2 + ... + an*x^n) / (b0 + b1*x + b2*x^2 + ... + bm*x^m) где n, m - целые неотрицательные числа, a0 ... an, b0 ... bm - рациональные числа: умножение, деление двух рациональных функций. Входные данные программы подают выражения такого вида, что n, m - целые числа в пределах от 0 до 10 и a0 ... an, b0 ... bm - рациональные числа, которые подаются дробями вида u / v, где u, v - натуральные числа в пределах от 1 до 2 ^ 32. Есть стартовый код метода, но это не то, что, как мне кажется, нужно:

Как правильно составить методы, которые бы корректно выводили выражение вычисления этих дробей?

Код:
import java.util.*;
public class main {
    static int u; //переменные, использущиеся для переопределения рациональных чисел
    static int v;
    int n, m; //степени
    int a[];//коефициенты
    int b[];
    public static void main(String[] args) {
        System.out.println(u + "/" + v);
    }
    public void main(int nn) {
        int n = nn;
        a = new int[n+1];
    }
    static void random1(int  a[]) {//заполнение рандомом значений a первой скобки
          for (int i=0;i<a.length;i++){
            a[i]=(int)(Math.random() * 100 + 1);
            }
          }
    static void random2(int  b[]) {//заполнение рандомом значений b второй скобки
          for (int i=0;i<b.length;i++){
            b[i]=(int)(Math.random() * 100 + 1);
            }
          }
    static void random3(int  u) {//значение v в пределах от 1 до 2^32
          for (int i=0;i<u;i++){
            u = (int)(Math.random() * (Math.pow(2,32)) + 1);
            }
          }
    static void random4(int  v) {//значение u в пределах от 1 до 2^32
          for (int i=0;i<v;i++){
            v = (int)(Math.random() * (Math.pow(2,32)) + 1);
            }
          }
    private void firstbracket(int a[]){ //первая скобка
        for(int i = 0; i < 10; i++){
            a[i] = u/v;
        }  
           System.out.println(u + "/" + v);
        //return u/v;
    }
    private void secondbracket(int b[]){ //вторая скобка
        for(int i = 0; i < 10; i++){
            b[i] = u/v;
        }    
        //return u/v;
    }
    public void result() { //нахождения результата от деления двух скобок
        System.out.println(firstbracket(a)"/"secondbracket(b));
    }
}


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 21.12.2017 в 00:13.
JackieReev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Процедуры и Функции. Вычислить выражения, определить в ней повторяющаяся часть выражения karetuu Паскаль, Turbo Pascal, PascalABC.NET 3 19.05.2017 08:48
Используя любой из видов циклов, вычислить значения выражения. выражения: Y=ln(x-1)+b Roshen Паскаль, Turbo Pascal, PascalABC.NET 2 18.12.2016 12:18
Дана строка, арифметические выражения вида A x B. Вычислить значение выражения Un1q Паскаль, Turbo Pascal, PascalABC.NET 4 09.12.2013 14:47
Задача на логические выражения skooma effect Паскаль, Turbo Pascal, PascalABC.NET 13 22.09.2012 22:09
Рациональные числа Nastyity Помощь студентам 7 29.03.2010 08:12