Опубликован: 19.02.2009 | Доступ: свободный | Студентов: 3073 / 803 | Оценка: 4.35 / 4.11 | Длительность: 16:28:00
ISBN: 978-5-94774-401-9
Специальности: Программист, Системный архитектор, Архитектор программного обеспечения
Теги:
Лекция 6:
Рекурсивные методы
Практикум
-
Разработать рекурсивный метод (возвращающий значение):
- для вычисления -го члена следующей последовательности .
- для вычисления -го члена следующей последовательности
- для нахождения наибольшего общего делителя методом Евклида:
- для вычисления значения функции Аккермана для неотрицательных чисел и . Функция Аккермана определяется следующим образом:
- для вычисления числа сочетаний где , используя следующие свойства
при .
- вычисляющий число а, для которого выполняется неравенство , где – натуральное число. Для подсчета числа а использовать формулу:
- для вычисления
( –вещественное, ,
а –целое) по формуле:
. Вычислить значение для различных и .
- для вычисления , где – натуральное число. Для заданных натуральных чисел и вычислить с помощью разработанного метода значение выражения .
- для вычисления значения функции .
Найти ее значение при заданном натуральном .
- для вычисления цепной дроби: . Найти значение данной дроби при заданном натуральном .
-
Разработка рекурсивных методов ( не возвращающих значений):
- Даны первый член и разность арифметической прогрессии. Написать рекурсивный метод для нахождения -го члена и суммы первых членов прогрессии.
- Даны первый член и знаменатель геометрической прогрессии. Написать рекурсивный метод для нахождения n-го члена и суммы первых членов прогрессии.
- Разработать рекурсивный метод, который по заданному натуральному числу ( ) выведет на экран все натуральные числа не больше в порядке возрастания. Например, для , на экран выводится .
- Разработать рекурсивный метод, который по заданному натуральному числу ( ) выведет на экран все натуральные числа не больше в порядке убывания. Например, для , на экран выводится .
- Разработать рекурсивный метод для вывода на экран стихотворения:
10 лунатиков жили на луне 10 лунатиков ворочались во сне Один из лунатиков упал с луны во сне 9 лунатиков осталось на луне 9 лунатиков жили на луне 9 лунатиков ворочались во сне Один из лунатиков упал с луны во сне 8 лунатиков осталось на луне ...... И больше лунатиков не стало на луне
- Дано натуральное число . Разработать рекурсивный метод для вывода на экран следующей последовательности чисел:
- Дано натуральное число . Разработать рекурсивный метод для вывода на экран следующей последовательности чисел:
- Разработать рекурсивный метод для вывода на экран цифр натурального числа в прямом порядке. Применить эту процедуру ко всем числам из интервала от до .
- Разработать рекурсивный метод для перевода числа из десятичной системы счисления в двоичную.
- Разработать рекурсивный метод для перевода числа из двоичной системы счисления в десятичную.
- Разработать рекурсивный метод для вывода на экран всех делителей заданного натурального числа .
- Дано натуральное четное число . Разработать рекурсивный метод для вывода на экран следующей картинки:
- Дано натуральное четное число . Разработать рекурсивный метод для вывода на экран следующей картинки:
- Дано натуральное число . Разработать рекурсивный метод для вывода на экран следующей картинки:
- Разработать рекурсивный метод для вывода на экран следующей картинки:
Самостоятельная работа
Задача 1. Разработать рекурсивный метод для вывода на экран всех возможных разложений натурального числа n на множители (без повторений). Например, для n=12 на экран должно быть выведено:
2*2*3=12 2*6=12 3*4=12
Задача 2. Разработать рекурсивный метод для вывода на экран всех возможных разложений натурального числа n на слагаемые (без повторений). Например, для n=5 на экран должно быть выведено:
1+1+1+1+1=5 1+1+1+2=5 1+1+3=5 1+4=5 2+1+2=5 2+3=5