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

13. Функції-роботи на Ruby

Функції-роботи на Ruby | Ruby для дітей | ITisFuture

На уроці ви створите функції-роботи на Ruby, маленьких помічників, які будуть виконувати ваші команди: рахувати, малювати, розважати вас. 🤖✨

Практика.
Функції-роботи на Ruby

У кожного робота, як і у кожної функції, має бути своє ім’я. Якщо його покликати за цим іменем, то робот-функція зробить свою роботу.

Перед тим як почати, домовмося, що зверху файлу у нас живуть всі роботи-функції. А нижче вже саме програма, там ми будемо кликати відповідних роботів на допомогу.

Функції-роботи на Ruby | Ruby для дітей | ITisFuture

Перші прості роботи-функції

Приклад: Почнемо з простих роботів. Наша задача — створити робота-підлабузика, або, іншими словами, робота-підлизу. Його задача – зчитати ім’я і написати щось дуже хороше, аж занадто хороше про цю людину:

# Functions
def robot_pidlabuznyk (name)
   puts "Hey, #{name}. You are awesome!" 
   puts "You are the best person in the world!!!!"
end

# Main program
robot_pidlabuznyk("Alice")
Функції-роботи на Ruby | Ruby для дітей | ITisFuture

Ось так ми викликали робота-підлизу для того, щоб осипати компліментами Алісу. Викличте його ще раз, передавши інші імена, наприклад:

robot_pidlyza "Лідія Олексіївна"
robot_pidlyza "Свинка Пепа"

⭐️ Самостійні завдання

2⭐️: Створіть робота сувору вчительку, яка буде примушувати робити домашку і ставити двійки. Параметр: ім’я. Робот має казати щось на кшталт:
“Привіт, #{name}. Забув домашку ? А голову ти вдома не забув ? Двійка тобі!!!!”

Функції-роботи на Ruby | Ruby для дітей | ITisFuture

3⭐️: Створіть простого робота на одну з поданих тем (на картинках нижче). Простий робот має один параметр і просто виводить рядок з цим параметром.

Функції-роботи на Ruby | Ruby для дітей | ITisFuture

4⭐️: Створіть Робота-мотиватора 💪. Він має казати підбадьорливу фразу (придумайте свою, не з прикладу)
Наприклад: Мілано, не здавайся! Кожен великий програміст колись писав дивний код!

Складніші роботи

Функції-роботи на Ruby | Ruby для дітей | ITisFuture

Приклад: Тепер створимо робота-математика, який зможе розв’язувати задачі на рух. Напишімо першу функцію для робота-математика:

def robot_math_get_s (v,t)
  s=v*t
  puts "Відстань: #{s}"
end



robot_math_get_s(60,2)
Рух Відстань швидкість час формули | Ruby для дітей | ITisFuture

Приклад: Настав час для робота-поета. Він буде виводити віршик ось з таким красивими відступами:

На клавіатурі такі відступи може зробити кнопка Tab, а в програмуванні є спеціальний символ \t

def robot_poet_tab (poem)
  i=0
  poem.each_line do |line|
    puts "\t"*i+line
    i+=1
  end
end
Функції-роботи на Ruby | Ruby для дітей | ITisFuture


Щоб викликати робота-поета треба передати йому змінну з віршиком і викликати функцію. Віршик можеш обрати з таблички нижче.

p="- Ну, хіба таке годиться?!
В тебе знову одиниця!
А мене сьогодні, мамо,
Запитали знов те ж саме!
"
robot_poet_tab(p)
Мем прикол про ІТ і програмістів | Ruby для дітей | ITisFuture

⭐️⭐️ Божевільна фабрика роботів. Самостійні завдання

6⭐️⭐️: Створіть ще функції, щоб знаходити швидкість і час. Протестуйте всі ці функції з різними числами.

Також, при діленні, щоб програма працювала для дробових чисел, треба одне з чисел переводити в дробове відразу у функції, наприклад:
t=s.to_f/v
Так, програма працюватиме, для прикладу, коли є відстань у 3 км і швидкість 6 км/год.

7⭐️⭐️: Розв’яжіть задачі з таблички за допомогою функцій з минулих завдань:

8⭐️⭐️: Створіть ще одну функцію-робота, яка буде рахувати якусь математичну або фізичну формулу. (Не площу і не периметр, бо ми таке вже робили на минулих заняттях).
Викличте функцію-робота для двох прикладів.

