Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика_нов.doc
Скачиваний:
3
Добавлен:
24.09.2019
Размер:
657.41 Кб
Скачать

8.1. Порядок выполнения задания

Создать новый проект, содержащий одну форму. Определить параметры рекурсивной функции. Определить условие выхода из рекурсии и поместить его в начало функции. Определить закономерность решения указанной задачи и реализовать ее алгоритм в функции. Реализовать задание в виде обработчика событий, из которого рекурсивная функция вызывается в первый раз. Все исходные данные вводятся с использованием стандартых компонентов TEdit, TSpinEdit и др.

8.2. Варианты заданий

  1. Заданное число А возводят в квадрат и результат увеличивают на 1. Полученное число снова возводят в квадрат, и результат увеличивают на 1. Этот процесс прдолжается до тех пор, пока не будет получено число Х, больше заданного. Описать рекурсивную функцию, которая позволяет определить Х.

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

  3. Описать рекурсивную функцию для определения наибольшего общего делителя для заданных натуральных чисел M и N.

  4. Описать рекурсивную функцию, которая возвращает номер первого члена последовательности , который отличается от 1 менее чем на . Здесь - малое число, погрешность, задаваемая пользователем, - номер элемента последовательности, - произвольное число, задаваемое пользователем.

  5. Население города ежегодно увеличивается на 1/40 общего числа жителей. Описать рекурсивную функцию, которая определяет количство лет, через которое число жителей утроится.

  6. Мяч падает с высоты 243 см и, ударяясь о землю, отскакивает вновь, поднимаясь на 2/3 высоты, с которой он упал. Описать рекурсивную функцию, которая определяет, сколько ударов нужно, чтобы мяч поднялся на высоту 32 см.

  7. Описать рекурсивную функцию, которая определяет сумму квадратов натуральных чисел от 1 до n. n задается пользователем.

  8. Имеется n бактерий красного цвета. Через 1 такт времени красная бактерия меняется на зелёную, затем через 1 такт времени делится на красную и зелёную. Описать рекурсивную функцию, которая определяет общее количество бактерий через k тактов времени. n, k задаются пользователем.

  9. Описать рекурсивную функцию sum(k, n), которая находит сумму элементов вещественного вектора х длины n. k - параметр рекурсии, характеризующий текущую глубину вложенности. Циклы не использовать.

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

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

  12. Описать рекурсивную функцию minpol(k, n), которая находит минимальный из положительных элементов целочисленного вектора х длины n. k - параметр рекурсии, характеризующий текущую глубину вложенности. Циклы не использовать.

  13. Описать рекурсивную функцию, которая находит среднее арифметическое положительных и отрицательных элементов целочисленного вектора заданного размера.

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

  15. Описать рекурсивную функцию maxsim (k, п), которая находит максимум из разностей элементов являющихся симметричными относительно его середины x - целочисленный вектор длины n. k - параметр рекурсии, характеризующий текущую глубину вложенности. Циклы не использовать.

  16. Описать функцию digits, которая подсчитывает количество цифр в тексте, заданном во входной строке. Текст завершается точкой, запятой или точкой с запятой.

  17. Описать рекурсивную функцию maxotr(k, n), которая находит максимальный из отрицательных элементов вещественного вектора x длины n. k - параметр рекурсии, характеризующий текущую глубину вложенности. Циклы не использовать.

  18. Описать рекурсивную функцию, которая находит среднее геометрическое четных и нечетных элементов целочисленного вектора заданного размера.

  19. Описать рекурсивную функцию minel (k, п), которая находит минимальный из ненулевых элементов, имеющих нечетные номера. x - вещественный вектор длины n. k - параметр рекурсии, характеризующий текущую глубину вложенности. Циклы не использовать.

  20. Дана последовательность ненулевых целых чисел, за которыми следует 0. Описать рекурсивную функцию, которая выводит сначала все отрицательные числа этой последовательности, а затем все положительные (в порядке слева направо).

  21. Описать рекурсивную функцию proiz(k, n), которая находит произведение тех элементов целочисленного вектора х длины k, которые кратны 3. k - параметр рекурсии, характеризующий текущую глубину вложенности. Циклы не использовать.

  22. Описать рекурсивную функцию, которая определяет количество четных и нечетных элементов целочисленного вектора заданного размера.

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

  24. Описать рекурсивную функцию, которая определяет, с какой частотой встречается заданный элемент в исходном списке.

  25. Задан массив цифр X = (x1,x2,...,xn) натурального числа в системе счисления с основанием 1 < q <= 10. Число может содержать незначащие нули. Описать рекурсивную функцию, которая определяет, является ли это число степенью основания q. Операции умножения и деления не использовать. Примечание: Число является степенью основания q, если среди его цифр содержится лишь одна единица, а остальные цифры - нули.

  26. Описать рекурсивную функцию, которая определяет, сколько единиц содержится в двоичном представлении целого положительного числа M.

  27. Описать рекурсивную функцию, которая находит частное и остаток двух целых чисел, пользуясь только операциями сложения и вычитания.

  28. Описать рекурсивную функцию, которая находит произведение двух целых чисел, используя лишь операцию сложения.

  29. Элементы монотонно убывающей числовой последовательности имеют следующие значения:

Определить номер ближайшего элемента этой последовательности, значение которого не превышает заданного числа b (1 < b <= 1.5).

  1. Элементы монотонно возрастающей числовой последовательности имеют следующие значения:

Определить номер ближайшего элемента этой последовательности, значение которого превышает заданное число b (0.5 < b <= 1).

Практическое занятие №9

Работа с функциями WinApi и DLL