script.js 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  1. $(document).ready(function() {
  2. $(".button").css({ // Стилизация кнопки для запуска задач
  3. "display": "inline-block",
  4. "background": "grey",
  5. "cursor": "pointer",
  6. "padding": "10px",
  7. "margin": "20px 0 0 20px",
  8. "border-radius": "10px",
  9. "color": "white"
  10. });
  11. $(".task").css({
  12. "width": "50%",
  13. "border-bottom": "1px solid black",
  14. "box-sizing": "border-box",
  15. "padding": "10px"
  16. });
  17. $(".task:first-child img").css("width", "1000px");
  18. });
  19. // Задачки
  20. function exercises(par) {
  21. var arr = [task_2, task_3, task_4, task_5, task_6, task_7, task_8, task_9, task_10, task_11];
  22. arr[par-2]();
  23. };
  24. // 2. Сформируйте строку вида ".#.#.#.#.#." чередованием символов . и # с помощью цикла for.
  25. // ET = 3 min;
  26. // AT = 5 min;
  27. function task_2() {
  28. var l = +prompt("Введите длинну строки:"),
  29. str = "";
  30. for(var i = 1; i <= l; i++) {
  31. if (i%2) {
  32. str = str + ".";
  33. } else {
  34. str = str + "#";
  35. }
  36. }
  37. alert(str);
  38. }
  39. // 3. Напишите цикл с шагом 1, в теле которого распечатываются квадраты каждого четного значения счетчика.
  40. // ET = 4 min;
  41. // AT = 3 min;
  42. function task_3() {
  43. for(var i = 0; i < 10; i++) {
  44. if ( !(i%2) && i != 0) {
  45. alert(Math.pow(i,2));
  46. }
  47. }
  48. }
  49. // 4. Напишите цикл с confirm, который продолжается при нажатии на Отмена и прерывается при нажатии на Ok.
  50. // ET = 7 min;
  51. // AT = 2 min;
  52. function task_4() {
  53. while(true) {
  54. if (confirm("Нажмите что-нибудь")) {
  55. break;
  56. } else {
  57. continue;
  58. }
  59. }
  60. }
  61. // 5. В окно prompt вводится число. Напишите цикл, в котором суммируются все нечетные числа до диапазона,
  62. // введенного пользователем. Результат отобразите в окне alert.
  63. // ET = 5 min;
  64. // AT = 6 min;
  65. function task_5() {
  66. var num = +prompt("Введите число"),
  67. sum = 0;
  68. for (var i = 0; i <= num; i++) {
  69. if (i%2) {
  70. sum = sum + i;
  71. }
  72. }
  73. alert(sum);
  74. }
  75. // 6. Напишите бесконечный цикл, который прерывается при помощи команды break, когда Math.random() > 0.9.
  76. // Выведите в окно alert случайное число, прервавшее цикл, и количество итераций цикла.
  77. // ET = 5 min;
  78. // AT = 4 min;
  79. function task_6() {
  80. for(var i = 0; ; i++) {
  81. var a = Math.random();
  82. if (a > 0.9) {
  83. alert(a+", "+i);
  84. break;
  85. }
  86. }
  87. }
  88. // 7. Используя вложенные циклы, распечатайте на странице значения таблицы умножения: 1х1=1, 1x2=2 ... 2x1=2, 2x2=4...
  89. // ET = 7 min;
  90. // AT = 7 min;
  91. function task_7() {
  92. var main_str = "";
  93. for(var i = 1; i <=9; i++) {
  94. var str = "";
  95. for(var j = 1; j <= 9; j++) {
  96. str = str + i + "x" + j + "=" + (i*j) + " , ";
  97. }
  98. main_str = main_str + str + "\n";
  99. }
  100. alert(main_str);
  101. }
  102. // 8. Используя вложенные циклы, сформируйте строку чередованием символов . и # таким образом, чтобы получилась
  103. // шахматный узор. Для перевода строки используйте символ \n. Код должен поддерживать легкое изменение размеров доски.
  104. // .#.#.#.#.#.#
  105. // #.#.#.#.#.#.
  106. // .#.#.#.#.#.#
  107. // #.#.#.#.#.#.
  108. // .#.#.#.#.#.#
  109. // ET = 10 min;
  110. // AT = 8 min;
  111. function task_8() {
  112. var a = +prompt("Введите ширину доски:"),
  113. b = +prompt("Введите высоту доски:"),
  114. str = "";
  115. for(var i = 1; i <= b; i++) {
  116. for(var j = 1; j <= a; j++) {
  117. if (j%2) {
  118. str = str + ".";
  119. } else {
  120. str = str + "#";
  121. }
  122. }
  123. str = str + "\n";
  124. }
  125. alert(str);
  126. }
  127. // 9. С помощью цикла for с пустым телом сформируйте строку, представляющую из себя ряд Фибоначчи: 0 1 1 2 3 5 8 13...
  128. // ET = 6 min;
  129. // AT = 6 min;
  130. function task_9() {
  131. for(var i = 0, j = 1, str=""; i <= 100; str = str + i + " " + j + " ", i = j + i, j = j+i ) {}
  132. alert(str);
  133. }
  134. // 10. Запустите цикл, в котором пользователю предлагается вводить число с клавиатуры, до тех пор,
  135. // пока не будет нажата Отмена. После выхода из цикла распечатайте количество введенных чисел,
  136. // их общую сумму и среднее арифметическое.
  137. // ET = 7 min;
  138. // AT = 15 min;
  139. function task_10() {
  140. var sum = 0;
  141. for(var i = 0; ; i++) {
  142. var num = prompt("Введите число");
  143. if (num == null) {
  144. alert("Чисел введено: " + i + "\nИх сумма: " + sum + "\nСреднее арифметическое: " + sum/i);
  145. break;
  146. }
  147. sum = sum + +num;
  148. }
  149. }
  150. // LEVEL UP
  151. // Сформируйте строку в виде треугольника-елочки:
  152. // .....#.....
  153. // ....###....
  154. // ...#####...
  155. // ..#######..
  156. // .#########.
  157. // ###########
  158. // AT = 70 min;
  159. function task_11() {
  160. var h = prompt("Какой высоты хотите елку?"),
  161. str = "",
  162. l = h*2 - 1; // Длинна основания елки
  163. for(var i = 1; i <= h; i++) {
  164. for(var j = 1; j <= l; j++) {
  165. if (j <= Math.floor(l/2) - (i-1) ) {
  166. str = str + "-";
  167. } else
  168. if ( (j > Math.floor(l/2)-(i-1)) && (j <= Math.floor(l/2)-(i-1) + (2*i-1)) ) {
  169. str = str + "#";
  170. } else
  171. if (j > Math.floor(l/2)-(i-1) + (2*i-1)) {
  172. str = str + "-";
  173. }
  174. }
  175. str = str + "\n";
  176. }
  177. alert(str);
  178. }