Приклад (перевод величин з хвилин в години):
120 хвилин це 2 години
30 хвилин це 0.5 години

9⭐️⭐️⭐️: Зробіть іншого робота-поета, який виводить будь-який вірш зі смайликами (в кожному наступному рядку більше смайлів). Приклади віршів можете взяти нижче:

Функції-роботи на Ruby | Ruby для дітей | ITisFuture

10⭐️⭐️⭐️: Зробіть іншого робота-поета, який виводить будь-який вірш великими літерами з подвійними пропусками між рядками (використайте \n  для нових рядків): 

Функції-роботи на Ruby | Ruby для дітей | ITisFuture

Віршики для роботи, щоб довго не шукати:

Коли прийшов зі школи внук,
Дідусь щоденник взяв до рук:
— За віщо двійку ти схопив?
— За те, що швидко відповів…
— За те, що швидко? — гримнув дід.
За це ж п’ятірки ставить слід!
— Та що ви, діду, кричите?
Сказав я швидко, та не те…

* * * * * * *
— Чого увесь урок ти, Лідо,
пасешся в зошиті сусіда?
— Перевіряю я Семена:
чи вірно він списав у мене?

Засмутилось кошеня
— Треба в школу йти щодня.
І прикинулось умить,
Що у нього хвіст болить.
Довго думав баранець
І промовив, як мудрець:
— Це хвороба не проста,
Треба різати хвоста.
Кошеня кричить: «Ніколи!
Краще я піду до школи!»

* * * * * * *

Ну, хіба таке годиться?!
В тебе знову одиниця!
А мене сьогодні, мамо,
Запитали знов те ж саме!

– Ти в нас грамотний такий,
– Хвалить мене мама.
Тільки хто ж  чита книжки
Догори ногами!
Книгу я кручу – дива!
Не збагну нічого –
Де у книжки голова?
Де у книжки ноги?

* * * * * * *

— Де Іванко? — запитав
наш учитель Тому.
— Та він ногу поламав
і побіг додому!

Фабрика роботів

11⭐️⭐️: Робот-кіт🐱. У функцію передається слово. Вона повинна сказати “Мяу” стільки разів, скільки літер у слові (Підказка : s.length)
Приклад: cat_language(“Неllo”)
Результат: Мяу Мяу Мяу Мяу

12⭐️⭐️: Робот-перекладач котячої мови 🐱. Робот перекладає слово у котячу мову — додає “мяу”.
Підказка:

a = "Як тебе звати?"
a.split.each do |word|
  ..
end

13⭐️⭐️: 💡 Робот-енергетик, який рахує енергію героя.
Правило: кожне печиво = +5 енергії
Приклад: puts “Ти з’їв 3 печива й отримав 15 енергії!”

14⭐️⭐️⭐️: Робот-генератор сендвічів 🥪 Робот робить сендвічі: у змінних йому передають три параметри: кількість хліба, сиру, ковбаси. Робот каже, скільки сендвічів можна зробити.
Кожен сендвіч = 2 шматки хліба + 1 сир + 1 ковбаса.

Функції-роботи на Ruby | Ruby для дітей | ITisFuture

15⭐️⭐️: 📚 Робот-генератор домашки: генерує домашку для людини випадковим чином (Підказка: обрати випадковий var.sample)

tasks = [
"написати функцію",
"виправити баг",
"з'їсти печиво",
"вивчити цикл",
"врятувати світ від багів"
]

16⭐️⭐️: 😜Робот-генератор дивних імен. Генерує максимально дивні імена. (Підказка: обрати випадковий var.sample)

adjectives = ["Галактичний", "Лазерний","Супер","Мутантський","Божевільний"]
nouns = ["Огірок","Картопляник","Хом'як","Бутерброд","Кактус"]


17⭐️⭐️: 🤯😱Робот-панікер. Якщо йому передали велике число (більш як 50), то робот панікує : “😱 ПАНІКА!!! ЧИСЛО ЗАНАДТО ВЕЛИКЕ!!!”, якщо число менше, то пише “Все нормально. Робот спокійний.”

18⭐️⭐️: 🧠 Робот-математик, який знаходить найбільше число з трьох, які йому передали.

19⭐️⭐️: Робот перевіряє паліндром: якщо слово читається справа наліво і зліва направо однаково — це паліндром. (Підказка : var.reverse)
Українські паліндроми: око, шалаш, радар
Англійські паліндроми: madam, level

