Рекурсивные процедуры и функции

Решить следующие задачи, используя рекурсивную подпрограмму.

1. Найти сумму цифр заданного натурального числа.

2. Подсчитать количество цифр в заданном натуральном числе.

3. Описать функцию С(т, п), где 0 ≤ т ≤ n, для вычисления биномиального коэффициента Сnm по следующей формуле:

4. Описать рекурсивную функцию Root (а, b, ε), которая методом деления отрезка пополам находит с точностью ε корень уравнения f(x) = 0 на отрезке [а, b] (считать, что ε > 0, а < b, f(a) - f(b) < 0 и f(x) — непрерывная и монотонная на отрезке [а, b] функция).

5. Описать функцию min(X) для определения минимального элемента линейного массива X, введя вспомогательную рекурсивную функцию minl(k), находящую минимум среди последних элементов массива X, начиная с k-го.

6. Описать рекурсивную логическую функцию Simm(S,I,J), проверяющую, является ли симметричной часть строки S, начинающаяся i-м и заканчивающаяся j-м ее элементами.

7. Составить программу для вычисления наибольшего общего делителя двух натуральных чисел.

8. Составить программу для нахождения числа, которое образуется из данного натурального числа при записи его цифр в обратном порядке. Например, для числа 1234 получаем результат 4321.

9. Составить программу для перевода данного натурального числа в р-ичную систему счисления (2 ≤ р ≤ 9).

10. Дана символьная строка, представляющая собой запись натурального числа в p-ичной системе счисления (2 ≤ р ≤ 9). Составить программу для перевода этого числа в десятичную систему счисления.

11. Составить программу для вычисления суммы: 1! + 2! + 3! +... + п! (п ≤ 15).

Примечание. Тип результата значения функции — LongInt.

12. Составить программу для вычисления суммы: 2! + 4! + 6! +... + п! (п ≤ 16, п — четное).

Примечание. Тип результата значения функции — LongInt.

13*. Дано п различных натуральных чисел. Напечатать все перестановки этих чисел.

14. Логическая функция возвращает True, если ее аргумент — простое число.

15. Описать функцию, которая удаляет из строки все лишние пробелы. Пробелы считаются лишними, если их подряд идет более двух, если они стоят в конце строки после последней точки, если стоят после открывающегося парного знака препинания.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: