Редактирование: Рекурсия
Перейти к навигации
Перейти к поиску
Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы ваша отмена правки была сохранена.
Эта страница поддерживает семантические аннотации в тексте (например "[[Is specified as::World Heritage Site]]") для построения структурированного контента, в который можно делать запросы, обеспечивается Semantic MediaWiki. Для комплексного описания, как использовать аннотации или парсерную функцию ask, пожалуйста, посетите справочные страницы о начале работы, in-text annotation аннотации в тексте и строчных запросах.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
{{Понятие | {{Понятие | ||
|Description=Рекурсия — определение, описание, изображение какого-либо объекта или процесса внутри самого этого объекта или процесса, то есть ситуация, когда объект является частью самого себя. | |Description=Рекурсия — определение, описание, изображение какого-либо объекта или процесса внутри самого этого объекта или процесса, то есть ситуация, когда объект является частью самого себя. | ||
− | В программировании чаще всего - вызов функцией себя самой, когда функция ( | + | В программировании чаще всего - вызов функцией себя самой, когда функция ([[процудура]]) делегирует работу своим [[клон]]ам |
− | + | ||
− | + | Введение в рекурсию в книге Харви о стиле Лого - http://people.eecs.berkeley.edu/~bh/v1ch7/recur1.html | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
When you're thinking about a recursive procedure, it's especially important to remember that each invocation of a procedure has its own local variables. It's possible to get confused about this because, of course, if a procedure invokes itself as a subprocedure, each invocation uses the same names for local variables. For example, each invocation of downup has a local variable (its input) named word. But each invocation has a separate input variable. | When you're thinking about a recursive procedure, it's especially important to remember that each invocation of a procedure has its own local variables. It's possible to get confused about this because, of course, if a procedure invokes itself as a subprocedure, each invocation uses the same names for local variables. For example, each invocation of downup has a local variable (its input) named word. But each invocation has a separate input variable. | ||
; Маленькие человечки: How Recursion Works В книге Simple Scheme | ; Маленькие человечки: How Recursion Works В книге Simple Scheme | ||
: The crowning achievement of the little-people model is explaining recursion. Remember that every time you call a procedure, a little person is hired to compute the result. If you want to know (+ 2 (+ 3 4)), there are two separate plus specialists involved. | : The crowning achievement of the little-people model is explaining recursion. Remember that every time you call a procedure, a little person is hired to compute the result. If you want to know (+ 2 (+ 3 4)), there are two separate plus specialists involved. | ||
− | + | |FieldActivity=Computational Thinker | |
+ | |Возрастная категория=11 | ||
+ | |Examples=https://scratch.mit.edu/projects/334694805/ | ||
+ | }} | ||
+ | === Примеры === | ||
==== Вычисление факториала ==== | ==== Вычисление факториала ==== | ||
Строка 37: | Строка 32: | ||
say (item (last v) of [Factorial-stack v]) | say (item (last v) of [Factorial-stack v]) | ||
</scratchblocks> | </scratchblocks> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |