See More

// //https://app.pasv.us/course/5d1cbf67086fc30038bf1859/lesson/5ddc43e2a9ccbf003caa26d3 // Описание числа // Дано целое число т 1 до 999. Получите описание числа в виде строки: "one-digit number", // "two-digit number", "three-digit number". // // Напишите функцию с именем numberDescription, которая принимает число num в качестве аргумента и возвращает // // "one-digit number", если число однозначное, // "two-digit number", если число двухзначное, // "three-digit number", если число трехзначное. // Примеры: // // функция numberDescription(1) должна возвратить "one-digit number"; // функция numberDescription(12) должна возвратить "two-digit number"; // функция numberDescription(134) должна возвратить "three-digit number". function numberDescription(num){ return num.toString().length; } console.log(numberDescription(311)); function numberDescription1(num){ if(num.toString().length === 1){ return 'one-digit number'; } else if(num.toString().length === 2){ return 'two-digit number'; }else if(num.toString().length === 3){ return 'three-digit number'; } } console.log(numberDescription1(11)); console.log('-------------------------------------') //Начинается ли хотя бы одно имя с буквы "A"? // Даны три переменных, содержащие имена людей. Есть ли хоть одно имя, которое начинается на букву "A"? // // Напишите функцию с именем nameStartsWithA, которая принимает три строки str1, str2, str3 в качестве аргументов и возвращает: // // "Yes", если хотя бы одно имя начинается с буквы "A", // "No", в противном случае. // Примеры: // // функция nameStartsWithA('Alice', "Bob", "Fill") должна возвратить "Yes"; // функция nameStartsWithA('Nick', 'Bill', 'Ronald') должна возвратить "No". function nameStartsWithA(str1, str2, str3){ let arr = [str1, str2, str3]; for (let i=0; i b) return [a, a]; return [b , b]; } return [0, 0] } console.log(newValues1(5, 1)); console.log(newValues1(2, 9)); console.log(newValues1(2, 2)); console.log('-------------------------------------') //Значение числа 39 для жителей Афганистана // Афганцы избегают присутствия числа 39 на номерах машин, в номерах мобильных и домашних // телефонов и даже в адресах зданий. Если у жителя Кабула в номере телефона есть число 39, он // должен позаботиться о том, чтобы поставить антиопределитель номера, иначе на его звонки никто // не будет отвечать. Наконец, люди, которым исполнилось 39 лет, стараются не упоминать об этом. // На вопрос о возрасте отвечают, что им почти 40. // // Напишите функцию с именем isGoodNumber, которая принимает число num в качестве аргумента и возвращает строку: // // "The number of suitable", если число не равно 39; // "The number is unsuccessful", в противном случае. // функция isGoodNumber(39) должна возвратить "The number is unsuccessful"; // функция isGoodNumber(12) должна возвратить "The number of suitable". function isGoodNumber(num) { return (num !== 39) ? 'The number of suitable' : 'The number is unsuccessful'; } console.log(isGoodNumber(12)); console.log(isGoodNumber(39)); console.log('-------------------------------------') // Есть ли в японском доме четвертый этаж? // Одной из самых несчастливых цифр японцы считают цифру «4» (四). В больнице нет палат с // таким номером, в домах предпочитают исключать 4-й этаж (за третьим следует пятый). // Напишите функцию с именем floorNumber, которая принимает число floor (номер этажа в доме) // и число amount (количество этажей в доме) в качестве аргументов и возвращает: // true, если этаж с номером floor есть в доме, // false, если этажа с номером floor в доме нет. // Примеры: В 4-х этажном доме есть этажи с номерами 1, 2, 3, 5. // функция floorNumber(1, 4) должна возвратить true; // функция floorNumber(2, 4) должна возвратить true; // функция floorNumber(3, 4) должна возвратить true; // функция floorNumber(4, 4) должна возвратить false; // функция floorNumber(5, 4) должна возвратить true; // функция floorNumber(6, 4) должна возвратить false. function floorNumber(floor, amount){ return floor !== 4 && floor <= amount + 1; } console.log(floorNumber(6, 4)); console.log('-------------------------------------') // // Есть ли в кошельке хоть один цент? // Напишите функцию с именем moneyInCash, которая принимает число money // (количество наличных денег в центах) в качестве аргумента // и возвращает true, если количество денег не равно 0, и false в противном случае. // функция moneyInCash(1) должна возвратить true; // функция moneyInCash(100) должна возвратить true; // функция moneyInCash(0) должна возвратить false. function moneyInCash(money){ /* return money !==0? true : false; */ return money !==0; } console.log(moneyInCash(0)); console.log(moneyInCash(100)); console.log('-------------------------------------') //Содержит ли символ цифру? // Строки сравниваются посимвольно. При сравнении символов сравниваются их коды. Например, // Символы, содержащие цифры, больше или равны "0" и меньше или равны "9". // Напишите функцию с именем isDigit, которая в качестве аргумента принимает строку, // содержащую один символ letter и возвращает // строку "digit" или "not a digit". В решении необходимо использовать тернарный оператор. // функция isDigit('6') должна возвратить "digit"; // функция isDigit('a') должна возвратить "not a digit". function isDigit(letter){ if(+letter % 2 === 0 || +letter %2 === 1 ){ return 'digit'; } return 'not a digit'; } console.log(isDigit('ad')); console.log(isDigit('0')); console.log(isDigit('c')); //Or function isDigit1(letter){ return (+letter % 2 === 0 || +letter %2 === 1 ) ? 'digit': 'not a digit'; } console.log(isDigit1('10')); console.log(isDigit1('c')); console.log('-------------------------------------') // Слово "ТИНЕЙДЖЕР" происходит от англ. "teenager": "-teen" - суффикс числительных // от 13 до 19 + "age" - возраст. Тинэйджер - подросток (юноша или девушка) в возрасте от 13 до 19 лет. // (выдержка из "Словаря иностранных слов русского языка"). // // Напишите функцию с именем isTeenager, которая в качестве аргумента принимает // число age (возраст человека) и возвращает строку "teenager" // или "not a teenager". В решении необходимо использовать тернарный оператор. // функция isTeenager(14) должна возвратить "teenager"; // функция isTeenager(7) должна возвратить "not a teenager"; // функция isTeenager(25) должна возвратить "not a teenager". function isTeenager(age){ return age >=13 && age <=19 ? 'teenager': 'not a teenager'; } console.log(isTeenager(14)); console.log(isTeenager(27)); console.log('-------------------------------------') //Четное число удвоить, нечетное - утроить. // Напишите функцию с именем changeNumber, которая в качестве аргумента принимает число num и возвращает // число, увеличенное в два раза, если число четное, или число, увеличенное в // три раза, если число нечетное. В решении необходимо использовать тернарный оператор. // функция changeNumber(4) должна возвратить 8; // функция changeNumber(3) должна возвратить 9 // функция changeNumber(-5) должна возвратить -15; // функция changeNumber(-2) должна возвратить -4 function changeNumber(num){ return num %2 === 0 ? num * 2 : num * 3; } console.log(changeNumber(4)); console.log(changeNumber(-5)); console.log('-------------------------------------') //Баллы за задачу. // Сайт содержит набор задач по программированию. // Задачи имеют 3 уровня сложности: "easy", "medium", "hard". // За решение задачи уровня "easy" начисляется 2 балла, за решение задачи уровня "medium" // начисляется 4 балла, за решение задачи уровня "hard" начисляется 8 баллов. // // Напишите функцию scoreIncrease, которая принимает две величины current // (текущее количество баллов) и level (уровень сложности задачи) в качестве // аргументов и возвращает новое количество баллов, полученное // после решения задачи. В решении необходимо использовать тернарный оператор. // функция scoreIncrease(400, 'easy') должна возвратить 402; // функция scoreIncrease(200, 'medium') должна возвратить 204; // функция scoreIncrease(302, 'hard') должна возвратить 310. function scoreIncrease(current, level){ return level === 'easy'? current + 2: level === 'medium'? current + 4: level === 'hard' ? current + 8: NaN; } console.log(scoreIncrease(400, 'medium')); console.log('-------------------------------------') //Перевод булевой величины в строку - исправьте баги // Требуется создать функцию boolToString, которая принимает булевую величину // в качестве аргумента и возвращает строку "True" для аргумента true или "False" для аргумента // false. В решении необходимо использовать тернарный оператор. // // функция boolToString(true) должна возвратить "True"; // функция boolToString(false) должна возвратить "False". function boolToString(bool){ return bool ? "True": "False"; } console.log('-------------------------------------') // Найдите модуль числа. // question // Напишите функцию absValue, которая принимает число x в качестве аргумента и возвращает модуль числа. В решении необходимо использовать тернарный оператор. // // Примеры: // // функция absValue(5) должна возвратить 5; // функция absValue(-5) должна возвратить 5; // функция absValue(0) должна возвратить 0. function absValue(x){ return x === 0 ? 0: x < 0 ? -x: x; } console.log(absValue(-10)); function absValue1(x){ if(x === 0) return 0; else if(x<0) return -x; else return x; } console.log(absValue1(-20)); console.log('-------------------------------------') //Стоимость фруктов // Торговец фруктов продает манго по 1 доллару за штуку. Но если покупатель берет 3 и больше манго, // то за один фрукт торговец просит 0.8 доллара. А если покупают // 10 штук и более, то продавец готов продать их всего по 60 центов за штуку. // // Напишите функцию saleFruits, которая принимает число n (количество фруктов) в // качестве аргумента и возвращает стоимость покупки. Результат округлить до 2-х знаков после запятой. // В решении необходимо использовать тернарный оператор. // функция saleFruits(2) должна возвратить "2.00"; // функция saleFruits(3) должна возвратить "2.40"; // функция saleFruits(10) должна возвратить "6.00. function saleFruits(n){ if(n<3) return (n * 1).toFixed(2); else if(n>=3 && n<10) return (n * 0.8).toFixed(2); else if (n >= 10) return (n * 0.60).toFixed(2); } console.log(saleFruits(10)); function saleFruits1(n){ return n<3 ? (n * 1).toFixed(2): n >=3 && n<10 ? (n * 0.8).toFixed(2): n >= 10? (n * 0.60).toFixed(2): n; } console.log(saleFruits1(10)); console.log('-------------------------------------') //Find maximum in array function maximum(arr) { let max = arr[0]; for( i =1; i max){ max = arr[i]; } } return max; } console.log(maximum([8, 5,100, 2, 90, 23 ])) console.log('-------------------------------------') //Find maximum in array another solution let arr1 =[8, 5, 2, 90, 23, 101 ]; let max = Math.max(...arr1); //find max using Math.max console.log(max); console.log('-------------------------------------') //Find maximum element and his index function maximum2(arr) { let max = arr[0]; let index = 0; for(let i = 1; i < arr.length; i++){ if(arr[i] > max){ max = arr[i]; index = i; } } return [max, index]; } console.log(maximum2([11, 333, 8,234, 5, 2, 90, 23 ])) console.log('-------------------------------------') //find max element using methods indexOf function maximum3(arr) { let max = Math.max(...arr) console.log(max); let index = arr.indexOf(max) console.log(index); return [max, index]; } console.log(maximum3([11, 333, 500, 8,234, 5, 2, 90, 23 ])) console.log('-------------------------------------') // Задача 2 . В массиве хранится информация о стоимости покупок // каждого из n покупателей. Магазин хочет подарить скидочную карту // покупателю, который потратил больше всего денег. // Найти номер покупателя, стоимость покупок которого максимальна. function shopping(arr) { let arr2 = []; let sum; for (let i = 0; i < arr.length; i++) { sum = 0; for (let j = 0; j < arr[i].length; j++) { sum = sum + arr[i][j]; } arr2.push(sum); } let maxi = Math.max(...arr2); let index = arr2.indexOf(maxi); return index + 1; } arr = [[3, 5, 2], [7, 8, 1, 12], [10], [12, 3, 10], [8, 2]]; console.log(shopping(arr)); console.log('-------------------------------------') // Задача 3 .Массив хранит в себе слова. // Найти количество слов - палиндромов function palindromes(arr) { let count = 0; for (let elm of arr) { let str = ''; for (let i = 0; i < elm.length; i++) { str = elm[i] + str; } if (str === elm) { count++ } console.log(str); } return count; } let words = ['deed', 'noon', 'door', 'mum', 'madam', 'am']; console.log(palindromes(words)); console.log('-------------------------------------') // console.log('-------------------------------------') // function countPalindromes(n, m) { let count = []; for (let i = n; i <= m; i++) { let res = +((i + '').split('').reverse().join('')); if (res === i) { count.push(i); } } return count; } console.log(countPalindromes(1, 10)); console.log(countPalindromes(878, 898)); console.log('-------------------------------------');