index.js 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467
  1. // chooseTask()
  2. function chooseTask() {
  3. let task = prompt("Введите название задания","").trim();
  4. switch (task){
  5. case 'switch: sizes':
  6. switchSizes();
  7. break;
  8. case 'switch: if':
  9. switchIf();
  10. break;
  11. case 'prompt: or':
  12. promptOr();
  13. break;
  14. case 'confirm: or this days':
  15. confirmOrThisDays();
  16. break;
  17. case 'confirm: if this days':
  18. confirmIfThisDays();
  19. break;
  20. case 'triple prompt':
  21. triplePrompt();
  22. break;
  23. case 'default: or':
  24. defaultOr();
  25. break;
  26. case 'default: if':
  27. defaultIf();
  28. break;
  29. case 'login and password':
  30. loginAndPassword();
  31. break;
  32. case 'scissors':
  33. scissors();
  34. break;
  35. case 'Задание на черный пояс':
  36. scissorsBlack();
  37. break;
  38. case 'currency calc':
  39. currencyCalc();
  40. break;
  41. case 'currency calc: improved':
  42. currencyCalcImproved();
  43. break;
  44. case 'currency calc: two rates':
  45. currencyCalcTwoRates();
  46. break;
  47. case 'currency calc: if':
  48. currencyCalcIf();
  49. break;
  50. case 'Задание на синий пояс':
  51. currencyCalcObj();
  52. break;
  53. default: alert("такого названия нет!");
  54. }
  55. }
  56. // switchSizes()
  57. function switchSizes() {
  58. let size = +prompt("Введите размер верхней одежды","");
  59. switch (size){
  60. case 40:
  61. case 41: alert("S");
  62. break;
  63. case 42:
  64. case 43:
  65. case 44:
  66. case 45: alert("M");
  67. break;
  68. case 46:
  69. case 47:
  70. case 48:
  71. case 49: alert("L");
  72. break;
  73. case 50:
  74. case 51:
  75. case 52:
  76. case 53: alert("XL");
  77. break;
  78. case (54): alert("XXL");
  79. break;
  80. default: alert("такого размера нет!");;
  81. }
  82. }
  83. // switchIf()
  84. function switchIf() {
  85. let color = prompt("Введите цвет","");
  86. if (color === 'red') {
  87. document.write("<div style='background-color: red;'>красный</div>");
  88. document.write("<div style='background-color: black; color: white;'>черный</div>");
  89. } else if (color === 'black') {
  90. document.write("<div style='background-color: black; color: white;'>черный</div>");
  91. } else if (color === 'blue') {
  92. document.write("<div style='background-color: blue;'>синий</div>");
  93. document.write("<div style='background-color: green;'>зеленый</div>");
  94. } else if (color === 'green') {
  95. document.write("<div style='background-color: green;'>зеленый</div>");
  96. } else {
  97. document.write("<div style='background-color: gray;'>Я не понял</div>");
  98. }
  99. }
  100. // promptOr()
  101. function promptOr() {
  102. const result = prompt('сколько лет?','') || alert('ошибка')
  103. if (result) {
  104. const currentYear = new Date()
  105. const birthYear = currentYear.getFullYear() - result
  106. alert(birthYear)
  107. }
  108. }
  109. // confirmOrThisDays()
  110. function confirmOrThisDays() {
  111. confirm('шопинг?') || alert('ты бяка')
  112. }
  113. // confirmIfThisDays()
  114. function confirmIfThisDays() {
  115. const res = confirm('шопинг?')
  116. if (!res) {
  117. alert('ты бяка')
  118. }
  119. }
  120. // triplePrompt()
  121. function triplePrompt() {
  122. const surname = prompt('фамилия','')
  123. const name = prompt('имя','')
  124. const patronymic = prompt('отчество','')
  125. alert(`${surname} ${name} ${patronymic}`)
  126. }
  127. // defaultOr()
  128. function defaultOr() {
  129. const surname = prompt('фамилия','') || 'Иванов'
  130. const name = prompt('имя','') || 'Иван'
  131. const patronymic = prompt('отчество','') || 'Иванович'
  132. alert(`${surname} ${name} ${patronymic}`)
  133. }
  134. // defaultIf()
  135. function defaultIf() {
  136. let surname = prompt('фамилия','')
  137. let name = prompt('имя','')
  138. let patronymic = prompt('отчество','')
  139. if (!surname) {
  140. surname = 'Иванов'
  141. }
  142. if (!name) {
  143. name = 'Иван'
  144. }
  145. if (!patronymic) {
  146. patronymic = 'Иванович'
  147. }
  148. alert(`${surname} ${name} ${patronymic}`)
  149. }
  150. // loginAndPassword()
  151. function loginAndPassword() {
  152. const login = 'admin'
  153. const pass = 'qwerty'
  154. let loginInput = prompt('логин','')
  155. if (loginInput === login) {
  156. let passInput = prompt('пароль','')
  157. if (passInput === pass) {
  158. alert('вы авторизованы')
  159. } else {
  160. alert('НЕправильный пароль!')
  161. }
  162. } else {
  163. alert('НЕправильный логин!')
  164. }
  165. }
  166. // scissors()
  167. function scissors() {
  168. let userInput = +prompt('Выберите вариант и введите соответствующее ему число: \n камень - 1 \n ножницы - 2 \n бумага - 3','');
  169. let compInput = Math.floor(Math.random() * 3);
  170. if (compInput === 0) {
  171. alert('у оппонента камень')
  172. switch (userInput){
  173. case 1:
  174. alert('ничья');
  175. break;
  176. case 2:
  177. alert('вы проиграли!');
  178. break;
  179. case 3:
  180. alert('вы выиграли!');
  181. break;
  182. }
  183. } else if (compInput === 1) {
  184. alert('у оппонента ножницы')
  185. switch (userInput){
  186. case 2:
  187. alert('ничья');
  188. break;
  189. case 3:
  190. alert('вы проиграли!');
  191. break;
  192. case 1:
  193. alert('вы выиграли!');
  194. break;
  195. }
  196. } else if (compInput === 2) {
  197. alert('у оппонента бумага')
  198. switch (userInput){
  199. case 3:
  200. alert('ничья');
  201. break;
  202. case 1:
  203. alert('вы проиграли!');
  204. break;
  205. case 2:
  206. alert('вы выиграли!');
  207. break;
  208. }
  209. }
  210. }
  211. // scissorsBlack()
  212. function scissorsBlack() {
  213. let userInput = +prompt('Выберите вариант и введите соответствующее ему число: \n камень - 1 \n ножницы - 2 \n бумага - 3','');
  214. let compInput = Math.floor(Math.random() * 3);
  215. console.log(compInput);
  216. ( (compInput === 0) && (alert('у оппонента камень') || (userInput === 1) && alert('ничья') || (userInput === 2) && alert('вы проиграли!') || (userInput === 3) && alert('вы выиграли!') ) ||
  217. (compInput === 1) && (alert('у оппонента ножницы') || (userInput === 2) && alert('ничья') || (userInput === 3) && alert('вы проиграли!') || (userInput === 1) && alert('вы выиграли!')) ||
  218. (compInput === 2) && (alert('у оппонента бумага') || (userInput === 3) && alert('ничья') || (userInput === 1) && alert('вы проиграли!') || (userInput === 2) && alert('вы выиграли!')) );
  219. }
  220. // currencyCalc()
  221. function currencyCalc() {
  222. let result = null;
  223. loop1:
  224. do {
  225. let secondCurrInput = prompt('Выберите и введите валюту в которую вы хотите конвертировать uah: \n usd \n eur','');
  226. if (secondCurrInput === null) {
  227. alert('отмена конвертации');
  228. break;
  229. }
  230. let firstCurrRatio = 26.29;
  231. let secondCurrRatio = null;
  232. switch (secondCurrInput){
  233. case 'usd':
  234. secondCurrRatio = 1;
  235. break;
  236. case 'eur':
  237. secondCurrRatio = 0.861;
  238. break;
  239. default:
  240. alert('неверное значение, отмена конвертации');
  241. break loop1;
  242. }
  243. let firstAmount = parseFloat(prompt('Введите сумму uah которую вы хотите конвертировать',''));
  244. if (!isFinite(firstAmount)) {
  245. alert('неверное значение, отмена конвертации');
  246. break;
  247. }
  248. let secondAmount = ((firstAmount * secondCurrRatio) / firstCurrRatio).toFixed(2);
  249. alert(`Итого: ${secondAmount} ${secondCurrInput}`);
  250. result = confirm('Произвести конвертацию еще раз?');
  251. } while (result)
  252. }
  253. // currencyCalcImproved()
  254. function currencyCalcImproved() {
  255. let result = null;
  256. loop1:
  257. do {
  258. let secondText = prompt('Выберите и введите валюту в которую вы хотите конвертировать uah: \n usd \n eur \n(в любом регистре)','');
  259. let secondCurrInput = null;
  260. if (secondText !== null) {
  261. secondCurrInput = secondText.trim().toLowerCase();
  262. } else {
  263. alert('отмена конвертации');
  264. break;
  265. }
  266. let firstCurrRatio = 26.29;
  267. let secondCurrRatio = null;
  268. switch (secondCurrInput){
  269. case 'usd':
  270. secondCurrRatio = 1;
  271. break;
  272. case 'eur':
  273. secondCurrRatio = 0.861;
  274. break;
  275. default:
  276. alert('неверное значение, отмена конвертации');
  277. break loop1;
  278. }
  279. let firstNumber = parseFloat(prompt('Введите сумму uah которую вы хотите конвертировать',''));
  280. let firstAmount = null;
  281. if (isFinite(firstNumber)) {
  282. firstAmount = firstNumber;
  283. } else {
  284. alert('неверное значение, отмена конвертации');
  285. break;
  286. }
  287. let secondAmount = ((firstAmount * secondCurrRatio) / firstCurrRatio).toFixed(2);
  288. alert(`Итого: ${secondAmount} ${secondCurrInput}`);
  289. result = confirm('Произвести конвертацию еще раз?');
  290. } while (result)
  291. }
  292. // currencyCalcTwoRates()
  293. function currencyCalcTwoRates() {
  294. let result = null;
  295. loop1:
  296. do {
  297. let secondText = prompt('Выберите и введите валюту в которую вы хотите конвертировать uah: \n usd \n eur \n(в любом регистре)','');
  298. let secondCurrInput = null;
  299. if (secondText !== null) {
  300. secondCurrInput = secondText.trim().toLowerCase();
  301. } else {
  302. alert('отмена конвертации');
  303. break;
  304. }
  305. let firstCurrRatio = 26.29;
  306. let secondCurrRatio = null;
  307. let chooser = null;
  308. function chooserFunc() {
  309. chooser = confirm('Нажмите ок, если выбирате курс на продажу или отмена, если выбирате курс на покупку');
  310. chooser ? alert('вы выбрали курс на продажу') : alert('вы выбрали курс на покупку');
  311. }
  312. switch (secondCurrInput){
  313. case 'usd':
  314. chooserFunc()
  315. chooser ? secondCurrRatio = 1 : secondCurrRatio = 1.002;
  316. break;
  317. case 'eur':
  318. chooserFunc()
  319. chooser ? secondCurrRatio = 0.861 : secondCurrRatio = 0.863;
  320. break;
  321. default:
  322. alert('неверное значение, отмена конвертации');
  323. break loop1;
  324. }
  325. let firstNumber = parseFloat(prompt('Введите сумму uah которую вы хотите конвертировать',''));
  326. let firstAmount = null;
  327. if (isFinite(firstNumber)) {
  328. firstAmount = firstNumber;
  329. } else {
  330. alert('неверное значение, отмена конвертации');
  331. break;
  332. }
  333. let secondAmount = ((firstAmount * secondCurrRatio) / firstCurrRatio).toFixed(2);
  334. alert(`Итого: ${secondAmount} ${secondCurrInput}`);
  335. result = confirm('Произвести конвертацию еще раз?');
  336. } while (result)
  337. }
  338. // currencyCalcIf()
  339. function currencyCalcIf() {
  340. let result = null;
  341. loop1:
  342. do {
  343. let secondText = prompt('Выберите и введите валюту в которую вы хотите конвертировать uah: \n usd \n eur \n(в любом регистре)','');
  344. let secondCurrInput = null;
  345. if (secondText !== null) {
  346. secondCurrInput = secondText.trim().toLowerCase();
  347. } else {
  348. alert('отмена конвертации');
  349. break;
  350. }
  351. let firstCurrRatio = 26.29;
  352. let secondCurrRatio = null;
  353. let chooser = null;
  354. function chooserFunc() {
  355. chooser = confirm('Нажмите ок, если выбирате курс на продажу или отмена, если выбирате курс на покупку');
  356. chooser ? alert('вы выбрали курс на продажу') : alert('вы выбрали курс на покупку');
  357. }
  358. switch (secondCurrInput){
  359. case 'usd':
  360. chooserFunc()
  361. if (chooser) {
  362. secondCurrRatio = 1;
  363. } else {
  364. secondCurrRatio = 1.002;
  365. }
  366. break;
  367. case 'eur':
  368. chooserFunc()
  369. if (chooser) {
  370. secondCurrRatio = 0.861;
  371. } else {
  372. secondCurrRatio = 0.863;
  373. }
  374. break;
  375. default:
  376. alert('неверное значение, отмена конвертации');
  377. break loop1;
  378. }
  379. let firstNumber = parseFloat(prompt('Введите сумму uah которую вы хотите конвертировать',''));
  380. let firstAmount = null;
  381. if (isFinite(firstNumber)) {
  382. firstAmount = firstNumber;
  383. } else {
  384. alert('неверное значение, отмена конвертации');
  385. break;
  386. }
  387. let secondAmount = ((firstAmount * secondCurrRatio) / firstCurrRatio).toFixed(2);
  388. alert(`Итого: ${secondAmount} ${secondCurrInput}`);
  389. result = confirm('Произвести конвертацию еще раз?');
  390. } while (result)
  391. }
  392. // currencyCalcObj()
  393. function currencyCalcObj() {
  394. let ratios = {
  395. usdS: 1,
  396. eurS: 0.861,
  397. uahS: 26.29,
  398. usdB: 1.002,
  399. eurB: 0.863,
  400. uahB: 26.31,
  401. }
  402. let result = null;
  403. loop1:
  404. do {
  405. let secondText = prompt('Выберите и введите валюту в которую вы хотите конвертировать uah: \n usd \n eur \n(в любом регистре)','');
  406. let secondCurrInput = null;
  407. if (secondText !== null) {
  408. secondCurrInput = secondText.trim().toLowerCase();
  409. } else {
  410. alert('отмена конвертации');
  411. break;
  412. }
  413. let firstCurrRatio = ratios['uahS'];
  414. let secondCurrRatio = null;
  415. let chooser = null;
  416. function chooserFunc() {
  417. chooser = confirm('Нажмите ок, если выбирате курс на продажу или отмена, если выбирате курс на покупку');
  418. chooser ? alert('вы выбрали курс на продажу') : alert('вы выбрали курс на покупку');
  419. }
  420. switch (secondCurrInput){
  421. case 'usd':
  422. chooserFunc()
  423. chooser ? secondCurrRatio = ratios['usdS'] : secondCurrRatio = ratios['usdB'];
  424. break;
  425. case 'eur':
  426. chooserFunc()
  427. chooser ? secondCurrRatio = ratios['eurS'] : secondCurrRatio = ratios['eurB'];
  428. break;
  429. default:
  430. alert('неверное значение, отмена конвертации');
  431. break loop1;
  432. }
  433. let firstNumber = parseFloat(prompt('Введите сумму uah которую вы хотите конвертировать',''));
  434. let firstAmount = null;
  435. if (isFinite(firstNumber)) {
  436. firstAmount = firstNumber;
  437. } else {
  438. alert('неверное значение, отмена конвертации');
  439. break;
  440. }
  441. let secondAmount = ((firstAmount * secondCurrRatio) / firstCurrRatio).toFixed(2);
  442. alert(`Итого: ${secondAmount} ${secondCurrInput}`);
  443. result = confirm('Произвести конвертацию еще раз?');
  444. } while (result)
  445. }