Creating objects with overloaded operators allows you to use the object like a built in data type. In this lab, you will create a fraction class. By overloading its operators, you can easily use your class to solve mathematical problems related to fractions.
Part 1: Complete Fraction Class
Complete the implementation of the Fraction class provided below.
class Fraction:
#Constructor. Puts fraction in simplest form
def __init__(self,a,b):
self.num = a
self.den = b
self.simplify()
#Print Fraction as a String
def __str__(self):
if self.den==1:
return str(self.num)
else:
return str(self.num)+”/”+str(self.den)
#Get the Numerator
def getNum(self):
return self.num
#Get the Denominator
def getDen(self):
return self.den
#Give Numerical Approximation of Fraction
def approximate(self):
return self.num/self.den
#Simplify fraction
def simplify(self):
x = self.gcd(self.num,self.den)
self.num = self.num // x
self.den = self.den // x
#Find the GCD of a and b
def gcd(self,a,b):
if b==0:
return a
else:
return self.gcd(b,a % b)
#Complete these methods in lab
def __add__(self,other):
return 0
def __sub__(self,other):
return 0
def __mul__(self,other):
return 0
def __truediv__(self,other):
return 0
def __pow__(self,exp):
return 0
Complete Implementation of the following methods. All of these methods will return an instance of the Fraction class.
Add:
Subtract:
Multiply:
Divide:
Power (when k>0 and k is an integer):
Part 2: Fraction Problems
Create a file lab3.py. In this file, use your fraction class to implement functions for each of the following formula. You program should ask the user for the value of n to use in the summations.
Remember that a summation symbol just tells you to add all the values in a range.
Write functions for each of the below expressions.
Harmonic Series:
Two:
Zero:
Partial Riemann Zeta:
Your program will ask for n as input. Compute each of the functions for the given input n. When computing the Riemann Zeta function, print values for b=2,3,4,5,6,7,8.
Verify that the input is a valid number. If it is not, ask repeatedly until a valid number is given.
Once you have been given a valid input, print out the values of each of the functions in the order H, T, Z, R. See below execution trace for exact layout.
Scoring
Part 1
6pts – Add
6pts – Subtract
6pts – Multiply
6pts – True Divide
6pts – Power
Part 2
10pts – H Function
10pts – T Function
10pts – Z Function
10pts – R Function
Example Execution Trace
Welcome to Fun with Fractions!
Enter Number of iterations (integer>0):
Bad Input
Enter Number of iterations (integer>0):
10
H(10)=7381/2520
H(10)~=2.92896825
T(10)=2047/1024
T(10)~=1.99902344
Z(10)=1/1024
Z(10)~=0.00097656
R(10,2)=1968329/1270080
R(10,2)~=1.54976773
R(10,3)=19164113947/16003008000
R(10,3)~=1.19753199
R(10,4)=43635917056897/40327580160000
R(10,4)~=1.08203658
R(10,5)=105376229094957931/101625502003200000
R(10,5)~=1.03690734
R(10,6)=52107472322919827957/51219253009612800000
R(10,6)~=1.01734151
R(10,7)=650750820166709327386387/645362587921121280000000
R(10,7)~=1.00834915
R(10,8)=1632944765723715465050248417/1626313721561225625600000000
R(10,8)~=1.00407735
Delivering a high-quality product at a reasonable price is not enough anymore.
That’s why we have developed 5 beneficial guarantees that will make your experience with our service enjoyable, easy, and safe.
You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.
Read moreEach paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.
Read moreThanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.
Read moreYour email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.
Read moreBy sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.
Read more