From 794a4f523e22c61d919f2b223e09bf90702148ce Mon Sep 17 00:00:00 2001 From: Krio Date: Sat, 11 Sep 2021 13:32:55 +0700 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=2012?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- labs/lab12/desc.json | 25 ++++++++++++++++---- labs/lab12/main.js | 55 +++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 75 insertions(+), 5 deletions(-) diff --git a/labs/lab12/desc.json b/labs/lab12/desc.json index 7b77ecf..fe827fd 100644 --- a/labs/lab12/desc.json +++ b/labs/lab12/desc.json @@ -1,14 +1,31 @@ { "number": 12, - "task": "", + "task": "Создавайте функции для класса Calculator, которые могут делать следующее: складывать два числа, вычитать два числа, умножать два числа, делить два числа.", "vars": [ [ { - "name": "", - "desc": "", + "name": "a", + "desc": "Первое число", "data": "" + }, + { + "name": "b", + "desc": "Первое число", + "data": "" + } + ], + [ + { + "name": "a", + "desc": "Первое число", + "data": "6" + }, + { + "name": "b", + "desc": "Первое число", + "data": "2" } ] ], - "complete": false + "complete": true } \ No newline at end of file diff --git a/labs/lab12/main.js b/labs/lab12/main.js index 466be91..8409f61 100644 --- a/labs/lab12/main.js +++ b/labs/lab12/main.js @@ -3,5 +3,58 @@ function main(formName) { let result = document.getElementById("result"); - result.textContent = "Результат: неопределенно"; + let a = document.forms[formName].elements[0].value; + if (isNotNumber(a)) { + result.textContent = "Ошибка: a не является числом!"; + return; + } else { + a = Number(a); + } + + let b = document.forms[formName].elements[1].value; + if (isNotNumber(b)) { + result.textContent = "Ошибка: b не является числом!"; + return; + } else { + b = Number(b); + } + + result.textContent = "Результат: " + Calculate(a, b); +} + +function Calculate(a, b) { + class Calculator { + constructor(a, b) { + this.a = a; + this.b = b; + } + + add() { + return this.a + this.b; + } + + subtract() { + return this.a - this.b; + } + + multiply() { + return this.a * this.b; + } + + devide() { + return this.a / this.b; + } + } + + let result; + let calc = new Calculator(a, b); + result = "сложение: " + calc.add(); + result += ", вычитание: " + calc.subtract(); + result += ", умножение: " + calc.multiply(); + result += ", деление: " + calc.devide(); + return result; +} + +function isNotNumber(val) { + return val.replace(/\s/g, '').length === 0 || isNaN(val); }