# 17recursion

75 %
25 %
Education

Published on March 9, 2014

Author: fyjordan9

Source: slideshare.net

Basic Scientific Programming Recursion

Recursion   All of the examples considered thus far involved a main program referencing a subprogram or one subprogram referencing another. A subprogram may also reference itself, this is called Recursion.

Ex: n!   n! = 1 * 2* 3* … * n 0! = 1 1! = 1 2! = 1 * 2 = 2 3! = 2! * 3 = 2*3 = 6 4! = 3! * 4 = 6*4 = 24 It is clear that once one factorial has been calculated, it can be used to calculate the next one. n! = n * (n-1)!

 A function is defined recursively if the definition consists of two parts:   A base case: in which the value of the function is specified for one or more values of the argument(s) 0! = 1 A recursive step: in which the function’s value for a current value of argument is defined in terms of a previously defined function value. n>0 n! = n* (n-1)!

4!  4! = 4 * 3! 3! = 3 * 2! 2! = 2 * 1! 1! = 1* 0! 0! =1

4!  4!=4*3!=4*6=24 3!= 3*2!=3*2=6 2!=2*1!=2*1=2 1!=1*0!=1 * 1 = 1 0! =1

Notes   Subprograms may be declared to be recursive by attaching the word RECURSIVE at the beginning of the subprogram heading. For a recursive function, a RESULT clause must be attached at the end of the function heading.

Notes   Return value will be assigned to the result variable instead of the function name. The type of the function is specified by declaring the type of the result variable.

 Recursive function factorial(n) result(fact) integer:: fact integer,intent(in)::n if(n==0) then fact = 1 else fact = factorial(n-1) * n end if End Function factorial

   Fact = 1 do I = 1,5 fact = fact * I end do Nonrecursive programs may execute more rapidly and utilize less memory than corresponding recursive programs. For some problems, recursion is the most natural and straightforward technique.

Ex:  Recursive function f(n) result(f_value) integer:: f_value integer,intent(in) :: N if(n==0) then f_value = 0 else f_value = n+ f(n-1) end if end function f !Find f(5), f(0)

Ex:  recursive function f(num1,num2) result(f_val) integer:: f_value integer,intent(in):: num1,num2 if (num1>num2) then f_val = 0 Else if(num2==num1+1) then f_val = 1 Else f_val = f(num1+1,num2-1) + 2 End if end function f !! F(2,2), F(1,5), F(8,3)

xn  Recursive function f(x,n) result(x2n) integer:: x2n integer,intent(in):: x,n if(n==0) x2n = 1 else x2n = f(x,n-1) * x end if end function f

 User name: Comment:

## Related presentations

#### 1122_LED_GroepD_Presentatie

November 19, 2018

#### 1122_Stromen_en_mengen_GroepA_Presentatie

November 19, 2018

#### 7 клас 10 урок Практична робо...

November 19, 2018

#### 1122_Stromen&Mengen_GroepD_Presentatie

November 19, 2018

#### 1122_Helikopter_GroepB_Presentatie2

November 19, 2018

November 16, 2018

## Related pages

### Chapter 17. Recursion - Programming via Java: Recursion

Chapter 17. Recursion. We saw how to create methods in Chapter 12. Inside their bodies, we can include invocations of other methods. It may not have ...

### Programming via Java: Recursion examples - Toves

17. Recursion 18. Recursion examples 19. Arrays 20 ... 22. File I/O 23. Beyond the sandbox 24. Swing basics 25. More with Swing. Chapter 18. Recursion ...

### 17-Recursion - CS106X Handout 17 Autumn 2011 January 19 th ...

View Notes - 17-Recursion from CS 106X at Stanford. CS106X Handout 17 Autumn 2011 January 19 th , 2011 Recursion Today we'll start working with one of

RECURSION Please note that the material on this website is not intended to be exhaustive. This is intended as a summary and supplementary material to the ...

### 17. Recursion — How to Think Like a Computer Scientist ...

17. Recursion¶ Recursion means “defining something in terms of itself” usually at some smaller scale, perhaps multiple times, to achieve your objective.

### 17.Recursion - Example Problem 2 - YouTube

Problems on Back Substitution. ... This feature is not available right now. Please try again later.

### Chapter 17 Recursion - University of Massachusetts Amherst

Chapter 17 Recursion 17-2 Copyright © The McGraw-HillCompanies, Inc. Permission required for reproduction or display.! n i 1 Mathematical Definition:

### 17 Recursion - Bryn Mawr College

3/30/16 1 Review& • Recursion*(recursive*func.on)* – afunc.on*thatcalls*itself* – base*case* – reduc.on*of*the*work*to*asmaller*instance*

### Dars 17: Recursion - YouTube

Hada dars 17 men silisila dial drourouss bach te3allem el programmation b Java. Dourours kamlin hnaya: https://sites.google.com/site/dourous