ВУЗ:
Составители:
Рубрика:
16
В определении функции сложения дроби с целым числом
осуществляется преобразование этого целого числа в дробь (создается новый
объект класса Fraction, значение которого равно целому числу) и вызов
оператора сложения двух дробей.
// метод сложения дроби с целым числом
static public Fraction operator + (Fraction ob1, int a)
{
// если к дроби прибавляется число, равное 0,
// результат совпадает с операндом-дробью
if (a == 0)
return new Fraction(ob1.numerator, ob1.denominator,
ob1.intPart, ob1.sign);
// создание новой дроби ob2 = a
Fraction ob2=new Fraction(0, 1, Math.Abs(a), a/Math.Abs(a));
Fraction res = ob1 + ob2; //сложение двух дробей
return res;
}
// метод сложения целого числа и дроби
static public Fraction operator + (int a, Fraction ob1)
{
// если к дроби прибавляется число, равное 0,
// результат совпадает с операндом-дробью
if (a == 0)
return new Fraction(ob1.numerator, ob1.denominator,
ob1.intPart, ob1.sign);
// создание новой дроби ob2 = a
Fraction ob2=new Fraction(0, 1, Math.Abs(a), a/Math.Abs(a));
Fraction res = ob1 + ob2; //сложение двух дробей
return res;
}
Аналогичным образом определяют и другие арифметические операции.
Обсудим особенности ввода и вывода рациональных дробей.
Поскольку при вводе пользователь задает символьную строку,
представляющую дробь, то задача ввода дроби сводится к созданию метода
преобразования символьной строки в дробь. При выводе происходит
противоположная операция. Поэтому для организации вывода в класс
Fraction введем операцию неявного преобразования дроби в тип string,
а для ввода – статический метод Parse() формирования объекта-дроби из
строки.
Для представления дроби пользователю удобно использовать ее
привычный математический вид с учетом существования целой и/или
В определении функции сложения дроби с целым числом осуществляется преобразование этого целого числа в дробь (создается новый объект класса Fraction, значение которого равно целому числу) и вызов оператора сложения двух дробей. // метод сложения дроби с целым числом static public Fraction operator + (Fraction ob1, int a) { // если к дроби прибавляется число, равное 0, // результат совпадает с операндом-дробью if (a == 0) return new Fraction(ob1.numerator, ob1.denominator, ob1.intPart, ob1.sign); // создание новой дроби ob2 = a Fraction ob2=new Fraction(0, 1, Math.Abs(a), a/Math.Abs(a)); Fraction res = ob1 + ob2; //сложение двух дробей return res; } // метод сложения целого числа и дроби static public Fraction operator + (int a, Fraction ob1) { // если к дроби прибавляется число, равное 0, // результат совпадает с операндом-дробью if (a == 0) return new Fraction(ob1.numerator, ob1.denominator, ob1.intPart, ob1.sign); // создание новой дроби ob2 = a Fraction ob2=new Fraction(0, 1, Math.Abs(a), a/Math.Abs(a)); Fraction res = ob1 + ob2; //сложение двух дробей return res; } Аналогичным образом определяют и другие арифметические операции. Обсудим особенности ввода и вывода рациональных дробей. Поскольку при вводе пользователь задает символьную строку, представляющую дробь, то задача ввода дроби сводится к созданию метода преобразования символьной строки в дробь. При выводе происходит противоположная операция. Поэтому для организации вывода в класс Fraction введем операцию неявного преобразования дроби в тип string, а для ввода – статический метод Parse() формирования объекта-дроби из строки. Для представления дроби пользователю удобно использовать ее привычный математический вид с учетом существования целой и/или 16
Страницы
- « первая
- ‹ предыдущая
- …
- 15
- 16
- 17
- 18
- 19
- …
- следующая ›
- последняя »