Recursion C# and VB.Net

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:

Anonymous said...

Nice Work!
This will help!

Jin Vincent Necesario said...

thanks!

Post a Comment