ВУЗ:
Составители:
Рубрика:
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
- …
- следующая ›
- последняя »
