diff --git a/lesson_06/expression/.env.test b/lesson_06/expression/.env.test index 56cf4a06f..6f05a4e86 100644 --- a/lesson_06/expression/.env.test +++ b/lesson_06/expression/.env.test @@ -1 +1 @@ -HW_VERSION=your assigned version here \ No newline at end of file +HW_VERSION=F diff --git a/lesson_06/expression/src/expression_calculator.ts b/lesson_06/expression/src/expression_calculator.ts index 76b215c42..d4c0dd88e 100644 --- a/lesson_06/expression/src/expression_calculator.ts +++ b/lesson_06/expression/src/expression_calculator.ts @@ -1,11 +1,33 @@ export class ExpressionCalculator { /** Returns a calculation involving a, b, c, d, and e */ calculate(a: number, b: number, c: number, d: number, e: number): number { - // Implement your code here to return the correct value. - return 0; + // Implements: a * Math.pow(b + c, d) / e using class methods + const sum = this.add(b, c); // b + c + const power = this.pow(sum, d); // (b + c)^d + const product = this.multiply(a, power); // a * (b + c)^d + return this.divide(product, e); // (a * (b + c)^d) / e } pow(base: number, exponent: number): number { return Math.pow(base, exponent); } + + add(a: number, b: number): number { + return a + b; + } + + subtract(a: number, b: number): number { + return a - b; + } + + multiply(a: number, b: number): number { + return a * b; + } + + divide(a: number, b: number): number { + if (b === 0) { + throw new Error("Division by zero is not allowed."); + } + return a / b; + } }