Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace NeetaAssignment
- {
- class FunctionCalculator
- {
- private double Lower;
- private double Upper;
- private int Steps;
- // Constructor Overriding
- public FunctionCalculator()
- {
- }
- public FunctionCalculator(double LowerLimit, double UpperLimit, int steps)
- {
- this.Lower = LowerLimit;
- this.Upper = UpperLimit;
- this.Steps = steps;
- }
- // Get and Set method for lower limit,upper limit and steps
- // get and return method for lower limit,upper limit,and steps
- public double getLowerLimit()
- {
- return this.Lower;
- }
- public double getUpperLimit()
- {
- return this.Upper;
- }
- public double getsteps()
- {
- return this.Steps;
- }
- // Set method for lower limit,upper limit,and steps
- public void setLowerLimit(double a)
- {
- this.Lower = a;
- }
- public void setUpperLimit(double b)
- {
- this.Upper = b;
- }
- public void setsteps(int c)
- {
- this.Steps = c;
- }
- //Now write method for given function which will return value
- public virtual double Funct(double X)
- {
- double function;
- function = 2 / (1 + 4 * X * X);
- return function;
- }
- double GetStepsize ()
- {
- double Stepssize = ((Upper - Lower) / Steps);
- return Stepssize;
- }
- //one more method for integration as Simpson Calculation
- public double CalculateSimpson()
- {
- double Stepssize = GetStepsize ();
- double Simpson = 0;
- for (double i = Lower; i <= Upper; i = i + Stepssize)
- {
- double a = i;
- double b = i + Stepssize;
- Simpson = Simpson + ((b - a) / 6) * (Funct(a) + 4 * Funct((a + b) / 2) + Funct(b));
- }
- return Simpson;
- }
- public double CalculateMidpointRule()
- {
- double Stepssize = ((Upper - Lower) / Steps);
- double MidPoint = 0;
- for (double i = Lower; i <= Upper; i = i + Stepssize)
- {
- double a = i;
- double b = i + Stepssize;
- MidPoint = MidPoint + ((b-a) * Funct((a + b) / 2));
- }
- return MidPoint;
- }
- public double CalculateTrapeziumRule()
- {
- double Stepssize = ((Upper - Lower) / Steps);
- double Trapezium = 0;
- for (double i = Lower; i <= Upper; i = i + Stepssize)
- {
- double a = i;
- double b = i + Stepssize;
- Trapezium = Trapezium + ((b - a) / 2)*(Funct(a) + Funct(b));
- }
- return Trapezium;
- }
- public void GetResult()
- {
- Console.WriteLine(" \n Lower Limit={0}\n upperlimit={1} \n Steps={2} \n ", Lower, Upper, Steps);
- }
- }
- class Class2 : FunctionCalculator
- {
- public override double Funct(double X)
- {
- double function;
- function = Math.Sin(X);
- return function;
- }
- }
- class MainClass
- {
- public static void Main (string[] args)
- {
- FunctionCalculator c = new FunctionCalculator();
- Console.WriteLine(" Enter Lower Limit");
- c.setlowerlimit(Convert.ToDouble(Console.ReadLine()));
- Console.WriteLine(" Enter Upper Limit");
- c.setupperlimit(Convert.ToDouble(Console.ReadLine()));
- Console.WriteLine(" Enter Steps");
- c.setsteps(Convert.ToDouble(Console.ReadLine()));
- double Simpson = c.CalculateSimpson();
- c.GetResult();
- Console.WriteLine("Simpson=" + Simpson);
- /*
- Class2 C1 = new Class2();
- Console.WriteLine(" Enter Lower Limit");
- C1.setlowerlimit(Convert.ToInt32(Console.ReadLine()));
- Console.WriteLine(" Enter Upper Limit");
- C1.setupperlimit(Convert.ToInt32(Console.ReadLine()));
- Console.WriteLine(" Enter Steps");
- C1.setsteps(Convert.ToInt32(Console.ReadLine()));
- double Simpson1 = C1.CalculateSimpson();
- C1.GetResult();
- Console.WriteLine("Simpson 1=" + Simpson1);
- */
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement