App.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333
  1. function App() {
  2. // Сформируйте объект с массивами и массив с объектами с осмысленными данными.
  3. var MarketShelf = {
  4. Candies: ['red', 'green', 'blue'],
  5. Cookies: ['chocolate', 'raisin', 'cream'],
  6. Soda: ['Pepsi', 'Fanta', 'Sprite']
  7. }
  8. var Collegues = [
  9. { name: 'Sasha', age: '35', occupation: 'PM' },
  10. { name: 'Slava', age: '20', occupation: 'Front End Developer' },
  11. { name: 'Bohdan', age: '40', occupation: 'Back End Developer' }
  12. ]
  13. // Добавьте условие отрицательного возраста в пример выше.
  14. // Расставьте недостающие(но синтаксически необязательные) фигурные скобки.
  15. var age = +prompt("Сколько вам лет?", "");
  16. if (age < 0) {
  17. alert("ты вообще жив?");
  18. }
  19. else {
  20. if (age < 18) {
  21. alert("школьник");
  22. }
  23. else {
  24. if (age > 18 && age < 30) {
  25. alert("молодежь");
  26. }
  27. else {
  28. if (age > 30 && age < 45) {
  29. alert("зрелость");
  30. }
  31. else {
  32. if (age > 45 && age < 60) {
  33. alert("закат");
  34. }
  35. else {
  36. if (age > 60) {
  37. alert("как пенсия?");
  38. }
  39. else {
  40. alert("то ли киборг, то ли ошибка");
  41. }
  42. }
  43. }
  44. }
  45. }
  46. }
  47. // Перепишите пример выше, используя if-else
  48. var color = prompt("Введите цвет", "");
  49. if (color == 'red') {
  50. document.write("<div style='background-color: red;'>красный</div>");
  51. }
  52. else if (color == "black") {
  53. document.write("<div style='background-color: black; color: white;'>черный</div>");
  54. }
  55. else if (color == "blue") {
  56. document.write("<div style='background-color: blue;'>синий</div>");
  57. }
  58. else if (color == "green") {
  59. document.write("<div style='background-color: green;'>зеленый</div>");
  60. }
  61. else {
  62. document.write("<div style='background-color: gray;'>Я не понял</div>");
  63. }
  64. // Напишите бессмысленное выражение, используя максимум усвоенных на текущий момент знаний.
  65. /*
  66. do {
  67. var a = [a, b, c, d, e];
  68. if (someVariable != 1 || otherVariable === 12) {
  69. alert('alert1');
  70. }
  71. else if ([a] != 5) {
  72. var j = 7 ? seven : notSeven;
  73. }
  74. else {
  75. switch (nthVariable) {
  76. case 1: alert('Glory to Ukraine');
  77. break;
  78. case 2: alert('Glory to Heroes!');
  79. break;
  80. default: alert('Death to Enemies!');
  81. }
  82. }
  83. }
  84. while (a <= 7 && b !== 3, 14)
  85. */
  86. // assign: evaluation
  87. // Исследуйте код, найдите выражения в нём.
  88. // Расставьте скобки так, что бы код не изменил своего поведения (работал так же как и сейчас).
  89. // Объясните как и в каком порядке вычисляются выражения и подвыражения.
  90. var a = (5); //5 - выражение
  91. var b, c;
  92. b = ((a) * 5); // выражение
  93. b = (c = (b / 2)); // выражение
  94. // 1. Сначала объявляется переменная а, ей присваевается значение 5.
  95. // 2. Затем объявляются переменные b и c.
  96. // 3. Переменная b высчитывается на третьей строчке кода и ей присваевавается вычисленное значение.
  97. // 4. На четвёртой строчке кода в переменной b вычисляется переменная c, исполльзуя значение раннее вычесленной переменной b.
  98. // 5. В переменную b присваевается значение переменной c и выводится в консоли.
  99. // semicolon: error
  100. // Сделайте несколько примеров кода, отсутствие ; в которых приводит к синтаксической ошибке
  101. /*
  102. var a = 6 var b = 14;
  103. prompt('message') alert('warning');
  104. */
  105. // semicolon: mistake
  106. // Сделайте несколько примеров кода, наличиe или отсутствие ; в которых приводит к логической ошибке
  107. // (т. е. код выполняется без синтаксических ошибок, но делает не то, что задумано)
  108. // Number: age
  109. // С помощью prompt спросить у пользователя его возраст и подсчитать год рождения. Год рождения вывести с помощью alert.
  110. var age = +prompt('Сколько вам сейчас лет?');
  111. var YearOfBirth = 2022 - age;
  112. alert('Ваш год рождения: ' + YearOfBirth);
  113. // Number: temperature
  114. // С помощью prompt спросить у пользователя температуру в градусах Цельсия и перевести их в Фаренгейты и/или наоборот.
  115. var DegCelcium = prompt('Введите температуру по шкале Цельсия:');
  116. var DegFahrenheit = (DegCelcium * 1.8) + 32;
  117. alert('Температура по шкале Фаренгейта равна: ' + DegFahrenheit);
  118. // Number: divide
  119. // Сделайте калькулятор для расчета деления нацело двух чисел. Используйте Math.floor или альтернативы.
  120. var a = prompt('Enter the first number: ');
  121. var b = prompt('Enter the second number: ');
  122. alert('Result:' + Math.floor(a / b));
  123. // Number: odd
  124. // С помощью prompt узнайте число, введенное пользователем. С помощью if проверьте что число корректно преобразовано из строки.
  125. // В случае ошибки выведите сообщение. Выведите четное число или нет, используя if.
  126. var Number = +prompt('Введите число: ');
  127. if (isNaN(Number)) {
  128. alert('Введенное значение не является числом!');
  129. }
  130. else {
  131. if (Number % 2 === 0) {
  132. alert('Число чётное.');
  133. }
  134. else {
  135. alert('Число нечётное.');
  136. }
  137. }
  138. // String: greeting
  139. // Спросите у пользователя имя, и поприветствуйте его с помощью alert.
  140. var Name = prompt('What is your name, stranger?');
  141. alert('May the Force be with you, ' + Name + '!');
  142. // String: lexics
  143. // Спросите у пользователя текст, и проверьте его на наличие некорректного слова или нескольких некорректных слов.
  144. // Используйте метод indexOf (или includes) строки.
  145. var SampleText = prompt('Enter some text...');
  146. if (SampleText.includes('fuck')) {
  147. alert('Hey, that is way too rude!');
  148. }
  149. else {
  150. alert('Okay, that is kinda interesting.')
  151. }
  152. // confirm
  153. // Поэкспериментируйте с confirm, определите тип данных, который он возвращает, и конкретные значения этого типа данных.
  154. console.log(typeof window.confirm()) // 'funciton', возвращает true или false
  155. // Boolean
  156. // Напишите код, который спрашивает те или иные вопросы с ответом "да"/"нет" с помощью confirm, и сохраняет ответы в переменных.
  157. var question = window.confirm('Are you a human?')
  158. console.log(question);
  159. // Boolean: if
  160. // Расширьте предыдущее задание условиями по полученным переменным условиями (if else).
  161. // Например, если вы спрашиваете пол пользователя с помощью confirm, то по условию сделайте alert("Вы женщина") и alert("Вы мужчина").
  162. var sex = window.confirm('Are you a dishwasher?')
  163. if (sex == true) {
  164. alert("Вы женщина");
  165. }
  166. else {
  167. alert("Вы мужчина");
  168. }
  169. // Array: real
  170. // Понаходите в вашей жизни вещи, которые похожи на массивы, и другие вещи, которые можно смоделировать с помощью массивов.
  171. var documents = ['ID card', 'Driver license', 'Military ID'];
  172. var classMates = ['Vasya', 'Danya', 'Kostya'];
  173. var pencilBox = ['red', 'green', 'blue', 'cyan', 'magnetta', 'yellow', 'black'];
  174. // Array: booleans
  175. // Создайте массив с переменными из заданий Boolean и Boolean if.
  176. var Boolean = [question];
  177. var BooleanIf = [sex];
  178. // Array: plus
  179. // Напишите код, который складывает первые два элемента массива и заносит это в элемент с индексом 2. Исследуйте полученный массив.
  180. var arr = [1, 2];
  181. arr[2] = arr[0] + arr[1];
  182. console.log(arr);
  183. // Array: plus string
  184. // Что будет, если в предыдущий примере использовать строки вместо чисел?
  185. // Сделайте версию для сложения 3х значений. Подумайте, зачем нужна эта возможность в наших примерах.
  186. var arr = ['hi ', 'hello ', 'how do you do'];
  187. arr[3] = arr[0] + arr[1] + arr[2];
  188. console.log(arr);
  189. // Object: real
  190. // Найдите те или иные реальные объекты и найдите их свойства.
  191. // Например у маркера это цвет, толщина, уровень зарядки (количество краски),
  192. // у автомобиля - бренд, модель, мощность двигателя, цвет и так далее. Создайте объекты с помощью {}.
  193. // В качестве образца посмотрите объект персоны из материала предыдущего занятия
  194. var Mercedes = {
  195. model: 'AMG GT Coupe',
  196. color: 'gray',
  197. year: '2022',
  198. volume: '4,0 l',
  199. power: '522 HP',
  200. }
  201. // Object: change
  202. // Поменяйте значения свойств в ваших объектах, используя [] и . и присвоения.
  203. Mercedes['model'] = 'G63';
  204. Mercedes.power = '577 HP';
  205. // Comparison: sizes
  206. // Сделайте перевод перевод из нашей системы размеров в американскую или любую на выбор.
  207. // Используйте prompt, условия сравнения и alert.
  208. var clothesSize = +prompt('Введите размер одежды по украинским меркам:');
  209. if (clothesSize >= 40 && clothesSize < 42) {
  210. alert('S');
  211. }
  212. else if (clothesSize >= 42 && clothesSize < 46) {
  213. alert('M');
  214. }
  215. else if (clothesSize >= 46 && clothesSize < 50) {
  216. alert('L');
  217. }
  218. else if (clothesSize >= 50 && clothesSize < 54) {
  219. alert('XL');
  220. }
  221. else if (clothesSize == 54) {
  222. alert('XXL');
  223. }
  224. else {
  225. alert('Тут что-то не так...')
  226. }
  227. // Comparison: object
  228. // Подумайте о том, как можно применить объекты к предыдущем заданию.
  229. var Size = {
  230. S: [40, 41],
  231. M: [42, 43, 44, 45],
  232. L: [46, 47, 48, 49],
  233. XL: [50, 51, 52, 53],
  234. XXL: [54],
  235. }
  236. // Ternary
  237. // Спросите у пользователя пол (confirm). Выведите с помощью alert "Вы мужчина" или "Вы женщина".
  238. // Сделайте это оператором alert. Используйте тернарный оператор.
  239. var sex = window.confirm('Are you a dishwasher?') ? alert("Вы женщина") : alert("Вы мужчина");
  240. // Синий пояс Number: flats
  241. // Сделайте калькулятор, который позволит вам исходя из информации о количества
  242. // этажей в доме и количества квартир на этаже находить подъезд и этаж определенной квартиры по её номеру.
  243. // Например для 9-этажного дома по 4 квартиры на этаж 81 квартира находится на 3м этаже третьего подъезда.
  244. var FloorNumber = prompt('Enter the number of floors:');
  245. var FlatsPerFloor = prompt('How many flats are on the one floor?');
  246. var FlatNumber = prompt('Enter the flat number:');
  247. var Section = Math.floor((FlatNumber - 1) / (FloorNumber * FlatsPerFloor) + 1);
  248. var Floor = Math.floor(((FlatNumber - (Section - 1) * FloorNumber * FlatsPerFloor) - 1) / FlatsPerFloor + 1);
  249. alert('Your flat is on the ' + (Section) + ' section on the ' + (Floor) + ' floor.');
  250. }
  251. export default App;