Computer Science & Software Engineering |
CSCI 135 |
Part 1: Distance Between Two Points
The straight line distance between two points (x1, y1) and (x2, y2) on a Cartesian coordinate plane is given by the equation:
Your program will take in the values of the x1, y1 and x2, y2 points as integers from the command line. It must then calculate the distance between the two points. For example, if the input was 0 0 3 4, your program would calculate and output the distance between (0, 0) and (3, 4) which is 5. Of course, the answer should be something else if the arguments on the command line are different.
In Java, to take the square root of a number, say x, use the static helper method:
Math.sqrt(x)
To raise a number x to a power, say 2, you can use:
The output from your program should be formatted exactly as below, with the command line input shown between parentheses and the result of your equation at the end:Math.pow(x, 2)
Name your program Distance.java.The distance between (0, 0) and (3, 4) is 5.0
Part 2: Birthday Wizard
Given a person's year of birth and a target age, both from the command line, calculate what year they will be (or were) that age. For example, if your command line input was 1999 and 21, your output should look like:
Name this program Birthday.java.You will (or did) turn 21 in the year 2020.
Part 3: Boolean Logic
Three sensors are attached to a printing device, with three alarms attached to the sensors. The first sensor, "A," detects if the device needs ink. The second sensor, "B," detects if the device needs repair. The third sensor, "C," detects if the device is jammed.
If the device jams or needs repair, alarm 1 sounds. If the device jams or is short on ink, alarm 2 sounds. If two or more problems occur at once, alarm 3 sounds.
The command line arguments should contain values for each of the sensors. These are boolean values, either true or false. In order to convert a String to a boolean value, use Boolean.parseBoolean(var_name).
The table below shows which alarms sound based on the sensors. 0 represents false and 1 represents true.
SensorA | SensorB | SensorC | Alarm1 | Alarm2 | Alarm3 |
---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 1 | 0 |
0 | 1 | 0 | 1 | 0 | 0 |
0 | 1 | 1 | 1 | 1 | 1 |
1 | 0 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 1 | 1 | 1 |
1 | 1 | 0 | 1 | 1 | 1 |
1 | 1 | 1 | 1 | 1 | 1 |
Your program should print out the value of each of the alarms, depending on the input sensor values. This must be done using boolean logic, not just 8 print statements. For example, if sensor A is false, sensor B is true, and sensor C is false, alarm 1 should sound and the other two should not. The output should look like::
Name this program Logic.java.Alarm 1: true Alarm 2: false Alarm 3: false
Grading Each of the three programs is worth 10 points each, for a total of 30 points. For each program, you will be graded according to the following criteria:
Grade Item | Distance | Birthday | Logic | Points Earned |
---|---|---|---|---|
Program Compiles | 2 | 2 | 2 | |
Program Runs | 2 | 2 | 2 | |
Header Comment | 2 | 2 | 2 | |
Program Runs Correctly (including correctly formatted output) | 4 | 4 | 4 |
Page last updated: August 15, 2019