Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //"Лифт" https://zero.p2p.shpp.me/tasks/2_3_lift.html
- // дуже зручно коли тут посилання на задачу - а інакше шукати її .)
- var c = +prompt('Номер поверху') // + тобто перетворююте на число, дообре!)
- /* var - можна і так, і в прикладах є вар, але для актуалізації скажу, що в сучасному js краще let, раджу і на курсі let!
- ще порада давати семантичні іменування - тоді не треба тримати в голові про що ця літера, що я в ній зберігаю, і відповідно легше читати та писати код, а зосередитися краще на алгоритмі. Таку змінну я б назва floor , level якось так.*/
- if (c > 9 || c < 1) { //відразу відкидуєте невалідні поверхи - дооообре! (c < 1 || c > 9) - мені так звичніше)
- console.log('Невірний поверх')
- }
- else if (c < 4 || c > 6) { // доооообре!)
- console.log('ок')
- }
- else {
- var p = +prompt('Введіть пароль') // let password = ...
- var l = p == 1337 ? 'ок' : 'Невірний пароль' // let result = (p == 1337) ? ...
- console.log(l)
- }
- /* в останнбому блоці елсу додав індентацію, щоб читати код вона допомогала - бо з нею видно блоки, який коли виконується
- Тернарний оператор не додає ясності коду, але інколи зручно застосувати. Але тоді до вас є питання: якщо ви присвоюєте змінній відповідь і потім виводите її, то чи можна ще більше оптимізувати рішення? Тим більше що якесь значення можна одразу цій змінній (за замовченням) присвоїти, наприклад "ОК", а тоді..)) Тобто сама оптимізація буде полягати не в тому, щоб всю задачу реалізувати однм зкомпонованим тернарним оператором, а в тому щоб розкласти на логічні блоки:
- - ввод даних від користувача
- - підготовка відповіді за замовчуванням.
- - обробка даних та підготовка відповіді (не треба виводити тут)
- - вивод відповіді ( а тут краще)
- Чи дасть щось така декомпозиція?
- Це цілком факультативне питання для тих кому нудно, ваше ж рішення цілком норм і треба йти далі!
- Гарного коду)
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement