журнал «Информатика и образование» - Информатика и образование 2015 №09
Название: | Информатика и образование 2015 №09 | |
Автор: | журнал «Информатика и образование» | |
Жанр: | Околокомпьютерная литература, Газеты и журналы, Современные российские издания | |
Изадано в серии: | неизвестно | |
Издательство: | неизвестно | |
Год издания: | 2015 | |
ISBN: | неизвестно | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Информатика и образование 2015 №09"
Аннотация к этой книге отсутствует.
Читаем онлайн "Информатика и образование 2015 №09". [Страница - 47]
задачи
известен студентам еще со школьной скамьи и очень
часто встречается при решении других классов
математических задач. Для решения уравнения
представим все множество квадратных уравнений
в виде класса с названием SquareEquation. Любое
квадратное уравнение задается набором коэффициентов в количестве от одного до трех. Если при создании указывается другое количество коэффициентов,
то квадратное уравнение определить невозможно.
Традиционно описание класса в объектно-ориентированном программировании начинается с определения
полей класса.
Поля класса определяют его структурные свойства,
т. е. описывают состав объектов класса [3]. Исходя из
этого, определяем соответствующие поля нашего класса для коэффициентов a, b и c. Также можно ввести
в класс поля, характеризующие решение уравнения,
т. е. количество корней и сами корни x1 и x2. Эти поля
нужны, например, чтобы не осуществлять повторное
решение квадратного уравнения. На данном этапе
реализации класс принимает следующий вид:
class SquareEquation
{
//поля класса для хранения коэффициентов
уравнения
double a, b, c;
//поле класса для хранения количества корней
уравнения
int count;
//поля класса для хранения корней уравнения
double x1, x2;
}
Далее добавляем к нашему классу SquareEquation
конструктор, т. е. специальный метод класса, используемый для создания экземпляров класса. Стоит
отметить, что в классе может существовать и несколько конструкторов. Эта особенность объектноориентированного программирования очень близка
к традиционной человеческой логике и позволяет не
только по-разному видеть, но и различным способом
конструировать окружающие нас и существующие
в программном коде объекты, в том числе математи-
44
ческие. Для создания объекта класса SquareEquation
требуется задать его коэффициенты. Поскольку количество коэффициентов может быть переменным,
конструктор можно сделать методом с переменным
числом параметров. Если будет задано недопустимое
количество коэффициентов, должно быть сгенерировано исключение.
public SquareEquation(params double[] coef)
{
switch(coef.Length)
{
case 3:
a=coef[0];
b=coef[1];
c=coef[2];
break;
case 2:
a=0.0;
b=coef[0];
c=coef[1];
break;
case 1:
a=0.0;
b=0.0;
c=coef[0];
break;
default:
throw new Exception("Данные коэффициенты
не могут определять квадратное уравнение!");
}
}
Основная цель нашего класса — это решение квадратных уравнений с различными коэффициентами.
Поэтому далее добавляем в наш класс метод Solve(),
который фактически и будет отвечать за нахождение
корня или корней уравнения.
Для определения разрешимости уравнения сначала должен вызываться метод Solve(). В его задачу
входит определение порядка уравнения (квадратное — это уравнение второго порядка, линейное —
это уравнение первого порядка, тождество — это
уравнение нулевого порядка).
public void Solve()
{
if (a==0)
//линейное уравнение
if (b==0)
//уравнение нулевого порядка
if (c==0)
{
//тождество
count=infinity;
}
else
{
//неразрешимое уравнение
count=0;
}
else
//линейное уравнение
LinearSolve();
else
//квадратное уравнение
SquareSolve();
}
Для решения линейных и квадратных уравнений дополнительно вызываются методы: SquareSolve() — для решения уравнений второго порядка,
ПЕДАГОГИЧЕСКИЙ ОПЫТ
LinearSolve() — для решения уравнений первого
порядка.
//метод решения квадратного уравнения
public void SquareSolve()
{
//вычисление дискриминанта уравнения, используется класс Math
double d=Math.Pow(b,2)-4*a*c;
if (d --">
известен студентам еще со школьной скамьи и очень
часто встречается при решении других классов
математических задач. Для решения уравнения
представим все множество квадратных уравнений
в виде класса с названием SquareEquation. Любое
квадратное уравнение задается набором коэффициентов в количестве от одного до трех. Если при создании указывается другое количество коэффициентов,
то квадратное уравнение определить невозможно.
Традиционно описание класса в объектно-ориентированном программировании начинается с определения
полей класса.
Поля класса определяют его структурные свойства,
т. е. описывают состав объектов класса [3]. Исходя из
этого, определяем соответствующие поля нашего класса для коэффициентов a, b и c. Также можно ввести
в класс поля, характеризующие решение уравнения,
т. е. количество корней и сами корни x1 и x2. Эти поля
нужны, например, чтобы не осуществлять повторное
решение квадратного уравнения. На данном этапе
реализации класс принимает следующий вид:
class SquareEquation
{
//поля класса для хранения коэффициентов
уравнения
double a, b, c;
//поле класса для хранения количества корней
уравнения
int count;
//поля класса для хранения корней уравнения
double x1, x2;
}
Далее добавляем к нашему классу SquareEquation
конструктор, т. е. специальный метод класса, используемый для создания экземпляров класса. Стоит
отметить, что в классе может существовать и несколько конструкторов. Эта особенность объектноориентированного программирования очень близка
к традиционной человеческой логике и позволяет не
только по-разному видеть, но и различным способом
конструировать окружающие нас и существующие
в программном коде объекты, в том числе математи-
44
ческие. Для создания объекта класса SquareEquation
требуется задать его коэффициенты. Поскольку количество коэффициентов может быть переменным,
конструктор можно сделать методом с переменным
числом параметров. Если будет задано недопустимое
количество коэффициентов, должно быть сгенерировано исключение.
public SquareEquation(params double[] coef)
{
switch(coef.Length)
{
case 3:
a=coef[0];
b=coef[1];
c=coef[2];
break;
case 2:
a=0.0;
b=coef[0];
c=coef[1];
break;
case 1:
a=0.0;
b=0.0;
c=coef[0];
break;
default:
throw new Exception("Данные коэффициенты
не могут определять квадратное уравнение!");
}
}
Основная цель нашего класса — это решение квадратных уравнений с различными коэффициентами.
Поэтому далее добавляем в наш класс метод Solve(),
который фактически и будет отвечать за нахождение
корня или корней уравнения.
Для определения разрешимости уравнения сначала должен вызываться метод Solve(). В его задачу
входит определение порядка уравнения (квадратное — это уравнение второго порядка, линейное —
это уравнение первого порядка, тождество — это
уравнение нулевого порядка).
public void Solve()
{
if (a==0)
//линейное уравнение
if (b==0)
//уравнение нулевого порядка
if (c==0)
{
//тождество
count=infinity;
}
else
{
//неразрешимое уравнение
count=0;
}
else
//линейное уравнение
LinearSolve();
else
//квадратное уравнение
SquareSolve();
}
Для решения линейных и квадратных уравнений дополнительно вызываются методы: SquareSolve() — для решения уравнений второго порядка,
ПЕДАГОГИЧЕСКИЙ ОПЫТ
LinearSolve() — для решения уравнений первого
порядка.
//метод решения квадратного уравнения
public void SquareSolve()
{
//вычисление дискриминанта уравнения, используется класс Math
double d=Math.Pow(b,2)-4*a*c;
if (d --">
Книги схожие с «Информатика и образование 2015 №09» по жанру, серии, автору или названию:
журнал «Информатика и образование» - Информатика и образование 1992 №05-06 Жанр: Околокомпьютерная литература Год издания: 1992 |
журнал «Информатика и образование» - Информатика и образование 1994 №03 Жанр: Околокомпьютерная литература Год издания: 1994 |
Другие книги автора « журнал «Информатика и образование»»:
журнал «Информатика и образование» - Информатика и образование 1987 №01 Жанр: Газеты и журналы Год издания: 1987 |
журнал «Информатика и образование» - Информатика и образование 2012 №05 Жанр: Околокомпьютерная литература Год издания: 2012 |