<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://script.spoken-tutorial.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://script.spoken-tutorial.org/index.php?action=history&amp;feed=atom&amp;title=BASH%2FC3%2FRecursive-function%2FEnglish</id>
		<title>BASH/C3/Recursive-function/English - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://script.spoken-tutorial.org/index.php?action=history&amp;feed=atom&amp;title=BASH%2FC3%2FRecursive-function%2FEnglish"/>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=BASH/C3/Recursive-function/English&amp;action=history"/>
		<updated>2026-05-13T22:25:12Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.23.17</generator>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=BASH/C3/Recursive-function/English&amp;diff=11299&amp;oldid=prev</id>
		<title>Nancyvarkey at 15:07, 15 June 2014</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=BASH/C3/Recursive-function/English&amp;diff=11299&amp;oldid=prev"/>
				<updated>2014-06-15T15:07:18Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://script.spoken-tutorial.org/index.php?title=BASH/C3/Recursive-function/English&amp;amp;diff=11299&amp;amp;oldid=11076&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Nancyvarkey</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=BASH/C3/Recursive-function/English&amp;diff=11076&amp;oldid=prev</id>
		<title>Ashwini: Created page with ''''Title of script: Advance topics in function '''  '''Author:''' Lavitha Pereira  '''Keywords: Video tutorial, recursive function'''   {| style=&quot;border-spacing:0;&quot; | style=&quot;bord…'</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=BASH/C3/Recursive-function/English&amp;diff=11076&amp;oldid=prev"/>
				<updated>2014-06-06T06:27:33Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;#039;&amp;#039;&amp;#039;&amp;#039;Title of script: Advance topics in function &amp;#039;&amp;#039;&amp;#039;  &amp;#039;&amp;#039;&amp;#039;Author:&amp;#039;&amp;#039;&amp;#039; Lavitha Pereira  &amp;#039;&amp;#039;&amp;#039;Keywords: Video tutorial, recursive function&amp;#039;&amp;#039;&amp;#039;   {| style=&amp;quot;border-spacing:0;&amp;quot; | style=&amp;quot;bord…&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''Title of script: Advance topics in function '''&lt;br /&gt;
&lt;br /&gt;
'''Author:''' Lavitha Pereira&lt;br /&gt;
&lt;br /&gt;
'''Keywords: Video tutorial, recursive function'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| &amp;lt;center&amp;gt;'''Visual Cue'''&amp;lt;/center&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Display Slide 1&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Dear friends, welcome to the spoken tutorial on''' Recursive function.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Display Slide 2&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| In this tutorial, we will learn&lt;br /&gt;
&lt;br /&gt;
* '''What is a Recursive''' function?&lt;br /&gt;
* With the help of some examples &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Display Slide 3'''Prerequisites'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| To follow this tutorial, you should have knowledge of '''Shell Scripting''' in''' BASH.'''&lt;br /&gt;
&lt;br /&gt;
If not, for relevant tutorials please visit our website which is as shown,'''(http://www.spoken-tutorial.org)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Display Slide 4&lt;br /&gt;
&lt;br /&gt;
'''System requirements'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| For this tutorial I am using''' '''&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux''' 12.04''' '''Operating System and&lt;br /&gt;
* '''GNU BASH''' version 4.2&lt;br /&gt;
&lt;br /&gt;
Please note,''' GNU Bash''' '''version 4''' or above is recommended to practice this tutorial.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Display slide 8&lt;br /&gt;
&lt;br /&gt;
'''Recursion'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Let us see what a recursive function is.&lt;br /&gt;
&lt;br /&gt;
* A '''recursive function''' is one which calls itself&lt;br /&gt;
* '''Recursion''' is a useful technique for simplifying complex algorithms&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Let me open a file named '''factorial.sh'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Highlight &lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;nowiki&amp;gt;#!/usr/bin/env bash &amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| I have typed some code in this file.&lt;br /&gt;
&lt;br /&gt;
This is the''' shebang line.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| '''factorial() '''&lt;br /&gt;
&lt;br /&gt;
'''{ '''&lt;br /&gt;
&lt;br /&gt;
'''}'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| '''factorial '''is the function name. &lt;br /&gt;
&lt;br /&gt;
and it is an empty function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| '''factorial() { '''&lt;br /&gt;
&lt;br /&gt;
'''echo &amp;quot;We are inside a factorial function&amp;quot; '''&lt;br /&gt;
&lt;br /&gt;
'''}'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Let's write a line of code that will print a message “We are inside a factorial function”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| '''&amp;lt;nowiki&amp;gt;#main script &amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''read -p &amp;quot;Enter the number:&amp;quot; n '''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| This statement reads user's input and stores the value in variable ''''n''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| '''&amp;lt;nowiki&amp;gt;if [ $n -eq 0 ]; then &amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''echo &amp;quot;factorial value of $n is 1&amp;quot;'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Here I have an '''if-else condition.'''&lt;br /&gt;
&lt;br /&gt;
'''If '''condition checks whether the value of''' 'n'''' is '''equal to zero.'''&lt;br /&gt;
&lt;br /&gt;
If '''true, '''it will display the message '''&amp;quot;factorial value of 0 is 1&amp;quot;.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| '''else '''&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;nowiki&amp;gt;#calling factorial function &amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''factorial $n '''&lt;br /&gt;
&lt;br /&gt;
'''fi'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Here is the '''else '''part of the '''if '''statement.&lt;br /&gt;
&lt;br /&gt;
It calls the '''factorial function.'''&lt;br /&gt;
&lt;br /&gt;
'''And fi '''is the end of the '''if-else''' statement.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Switch to '''terminal'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Let us run the file''' factorial.sh.''' &lt;br /&gt;
&lt;br /&gt;
Open the '''terminal using CTRL+ALT+T '''keys simultaneously on your keyboard.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Type''' '''&lt;br /&gt;
&lt;br /&gt;
'''chmod +x factorial.sh&amp;gt;&amp;gt;'''Press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
'''dot slash factorial.sh'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Type:'''chmod space plus x space factorial dot sh'''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
Type '''dot slash factorial.sh'''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Type:'''0'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| I will enter '''0''' and press''' Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Highlight&lt;br /&gt;
&lt;br /&gt;
'''Output'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| We see the output as:&lt;br /&gt;
&lt;br /&gt;
'''factorial value of 0 is 1'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| '''dot slash factorial.sh'''&lt;br /&gt;
&lt;br /&gt;
Type:&lt;br /&gt;
&lt;br /&gt;
'''5'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Now press the '''uparrow''' key.&lt;br /&gt;
&lt;br /&gt;
Recall the previous command.&lt;br /&gt;
&lt;br /&gt;
Press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
This time, I will enter''' 5 '''and press''' Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Highlight&lt;br /&gt;
&lt;br /&gt;
'''Output'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| The output is:&lt;br /&gt;
&lt;br /&gt;
'''We are inside a factorial function.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Now let us add some more logic to the '''factorial function.'''&lt;br /&gt;
&lt;br /&gt;
We will calculate the '''factorial''' of a number.&lt;br /&gt;
&lt;br /&gt;
Come back to our code.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Type:&lt;br /&gt;
&lt;br /&gt;
'''temp=$1 '''&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;nowiki&amp;gt;if [ $temp -eq 1 ]; then &amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''echo &amp;quot;1&amp;quot; '''&lt;br /&gt;
&lt;br /&gt;
'''else '''&lt;br /&gt;
&lt;br /&gt;
'''f=$((temp-1)) '''&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;nowiki&amp;gt;#Recursive call &amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''f=$(factorial $f) '''&lt;br /&gt;
&lt;br /&gt;
'''f=$((f*temp)) '''&lt;br /&gt;
&lt;br /&gt;
'''echo $f '''&lt;br /&gt;
&lt;br /&gt;
'''fi'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Now let us replace, the echo statement inside the factorial function with the code block.&lt;br /&gt;
&lt;br /&gt;
Click on '''Save'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| '''temp=$1 '''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| '''temp '''is a variable and stores the value entered by user.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| '''&amp;lt;nowiki&amp;gt;if [ $temp -eq 1 ]; then &amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''echo “1”'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| '''If condition''' checks whether the variable value is equal to 1'''.'''&lt;br /&gt;
&lt;br /&gt;
If true, it will prints 1.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| '''else '''&lt;br /&gt;
&lt;br /&gt;
'''f=$((temp-1)) '''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| This is the '''else '''part of the '''if '''statement.&lt;br /&gt;
&lt;br /&gt;
This reduces one from the '''temp '''variable value.&lt;br /&gt;
&lt;br /&gt;
And stores the result in a variable ''''f'.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| '''&amp;lt;nowiki&amp;gt;#Recursive call &amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''f=$(factorial $f) '''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| '''Variable f '''stores the output of '''factorial function.'''&lt;br /&gt;
&lt;br /&gt;
This is a '''recursive call.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| '''f=$((f*temp)) '''&lt;br /&gt;
&lt;br /&gt;
'''echo $f '''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Value of variable f and temp is multiplied and stored in f.&lt;br /&gt;
&lt;br /&gt;
Then we print the vaue of '''f.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| '''fi '''&lt;br /&gt;
&lt;br /&gt;
'''} '''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| End of '''if-else '''statement and '''function.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Save the file and come to the '''slides.'''&lt;br /&gt;
&lt;br /&gt;
Let us understand the flow of the program.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| '''Workflow of Program'''&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;&amp;lt;/nowiki&amp;gt;Flowchart&amp;gt;&amp;gt;'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| # The value of '''n''' is taken from the user ie '''n'''&lt;br /&gt;
# If the value entered is equal to zero then it prints a message&lt;br /&gt;
# Else it goes to the function '''factorial'''&lt;br /&gt;
# Here, if the value is equal to one then it prints value as one&lt;br /&gt;
# If not, it makes a recursive call until the value is equal to one&lt;br /&gt;
# Then, all the values are multiplied and displayed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| &amp;lt;nowiki&amp;gt;[Highlight]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''./factorial.sh'''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Now come back to the terminal.&lt;br /&gt;
&lt;br /&gt;
Press the '''uparrow''' key.&lt;br /&gt;
&lt;br /&gt;
Recall the previous command.&lt;br /&gt;
&lt;br /&gt;
'''./factorial.sh'''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
Now I will enter''' 5 '''as the input value.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Output&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| We get the '''factorial '''of number 5.&lt;br /&gt;
&lt;br /&gt;
'''ie 120.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| '''Terminal'''&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;nowiki&amp;gt;[Output]&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| We can see the flow of the program on '''terminal'''. &lt;br /&gt;
&lt;br /&gt;
Analyse and trace the flow of program.&lt;br /&gt;
&lt;br /&gt;
Come back to our slides.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Display Slide 10&lt;br /&gt;
&lt;br /&gt;
Summary&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000001;border-left:1pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Let us summarise. &lt;br /&gt;
&lt;br /&gt;
In this tutorial we have learnt,&lt;br /&gt;
&lt;br /&gt;
* '''Recursive''' function&lt;br /&gt;
* With the help of some examples &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Display Slide 10&lt;br /&gt;
&lt;br /&gt;
Assignment&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| As an assignment.&lt;br /&gt;
&lt;br /&gt;
Write a program, &lt;br /&gt;
&lt;br /&gt;
* where the recursive function calculates the sum of''' N '''numbers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Display Slide 11&lt;br /&gt;
&lt;br /&gt;
http://spoken-tutorial.org /What\_is\_a\_Spoken\_Tutorial&lt;br /&gt;
&lt;br /&gt;
About the Spoken Tutorial Project&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Watch the video available at the link shown below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It summarises the Spoken Tutorial project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you do not have good bandwidth, you can download and watch it.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Display Slide 12&lt;br /&gt;
&lt;br /&gt;
Spoken Tutorial Workshops&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| The Spoken Tutorial Project Team&lt;br /&gt;
&lt;br /&gt;
* Conducts workshops using spoken tutorials&lt;br /&gt;
* Gives certificates to those who pass an online test&lt;br /&gt;
&lt;br /&gt;
For more details, please write to&lt;br /&gt;
&lt;br /&gt;
contact@spoken-tutorial.org&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Display Slide 13&lt;br /&gt;
&lt;br /&gt;
Acknowledgement&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Spoken Tutorial Project is a part of the Talk to a Teacher project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It is supported by the National Mission on Education through ICT, MHRD, Government of India.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More information on this Mission is available at: &lt;br /&gt;
&lt;br /&gt;
http://spoken-tutorial.org\NMEICT-Intro&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| Display Slide 14&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;| The script has been contributed by FOSSEE and Spoken-Tutorial teams.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is Ashwini from IIT Bombay.&lt;br /&gt;
&lt;br /&gt;
Thank you for joining.&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ashwini</name></author>	</entry>

	</feed>