Задачи с рекурсивной формулировкой.



3.1. Написать рекурсивную процедуру для ввода с клавиатуры последовательности чисел (окончание ввода 0) и вывода ее на экран в обратном порядке.

3.2. Написать рекурсивную функцию вычисления натуральной степени числа AN.

3.3. Написать рекурсивную функцию вычисления значений функции Аккермана для неотрицательных чисел N и M, вводимых с клавиатуры.

                     m+1        , если n=0

       An,m =   An-1,1    , если n<>0, m=0

                    An-1,An,m-1  ,если n>0, m>0

3.4. Найти сумму первых N членов арифметической (геометрической) прогрессии.

3.5. Найти первые N чисел Фибоначчи. Каждое число Фибоначчи, кроме первых двух, равно сумме двух предыдущих чисел, а первые два равны 1 (1, 1, 2, 3, 5, 8, 13, 21,...)

                    1           , если n=1 или n=2

       Фn=

                    Фn-1n-2 , если n>2

 

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

3.6. Перевести натуральное число из десятичной системы счисления в двоичную.

3.7. Написать процедуру перевода из десятичной системы в N-ичную, при условии, что 2<=N<=16 (значение N вводится с клавиатуры). Каким будет условие прекращения рекурсии?

 

Одномерные массивы

Ввод-вывод одномерных массивов.

0.1. Сформировать массив А их 2*N элементов и вывести его в две строки: в первой строке - первые N чисел, во второй - вторые N чисел.

0.2. Сформировать с клавиатуры два массива и вывести каждый в отдельной строке:

а) массивы одинаковой длины;

б) массивы разной длины.

0.3. Сформировать с клавиатуры массив из N элементов и вывести его на экран в виде К столбцов (К<N).

0.4. Заполните массив по правилу:

A[1]=1; A[2]=2; ... , A[i]=(A[i-1]+A[i-2])/i.

0.5. Сформируйте массив в соответствии с формулами:

а) A[i]=S+M-i (при четном i); A[i]=C-M-i (при нечетном i);

б) B[i]=S-M-i (при четном i); B[i]=C+M-i (при нечетном i);

Работа с элементами

1.0. Для целочисленного массива A[1..15] выяснить, является ли сумма его элементов четным числом. Вывести "ДА" или "НЕТ".

1.1. Найти сумму первых пяти элементов массива.

1.2. Найти сумму элементов с к1-го по к2-й, где к1 и к2 вводятся с клавиатуры.

Проверить корректность их ввода.

1.3. Найти сумму положительных элементов массива.

1.4. Найти произведение нечетных элементов массива.

1.5. Найти сумму элементов массива с нечетными индексами.

1.6. Найти количество элементов массива, принадлежащих промежутку от А до В.

1.7. Напечатать все элементы, кратные 3 или 5. Сколько их? Вычислить их среднее арифметическое.

1.8.Вычислить скалярное произведение двух векторов (X,Y) размером N (N<=5).

(S= x1 y1+ x2 y2+…+ xn yn).

1.9. Найти среднее арифметическое положительных элементов, среднее арифметическое отрицательных элементов и количество нулевых.

1.10. В одномерном массиве произвольных чисел (размером N, N<=7) вычислить произведение отрицательных элементов, имеющих нечетные индексы.

1.11. Ввести массив из N элементов (N<=20). Найти произведение положительных, сумму отрицательных и количество нулевых элементов.

1.12. Даны два массива одинаковой размерности. Найти среднее арифметическое элементов каждого и сравнить эти два значения.

1.13. Найти номера всех отрицательных элементов (вывести их на экран), если таких нет, то сообщить об этом.

1.15. В одномерном массиве(размером N, N<=20) произвольных чисел определить сумму и количество элементов, которые меньше -5 и номера которых кратны 4.

1.16. В одномерном массиве произвольных чисел определить количество элементов, которые меньше определенного значения.

1.17. Даны k и массив X(k). Найти сумму

 (X1-P)2+(X2-P)2 +...+ (Xk-P)2 , где P=(X1+X2+...+Xk)/k.

1.18. Даны m и массив X(m). Найти произведение

(2+X12)(2+X22)  (2+Xm2) , используя лишь ненулевые элементы массива Х.

1.19. Даны С, m и массив T(m). Найти число элементов массива Т, меньших С, а для элементов, больших С, найти их среднее арифметическое.

1.20. Для массива T(m) найти число элементов, больших предыдущего элемента, а для тех, которые меньше, найти их среднее арифметическое.

1.21. Найти общее количество нулевых элементов в массивах X(m), Y(k).

1.22. Сколько в массиве T(m) элементов, меньших суммы всех элементов?

1.23. Заданы два массива A[80], B[80]. Разработайте алгоритм вычисления суммы их элементов:

a1 - b80 + a2 - b79 + ... + a80 - b1.

1.24. В одномерном массиве A[20] вычислите:

а) a1a11 + a2a12 + ... + a10a20;

б) a1a20 + a2a19 + ... + a10a11;

1.25. Заполните массив числами 1, 3, 5, 7, 9, 11, 13, 15, 17, 19. Составьте программу для вывода на печать двух соседних чисел: первого и второго, второго и третьего, третьего и четвертого и т.д., а также результаты их сложения или умножения, причем при сумме чисел больше 15 выводить на печать их сумму, в противном случае выводить их произведение.

1.26. Найдите все локальные минимумы последовательности, занесенные в массив. Локальные минимумы - это члены последовательности, которые не больше двух рядом стоящих с ними. Например, в последовательности 74836532 два локальных минимума 4 и 3.

1.27. В массиве A[20] подсчитайте количество четверок A[i], A[i+1], A[i+2], A[i+3], идущих подряд членов, из которых:

а) все члены равны;

б) все члены различны.


Дата добавления: 2018-11-24; просмотров: 448; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!