Timkor

normElevator

Nov 18th, 2020
411
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*Задача про ліфт.
  2. написати програму, яка імітує ліфт:
  3. Питає номер поверху,
  4. №1 Якщо менше 1 чи більше 9, то виводить "невірний поверх".
  5. №2 Якщо 1-3 чи 7-9 то пише "ок".
  6. №3 Якщо ж від 4 до 6, то просить ввести пароль (числовий).
  7. №4 Якщо пароль не дорівнює 1337, то програма каже "невірний пароль", а інакше "ок".*/
  8.  
  9. var elevatorBase = prompt("Veditb nomer poverhy");
  10. var elevatorPassword = 0; // створимо змінну тут*
  11. if (elevatorBase > 9 || elevatorBase < 1) {
  12.     alert("Nevirnuy poverh"); // краще у консоль виводити.
  13. }
  14. if ((elevatorBase >= 1 &&  elevatorBase <= 3) || (elevatorBase <= 7 && elevatorBase >=9 )) { // міняю дужки на пробіли)
  15.     alert("ok");
  16. //}else var elevatorPassword = prompt("password"); // ой, не пишить так ,поперше під елсе лише створення змінної попадає,
  17. // так як немає фігурних дужок , що вказують блок коду, по-друге погано читати, краще кожну команду на своєму рядку.
  18. // не жалійте рядків та фігурних дужок, важливіше читабельність та коректність роботи коду. І ще створення змінних в
  19. // залежності від якихось умов може викликати ситуацію, коли змінна не створена (не зайшли до іфа, чи до елсе) а
  20. // программа хоче її використати, то буде помилка. Краще змінні створювати у незалежності від умов - тобто або на початку
  21. // программи, а потім, коли кода буде більше, то чим ближче до міста використання.
  22. } else {
  23.     elevatorPassword = prompt("password"); // *а використаємо тут
  24.  
  25.     if (elevatorPassword == 1337) {
  26.         alert("ok");
  27.     } else {
  28.         alert("Neverno");
  29.     }
  30. }
  31.  
  32. // можливо є спосіб спростити уникнути деякої вкладеності, щоб кода стало менше, він був би понятнішим, та його
  33. // логіка залишилась коректною, наприклад: спочатку  ви перевіряєте №1, як зараз, а потім можна перевірити умову №3(4), тоді
  34. // залишиться більш складна у описанні умова. Можна не поспішати виводити відповідь, а міняти змінну.
  35. // Ваше рішення цілком норм. Продовжуйте! Гарного коду!
  36.  
  37.  
  38. // можливо буде корисна простіша версія, вона знизу, але не читайте її, якщо хочете самі оптимізувати, бо код "розбачити"
  39. // складно.
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82. let floor = +prompt("введіть номер поверху");
  83. let answer = 'ok';
  84. if (floor < 1 || floor > 9) {
  85.     answer = "невірний поверх";
  86. }
  87. if (floor > 3 && floor < 7) {
  88.     if (+prompt("для доступу з 4 по 6 поверхи введіть числовий пароль") != 1337) {
  89.         answer = "невірний пароль";
  90.     }
  91. }
  92. console.log(answer);
RAW Paste Data