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;
- }
- public 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