Trabalhando com números complexos

TypeScript:
Trabalhando com números complexos

Como fazer:

Manusear números complexos em TypeScript requer uma classe dedicada. Vamos criar uma e trabalhar com adição e multiplicação.

class Complexo {
    constructor(public re: number, public im: number) {}

    add(outro: Complexo): Complexo {
        return new Complexo(this.re + outro.re, this.im + outro.im);
    }

    multiply(outro: Complexo): Complexo {
        return new Complexo(
            this.re * outro.re - this.im * outro.im,
            this.re * outro.im + this.im * outro.re
        );
    }

    toString(): string {
        return `${this.re} + ${this.im}i`;
    }
}

let num1 = new Complexo(1, 2);
let num2 = new Complexo(3, 4);
let soma = num1.add(num2);
let produto = num1.multiply(num2);

console.log(`Soma: ${soma.toString()}`); // Saída: Soma: 4 + 6i
console.log(`Produto: ${produto.toString()}`); // Saída: Produto: -5 + 10i

Aprofundamento

Historicamente, os números complexos foram controversos - até chamados de ‘imaginários’ para expressar o ceticismo inicial. Agora, eles são fundamentais na matemática e na ciência modernas.

Alternativas à nossa classe simples podem envolver o uso de bibliotecas existentes como math.js ou complex.js, detalhadas com recursos adicionais como funções trigonométricas, exponenciação e conjugação complexa.

Nosso detalhamento da implementação em TypeScript se resume a definir operações aritméticas. O método add simplesmente adiciona as partes correspondentes. multiply aplica o método FOIL usado em álgebra, lembrando que i^2 = -1.

Veja Também

Para mais leituras e recursos sobre números complexos e seu uso na programação, confira: