Курси програмування для дітей безкоштовно

03. Умови у Ruby. Cats vs Dogs

Умови у Ruby |Ruby для дітей | ITisFuture

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

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

Умови у Scratch. Умови у Ruby | Ruby для дітей | ITisFuture

У програмуванні умови — це спосіб сказати комп’ютеру:
👉 “Якщо трапиться ось це — роби так. А якщо ні — роби інакше.”

Тобто умови — це як твій внутрішній вибір:

  • Якщо хочеш піцу 🍕 → йдеш у піцерію.
  • Якщо хочеш суші 🍣 → йдеш у суші-бар.
  • Якщо нічого не хочеш → залишаєшся вдома 🙂

Це як правило у грі: залежно від ситуації, результат буде різним. Умови ти зустрінеш у будь-якій мові програмування. Але щоб краще розібратися, давай-но повернемося у дитинство і пригадаємо, як то було у Scratch🐶🐱:

Неповна умова: при деяких значеннях буде відбуватися дія

Умови у Scratch. Умови у Ruby | Ruby для дітей | ITisFuture

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

Умови у Scratch. Умови у Ruby | Ruby для дітей | ITisFuture

Умовою може 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
Доведи що ти не робот для google. Умови у Ruby | Ruby для дітей | ITisFuture
Котики та собачки | Ruby для дітей | ITisFuture

Бувають і складніші умови. До прикладу, якщо людина любить котів, то кажуть що це “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:

Ruby у  VS Code. Умови у Ruby | Ruby для дітей | ITisFuture

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

Ruby у  VS Code. Умови у Ruby | Ruby для дітей | ITisFuture

Все. Тепер закривайте налаштування і перезапустіть код. Має працювати!

Починаємо писати тест!!!
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
Перше питання є. Перевірити роботу можна за допомогою:

Мем з котами |Ruby для дітей | ITisFuture
puts "Результат #{result}"
Мем з котами |Ruby для дітей | ITisFuture

4: Тепер можна додати ще пару питань. Далі буде приклад, але можете обрати свої:

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

4: Аналізуємо результат! Нарешті, тепер можна і визначити, який саме кіт вийшов.

Створіть свою умову і свої варіанти котів. Умова словами може виглядати так:
якщо людина набрала рівно 3 бали, то вона Hello kitty
якщо від 4 до 6, то Simon’s cat

якщо сума інша, то щось пішло не так і напишемо “Ти – Кіт Шредінгера. Щось незрозуміле у твоїх відповідях”

Ось приклади котів з описами, які можна скопіювати. Але можете додати свої варіанти, так буде цікавіше!

Відомі коти. Умови у Ruby | Ruby для дітей | ITisFuture
Ти 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 – номер місяця народження. Далі ваша програма має виконати всі дії, які описано в фокусі, використовуючи +=, -=, *= ,/=. Число результату виведіть на екран.

Математичний фокус. Умови у Ruby | Ruby для дітей | ITisFuture
Математичний фокус. Умови у Ruby | Ruby для дітей | ITisFuture
Мем про ІТ та програмування Умови у Ruby | Ruby для дітей | ITisFuture
Уроки програмування для дітей ускладнені завдання level up

Level Up!
Умови у Ruby

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

2: Створіть програму, яка має попросити користувача ввести перше і друге число. Потім обрати дію (додати, відняти, помножити, поділити). Програма виконує дію над числами й пише результат. Приклад:

Мем про ІТ та програмування. Умови у Ruby | Ruby для дітей | ITisFuture
Умови у Ruby | Ruby для дітей | ITisFuture

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

Залишити коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *