Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metodichka_SI.doc
Скачиваний:
30
Добавлен:
23.02.2015
Размер:
2.05 Mб
Скачать

1 Уровень сложности

  1. Функция f(n) определена для целых положительных чисел следующим образом:

Вычислить f(k) дляk=2,3,4,5,10

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

  2. Дано nразличных натуральных чисел (n= 5). Напечатать все перестановки этих чисел.

  3. Описать рекурсивную функцию вещественного типа, находящую значение N-й степени числаXпо формулам:

X 0= 1,X N= (X N/2)2причетныхN> 0,X N=X·X N–1принечетныхN> 0,X N= 1/X –NприN< 0

(X0 — вещественное число,N— целое; в формуле для четныхNдолжна использоваться операцияцелочисленного деления). С помощью этой функции найти значенияX Nдля данногоXпри пяти данных значенияхN.

  1. Описать рекурсивную функцию целого типа, находящую C(N,K) —число сочетанийизNэлементов поK— с помощью рекуррентного соотношения:

C(N, 0) = C(N,N) = 1,C(N,K) =C(N– 1,K) +C(N– 1,K– 1)    при 0 <K<N.

Параметры функции — целые числа; N> 0, 0KN. Дано числоNи пять различных значенийK. Вывести числаC(N,K) вместе с количеством рекурсивных вызовов функции, потребовавшихся для их нахождения.

  1. Описать рекурсивную функцию вещественного типа, находящую приближенное значение корня K-й степени из числаXпо формуле:

Y0 = 1,        YN+1 = YN – (YN – X/(YN)K–1)/K,

где YNобозначает при фиксированныхXиK. Параметры функции:X(> 0) — вещественное число,K(> 1) иN(> 0) — целые. С помощью функции найти для данного числаXприближенные значения его корняK-й степени при шести данных значенияхN.

  1. Описать рекурсивную функцию NOD(A,B) целого типа, находящуюнаибольшийобщий делитель(НОД) двух целых положительных чиселAиB, используяалгоритм Евклида:

НОД(AB) = НОД(B, A mod B),    если B  0;        НОД(A, 0) = A.

С помощью этой функции найти НОД(A,B), НОД(A,C), НОД(A,D), если даны числаA,B,C,D.

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

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

  3. Описать рекурсивную функцию логического типа, возвращающую True, если строка Sявляетсяпалиндромом(то есть читается одинаково слева направо и справа налево), и False в противном случае. Оператор цикла в теле функции не использовать. Вывести значения функции для пяти данных строк.

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

  5. Напечатать в обратном порядке заданный во входном файле текст (за текстом следует точка).

2 Уровень сложности

  1. Функция Аккермана определена следующим образом:

Найти значение функции Аккермана при заданных n,x,y.

Вычислять при (малых!) целых неотрицательных значениях nиy.

  1. Функция Маккарти определена следующим образом:

Маккарти(n)=

Найти значение функции Маккарти при заданном n.

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

  2. Описать рекурсивную функцию целого типа, которая находит максимальный элемент целочисленного массива AразмераN(1N10), не используя оператор цикла. С помощью этой функции найти максимальные элементы массивовA,B,CразмераNA,NB,NCсоответственно.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]