Вызов процедур
| English | Русский |
|---|---|
| reusable/riːˈjuːzəbl/ | повторно используемый |
| procedure/prəˈsiːdʒə/ | процедура |
| call/kɔːl/ | вызов |
| method/ˈmeθəd/ | метода |
| arguments/ˈɑːɡjuːmənts/ | аргументы |
| parameters/pəˈræmɪtəz/ | параметрами |
| return value/rɪˈtɜːn ˈvæljuː/ | возвращаемого значения |
| implementation/ˌɪmplɪmənˈteɪʃn/ | реализация |
| abstraction/əbˈstrækʃn/ | абстракцией |
Повторно используемые блоки кода
- Процедура, также называемая функцией или методом, представляет собой именованный блок повторно используемого кода.
- Вы пишете её один раз, а используете многократно.
- Она даёт задаче имя, чтобы вы могли вызвать эту задачу, когда это необходимо.
- Это основа принципа «не повторяй себя» (DRY).
Процедура (функция/метод) это:
Написать один раз, вызвать много раз.
Чтобы выполнить инструкции процедуры из другого места, вы ______ её по имени.
После завершения вызова программа продолжается с того места, где остановилась.
Вызов процедуры
- Чтобы запустить процедуру из другого места, вы вызываете её по имени.
- После завершения вызова программа продолжает работу с того места, где прервалась.
- Таким образом, вызов похож на объезд: выполняем задачу, затем возвращаемся.
- Одну и ту же процедуру можно вызвать из множества мест.
Как работает вызов процедуры
Вызов перемещается к процедуре с её аргументами, выполняет тело, возвращает значение, и программа продолжается с того места, где остановилась.
Соотнесите каждый термин в area(4, 5) с его значением.
Аргументы — это фактические значения; параметры — это именованные слоты.
В total ← area(4, 5), что возвращает area?
Возвращённый результат сохраняется для последующего использования.
Аргументы, параметры, возврат значения
- Процедуры могут принимать входные данные: вы передаёте аргументы в процедуру через её параметры.
area(length, width), вызванный какarea(4, 5), получает 4 и 5.- Процедура также может вернуть возвращаемое значение — результат, который вы используете позже.
- Например,
total ← area(4, 5)сохраняет полученное значение.
Если square(n) возвращает n × n, что возвращает square(square(3))?
square(3) = 9, затем square(9) = 81.
Когда вы вызываете square(3), вам нужно знать, что она делает, а не как она работает внутри.
Сокрытие деталей реализации — это процедурная абстракция.
Сокрытие реализации
- Процедуры поддерживают абстракцию, скрывая детали реализации от вызывающего кода.
- Вам нужно знать только что делает процедура, но не как она работает внутри.
square(n) возвращает n × n. a ← square(3) сохраняет 9. b ← square(a) сохраняет 81, потому что square(9) равно 81. Вызывающий код никогда не видит умножение внутри — он просто использует возвращаемое значение.
Процедура (функция или метод) — это повторно используемый код, который вы вызываете по имени; после его выполнения программа продолжается. Вы передаёте аргументы в её параметры и можете использовать её возвращаемое значение. Процедуры обеспечивают абстракцию: вызывающий код знает, что она делает, но не реализацию.