Розберемо умови у Ruby разом з пухнастими котиками та непосидючими песиками. Якщо ти любиш котів, тобі сюди. Якщо песиків – також! Не подобається, коли тобі ставлять умови ? То сьогодні є шикарна можливість поставити свої!

Що таке є умови у Ruby?

У програмуванні умови — це спосіб сказати комп’ютеру:
👉 “Якщо трапиться ось це — роби так. А якщо ні — роби інакше.”
Тобто умови — це як твій внутрішній вибір:
- Якщо хочеш піцу 🍕 → йдеш у піцерію.
- Якщо хочеш суші 🍣 → йдеш у суші-бар.
- Якщо нічого не хочеш → залишаєшся вдома 🙂
Це як правило у грі: залежно від ситуації, результат буде різним. Умови ти зустрінеш у будь-якій мові програмування. Але щоб краще розібратися, давай-но повернемося у дитинство і пригадаємо, як то було у Scratch🐶🐱:
Неповна умова: при деяких значеннях буде відбуватися дія

Повна умова: для всіх варіантів значень буде відбуватися дія

Умовою може Google перевіряти, чи ви людина, а не робот. Наприклад, на цьому фото людині треба порахувати собак. Для штучних інтелектів і автоматичних алгоритмів це складна задача, а для людини? Перевіримо умовою чи відповідь правильна:
puts "Verify you are a human."
puts "How many pictures of dogs do you see?"
answer = gets.chomp
if answer == "8"
puts "Correct"
end


Бувають і складніші умови. До прикладу, якщо людина любить котів, то кажуть що це “Cat person”, а якщо собак, то “Dog person”. Тоді умови виглядатиме так:
puts "Do you like cats?"
answer = gets.chomp
if answer == "yes"
puts "Cat person"
else
puts "Dog person"
end
Практика. Тест “Який ти кіт”
Сьогодні ми створимо тест на тему “Який ти кіт”! Таких веселих тестів повно в інтернеті, а ми зліпимо свій несерйозний мінітест.
1: Для початку навчимося запитувати, як звуть людину, яку тестують і вітати її. Створіть та запустіть такий кот код:
puts "Вітаю. Це тест ЯКИЙ ТИ КІТ. Як тебе звати?"
name=gets.chomp
puts "Привіт, #{name}"
Запустіть і протестуйте програму. Щось не працює ? Так, бо треба налаштувати VSCode, щоб він міг зчитувати відповідь. Це робиться лише один раз.
Налаштовуємо Visual Studio Code зчитувати дані
2: Заходимо File/Preferences/Settings:

Пишемо в пошуку “run in terminal“. Далі шукаємо властивість Code-runner: Run in terminal. Ставимо там галочку.

Все. Тепер закривайте налаштування і перезапустіть код. Має працювати!
Починаємо писати тест!!!
3: В змінну result будемо записувати бали в тесті. Залежно від балів визначимо, який ти кіт.
result=0
На початку результат =0.
Тепер пишемо перше запитання:
puts "Опиши себе"
puts "1 Добрий, хоч до рани прикладай"
puts "2 Ловлю мух і б'ю байдики. Ні керма, ні вітрил"
puts "3 Кров з молоком. Хоч малюй, хоч цілуй"
puts "4 Я - вільний птах, та й макітра варить"
a1= gets.chomp.to_i
result+=a1
Наша людина, яку ми тестуємо має вибрати одну з цифр : 1, 2, 3 або 4. Цю цифру ми зчитуємо і переводимо в число gets.chomp.to_i. А далі додаємо до результату result+=a1
Перше питання є. Перевірити роботу можна за допомогою:

puts "Результат #{result}"

4: Тепер можна додати ще пару питань. Далі буде приклад, але можете обрати свої:
Як ти відносишся до інших котячих?
1 О! Колего, приємно помурчати
2 Ой, мі-мі-мі, які всі мяумилі!
3 Мені перпендикулярно. Я більше по хом'яках
4 Коти мають правити світом!
Твоя слабкість
1 Я мохнатий будильник. Слідкую, щоб хазяїн вчасно вставав
2 Люблю картонні коробки. Більше ніж своє ліжко
3 Ви ніколи не знаєте, чи закінчаться обійми… подряпинами чи укусом
4 Кіт - бос у родині. Призначення кішки – сидіти і викликати захоплення.



