Рекурсия и функции - Презентация

бесплатно 0
4.5 34
Определение функции, ее прототип. Рекурсия - частичное определение объекта через себя. Рекурсивная функция произведения 2-х целых чисел. Задача о вычислении Факториала. Вычисление чисел Фибоначчи. Рекурсивное исполнение программы о Ханойских башнях.


Аннотация к работе
Принимает Возвращает Принимает Не возвращает Не принимает значения Возвращает Не принимает Не возвращает функция аргументы Возвращаемое значение#include int square (int a) ; int main (){ int x; scanf (“%d”, &x); printf (“x^2 = %d

”, square(x)); return 0; } int square (int a){ return a*a; } Определение функций Последующие примеры содержат определенные нами Функции. /*Прототип функции. int перед square означает, что функция возвращает данные типа int , а int перед аргументом (а) означает , что функция принимает целочисленный тип переменных*/ /*Использование нашей функции внутри printf */ /*Определение нашей функции (переменная, которую принимает функция может называться как угодно, не обязательно «а», но тип и количество переменных должно совпадать)*/ /*Значение, возвращаемое функцией на место square(x) . (сама функция может содержать условные операторы, циклы и др.)*/ Результат выполнения программы:Общее определение Рекурсия - метод определения класса объектов или методов предварительным заданием одного или нескольких (обычно простых) его базовых случаев или методов, а затем заданием на их основе правила построения определяемого класса. * На примерах мы разберем только простую рекурсию функций.Общий вид рекурсии: Если (простейший случай ) тогда Решить напрямую Иначе Делать рекурсивный вызов до появления простейшего СЛУЧАЯПРОСТОЙ пример рекурсии функций: #include int count=1; int main(){ if(count int pr( int a, int b); int main(){ int a, b; printf ("Enter two integers: "); scanf ("% d%d ", &a, &b); printf ("The result is: %d

", pr(a, b)); return 0; } int pr( int a, int b){ if(b==1) return a; if(b==0) return 0; else{ return a pr(a, b-1); } } /* Прототип функции «pr »*/ /*Определение функции «pr »*/ /*Проверка на основной случай*/ /*Шаг рекурсии. Программа знает только основной случай, поэтому, выполняется снова и снова, пока «b » не принимает значен и е 1, каждый раз при этом к возвратному значению прибавляется «а»*/ Результат выполнения программы:Рекурсивная функция произведения 2х целых чисел int pr( int a, int b){ if(b==1) return a; if(b==-1) return-a; else{ if(b==0) return 0; if(b>0) return a pr(a, b-1); if(b int factorial( int n); int main (){ int n; scanf ("% d",&n ); printf ("%d!=%d\ n",n,factorial (n)); return 0; } int factorial( int n) {if (n == 0) return 1; else return (n * factorial(n-1)); } /* собственно функция, выводящая значение факториала */ /* рекурсивная функция факториала */Пример реализации функции на с Немного изменив исходную функцию можно вывести на экран все факториалы, например, до 10 ! включительно.
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?