$(document).ready(function() { $(".button").css({ // Стилизация кнопки для запуска задач "display": "inline-block", "background": "grey", "cursor": "pointer", "padding": "10px", "margin": "20px 0 0 20px", "border-radius": "10px", "color": "white" }); $(".task").css({ "width": "50%", "border-bottom": "1px solid black", "box-sizing": "border-box", "padding": "10px" }); $(".task:first-child img").css("width", "1000px"); }); // Задачки function exercises(par) { var arr = [task_2, task_3, task_4, task_5, task_6, task_7, task_8, task_9, task_10, task_11]; arr[par-2](); }; // 2. Сформируйте строку вида ".#.#.#.#.#." чередованием символов . и # с помощью цикла for. // ET = 3 min; // AT = 5 min; function task_2() { var l = +prompt("Введите длинну строки:"), str = ""; for(var i = 1; i <= l; i++) { if (i%2) { str = str + "."; } else { str = str + "#"; } } alert(str); } // 3. Напишите цикл с шагом 1, в теле которого распечатываются квадраты каждого четного значения счетчика. // ET = 4 min; // AT = 3 min; function task_3() { for(var i = 0; i < 10; i++) { if ( !(i%2) && i != 0) { alert(Math.pow(i,2)); } } } // 4. Напишите цикл с confirm, который продолжается при нажатии на Отмена и прерывается при нажатии на Ok. // ET = 7 min; // AT = 2 min; function task_4() { while(true) { if (confirm("Нажмите что-нибудь")) { break; } else { continue; } } } // 5. В окно prompt вводится число. Напишите цикл, в котором суммируются все нечетные числа до диапазона, // введенного пользователем. Результат отобразите в окне alert. // ET = 5 min; // AT = 6 min; function task_5() { var num = +prompt("Введите число"), sum = 0; for (var i = 0; i <= num; i++) { if (i%2) { sum = sum + i; } } alert(sum); } // 6. Напишите бесконечный цикл, который прерывается при помощи команды break, когда Math.random() > 0.9. // Выведите в окно alert случайное число, прервавшее цикл, и количество итераций цикла. // ET = 5 min; // AT = 4 min; function task_6() { for(var i = 0; ; i++) { var a = Math.random(); if (a > 0.9) { alert(a+", "+i); break; } } } // 7. Используя вложенные циклы, распечатайте на странице значения таблицы умножения: 1х1=1, 1x2=2 ... 2x1=2, 2x2=4... // ET = 7 min; // AT = 7 min; function task_7() { var main_str = ""; for(var i = 1; i <=9; i++) { var str = ""; for(var j = 1; j <= 9; j++) { str = str + i + "x" + j + "=" + (i*j) + " , "; } main_str = main_str + str + "\n"; } alert(main_str); } // 8. Используя вложенные циклы, сформируйте строку чередованием символов . и # таким образом, чтобы получилась // шахматный узор. Для перевода строки используйте символ \n. Код должен поддерживать легкое изменение размеров доски. // .#.#.#.#.#.# // #.#.#.#.#.#. // .#.#.#.#.#.# // #.#.#.#.#.#. // .#.#.#.#.#.# // ET = 10 min; // AT = 8 min; function task_8() { var a = +prompt("Введите ширину доски:"), b = +prompt("Введите высоту доски:"), str = ""; for(var i = 1; i <= b; i++) { for(var j = 1; j <= a; j++) { if (j%2) { str = str + "."; } else { str = str + "#"; } } str = str + "\n"; } alert(str); } // 9. С помощью цикла for с пустым телом сформируйте строку, представляющую из себя ряд Фибоначчи: 0 1 1 2 3 5 8 13... // ET = 6 min; // AT = 6 min; function task_9() { for(var i = 0, j = 1, str=""; i <= 100; str = str + i + " " + j + " ", i = j + i, j = j+i ) {} alert(str); } // 10. Запустите цикл, в котором пользователю предлагается вводить число с клавиатуры, до тех пор, // пока не будет нажата Отмена. После выхода из цикла распечатайте количество введенных чисел, // их общую сумму и среднее арифметическое. // ET = 7 min; // AT = 15 min; function task_10() { var sum = 0; for(var i = 0; ; i++) { var num = prompt("Введите число"); if (num == null) { alert("Чисел введено: " + i + "\nИх сумма: " + sum + "\nСреднее арифметическое: " + sum/i); break; } sum = sum + +num; } } // LEVEL UP // Сформируйте строку в виде треугольника-елочки: // .....#..... // ....###.... // ...#####... // ..#######.. // .#########. // ########### // AT = 70 min; function task_11() { var h = prompt("Какой высоты хотите елку?"), str = "", l = h*2 - 1; // Длинна основания елки for(var i = 1; i <= h; i++) { for(var j = 1; j <= l; j++) { if (j <= Math.floor(l/2) - (i-1) ) { str = str + "-"; } else if ( (j > Math.floor(l/2)-(i-1)) && (j <= Math.floor(l/2)-(i-1) + (2*i-1)) ) { str = str + "#"; } else if (j > Math.floor(l/2)-(i-1) + (2*i-1)) { str = str + "-"; } } str = str + "\n"; } alert(str); }