Рекурсия — технология программирования

Оцените статью

windows79171 Рекурсия   технология программированияТакая технология программирования называется Рекурсией и считается очень эффективной. Наиболее ярко ее использование проявляется, когда можно разбить задание на небольшие части и использовать для обработки каждой из частей одну и ту же процедуру. Далее в этой главе будут показаны и другие примеры рекурсий. Эта технология особенно часто встречается при работе с папками, поскольку папки сами по себе рекурсивны. Папки содержат другие папки, в которых также содержатся папки. Если есть желание написать свои собственные сценарии или программы, использующие рекурсию, последуйте трем советам: В начальной стадии разработки используйте отладочные операторы вывода информации, чтобы сценарий сообщал вам, что делается в процессе его выполнения. Например, при создании подпрограммы CneateFullPath я использовал метод wscnipt. echo для вывода пути в начале выполнения CneateFullPath. Это позволяло мне видеть, почему, когда и как она каждый раз вызывается.

Убедитесь в том, что любые переменные, которые используются для вычисления элементов внутри подпрограммы, являются локальными переменными, создаваемыми для каждого экземпляра подпрограммы. Поскольку одновременно могут работать сразу несколько копий подпрограммы CreateFul 1 Path, нужно убедиться в том, что они не пытаются использовать для хранения информации одни и те же переменные. В подпрограмме CneateFullPath это делается с помощью оператора dim panent. Если используется VBScript и нужно изменить значение аргументов подпрограммы, как это делалось с аргументом path в CneateFullPath, наверное, придется воспользоваться ключевым словом byval, чтобы никакие изменения не влияли на код, вызвавший подпрограмму. Очень важной составляющей рекурсии является способ ее прекращения! Подпрограмма CneateFullPath продолжает продвигаться вверх по каталогам до тех пор, пока родительская папка не будет обнаружена существующей. Она может подняться до корневого каталога, но всегда в этом месте останавливается, потому что корневая папка существует всегда, если только существует указанный диск.

Комментирование закрыто.

Вверх страницы
x