1. Изучить работу примера 1.
1) Для чего используется предварительная запись в тексте программы заголовков функций и как они называются?
2) Объясните, что означает запись void перед именем функции?
3) Объясните, чем отличается передача массива в функции: void fillarr(int m[], int n); и void printarr(int *m, int n);.
4) Что измениться в работе программы, если в функции swap заголовок будет описан void swap(int a, int b), а не void swap(int *a, int *b)?
2. Изучить работу примера 2.
1) Что такое рекурсия?
2) Выясните, что произойдет при вводе в программу отрицательного целого числа.
3) Что можно сделать в программе, для возможности нахождения НОД и для отрицательных чисел?
4) Как можно реализовать рекурсивную функцию вычисления НОД, не используя тернарную условную операцию?
3. Написать функции подсчета суммы и произведения элементов одномерного массива (к примеру 1).
4. Дано N точек на плоскости. Найти точку, наиболее удаленную от некоторой заданной точки. Для вычисления расстояния между двумя точками использовать функцию.
5. Найти НОД двух чисел, используя рекурсивную функцию нахождения НОД по алгоритму Евклида (делением): НОД двух чисел равен НОД меньшего из них и остатка от деления большего на меньшее, если делится без остатка, то меньшее число и есть НОД.
*. Последовательность чисел Фибоначчи задается соотношениями fib(0)=0, fib (1)=1, fib (i)= fib (i-1)+ fib (i-2), i = 2, 3, ... Напишите программу, запрашивающую с клавиатуры натуральное число n и, используя рекурсивную функцию, печатающую числа Фибоначчи от 0 до n.
Комментариев нет:
Отправить комментарий