Write and fully test a class that represents rational numbers. A rational number can be represented as the ratio of two integer values, a and b, where b is not zero. The class has attributes for the numerator and denominator of this ratio. The ratio should always be stored in its simplest form. That is, any common factor of a and b should be removed. For example, the rational number 40/12 should be stored as 10/3. Solution to Project 9 The class has the following constructors and methods: A default constructor that sets the rational number to 0/1. A constructor that has parameters for the numerator and denominator and converts the resulting ratio to simplified form. simplify—a private method that converts the rational number to simplified form. getGCD(x, y)—a private static method that returns the largest common factor of the two positive integers x and y, that is, their greatest common divisor. For example, the greatest common divisor of 40 and 12 is 4.
getValue—returns the rational number as a double value. toString—returns the rational number as a string in the form a/b.
Trending nowThis is a popular solution!
Step by stepSolved in 4 steps with 1 images
- In this question, we will bake a class. Create a class Cake , with the following instance attributes: • name (a string) • ingreds (a list of strings) • price (a float) The Cake class has also the following methods: • Write a constructor that takes as input a string indicating the cake name, and a list of strings indicating the cake ingredients. (No docstring needed.) The constructor uses these values to initialize the attributes accordingly. Note that each cake should be assigned a random price between $10.00 (inclusive) and $15.00 (exclusive). You may import random . Moreover, a cake must contain at least three or more ingredients. If this is not the case, the constructor should raise a ValueError . For this constructor, do not worry about making a copy of the input array. You can simply copy the reference received as input into the corresponding attribute. 1 • Write a method (including docstring) called __str__ which returns a string containing the name of the cake and its price…arrow_forwardCreate a base class and also a class that is derived from the base class. The base class needs to very generic, but would expect at least 4 data items. You must code getters and setters but it is OK to code in-line methods in the same file as this class. The derived class should use the public access specification. The code can be based on anything you like. Examples could be: Base Class Derived Class Music Instrument Trumpet Cake Birthday or Wedding Cake Animal Bear, Cat, or more general such as mammal, fish, etcAssignment:1. In your main code, create an instance variable based on your base class and also an instance variable based on your derived class.2. Set variable values for each instance. ( Call the setters).3. Create a method that will display the values in both objects and call that method. This method should not be part of these classes. For this step, you pass both instances ( as 2 parameters ) to the method and the…arrow_forwardDesign a class called Stopwatch. The job of this class is to simulate a stopwatch. It should provide two methods: Start and Stop. We call the start method first, and the stop method next. Then we ask the stopwatch about the duration between start and stop. Duration should be a value in TimeSpan. Display the duration on the console. We should also be able to use a stopwatch multiple times. So we may start and stop it and then start and stop it again. Make sure the duration value each time is calculated properly. We should not be able to start a stopwatch twice in a row (because that may overwrite the initial start time). So the class should throw an InvalidOperationException if its started twice. 1arrow_forward
- Computer Networking: A Top-Down Approach (7th Edi...Computer EngineeringISBN:9780133594140Author:James Kurose, Keith RossPublisher:PEARSONComputer Organization and Design MIPS Edition, Fi...Computer EngineeringISBN:9780124077263Author:David A. Patterson, John L. HennessyPublisher:Elsevier ScienceNetwork+ Guide to Networks (MindTap Course List)Computer EngineeringISBN:9781337569330Author:Jill West, Tamara Dean, Jean AndrewsPublisher:Cengage Learning
- Concepts of Database ManagementComputer EngineeringISBN:9781337093422Author:Joy L. Starks, Philip J. Pratt, Mary Z. LastPublisher:Cengage LearningPrelude to ProgrammingComputer EngineeringISBN:9780133750423Author:VENIT, StewartPublisher:Pearson EducationSc Business Data Communications and Networking, T...Computer EngineeringISBN:9781119368830Author:FITZGERALDPublisher:WILEY