Задачи с рекурсивной формулировкой.
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-1 +Фn-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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!