0% found this document useful (0 votes)
18 views4 pages

Sheet 5 Assignment

This document contains 4 problems related to object-oriented programming concepts. Problem 1 involves designing an Account class with fields and methods for account ID, balance, interest rate, deposits, withdrawals, and monthly interest. Problem 2 involves designing a Fan class with fields and methods for fan speed, power status, radius, color, and string representation. Problem 3 involves designing a QuadraticEquation class to solve quadratic equations based on discriminant. Problem 4 involves designing a RegularPolygon class with fields and methods for number of sides, side length, position, perimeter, and area calculations.

Uploaded by

ajokemone
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views4 pages

Sheet 5 Assignment

This document contains 4 problems related to object-oriented programming concepts. Problem 1 involves designing an Account class with fields and methods for account ID, balance, interest rate, deposits, withdrawals, and monthly interest. Problem 2 involves designing a Fan class with fields and methods for fan speed, power status, radius, color, and string representation. Problem 3 involves designing a QuadraticEquation class to solve quadratic equations based on discriminant. Problem 4 involves designing a RegularPolygon class with fields and methods for number of sides, side length, position, perimeter, and area calculations.

Uploaded by

ajokemone
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Egyptian Russian University

Faculty of Artificial intelligence


CS201: Object Oriented Programming
2nd Year

Fall 2023

Sheet#5

Problem 1:

(The Account class) Design a class named Account that contains:

■ A private int data field named id for the account (default 0).
■ A private double data field named balance for the account (default 0).
■ A private double data field named annualInterestRate that stores the current interest rate
(default 0). Assume all accounts have the same interest rate.

■ A no-arg constructor that creates a default account.


■ A constructor that creates an account with the specified id and initial balance.

■ The accessor and mutator methods for id, balance, and annualInterestRate.

■ A method named getMonthlyInterestRate() that returns the monthly interest rate.


■ A method named getMonthlyInterest() that returns the monthly interest.
■ A method named withdraw that withdraws a specified amount from the account.
■ A method named deposit that deposits a specified amount to the account.

(Hint: The method getMonthlyInterest() is to return monthly interest, not the interest rate.
Monthly interest is balance * monthlyInterestRate. monthlyInterestRate is annualInterestRate
/ 12. Note that annualInterestRate is a percentage, e.g., like 4.5%. You need to divide it by
100.)

Write a test program that creates an Account object with an account ID of 1122, a balance of
$20,000, and an annual interest rate of 4.5%. Use the withdraw method to withdraw $2,500,
use the deposit method to deposit $3,000, and print the balance, the monthly interest, and
the date when this account was created.
Problem 2:

(The Fan class) Design a class named Fan to represent a fan. The class contains:
■ Three constants named SLOW, MEDIUM, and FAST with the values 1, 2, and 3 to denote
the fan speed.
■ A private data field named speed that specifies the speed of the fan (the default is
SLOW).
■ A private boolean data field named on that specifies whether the fan is on (the default is
false).
■ A private double data field named radius that specifies the radius of the fan (the default
is 5).
■ A private string data field named color that specifies the color of the fan (the default is
blue).

■ The accessor and mutator methods for all four data fields.

■ A no-arg constructor that creates a default fan.

■ A method named toString() that returns a string description for the fan. If the fan is on,
the method returns the fan speed, color, and radius in one combined string. If the fan is
not on, the method returns the fan color and radius along with the string “fan is off” in one
combined string.

Write a test program that creates two Fan objects. Assign maximum speed, radius 10,
color yellow, and turn it on to the first object. Assign medium speed, radius 5, color blue,
and turn it off to the second object. Display the objects by invoking their toString method.
Problem 3:

(Algebra: quadratic equations) Design a class named QuadraticEquation for


a quadratic equation ax2 + bx + x = 0. The class contains:

• Private data fields a, b, and c that represent three coefficients.


• A constructor for the arguments for a, b, and c.
• Three getter methods for a, b, and c
• A method named Discriminant() that returns the discriminant, which is
b2 - 4ac.
• The methods named calcRoot1() and calcRoot2() for returning two roots of
the equation

These methods are useful only if the discriminant is non negative. Let these
methods return 0 if the discriminant is negative.

Write a test program that prompts the user to enter values for a, b, and c and
displays the result based on the discriminant. If the discriminant is positive,
display the two roots. If the discriminant is 0, display the one root. Otherwise,
display “The equation has no roots.”
Problem 4:

(Geometry: n-sided regular polygon) In an n-sided regular polygon, all sides


have the same length and all angles have the same degree (i.e., the polygon
is both equilateral and equiangular). Design a class named RegularPolygon
that contains:
■ A private int data field named n that defines the number of sides in the
polygon with default value 3.
■ A private double data field named side that stores the length of the side
with default value 1.
■ A private double data field named x that defines the x-coordinate of the
polygon’s center with default value 0.
■ A private double data field named y that defines the y-coordinate of the
polygon’s center with default value 0.
■ A no-arg constructor that creates a regular polygon with default values.
■ A constructor that creates a regular polygon with the specified number of
sides and length of side, centered at (0, 0).
■ A constructor that creates a regular polygon with the specified number of
sides, length of side, and x- and y-coordinates.

■ The accessor and mutator methods for all data fields.


■ The method getPerimeter() that returns the perimeter of the polygon.
■ The method getArea() that returns the area of the polygon. The formula
for computing the area of a regular polygon is Area =

Write a test program that creates three RegularPolygon objects, created using
the no-arg constructor, using RegularPolygon(6, 4), and using
RegularPolygon(10, 4, 5.6, 7.8). For each object, display its perimeter and
area.

You might also like