Recursion in C# and VB.Net
Recursion is a procedure (in VB.net) or method (in C#) that calls itself with in the program either directly or indirectly. In other words, a method or procedure is said to be recursive when it contains a statement that calls itself. Moreover, defining looping constructs in these two languages like “while for loops” are used to do repetition.
To really understand, on how to use recursion I will try to give some basic examples. First one will be the Factorial and Fibonacci Series both languages will be used on this tutorial. So let’s get started.
Sample codes goes here:
C#
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
static class clsMain
{
private static int Factorial(int intNumber)
{
if (intNumber <= 1)
return 1;
else
return intNumber * Factorial(intNumber - 1);
}
private static int Fibonnacci(int intNumber)
{
if ((intNumber == 1) | (intNumber == 0))
return intNumber;
else
return Fibonnacci(intNumber - 1) + Fibonnacci(intNumber - 1);
}
public static void Main()
{
try
{
Console.WriteLine("Welcome to Recursion");
Console.WriteLine("---------------------");
Console.WriteLine("Our example Factorial Program and Fibonacci");
Console.WriteLine("---------------------");
Console.WriteLine("Enter number to get factorial");
int intNumber = int.Parse (Console.ReadLine());
string factorialAnswer = null;
factorialAnswer = string.Format("{0}!={1}", intNumber, Factorial(intNumber));
Console.WriteLine(factorialAnswer);
string fibonacciAnswer = null;
fibonacciAnswer = string.Format("Fibonacci Value is {0}", Fibonnacci(intNumber));
Console.WriteLine(fibonacciAnswer);
Console.ReadLine();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
VB.Net
Option Explicit On
Option Strict On
Module modMain
Private Function Factorial(ByVal intNumber As Integer) As Integer
If (intNumber <= 1) Then
Return 1
Else
Return intNumber * Factorial(intNumber - 1)
End If
End Function
Private Function Fibonnacci(ByVal intNumber As Integer) As Integer
If (intNumber = 1) Or (intNumber = 0) Then
Return intNumber
Else
Return Fibonnacci(intNumber - 1) + Fibonnacci(intNumber - 1)
End If
End Function
Sub Main()
Try
Console.WriteLine("Welcome to Recursion")
Console.WriteLine("---------------------")
Console.WriteLine("Our example Factorial Program and Fibonacci")
Console.WriteLine("---------------------")
Console.WriteLine("Enter number to get factorial")
Dim intNumber As Integer = Integer.Parse(Console.ReadLine())
Dim factorialAnswer, fibonacciAnswer As String
factorialAnswer = String.Format("{0}!={1}", intNumber, Factorial(intNumber))
Console.WriteLine(factorialAnswer)
fibonacciAnswer = String.Format("Fibonacci Value is {0}", Fibonnacci(intNumber))
Console.WriteLine(fibonacciAnswer)
Console.ReadLine()
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
End Sub
End Module





2 comments:
Nice Work!
This will help!
thanks!
Post a Comment