hw1.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294
  1. // assign: evaluation;
  2. // Исследуйте код, найдите выражения в нём.
  3. // Расставьте скобки так, что бы код не изменил своего поведения
  4. // (работал так же как и сейчас).Объясните как и в каком порядке
  5. // вычисляются выражения и подвыражения.
  6. // const a = 5;
  7. // // set 5 in const "a"
  8. // let b, c;
  9. // // declare let "b" and "c"
  10. // b = a * 5;
  11. // // set expression (a*5) in let "b"
  12. // console.log(b); // let "b" equal 25
  13. // b = c = b / 2;
  14. // // set expression (b/2) in let "c" and after that set result's let "c" in let "b"
  15. // console.log(b); // let "b" equal 12.5
  16. // console.log(c); // let "c" equal 12.5
  17. //semicolon: error - semicolon: mistake
  18. // var foo = 'Tom's bar';
  19. // SyntaxError: missing ; before statement
  20. // var obj = {};
  21. // var obj.foo = 'hi'; // SyntaxError missing ; before statement
  22. // var array = [];
  23. // var array[0] = 'there'; // SyntaxError missing ; before statement
  24. // def print(info){
  25. // console.log(info);
  26. // }; // SyntaxError missing ; before statement
  27. // Number: age
  28. //С помощью prompt спросить у пользователя его возраст
  29. //и подсчитать год рождения.Год рождения вывести с помощью alert.
  30. // const age = (message) => {
  31. // const value = prompt(`How old are you ${message}`);
  32. // if (value === null) return;
  33. // Number(value)
  34. // ? alert(`you was born in ${new Date().getFullYear() - value}`)
  35. // : age('? Please file field!!!');
  36. // };
  37. // age('?');
  38. //Number: temperature
  39. // С помощью prompt спросить у пользователя температуру в градусах Цельсия
  40. //и перевести их в Фаренгейты и / или наоборот.
  41. // const temperature = (message) => {
  42. // const value = prompt(
  43. // `How many degrees are outside in Celsius C° ${message}`
  44. // );
  45. // if (value === null) return;
  46. // Number(value)
  47. // ? alert(`temperature in Fahrenheit ${(value * 9) / 5 + 32}°F`)
  48. // : temperature('? Please file field!!!');
  49. // };
  50. // temperature('?');
  51. //Number: divide
  52. //Сделайте калькулятор для расчета деления нацело двух чисел.
  53. //Используйте Math.floor или альтернативы.
  54. // const divide = (a, b) => Math.floor((a + b) / 2);
  55. // console.log(divide(4, 5));
  56. //Number: odd
  57. //С помощью prompt узнайте число, введенное пользователем.
  58. //С помощью if проверьте что число корректно преобразовано из строки.
  59. //В случае ошибки выведите сообщение Выведите четное число или нет, используя if.
  60. // const odd = (message = '.') => {
  61. // const value = prompt(`Write down odd number ${message}`);
  62. // if (value === null) return;
  63. // Number(value) && Number(value) % 2 == 0
  64. // ? alert(`Well done you wrote odd number!:3`)
  65. // : odd('. Please file field right with odd number!!!');
  66. // };
  67. // odd();
  68. //String: greeting
  69. //Спросите у пользователя имя, и поприветствуйте его с помощью alert.
  70. // const greetings = (message = '.') => {
  71. // const value = prompt(`Write down your name ${message}`);
  72. // if (value === null) return;
  73. // value.trim() !== ''
  74. // ? alert(`Welcome dear ${value.replace(/\s/g, '')}`)
  75. // : greetings('. Please file field right with no empty string!!!');
  76. // };
  77. // greetings();
  78. //String: lexical
  79. //Спросите у пользователя текст, и проверьте его на наличие некорректного слова
  80. //или нескольких некорректных слов.Используйте метод indexOf(или includes) строки:
  81. // const lexical = (message = '.') => {
  82. // const forbidden = {
  83. // bitch: 'bitch',
  84. // asshole: 'asshole',
  85. // };
  86. // const value = prompt(`Write down feedback ${message}`);
  87. // if (value === null) return;
  88. // value.includes(forbidden.bitch || forbidden.asshole)
  89. // ? lexical('. Do not use bad words!!!')
  90. // : alert(`Thanks a lot for feedback`);
  91. // };
  92. // lexical();
  93. //confirm
  94. //Поэкспериментируйте с confirm, определите тип данных,
  95. //который он возвращает, и конкретные значения этого типа данных.
  96. // console.log(confirm('confirm it'));
  97. //if accept return true else return false
  98. //Boolean
  99. //Напишите код, который спрашивает те или иные вопросы с ответом "да"/"нет"
  100. //с помощью confirm, и сохраняет ответы в переменных.
  101. // const askPermission = confirm('Are you agree to sell your tesla')
  102. // return boolean
  103. //Boolean: if
  104. //Расширьте предыдущее задание условиями по полученным переменным условиями
  105. //(if else).Например, если вы спрашиваете пол пользователя с помощью confirm,
  106. //то по условию сделайте alert("Вы женщина") и alert("Вы мужчина")
  107. // const gender = () => {
  108. // const sex = confirm('Are you male?');
  109. // if (gender) {
  110. // alert('Вы мужчина');
  111. // } else {
  112. // alert('Вы женщина');
  113. // }
  114. // }
  115. //Array: real
  116. //Понаходите в вашей жизни вещи, которые похожи на массивы, и другие вещи,
  117. //которые можно смоделировать с помощью массивов.
  118. // wardrobe , shelvs , files,file
  119. //Array: booleans
  120. //Создайте массив с переменными из заданий Boolean и Boolean if.
  121. // const arr = [
  122. // () => confirm('Are you agree to sell your tesla'),
  123. // () => {
  124. // const sex = confirm('Are you male?');
  125. // if (sex) {
  126. // alert('Вы мужчина');
  127. // } else {
  128. // alert('Вы женщина');
  129. // }
  130. // },
  131. // ];
  132. // console.log(arr[0]());
  133. // console.log(arr[1]());
  134. //Array: plus
  135. //Напишите код, который складывает первые два элемента массива и заносит это
  136. //в элемент с индексом 2. Исследуйте полученный массив.
  137. // const arr = [5, 6];
  138. // arr[2] = arr[0] + arr[1];
  139. // console.log(arr[2]);
  140. //Array: plus string
  141. //Что будет, если в предыдущий примере использовать строки вместо чисел?
  142. //Сделайте версию для сложения 3х значений.Подумайте, зачем нужна эта возможность в наших примерах.
  143. //if you do that js will join it like strings
  144. // const arrString = ['1', '2', '3'];
  145. // arrString[3] = arrString[0] + arrString[1] + arrString[2];
  146. // console.log(arrString[3]);
  147. //Object: real
  148. //Найдите те или иные реальные объекты и найдите их свойства.
  149. //Например у маркера это цвет, толщина, уровень зарядки(количество краски),
  150. //у автомобиля - бренд, модель, мощность двигателя, цвет и так далее.
  151. //Создайте объекты с помощью { }.В качестве образца посмотрите объект
  152. //персоны из материала предыдущего занятия
  153. // const objectApereance = {
  154. // eyes: 'blue',
  155. // heigh: 165,
  156. // weight: 54,
  157. // hair: 'red',
  158. // };
  159. // console.log(objectApereance.heigh);
  160. // console.log(objectApereance.eyes);
  161. // console.log(objectApereance.sex);
  162. // Object: change;
  163. //Поменяйте значения свойств в ваших объектах, используя [] и . и присвоения.
  164. // objectApereance.heigh = 166;
  165. // objectApereance['eyes'] = 'green';
  166. // objectApereance['sex'] = 'femail';
  167. // console.log(objectApereance.heigh);
  168. // console.log(objectApereance.eyes);
  169. // console.log(objectApereance.sex);
  170. //Разберите пример
  171. // let age = +prompt('Сколько вам лет?', '');
  172. // if (age === Number) {
  173. // if (age < 0 || age === 0) {
  174. // alert('has not bornt yet ');
  175. // } else if (age < 18) {
  176. // alert('школьник');
  177. // } else if (age > 18 && age < 30) {
  178. // alert('молодеж');
  179. // } else if (age > 30 && age < 45) {
  180. // alert('зрелость');
  181. // } else if (age > 45 && age < 60) {
  182. // alert('закат');
  183. // } else if (age > 60) {
  184. // alert('как пенсия?');
  185. // } else {
  186. // alert('то ли киборг, то ли ошибка');
  187. // }
  188. // } else {
  189. // alert('Write down a number');
  190. // }
  191. //Добавьте условие отрицательного возраста в пример выше.
  192. //Расставьте недостающие(но синтаксически необязательные) фигурные скобки.
  193. //Выкиньте лишнее из текущего кода
  194. // Comparison: sizes;
  195. //Сделайте перевод перевод из нашей системы размеров в американскую или любую на выбор.
  196. //Используйте prompt, условия сравнения и alert.
  197. // const changeSystem = () => {
  198. // const usaSystemToRussiaan = {
  199. // 6: 40,
  200. // 8: 42,
  201. // 10: 44,
  202. // 12: 46,
  203. // 14: 48,
  204. // 16: 50,
  205. // 18: 52,
  206. // 20: 54,
  207. // 22: 56,
  208. // };
  209. // const value = prompt('chose size of jeans in measure USA');
  210. // if (value.trim() === '') return changeSystem();
  211. // usaSystemToRussiaan[Number(value)]
  212. // ? alert(`size in Ucraine equel to ${usaSystemToRussiaan[Number(value)]}`)
  213. // : changeSystem();
  214. // };
  215. // changeSystem();
  216. //Comparison: object
  217. //Подумайте о том, как можно применить объекты к предыдущем заданию.
  218. // i have already use an object for keeping jeanses size.
  219. //Ternary
  220. //Спросите у пользователя пол (confirm). Выведите с помощью alert
  221. //"Вы мужчина" или "Вы женщина".Сделайте это оператором alert.Используйте тернарный оператор.
  222. // const sex = confirm(`Are you man or not?`)
  223. // sex?alert('You are man') :alert('You are woman')
  224. //Синий пояс Number: flats
  225. //Сделайте калькулятор, который позволит вам исходя из информации о количества этажей
  226. //в доме и количества квартир на этаже находить подъезд и этаж определенной квартиры
  227. //по её номеру.Например для 9этажного дома по 4 квартиры на этаж 81 квартира находится
  228. //на 3м этаже третьего подъезда.
  229. const findFlatEntrance = () => {
  230. const amountOfFloors = prompt('Write down amount of floors in home', '');
  231. if (!Number(amountOfFloors)) findFlatInformation();
  232. const flatsOnFloor = prompt(
  233. 'Write down amount of flats on floor in home',
  234. ''
  235. );
  236. if (!Number(flatsOnFloor)) findFlatInformation();
  237. const amountOfFlats = prompt('Write down amount of flats in home', '');
  238. if (!Number(amountOfFlats)) findFlatInformation();
  239. const numberTheFlat = prompt('Write down number the flat in home', '');
  240. if (!Number(numberTheFlat)) findFlatInformation();
  241. const totalFlatsInEntrance = amountOfFloors * flatsOnFloor;
  242. let entrance = numberTheFlat % totalFlatsInEntrance;
  243. entrance === 0
  244. ? (entrance = numberTheFlat / totalFlatsInEntrance)
  245. : (entrance = Math.floor(numberTheFlat / totalFlatsInEntrance) + 1);
  246. alert(`Yor flat is placed on the entrance number ${entrance}`);
  247. };
  248. findFlatEntrance();