
Функції (програмування)

Перейдіть на інший план, щоб отримати більше контенту
Правда чи неправда? Функція — це як маленька програма всередині нашої великої програми.
Ліна запрограмувала кілька коротких програм для свого робота. Тепер вона хоче об’єднати два з них в одну більшу програму. Псевдокод Ліни з двох програм виглядає так: Рядків інструкцій дуже багато. Ліна прокручує код вгору і вниз... Вона знаходить три рядки інструкцій, які повторюються кілька разів. Це потрібно? Давайте допоможемо їй, так що інструкції потрібні лише в одному місці. Ці рядки з трьома інструкціями існують у двох місцях. Давайте напишемо ті самі три інструкції у верхній частині псевдокоду. Ми збираємося створити невелику програму в рамках нашої великої програми, функція. Ми використовуємо функцію, викликаючи її. Тоді функції потрібно назвати щоб ми знали, що викликаємо правильну функцію. Ми називаємо це «початком». А потім ставимо дві дужки після імені. Дужки показують, що це функція. Ми хочемо зробити псевдокод більш зрозумілим. Ми робимо це шляхом відступу рядків, пов’язаних з функцією. Тепер ми можемо викликати функцію запуску… ось... і тут, ввівши "початок дзвінка" і дві дужки. При використанні функцій нам не потрібно писати одні й ті ж інструкції багато разів. Псевдокод стає легшим у використанні оскільки кожен виклик функції виконує кілька інструкцій. Також буде легше налагодити коротку програму ніж довгий з великою кількістю рядків. І якщо ми хочемо внести зміни, нам потрібно зробити це лише в одному місці. Ми замінили дві групи коду двома викликами функцій. Тепер Ліна прагне перетворити більше частин свого коду у функції. Чи можете ви побачити ще якісь групи рядків інструкцій, які повторюються? Ось три інші інструкції, які існують у двох місцях. Може, ти зможеш їй допомогти?