20⭐️⭐️: 🤪 Робот-генератор мемів. Випадково обирає мем і виводить на екран (Підказка: обрати випадковий var.sample)

memes = [
"Коли код працює з першого разу 😎",
"Я: напишу 1 функцію. Ruby: 200 помилок.",
"Ctrl+C Ctrl+V — найсильніша магія програміста",
"Я виправив баг… але з'явилось 5 нових",
"StackOverflow — мій найкращий друг"
]

21⭐️⭐️: 🕺💃👯‍♀️👯 Робот-генератор танців. Випадково обирає танцювальний рух і виводить на екран (Підказка: обрати випадковий var.sample)

moves = [
"робот робить місячну ходу",
"робот крутиться як вертушка",
"робот танцює floss",
"робот робить breakdance",
"робот дивно трясе антенами"
]

22⭐️⭐️:  Робот-генератор випадкових фактів. Зі списку фактів робот випадково обирає один і виводить на екран (Підказка: обрати випадковий var.sample).

⭐️⭐️⭐️⭐️ Робот-бос 4го рівня (великі завдання)

23⭐️⭐️⭐️⭐️: Супер робот-тренер програмістів. Роботу передаємо список учнів як параметр і він кожному дає випадкову кількість енергії rand(min, max)
Приклад: Максим отримує 56 енергії для програмування!

24⭐️⭐️⭐️⭐️⭐️: Робот-шахіст: малює шахівницю заданого розміру. Приклад для 4 на 4:

⬛️⬜️⬛️⬜️
⬜️⬛️⬜️⬛️
⬛️⬜️⬛️⬜️
⬜️⬛️⬜️⬛️

25⭐️⭐️⭐️⭐️⭐️: Робот-художник. Робот створює картину з випадкових смайлів.. Параметр: robot_random_art(width, height). (Підказка: обрати випадковий var.sample)
emojis = [“⭐”, “🌈”, “🍕”, “🤖”, “👾”, “🔥”, “🌟”, “🍪”]

Приклад результату:

⭐🍕👾👾🌟🍪🔥🌈⭐👾
🔥🔥🍪🤖🌈🌟👾🍕🍕⭐
👾🍪🌟🌈🤖🔥🍕👾⭐🍪

26⭐️⭐️⭐️⭐️⭐️: Робота-функцію, який допоможе вчительці виставити середній бал учням за семестр. Функція має бути одна для всіх учнів. Ось оцінки дітей:

danylo=[11,10,12,12]
milana=[8,9,7,12,8]
alex= [6,4,11,3,6,6,4,7,5]
eva=[9,7,11,10,10,8,9,12,11,10,11,10,12]
Приклад роботи програми:
Середній бал Данила: 11.25
Середній бал Мілани: 8.8
Середній бал Алекса: 5.777777777777778
Середній бал Єви: 10.0
Функції-роботи на Ruby | Ruby для дітей | ITisFuture

Пару підказок, якщо треба:
Підказки написані білим шрифтом. Виділи наступні рядки й ти їх побачиш

Щоб порахувати середній бал, треба скласти всі оцінки і поділити на їхню кількість.
В функції треба буде зробити цикл for i in 0 .. a.length-1
Тобі знадобиться змінна для кількості оцінок. Згадай, як порахувати, скільки елементів у списку.
І ще змінна для суми оцінок.

27⭐️⭐️⭐️⭐️: 0️⃣1️⃣ Робот-перекладач на мову роботів. Параметр – рядок з текстом. Робот аналізує кожний символ (text.each_char do |char| …….. end)
Якщо зустрічає пробіл – так і передає в результат
якщо зустрічає голосну – в результат дописує 0
якщо зустрічає щось інше – в результат дописує 1

Тобто для text = “Як тебе звати” програма має видати 01 1010 11010

vowels = “аеєиіїоуюяAEЄИІЇОУЮЯ”

Уроки програмування для дітей. Домашня робота

Домашня робота

1: Зробіть завдання на 8 зірочок. ⭐️⭐️⭐️⭐️ ⭐️⭐️⭐️⭐️

Акція !
Якщо завдання зробили та здали під час уроку, завдання на ⭐️⭐️⭐️ ⭐️⭐️ зірочок = 12 б !

Функції використовувати обов’язково!!!

Уроки програмування для дітей ускладнені завдання level up

Level Up!
Функції-роботи на Ruby

1: Два завдання на ⭐️⭐️⭐️ або більше зірочок.

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

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

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