script.js 4.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. // assign: evaluation
  2. // let a = 5;
  3. // let b, c;
  4. // b = (a * 5);
  5. // b = (c = b/2);
  6. // Исследуйте код, найдите выражения в нём. Расставьте скобки так, что бы код не изменил своего
  7. // поведения (работал так же как и сейчас). Объясните как и в каком порядке вычисляются выражения
  8. // и подвыражения.
  9. evaluation: {
  10. let a = 5;
  11. let b, c;
  12. b = a * 5;
  13. b = c = b / 2; // можно убрать вообще скобки, и код будет работать так же. Присваивание происходит справа-налево.
  14. }
  15. // Number: age
  16. // С помощью prompt спросить у пользователя его возраст и подсчитать год рождения. Год рождения
  17. // вывести с помощью alert.
  18. age: {
  19. const age = +prompt('How old are you?');
  20. const yearOfBirth = new Date().getFullYear() - age;
  21. alert('year of your birth: ' + yearOfBirth);
  22. }
  23. // Number: temperature
  24. // С помощью prompt спросить у пользователя температуру в градусах Цельсия и перевести их
  25. // Фаренгейты и/или наоборот.
  26. temperature: {
  27. const temperatureInCelsius = +prompt('What is your temperature in Celsius?');
  28. const fahrenheit = temperatureInCelsius * 9 / 5 + 32;
  29. alert('Your temperature in Fahrenheit: ' + fahrenheit.toFixed(2));
  30. }
  31. // Number: divide
  32. // Сделайте калькулятор для расчета деления нацело двух чисел. Используйте Math.floor или
  33. // альтернативы
  34. divide: {
  35. const x = +prompt('Enter the first number');
  36. const y = +prompt('Enter the second number');
  37. alert(Math.floor(x / y));
  38. }
  39. // Number: currency
  40. // Напишите код, который вычисляет обмен валют по курсу, заданному с помощью константы
  41. // const rate = КУРС ВАЛЮТЫ Считайте значение в одной валюте с помощью prompt, после чего
  42. // умножите/поделите это число на rate. Выведите результат используя alert. Ограничьте
  43. // количество знаков после запятой двумя (нас не волнуют дробные части центов/копеек)
  44. currency: {
  45. const rate = 0.027;
  46. const amountOfHrivnia = +prompt('How many hryvnias do you want to change into dollars?');
  47. const amountOfDollar = amountOfHrivnia * rate;
  48. alert('You will get ' + amountOfDollar + ' dollars');
  49. }
  50. // Number: RGB
  51. // С помощью prompt организуйте ввод трех констант red, green, blue в десятичной системе.
  52. // Создайте из них CSS-цвет в формате #RRGGBB используя шестнадцатиричную систему счисления.
  53. // Значения меньше 16ти пока можно не учитывать.
  54. RGB: {
  55. const red = +prompt('Enter the value of red in decimal system:');
  56. const green = +prompt('Enter the value of green in decimal system:');
  57. const blue = +prompt('Enter the value of blue in decimal system:');
  58. if (red < 16 || red > 255 || green < 16 || green > 255 || blue < 16 || blue > 255) {
  59. alert('Error! You need to enter a number from 16 to 255');
  60. } else {
  61. const color = Math.floor(red).toString(16) + Math.floor(green).toString(16) + Math.floor(blue).toString(16);
  62. alert('You choosed ' + '#' + color + ' color in hexadecimal system');
  63. }
  64. }
  65. // Number: flats
  66. // Сделайте калькулятор, который позволит вам исходя из информации о количества этажей в доме и
  67. // количества квартир на этаже находить подъезд и этаж определенной квартиры по её номеру. Например
  68. // для 9этажного дома по 4 квартиры на этаж 81 квартира находится на 3м этаже третьего подъезда.
  69. flats: {
  70. const numberOfFloors= +prompt('Enter the number of floors in the house');
  71. const numberOfApartmentsOnFloor = +prompt('Enter the number of apartments on the floor');
  72. const apartmentNumber = +prompt('Enter your apartment number');
  73. const numberOfApartmentsInEntrance = numberOfFloors * numberOfApartmentsOnFloor;
  74. const entranceNumber = Math.ceil(apartmentNumber / numberOfApartmentsInEntrance);
  75. const floorNumber = Math.ceil(apartmentNumber % numberOfApartmentsInEntrance / numberOfApartmentsOnFloor) || numberOfFloors;
  76. alert('Your apartment is located in ' + entranceNumber + ' entrance and on ' + floorNumber + ' floor');
  77. }