App.js 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335
  1. // Дополнительное задание
  2. // Слепить все задания в один текст, таким образом что бы вначале происходил ввод названия задания,
  3. // каждое задание при этом находится в отдельном case оператора switch.
  4. // Например case "currency calc" для калькулятора обмена валют.
  5. do {
  6. var Task = prompt('Введите название задания, которое хотите просмотреть.\n\nСписок выполненных заданий: \n1. switch: sizes\n2. switch: if\n3. prompt: or\n4. confirm: or this days\n5. confirm: if this days\n6. triple prompt\n7. default: or\n8. default: if\n9. login and password\n10. currency calc\n11. currency calc: improved\n12. currency calc: two rates\n13. currency calc: if\n14. scissors\n15. Задание на синий пояс\n16. real data').toLowerCase();
  7. switch (Task) {
  8. case 'switch: sizes':
  9. // Сделайте задание Comparison: sizes из предыдущего ДЗ используя switch.
  10. var clothesSize = +prompt('Введите размер одежды по украинским меркам:');
  11. switch (true) {
  12. case (clothesSize >= 40 && clothesSize < 42): alert('S');
  13. break;
  14. case (clothesSize >= 42 && clothesSize < 46): alert('M');
  15. break;
  16. case (clothesSize >= 46 && clothesSize < 50): alert('L');
  17. break;
  18. case (clothesSize >= 50 && clothesSize < 54): alert('XL');
  19. break;
  20. case (clothesSize == 54): alert('XXL');
  21. break;
  22. default: alert('Тут что-то не так...');
  23. }
  24. var Continue = window.confirm('Вы хотите продолжить?');
  25. break;
  26. case 'switch: if':
  27. // Перепишите пример ниже, используя if.
  28. let color = prompt("Введите цвет");
  29. /*switch (color){
  30. case "red": document.write("<div style='background-color: red;'>красный</div>");
  31. case "black": document.write("<div style='background-color: black; color: white;'>черный</div>");
  32. break;
  33. case "blue": document.write("<div style='background-color: blue;'>синий</div>");
  34. case "green": document.write("<div style='background-color: green;'>зеленый</div>");
  35. break;
  36. default: document.write("<div style='background-color: gray;'>Я не понял</div>");
  37. }*/
  38. if (color == 'red') {
  39. document.write("<div style='background-color: red;'>красный</div>");
  40. document.write("<div style='background-color: black; color: white;'>черный</div>");
  41. }
  42. else if (color == 'black') {
  43. document.write("<div style='background-color: black; color: white;'>черный</div>");
  44. }
  45. else if (color == 'blue') {
  46. document.write("<div style='background-color: blue;'>синий</div>");
  47. document.write("<div style='background-color: green;'>зеленый</div>");
  48. }
  49. else if (color == 'green') {
  50. document.write("<div style='background-color: green;'>зеленый</div>");
  51. }
  52. else {
  53. document.write("<div style='background-color: gray;'>Я не понял</div>");
  54. }
  55. var Continue = window.confirm('Вы хотите продолжить?');
  56. break;
  57. case 'prompt: or':
  58. // Для задания Number: age используя ИЛИ || вывести сообщение об ошибке (alert) если пользователь не введет возраст
  59. // или нажмет отмену (т. е. prompt выдаст пустую строку или null, интерпретируемую как false).
  60. var age = (+prompt('Сколько вам сейчас лет?') || alert('Ошибка, возраст не указан!'));
  61. var YearOfBirth = 2022 - age;
  62. alert(YearOfBirth || 'Ошибка, возраст не указан!');
  63. var Continue = window.confirm('Вы хотите продолжить?');
  64. break;
  65. case 'confirm: or this days':
  66. // C помощью этого же трюка сделайте капризного робота, который в confirm спрашивает "шопинг?",
  67. // а в случае отказа - выводить alert "ты - бяка".
  68. var Shopping = window.confirm('Шоппинг?');
  69. alert(Shopping || 'ты - бяка');
  70. var Continue = window.confirm('Вы хотите продолжить?');
  71. break;
  72. case 'confirm: if this days':
  73. // Сделать тоже самое с помощью if.
  74. var Shopping = window.confirm('Шоппинг?');
  75. if (Shopping == true) {
  76. alert('Yay!');
  77. }
  78. else {
  79. alert('ты - бяка');
  80. }
  81. var Continue = window.confirm('Вы хотите продолжить?');
  82. break;
  83. case 'triple prompt':
  84. // Трижды вызывать prompt, сохранить в переменные фамилию, имя и отчество. Вывести ФИО c помощью alert.
  85. var Surname = prompt('Surname:');
  86. var Name = prompt('Name:');
  87. var Fathername = prompt('Fathername:');
  88. alert(Surname + ' ' + Name + ' ' + Fathername);
  89. var Continue = window.confirm('Вы хотите продолжить?');
  90. break;
  91. case 'default: or':
  92. // Используя ИЛИ || добавьте имена по умолчанию, которые будут сохраняться во внутренних переменных
  93. // если пользователь ввел пустую строку или нажал "Отмена".
  94. // Например, если вы на шаге ввода Фамилии нажмете Escape, фамилия будет "Иванов"
  95. var Surname = (prompt('Surname:') || "Иванов");
  96. var Name = (prompt('Name:') || "Иван");
  97. var Fathername = (prompt('Fathername:') || "Иванович");
  98. alert(Surname + ' ' + Name + ' ' + Fathername);
  99. var Continue = window.confirm('Вы хотите продолжить?');
  100. break;
  101. case 'default: if':
  102. // Сделайте тоже самое с помощью if и else
  103. var Surname = prompt('Surname:');
  104. var Name = prompt('Name:');
  105. var Fathername = prompt('Fathername:');
  106. if (Surname == null) {
  107. Surname = "Иванов";
  108. }
  109. if (Name == null) {
  110. Name = "Иван";
  111. }
  112. if (Fathername == null) {
  113. Fathername = "Иванович";
  114. }
  115. alert(Surname + ' ' + Name + ' ' + Fathername);
  116. var Continue = window.confirm('Вы хотите продолжить?');
  117. break;
  118. case 'login and password':
  119. // Напишите код, который спрашивает логин, проверяет его на верность,
  120. // в случае если логин верен, просит ввести пароль и проверяет его.
  121. // В случае несовпадения логина или пароля выводить alert с текстом ошибки.
  122. // В случае успешного логина - alert с поздравлением. Правильные логин: admin и пароль: qwerty.
  123. // Используйте вложенные if и else.
  124. var login = prompt('Enter login:');
  125. var password = prompt('Enter password');
  126. if (login != 'admin') {
  127. alert('Wrong login!')
  128. }
  129. else {
  130. if (password == 'qwerty') {
  131. alert('Congratulations!');
  132. }
  133. else {
  134. alert('Wrong password!')
  135. }
  136. }
  137. var Continue = window.confirm('Вы хотите продолжить?');
  138. break;
  139. case 'currency calc':
  140. // Калькулятор обмена валют.
  141. // Первый prompt спрашивает валюту: "usd" или "eur".
  142. // С помощью switch установите обменный курс для валюты, выбранной пользователем, после чего
  143. // спросите величину и переведите её из гривны в выбранную на первом prompt валюту.
  144. // Выведите результат в alert()
  145. var Currency = prompt('usd or eur?');
  146. switch (Currency) {
  147. case 'usd': var Amount = prompt('Enter the amount of usd to be converted:');
  148. alert((Amount * 29.60).toFixed(4) + '$');
  149. break;
  150. case 'eur': var Amount = prompt('Enter the amount of eur to be converted:');
  151. alert((Amount * 31.08).toFixed(4) + '€');
  152. break;
  153. default: alert('Converting issue, please check the entered currency!');
  154. }
  155. var Continue = window.confirm('Вы хотите продолжить?');
  156. break;
  157. case 'currency calc: improved':
  158. // Улучшить предыдущее задание: сделать возможность ввода валюты
  159. // любыми буквами (usd, uSd, USD), используйте str.toLowerCase().
  160. var Currency = prompt('usd or eur?').toLowerCase();
  161. switch (Currency) {
  162. case 'usd': var Amount = prompt('Enter the amount of usd to be converted:');
  163. alert((Amount * 29.60).toFixed(4) + '$');
  164. break;
  165. case 'eur': var Amount = prompt('Enter the amount of eur to be converted:');
  166. alert((Amount * 31.08).toFixed(4) + '€');
  167. break;
  168. default: alert('Converting issue, please check the entered currency!');
  169. }
  170. var Continue = window.confirm('Вы хотите продолжить?');
  171. break;
  172. case 'currency calc: two rates':
  173. // Добавить возможность выбора обменного курса на продажу и покупку.
  174. // Используйте confirm для ввода пользователя и тернарный оператор для величины курса.
  175. var Currency = prompt('usd or eur?').toLowerCase();
  176. var Amount;
  177. switch (Currency) {
  178. case 'usd': window.confirm('Do you want to buy the currency?') ? (
  179. Amount = prompt('Enter the amount of $ to be converted:'),
  180. alert((Amount * 35.5058).toFixed(4) + '$')
  181. ) : (Amount = prompt('Enter the amount of $ to be converted:'),
  182. alert((Amount * 35.6328).toFixed(4) + '$'));
  183. break;
  184. case 'eur': window.confirm('Do you want to buy the currency?') ? (
  185. Amount = prompt('Enter the amount of € to be converted:'),
  186. alert((Amount * 37.3050).toFixed(4) + '€')
  187. ) : (Amount = prompt('Enter the amount of € to be converted:'),
  188. alert((Amount * 37.6362).toFixed(4) + '€'));
  189. break;
  190. default: alert('Converting issue, please check the entered currency!');
  191. }
  192. var Continue = window.confirm('Вы хотите продолжить?');
  193. break;
  194. case 'currency calc: if':
  195. // Сделать тоже самое на if
  196. var Currency = prompt('usd or eur?').toLowerCase();
  197. var Amount;
  198. switch (Currency) {
  199. case 'usd': var BuySell = window.confirm('Do you want to buy the currency?');
  200. if (BuySell == true) {
  201. Amount = prompt('Enter the amount of $ to be converted:');
  202. alert((Amount * 35.5058).toFixed(4) + '$');
  203. }
  204. else {
  205. Amount = prompt('Enter the amount of $ to be converted:');
  206. alert((Amount * 35.6328).toFixed(4) + '$');
  207. }
  208. break;
  209. case 'eur': var BuySell = window.confirm('Do you want to buy the currency?');;
  210. if (BuySell == true) {
  211. Amount = prompt('Enter the amount of € to be converted:');
  212. alert((Amount * 37.3050).toFixed(4) + '€');
  213. }
  214. else {
  215. Amount = prompt('Enter the amount of € to be converted:');
  216. alert((Amount * 37.6362).toFixed(4) + '€');
  217. }
  218. break;
  219. default: alert('Converting issue, please check the entered currency!');
  220. }
  221. var Continue = window.confirm('Вы хотите продолжить?');
  222. break;
  223. case 'scissors':
  224. // Сделайте игру "камень-ножницы-бумага".
  225. // Пользователь вводит свой вариант через prompt, программа генерирует свой вариант через Math.random()
  226. // и выводит через alert. Следующий alert выводит имя победителя или "ничья"
  227. // 'Paper' > 'Stone';
  228. // 'Paper' < 'Scissors';
  229. // 'Scissors' < 'Stone';
  230. do {
  231. var botVariables = ['Stone', 'Scissors', 'Paper'];
  232. var player = prompt('Enter Stone, Scissors or Paper');
  233. var bot = botVariables[Math.floor(Math.random() * botVariables.length)];
  234. alert(bot);
  235. if (player == bot) {
  236. alert('Ничья.');
  237. }
  238. else if (player == 'Stone' && bot == 'Scissors'
  239. || player == 'Scissors' && bot == 'Paper'
  240. || player == 'Paper' && bot == 'Stone') {
  241. alert('You win!');
  242. }
  243. else if (bot == 'Stone' && player == 'Scissors'
  244. || bot == 'Scissors' && player == 'Paper'
  245. || bot == 'Paper' && player == 'Stone') {
  246. alert('You lose!');
  247. }
  248. else {
  249. alert('Something\'s gone wrong...');
  250. }
  251. var doPlay = window.confirm('Do you want to replay?');
  252. }
  253. while (doPlay == true);
  254. var Continue = window.confirm('Вы хотите продолжить?');
  255. break;
  256. case 'Задание на синий пояс':
  257. // Сделать задания обмена валют используя ассоциативный массив (объект) подобной структуры.
  258. // Добавьте дополнительные поля при надобности. Для обращения к нужному полю используйте [].
  259. let ratios = {
  260. usdSell: 35.6328,
  261. usdBuy: 35.5058,
  262. eurSell: 37.6362,
  263. eurBuy: 37.3050,
  264. }
  265. var Currency = prompt('usd or eur?').toLowerCase();
  266. var Amount;
  267. switch (Currency) {
  268. case 'usd': window.confirm('Do you want to buy the currency?') ? (
  269. Amount = prompt('Enter the amount of $ to be converted:'),
  270. alert((Amount * ratios['usdBuy']).toFixed(4) + '$')
  271. ) : (Amount = prompt('Enter the amount of $ to be converted:'),
  272. alert((Amount * ratios['usdSell']).toFixed(4) + '$'));
  273. break;
  274. case 'eur': window.confirm('Do you want to buy the currency?') ? (
  275. Amount = prompt('Enter the amount of € to be converted:'),
  276. alert((Amount * ratios['eurBuy']).toFixed(4) + '€')
  277. ) : (Amount = prompt('Enter the amount of € to be converted:'),
  278. alert((Amount * ratios['eurSell']).toFixed(4) + '€'));
  279. break;
  280. default: alert('Converting issue, please check the entered currency!');
  281. }
  282. var Continue = window.confirm('Вы хотите продолжить?');
  283. break;
  284. case 'real data':
  285. // Иcпользуя заготовку ниже реализуйте перевод валют с реальными данными.
  286. alert('Press \'Esc\' or \'Cancel\' 4 times(it is a temporary bug, idk how to fix)');
  287. fetch('https://open.er-api.com/v6/latest/USD').then(res => res.json())
  288. .then(data => {
  289. var Currency = prompt('Enter the currency code in ISO 4217 standart.').toUpperCase();
  290. var Amount;
  291. Amount = prompt('Enter the amount of $ to be converted:');
  292. alert((Amount * data.rates[Currency]).toFixed(4) + ' ' + Currency);
  293. });
  294. var Continue = window.confirm('Вы хотите продолжить?');
  295. default: alert('Что-то пошло не так...\nПопробуйте еще раз.'); Continue = true;
  296. }
  297. } while (Continue == true);