Решение задач с использованием рекурсии - QBasic

Узнай цену своей работы

Формулировка задачи:

Когда я обратился к поисковой системе, то я не нашёл ни одного упоминания о рекурсии. Испытав шок, я решил создать эту тему на QBasic. (В паскале о рекурсии говорят на каждом углу). Приведу нестандартный пример рекурсии: Посадил дед репку. И выросла она большая-пребольшая. (Далее вызывается рекурсивная процедура) Тянет дед репку, потянет, вытащить не может. (Условием выхода из этой процедуры будет событие при котором репка будет вытащена) Эта процедура вызывает сама себя и на помощь деду приходит бабка. И тд. После шестого вызова процедуры на арене появляется мышка. Благодаря которой репку вытаскивают. Условие окончания процедуры соблюдено и программа (как и сказка) завершается. Что надо знать при написании рекурсивных программ. 1. Оператор CLEAR, , 29000 Этот оператор задаёт величину стека. В данном примере приведена цифра 29000 - это максимальная величина стека для QBasic v1.0 -1.1. Для QuickBasic стек ещё больше. 2. Функция FRE(-2) ; (PRINT FRE(-2)) Эта функция указывает (в байтах) свободное стековое пространство. 3. Функция DEF FN... - эта функция не поддерживает рекурсии. 4. Рекурсию поддерживают 1) FUNCTION - END FUNCTION 2) SUB - END SUB 3) GOSUB - RETURN Последним правда не слишком удобно пользоваться, но пару примеров я приведу (именно на GOSUB - RETURN) Эта программа вычисляет сумму n натуральных чисел
Это программа вычисляет числа Фибоначи

Решение задачи: «Решение задач с использованием рекурсии»

textual
Листинг программы
REM Программа запрашивает ввод чисел
REM         (0 - конец ввода)
REM  И выводит эти числа на экран
REM        в обратном порядке.
REM

Объяснение кода листинга программы

  1. Программа запрашивает ввод чисел (0 - конец ввода).
  2. Программа выводит эти числа на экран в обратном порядке. Примерный псевдокод:
  3. Запросить число
  4. Если число равно 0, то программа заканчивается
  5. Рекурсивно вызвать процедуру с числом, уменьшенным на 1
  6. Вывести число на экран
  7. Перейти к шагу 1

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.25 из 5