Timkor

varvar lift)

Jul 26th, 2021
971
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //"Лифт" https://zero.p2p.shpp.me/tasks/2_3_lift.html
  2. // дуже зручно коли тут посилання на задачу - а інакше шукати її .)
  3.  
  4. var c = +prompt('Номер поверху') // + тобто перетворююте на число, дообре!)
  5. /* var - можна і так, і в прикладах є вар, але для актуалізації скажу, що в сучасному js краще let, раджу і на курсі let!
  6. ще порада давати семантичні іменування - тоді не треба тримати в голові про що ця літера, що я в ній зберігаю, і відповідно легше читати та писати код, а зосередитися краще на алгоритмі. Таку змінну я б назва floor , level якось так.*/
  7. if (c > 9 || c < 1) { //відразу відкидуєте невалідні поверхи - дооообре! (c < 1 || c > 9) - мені так звичніше)
  8.     console.log('Невірний поверх')
  9. }
  10. else if (c < 4 || c > 6) { // доооообре!)
  11.     console.log('ок')
  12. }
  13. else {
  14.     var p = +prompt('Введіть пароль') // let password = ...
  15.     var l = p == 1337 ? 'ок' : 'Невірний пароль' // let result = (p == 1337) ? ...
  16.     console.log(l)
  17. }
  18. /* в останнбому блоці елсу додав індентацію, щоб читати код вона допомогала - бо з нею видно блоки, який коли виконується
  19.  
  20. Тернарний оператор не додає ясності коду, але інколи зручно застосувати. Але тоді до вас є питання: якщо ви присвоюєте змінній відповідь і потім виводите її, то чи можна ще більше оптимізувати рішення? Тим більше що якесь значення можна одразу цій змінній (за замовченням) присвоїти, наприклад "ОК", а тоді..)) Тобто сама оптимізація буде полягати не в тому, щоб всю задачу реалізувати однм зкомпонованим тернарним оператором, а в тому щоб розкласти на логічні блоки:
  21. - ввод даних від користувача
  22. - підготовка відповіді за замовчуванням.
  23. - обробка даних та підготовка відповіді (не треба виводити тут)
  24. - вивод відповіді ( а тут краще)
  25. Чи дасть щось така декомпозиція?
  26. Це цілком факультативне питання для тих кому нудно, ваше ж рішення цілком норм і треба йти далі!
  27. Гарного коду)
  28. */
  29.  
RAW Paste Data