首页 > > 详细

辅导Programming程序、讲解Java编程、Python,c++程序辅导讲解Java程序|解析Haskell程序

Programming Assignment 1:
Submission date: before 11:59 pm Jan 30, 2021.


The program assignment consists of two parts.
Part 1 (65 Marks):
The first part of the program reads an arithmetic operation when the user keys in one of the following forms:
a + b; a - b; a * b; a/b
where a and b can be either positive or negative integers. There may be spaces or no space between a and a valid arithmetic operation and also similarly between the valid arithmetic operation and b. Some valid examples are given below:
a + b, a + -b, a+ -b, a +-b, a+-b
-a + b, -a + -b, -a+ -b, -a +-b, -a+-b
a - b, a - -b, a- -b, a --b, a--b
-a - b, -a - -b, -a- -b, -a --b, -a--b
a * b, a * -b, a* -b, a *-b, a*-b
-a * b, -a * -b, -a* -b, -a *-b, -a*-b
a / b, a / -b, a/ -b, a /-b, a/-b
-a / b, -a / -b, -a/ -b, -a /-b, -a/-b

Your program should detect any non valid arithmetic operations by informing the user “it’s an invalid arithmetic operator” and prompting the user to retry. A maximum of three tries are given to the user and the program terminates when the user exceeds the number of tries.

In addition to the main class create two classes in this program: addSubtract and multiplyDivide.
In the main class, the program reads the user entry and first determines if the entry is valid. Next, it determines the integers a and b and also the sign of the operation. Based on the sign, they are then passed on to one of the classes.
In both addSubtract and multiplyDivide classes the arithmetic operations are carried out and also the result of the operation is printed.
In the multiplyDivide class, the output is in a Double format.

An important function in the developed program solution is testing. Your program should test for all possible valid data entries and invalid ones too. Some of the valid ones are given below
Replace a and b with any values not exceeding 1000.
a + b, a + -b, a+ -b, a +-b, a+-b
-a + b, -a + -b, -a+ -b, -a +-b, -a+-b
a - b, a - -b, a- -b, a --b, a--b
-a - b, -a - -b, -a- -b, -a --b, -a--b
a * b, a * -b, a* -b, a *-b, a*-b
-a * b, -a * -b, -a* -b, -a *-b, -a*-b
a / b, a / -b, a/ -b, a /-b, a/-b
-a / b, -a / -b, -a/ -b, -a /-b, -a/-b

In submitting your solution show proof, your program worked for all valid and invalid cases.
The grading will check for the correctness of the program (50 Marks) and testing with proof (15 marks).

Part 2 (35 Marks)

This program reads two valid arithmetic operations. Assume the arithmetic operation sign for the purposes of the description to be of & (+, -, *, /). They can be in the form of:
a & b & c. Some examples are
a + b + c,
a -b*c,
a/b*c,
a*-b /c
-a- -b*c
The classes and the rest of the description is exactly the same as in Part 1.

The following marks will be awarded for the correctness of the program (20 Marks) and testing with proof (15 marks).

You should submit the following files: Part 1, TestPart1, Part2 and. TestPart2.

Test Cases for Assignment 1

Valid Cases:
1) 823 + -145
2) -23 + -245
3) -23 *-45
4) -23 / -345
5) -23 --45
6)

Non Valid Cases
1) --23 + 45
2) -23 +* 45
3) -23 +/ 45
4) -23 -/ 45
5) -23 */ 45
6) --23 */-45
7) 23 ++45
8) 23 **5
9) 23 // 42



How about cases such as the following
10) 23 a-56
11) 23 + 67i
12) -j33 +98

Part 2.
Valid cases

1) 23+78-9
2) -23--56+9
3) 3 -8*4
4) 23/8*2
5) 934+-78*2

联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!