## CS 1401, Exam #2

Date: Thursday, October 6, 2005
Name (please type legibly, ideally in block letters): ______________________________________________________________________

Exactly 10 years ago, on October 6, 1995, astronomers discovered the first planet outside the Solar system. This planet rotates around a star named 51 Pegasi in the constellation of Pegasus, 47.9 light-years away from Earth.

1. A light-year is the distance that requires 1 year for a light to travel. Write down a method named yearsToDays that, given the time in years, returns the corresponding amount of time in days. Remember that 1 year = 365.25 days. Trace your method, on the example of 2 years, and show that your method correctly computes the value 730.50.

```

```
2. If the variable distance has the initial value 47.9, and we run the following sequence of statements, what will be the resulting values of the variables distance, far, and close:
```int far = distance * 10.0;
int close = ((int) distance)/10;
close++;
--close;
```
What is the advantage of using close++ instead of close = close + 1?

```

```
3. The original story in El Paso Times about the planet discovery had a typo: instead of "Pegasi" it erroneously had "Centauri". Write a method that, given a string story in which the word "Centauri" appears exactly once, returns a corrected string, in which the word "Centauri" is replaced with "Pegasi".

```

```
4. By now, several planets have already been discovered. Let us assume that you have discovered two planets, at distances distance1 and distance2 from Earth. Write a piece of code that will sort these values in increasing order, i.e., if distance1 is larger than distance2 (e.g., 15 > 10), it will swap the values of the two variables.

```

```
5. Astronomers have discovered three planets, at distances distance1, distance2, and distance3. Write down a method record1 that, given these three distances, returns the value "true" or "false" depending on whether the planet 1 is the farthest from Earth.

```

```
6. What are the reasonable test cases for the method you developed for Problem 5? Explain your answer.

```

```
7. Let us assume that the distances to different planets in light-years are stored, line by line, in a file planets.dat. Write down a piece of code that, given this file, produces a new file days.dat in which the same distances are listed in light-days.

```

```
8. Define a class Planet with three fields name, distance, and radius, constructor method, and methods which return the planet's area and volume. Use constant(s) and methods from the Math package.

Reminder:

• the area of a sphere is equal to 4 times PI times its radius squared;
• the volume of a spherical planet is (4/3) times PI times the radius cubed; use a method from the Math package to compute the third power of the radius.