From 8a7e6857c3f8e46308ffbb50da68d23a091877f8 Mon Sep 17 00:00:00 2001 From: Nikiroy78 Date: Sun, 12 Mar 2023 13:31:12 +0300 Subject: [PATCH] upload files into repos --- 3.nodejs_js/isSqrtFunct.js | 24 ++++++++++++++++++++++++ 3.nodejs_js/readme.md | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 3.nodejs_js/isSqrtFunct.js create mode 100644 3.nodejs_js/readme.md diff --git a/3.nodejs_js/isSqrtFunct.js b/3.nodejs_js/isSqrtFunct.js new file mode 100644 index 0000000..36d0e05 --- /dev/null +++ b/3.nodejs_js/isSqrtFunct.js @@ -0,0 +1,24 @@ +function isInt (value) { // Функция проверки целочисленного типа + if (typeof(value) == 'number') { + return parseInt(value) == value; + } + else { + return false; + } +} + +function isSqrt (value) { + if (isInt(value)) { // Проверим тип + let counter = 1; + while (counter * counter <= value) { + if (counter * counter == value) { + return true; + } + counter++; + } + return false; + } + else { + throw new Error("Wrong type of first argument: required integer"); + } +} \ No newline at end of file diff --git a/3.nodejs_js/readme.md b/3.nodejs_js/readme.md new file mode 100644 index 0000000..595ca58 --- /dev/null +++ b/3.nodejs_js/readme.md @@ -0,0 +1,35 @@ +# Блок заданий "Задание, Java Script, Node JS:" (3) +3. На javascript, без использования математических функций, проверить, является ли целое число квадратом. + +Входным параметром у нас является целое число. Поскольку javascript является языком с динамической типизацией данных нам для начала надо реализовать проверку входных данных: для этого необходимо написать соответствующую функцию: +```javascript +function isInt (value) { // Функция проверки целочисленного типа + if (typeof(value) == 'number') { + return parseInt(value) == value; + } + else { + return false; + } +} +``` + +Далее, мы применяем проверку уже в нашей основной функции и в случае провала проверки выдаём ошибку. +Алгоритм проверки заключается в следующем: мы перебираем все квадраты в цикле, пока следующий квадрат не будет либо больше, либо равен нашему входному параметру. +Если квадрат в цикле равен входному параметру, то возвращаем true (является квадратом), если он больше входного параметра, то false (не является квадратом). +```javascript +function isSqrt (value) { + if (isInt(value)) { // Проверим тип + let counter = 1; + while (counter * counter <= value) { + if (counter * counter == value) { + return true; + } + counter++; + } + return false; + } + else { + throw new Error("Wrong type of first argument: required integer"); + } +} +``` \ No newline at end of file