Write a program called LandThePlane that calculates whether a plane successfully lands or not.
The program begins by prompting (asking) the user for the following details, in the order shown in the example below.
Distance to airport (in metres) - an integer value
Name of the airport - text, can be more than one word
Current height (in metres) - an integer value
Current speed (in kilometres / hour) - an integer value
Current fuel (in litres) - an integer value
Next the user is prompted (asked) to enter an integer figure between -4 and +4 inclusive. This figure is the Engine change figure, which changes the speed of the plane and how fast the plane is losing height, as explained below.
Assume that the speed change occurs immediately.
This program operates in metres and seconds. First the speed must be converted from kilometres / hour to metres / sec. The conversion factor is 0.27777.
That is, 1 km / hr = 0.27777 m /s
Based on the Acceleration change figure entered by the user, the new speed is calculated, using the formula
new speed = old speed + ( old speed * Acceleration change )
This new speed is still in metres / second, and becomes the current speed.
Recall that the new speed is applied immediately.
Next the program, using the new speed, works out the new distance to the airport by subtracting how much distance has been covered, at this new speed, in 10 seconds.
The formula is:
new distance = old distance - (current speed * time)
(where time = 10 seconds)
This gives a new figure, in metres, of the distance to the airport. This figure can be negative, as is explained below.
Next, the program calculates the new height of the plane, also in meters. This figure may also be negative, as is explained below.
new height = old height - ( current speed * rate of descent * time )
time = 10 seconds
rate of descent = 0.1369
Regardless of whether the plane increases or decreases speed, the plane always loses height (goes lower)
The plane uses 200 litres of fuel every 10 seconds.
To successfully land the plane distance must be between 0 and -300 AND height must be 0 or less AND fuel must be 0 or greater AND speed must be 0 or greater.
why can distance be < 0?
0 represents the very edge of the runway, so long as the plane touches down within the first 300 metres of the runway, then it has enough runway to slow down to a stop. If the plane lands any further down the runway, then it does not have enough runway to stop in time and crashes off the end of the runway.
why can height be < 0?
We are using a time slice of 10 seconds. The plane could successfully land anywhere within this 10 second window but the calculations could show a negative value. For instance, if the plane landed successfully in the first second of the 10 second window, the program would still be calculating the change in height for the remaining 9 seconds of the time slice, so the final, displayed answer, would be negative.