Процедуры и функции
💻 Информатика · 9 класс
Вспомогательные алгоритмы
Когда программа большая, её разбивают на части. Вспомогательный алгоритм — это самостоятельный фрагмент программы, у которого есть собственное имя; его можно вызвать из основной программы сколько угодно раз. Так реализуется важнейший принцип программирования — декомпозиция, то есть разбиение сложной задачи на несколько простых.
Идея такая же, как в обычной жизни: большую работу делят на понятные шаги, а потом собирают результат. Каждый шаг можно отладить отдельно, и это сильно упрощает создание программ.
Процедура и функция
Процедура выполняет некоторые действия — например, выводит что-то на экран или рисует фигуру. Функция вычисляет и возвращает результат, который затем можно использовать в выражении, как обычное число.
| Признак | Процедура | Функция |
|---|---|---|
| Главная роль | выполнить действия | вычислить значение |
| Возвращает результат | нет | да, одно значение |
| Где используют | как отдельную команду | внутри выражения |
Параметры
Параметры — это данные, которые передают вспомогательному алгоритму при вызове. Они делают его универсальным: один и тот же алгоритм работает с разными значениями. Параметр, указанный при описании, — это «пустое место», которое заполняется конкретным значением во время вызова.
функция куб(x):
вернуть x * x * x
y := куб(4) // y станет равно 64
Здесь x — параметр функции, число 4 — конкретное значение, переданное при вызове, а команда вернуть задаёт результат. Если вызвать куб(2), та же функция вернёт 8 — алгоритм один, а значения разные.
Зачем это нужно
- код не повторяется — один алгоритм вызывают многократно;
- программу легче читать, проверять и понимать;
- ошибку исправляют в одном месте, а не во многих;
- готовые функции собирают в библиотеки и переиспользуют в других задачах.
Например, если в программе много раз нужно возводить число в куб, гораздо удобнее один раз написать функцию, чем повторять одно и то же выражение в разных местах.
Локальные переменные
Переменные, объявленные внутри вспомогательного алгоритма, называют локальными: они существуют только во время его работы и не видны из основной программы. Это важное свойство, потому что оно защищает алгоритмы друг от друга — изменение переменной внутри функции не повредит данные снаружи. Благодаря локальным переменным разные части программы можно писать независимо, не опасаясь случайно совпавших имён. Связь вспомогательного алгоритма с остальной программой идёт строго через параметры и возвращаемое значение, а не через общие переменные. Такой порядок делает программу предсказуемой: достаточно знать, какие параметры функция принимает и что возвращает, чтобы пользоваться ею, не вникая в её внутреннее устройство.
Частые ошибки. Вызывают функцию, но не используют возвращённое значение; путают порядок параметров при вызове; пытаются обратиться к внутренней переменной процедуры из основной программы, где она не видна; забывают команду возврата значения в функции.
Кратко о главном
- Вспомогательный алгоритм имеет имя и вызывается из основной программы.
- Процедура выполняет действия, функция возвращает значение.
- Параметры передают данные и делают алгоритм универсальным.
- Декомпозиция упрощает разработку, чтение и отладку.
- Готовые функции можно переиспользовать через библиотеки.