4: Аналізуємо результат! Нарешті, тепер можна і визначити, який саме кіт вийшов.
Створіть свою умову і свої варіанти котів. Умова словами може виглядати так:
якщо людина набрала рівно 3 бали, то вона Hello kitty
якщо від 4 до 6, то Simon’s cat
…
якщо сума інша, то щось пішло не так і напишемо “Ти – Кіт Шредінгера. Щось незрозуміле у твоїх відповідях”
Ось приклади котів з описами, які можна скопіювати. Але можете додати свої варіанти, так буде цікавіше!

Ти Hello Kitty. Мила кішечка чи котик, яку так і хочеться обійняти!
Ти Том. Ти винахідливий і цілеспрямований. Швидкий, але часом трохи нерозсудливий
Ти Чеширський кіт. Розумний і хитрий, але зрозуміти тебе можуть не всі.
Ти Simon's cat. Ти дуже дотепний і відвертий, а ще ти легко ставишся до життя. Можеш бути неслухняним, але тобі прощають
Ти Гарфілд. Ти не напрягаєшся по життю, обожнюєш просто нічого не робити. Любиш покепкувати і сарказм.
Ти QR-кіт з монобанку. Знаєш собі ціну. Любиш пожартувати і смачненько поїсти
Ти кіт Степан. Ти заставляєш двоногих поважати тебе. Ти зірка соцмереж і маєш багато фанатів
Ти - Кіт Шредінґера. Щось незрозуміле у твоїх відповідях
Код виглядатиме десь так (умови можете відредагувати на власний смак). Подумайте, яке найбільше число можна отримати, відповідаючи на цей тест?
if result == 3
puts "Ти Hello Kitty. Мила кішечка чи котик, яку так і хочеться обійняти!"
elsif result >= 4 and result <= 6
puts "Ти Simon's cat......."
elsif ....
....
else
puts "Ти - Кіт Шредінґера. Щось незрозуміле у твоїх відповідях"
end

5 (Додаткове): Додайте ще 1-2 питання до тесту. Змініть умову так, щоб вона працювала для будь-яких відповідей на тест
6: В програмі про котів ми використовували команду +=. Вона додає до вже наявного результату якесь число. Також є команди
-=
*=
/=
Роздивіться програму. Замість песиків вставте одну з наведених команд і число так, щоб програма запрацювала (підписи будуть вам підказкою).
bones = 2
puts "У песика є #{bones} кісточки 🦴"
bones += 3
puts "Господар дав ще 3 кісточки. Тепер: #{bones}🦴"
bones 🐶🐶🐶
puts "Песик закопав 1 кісточку. Тепер: #{bones}🦴"
bones 🐶🐶🐶
puts "Вау! Знайшов тайник і кількість кісточок потроїлась. Тепер: #{bones}🦴"
bones 🐶🐶🐶
puts "Поділився з другом, віддав половину. Тепер лишилось: #{bones}🦴"

Домашня робота
1: Створіть тест на тему, яка не стосується котів, схожий до того, що ми робили на занятті. Мінімально 2 запитання по 3 відповіді в кожному.
Теми, на які можна зробити тест (але можете обрати свою):
хто ти з Гаррі Поттера ?
який ти предмет меблів ?
який ти пельмень?
2: Запишіть в змінну day день свого народження. А в month – номер місяця народження. Далі ваша програма має виконати всі дії, які описано в фокусі, використовуючи +=, -=, *= ,/=. Число результату виведіть на екран.




Level Up!
Умови у Ruby
1: Ось приклад ще одного математичного фокуса, запиши довільне число в змінну. Далі за допомогою +=, -=, *= ,/= виконайте всі дії фокуса. Результат виведіть на екран. Подумайте, як треба написати програму, щоб результат був саме 4, як в умові.
puts “Задумай число”
puts “Помнож число на 2”
puts “Додай 8”
puts “Результат поділи на 2”
puts “Відніми задумане число”
puts “У тебе вийде 4”
2: Створіть програму, яка має попросити користувача ввести перше і друге число. Потім обрати дію (додати, відняти, помножити, поділити). Програма виконує дію над числами й пише результат. Приклад:


Не зупиняйтесь у вивченні Ruby! До зустрічі у наступних уроках!