Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Задача. Км на день.
- Спитати скільки КМ людина проходить в средньому пішки на день,
- якщо до 3 включно, то написати їй "мало",
- якщо від 4х і вище - "красавчик"!
- */
- let dest = +prompt(`Людина, скільки КМ в средньому пішки на день ти проходиш (відстань до холодильника не враховується)?`)
- // чому це не враховується? по суті всі шляхи ведуть до нього.. а ще там є лампочка, щоб можна було завітати і вночі.)
- // читабельність буде краще, якщо ім'я змінної не скорочувати, виключення - загальновідомі скорочення.
- console.log(dest);
- if (dest < 0) {
- console.log('Рух у зворотньому напрямку це теж рух') // саме тому кілометраж не залежить від напрямку руху)
- }
- else if (dest <= 3) {
- console.log('Мало')
- }
- else { //вважаемо шо юзер ввів ціле число, тобто більше трьох то вже 4 або більше
- console.log('Красавчег')
- }
- /* Задача. Км на день.
- аналогічно задачі км на день
- {
- Спитати скільки КМ людина проходить в средньому пішки на день,
- якщо до 3 включно, то написати їй "мало",
- якщо від 4х і вище - "красавчик"!
- }
- але якщо від 20 і вище, написати "марафонець!!".
- в задачі важливо виводити лише один напис з 3х, не можна не виводити нічого, або виводити одразу два.
- розв’яжіть задачу по-різному:
- використовуючи &&
- використовуючи else
- не використовуючи ні && ні else
- */
- let distance = +prompt(`Людина, скільки КМ в средньому пішки на день ти проходиш (відстань до холодильника не враховується)?`)
- let littleDistance = 3;
- let normalDistance = 20;
- // Варіант 1, лише &&
- /* ви кажете "лише &&" а використовуєте і оператор присвоювання, і оператор менше, і логічне ні (інверсію), - насправді, за умовою ТЗ треба використовувати оператор if, бо ж тема що на неї ці задачі саме про нього,
- ну і разом з використанням оператора if враховувати додаткові умови. Додаткові умови розраховані таким чином, щоб можна було отримати досвід у різних варіантах рішень, кожне з яких має сенс і може бути застосовано у майбутньому. Як я розумію вони вам не здалися цікавими, тому ви змінили собі задачу - це норм. Коли ми щось міняємо собі це норм, коли іншим - не дуже) Це я натякаю, що рев'ювати такі рішення не дуже легко, і не тільки тому, що у кода погана читабельність, а в першу чергу тому, що важко збагнути рівень ваших знань та які в них є прогаїни, а саме це важливо щоб їх заповнити. */
- let littleMovement = (distance <= littleDistance);
- let normalMovement = (distance < normalDistance) && !littleMovement;
- let manyMovement = !normalMovement && !littleMovement; // а так можна записати: !(normalMovement || littleMovement)
- let variant1 = ''; // іменування не пояснює для чого буде використана змінна, а лише те, де вона використана, що зайве.
- // можна було надати дефолтне значення "мало",
- (littleMovement) && (variant1 = 'Мало'); // важливо розуміти, що такий код важко читати та підтримувати.
- (normalMovement) && (variant1 = 'Красавчег');
- (manyMovement) && (variant1 = 'Марафонець!');
- console.log(`Вариант 1 = ${variant1}`);
- // порожні рядки можуть також сприяти читабельності
- // Варіант 2, if else - знов таки, сказано ж в умові "використовуючи else" - а ви іф заюзали)) "Рішення неможливе" - така
- // відповідь більш відповідала б вашому підходу, ні?))
- let variant2 = '';
- if (distance <= littleDistance) {
- variant2 = 'Мало'
- }
- else if (distance < normalDistance) {
- variant2 = 'Красавчег'
- }
- else {
- variant2 = 'Марафонець!'
- }
- console.log(`Вариант 2 = ${variant2}`);
- // 3-й варіант, не використовуючи ні && ні else ні if
- let variant3 = '';
- !(distance >= normalDistance) || (variant3 = 'Марафонець!');
- !(distance < normalDistance) || (variant3 = 'Красавчег');
- !(distance <= littleDistance) || (variant3 = 'Мало');
- console.log(`Вариант 3 = ${variant3}`);
- // 4-й вариант з тернарним операторов
- let variant4 = '';
- variant4 = ((distance <= littleDistance) ? 'Мало' :
- ((distance < normalDistance) ? 'Красавчег' : 'Марафонець!'));
- console.log(`Вариант 4 = ${variant4}`);
- /*
- норм прошарилися в логічних умовах,
- Дивує те, що ви в мене перепитали перед тим як скинути код чи потрібне використання іфу, і я відповів, нагадаю:
- ви
- Не зовсім зрозуміло це
- використовуючи ні && ні else
- Тобто if допускається використовувати?
- я
- так, використовуючи саме тільки оператори if - на мою думку це найцікавіше.
- ви
- Я вже зовсім без if намагався :))))
- я
- багато хто робить тернарним оператором, але ж це просто синтаксис іфа з елсом.
- тож.. рішення з самим тільки іфом не зробили, хех..
- Гарного коду!)
- */
Add Comment
Please, Sign In to add comment