Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Реализовать в JavaScript класс комплексных чисел, и продемонстрировать его работу. (https://javascript.ru/forum/misc/38291-realizovat-v-javascript-klass-kompleksnykh-chisel-i-prodemonstrirovat-ego-rabotu.html)

Tania 26.05.2013 21:43

Реализовать в JavaScript класс комплексных чисел, и продемонстрировать его работу.
 
помогите!!!пожалуйста!!!

melky 26.05.2013 22:40

http://jsbin.com/ukejey/1/

Tania 26.05.2013 22:55

мда..так все понятно

zebra 26.05.2013 23:12

Докажите что вы девушка, выложите фотку с сиськами :)

Tania 26.05.2013 23:14

я нормально спросила...мне очень надо...здесь как-то все не серьезно

zebra 26.05.2013 23:18

Если хотите чтобы вам помогли - покажите ваши наработки, расскажите что именно не получается. Если хотите чтобы за вас все написали - создайте тему в разделе работа. Хотя могут и просто так помочь, если кому-то не трудно.

Tania 26.05.2013 23:22

с этим работаю первый раз ... это задали в универе, хотя я джава в глаза не видела и мы это еще не проходили ... в сети только инфу нашла
. Класс комплексных чисел
/*
* Complex.js:
* В этом файле определяется класс Complex для представления комплексных чисел.
* Вспомним, что комплексное число – это сумма вещественной и мнимой
* частей числа, и что мнимое число i – это квадратный корень из 1.
*/
/*
* Первый шаг в определении класса – это определение функции конструктора
* класса. Этот конструктор должен инициализировать все свойства
* экземпляра объекта. Это неотъемлемые "переменные состояния",
* делающие все экземпляры класса разными.
*/
function Complex(real, imaginary) {
this.x = real; // Вещественная часть числа
this.y = imaginary; // Мнимая часть числа
}
/*
* Второй шаг в определении класса – это определение методов экземпляра
* (и возможно других свойств) в объекте прототипе конструктора.
* Любые свойства, определенные в этом объекте, будут унаследованы всеми
* экземплярами класса. Обратите внимание, что методы экземпляра
* неявно работают с ключевым словом this. Для многих методов никаких
* других аргументов не требуется.
*/
// Возвращает модуль комплексного числа. Он определяется как расстояние
// на комплексной плоскости до числа от начала координат (0,0).
Complex.prototype.magnitude = function() {
return Math.sqrt(this.x*this.x + this.y*this.y);
};
// Возвращает комплексное число с противоположным знаком.
Complex.prototype.negative = function() {9.3. Объектно*ориентированный язык JavaScript 177
return new Complex( this.x, this.y);
};
// Складывает данное комплексное число с заданным и возвращает
// сумму в виде нового объекта.
Complex.prototype.add = function(that) {
return new Complex(this.x + that.x, this.y + that.y);
}
// Умножает данное комплексное число на заданное и возвращает
// произведение в виде нового объекта.
Complex.prototype.multiply = function(that) {
return new Complex(this.x * that.x this.y * that.y,
this.x * that.y + this.y * that.x);
}
// Преобразует объект Complex в строку в понятном формате.
// Вызывается, когда объект Complex используется как строка.
Complex.prototype.toString = function() {
return "{" + this.x + "," + this.y + "}";
};
// Проверяет равенство данного комплексного числа с заданным.
Complex.prototype.equals = function(that) {
return this.x == that.x && this.y == that.y;
}
// Возвращает вещественную часть комплексного числа.
// Эта функция вызывается, когда объект Complex рассматривается
// как числовое значение.
Complex.prototype.valueOf = function() { return this.x; }
/*
* Третий шаг в определении класса – это определение методов класса,
* констант и других необходимых свойств класса как свойств самой
* функции конструктора (а не как свойств объекта прототипа
* конструктора). Обратите внимание, что методы класса не используют
* ключевое слово this, они работают только со своими аргументами.
*/
// Складывает два комплексных числа и возвращает результат.
Complex.add = function (a, b) {
return new Complex(a.x + b.x, a.y + b.y);
};
// Умножает два комплексных числа и возвращает полученное произведение.
Complex.multiply = function(a, b) {
return new Complex(a.x * b.x a.y * b.y,
a.x * b.y + a.y * b.x);
};
// Несколько предопределенных комплексных чисел.
// Они определяются как свойства класса, в котором могут использоваться как "константы".
// (Хотя в JavaScript невозможно определить свойства, доступные только для чтения.)
Complex.ZERO = new Complex(0,0);
Complex.ONE = new Complex(1,0);
Complex.I = new Complex(0,1);

Shaci 26.05.2013 23:56

Цитата:

Сообщение от Tania
хотя я джава в глаза не видела

(только это джаваскрипт, джава другой язык)
а какой язык знаете?

Tania 27.05.2013 00:02

Да ошибка сорри...Знаю css, html

kobezzza 27.05.2013 00:07

Цитата:

Сообщение от Tania (Сообщение 252957)
Знаю css, html

Спорим, что не знаете?)


Часовой пояс GMT +3, время: 15:24.