Midterm Assignment Date: 8/16/2011, Mon C# Name: Tangpus, Mark Vincent B.
5:30pm, M-W-F Year&Section: BSIT 4B Ortega
using System; using [Link]; using [Link]; namespace RationalNumbers { class Rational { private int numerator; private int denominator; //constructors public Rational() { numerator = 1; denominator = 1; } public Rational(int a, int b) { numerator = a; denominator = b; ReduceForm(); } //getters public int GetNumerator() { return numerator; } public int GetDenominator() { return denominator; } //setters public void SetNumerator(int a) { numerator = a; } public void SetDenominator(int b) { denominator = b; } //other methods public int ComputeGCF() { int x=numerator,y=denominator; if (numerator < 0) x = numerator * -1; if (denominator < 0) y = denominator * -1; int[] a = new int[x]; int[] b = new int[y]; int i, ii, j, jj; int counter1 = 0, counter2 = 0;
Subject: Schedule: 4:30-
IT-413
Instructor: Mr. Eric
Page 1 of 5
Midterm Assignment Date: 8/16/2011, Mon C# Name: Tangpus, Mark Vincent B. 5:30pm, M-W-F Year&Section: BSIT 4B Ortega
int gcf = 1; Boolean found = false; //get factors of numerator for (i = 1; i <= [Link]; i++) { if (numerator % i == 0) a[counter1++] = i; } //get factors of denominator for (ii = 1; ii <= [Link]; ii++) { if (denominator % ii == 0) b[counter2++] = ii; } //get Greatest Common Factor for (j = counter1 - 1; j >= 0; j--) { for (jj = counter2 - 1; jj >= 0; jj--) { if (a[j] == b[jj]) { gcf = a[j]; found = true; break; } } if (found) break; } return gcf;
Subject: Schedule: 4:30-
IT-413
Instructor: Mr. Eric
} public void ReduceForm() { int gcf = ComputeGCF(); numerator = numerator / gcf; denominator = denominator / gcf; } public void Print() { [Link]("{0}/{1}", numerator, denominator); } public void Print(int d)//1-4 decimal places { double x,y,f; x = numerator; y = denominator; f = x / y; switch (d) { case 1: [Link]("{0:f1}", f); break;
Page 2 of 5
Midterm Assignment Date: 8/16/2011, Mon C# Name: Tangpus, Mark Vincent B. 5:30pm, M-W-F Year&Section: BSIT 4B Ortega
case 2: [Link]("{0:f2}", f); break; case 3: [Link]("{0:f3}", f); break; case 4: [Link]("{0:f4}", f); break; default: break;
Subject: Schedule: 4:30-
IT-413
Instructor: Mr. Eric
} } public Rational Add(Rational addend) { return new Rational(((numerator * [Link])+ (denominator * [Link])),denominator * [Link]); } public Rational Subtract(Rational subtrahend) { int lcd; int a=1, b=1, x=1, y=1; if (denominator > [Link]) { lcd = denominator / [Link]; x = [Link] * lcd; y = [Link] * lcd; } else { lcd = [Link] / denominator; a = numerator * lcd; b = denominator * lcd; } return new Rational(a-x, b); } public Rational Multiply(Rational factor) { return new Rational(numerator * [Link], denominator * [Link]); } public Rational Divide(Rational divisor) { return new Rational(numerator * [Link], denominator * [Link]); } } }
Page 3 of 5
Midterm Assignment Date: 8/16/2011, Mon C# Name: Tangpus, Mark Vincent B. 5:30pm, M-W-F Year&Section: BSIT 4B Ortega
Subject: Schedule: 4:30-
IT-413
Instructor: Mr. Eric
using System; using [Link]; using [Link]; namespace RationalNumbers { class Program { static void Main(string[] args) { Rational a = new Rational(); [Link]("[Link]() = "); [Link](); [Link]("Enter numerator for a: "); [Link]([Link]([Link]())); [Link]("Enter denominator for a: "); [Link]([Link]([Link]())); [Link]("[Link]() = "); [Link](); [Link]("[Link]() = {0}", [Link]()); [Link](); [Link]("[Link]() = "); [Link](); [Link]("[Link](1) = "); [Link](1); [Link]("[Link](2) = "); [Link](2); [Link]("[Link](3) = "); [Link](3); [Link]("[Link](4) = "); [Link](4); Rational b = new Rational(); [Link]("Enter numerator for b: "); [Link]([Link]([Link]())); [Link]("Enter denominator for b: "); [Link]([Link]([Link]())); [Link]("[Link]() = "); [Link](); Rational c; c = [Link](b); [Link]("c = [Link](b) \t\t-> {0}/{1} + {2}/{3} = ", [Link](), [Link](), [Link](), [Link]()); [Link](); Rational d; d = [Link](b); [Link]("c = [Link](b) \t-> {0}/{1} - {2}/{3} = ", [Link](), [Link](), [Link](), [Link]());
Page 4 of 5
Midterm Assignment Date: 8/16/2011, Mon C# Name: Tangpus, Mark Vincent B. 5:30pm, M-W-F Year&Section: BSIT 4B Ortega
[Link]();
Subject: Schedule: 4:30-
IT-413
Instructor: Mr. Eric
Rational e; e = [Link](b); [Link]("c = [Link](b) \t-> {0}/{1} * {2}/{3} = ", [Link](), [Link](), [Link](), [Link]()); [Link](); Rational f; f = [Link](b); [Link]("c = [Link](b) \t-> {0}/{1} / {2}/{3} = ", [Link](), [Link](), [Link](), [Link]()); [Link](); } } } [Link]();
Page 5 of 5