Attempt these exercises to test your understanding. Don't worry if you struggle while working on them. Struggling and then reviewing the material will help you remember it.
Take note of any problem here or topic from this chapter that you don't understand. Take a break and return to the problem. Do you see it in a new way or have a better understanding? If not, try spending five minutes researching the topic. Start with this book and if you still have questions, ask one on the internet or Slack/Discourse. You're not the first person to learn to code and you're definitely not the first person to ask a question or get stuck!
Declare and initialize the following variables for our space shuttle
Variable Name | Value |
---|---|
engineIndicatorLight | red blinking |
spaceSuitsOn | true |
shuttleCabinReady | true |
crewStatus | spaceSuitsOn && shuttleCabinReady |
computerStatusCode | 200 |
shuttleSpeed | 15000 |
Examine the code below. What will be printed to the console?
Use the value of engineIndicatorLight
defined above to answer this
question.
1if (engineIndicatorLight === "green") {
2 console.log("engines have started");
3} else if (engineIndicatorLight === "green blinking") {
4 console.log("engines are preparing to start");
5} else {
6 console.log("engines are off");
7}
Write conditional expressions to satisfy the safety rules.
Use the variables defined from the table above to satisfy the rules listed below.
crewStatus
true
, print "Crew Ready"
"Crew Not Ready"
computerStatusCode
200
, print
"Please stand by. Computer is rebooting."
400
, print "Success! Computer online."
"ALERT: Computer offline!"
shuttleSpeed
> 17500
, print
"ALERT: Escape velocity reached!"
< 8000
, print
"ALERT: Cannot maintain orbit!"
"Stable speed"
PREDICT
Do these code blocks produce the same result? Answer Yes or No.
1if (crewStatus && computerStatusCode === 200 && spaceSuitsOn) {
2 console.log("all systems go");
3} else {
4 console.log("WARNING. Not ready");
5}
1if (!crewStatus || computerStatusCode !== 200 || !spaceSuitsOn) {
2 console.log("WARNING. Not ready");
3} else {
4 console.log("all systems go");
5}
Monitor the shuttle's fuel status.
Implement the checks below using if
/ else if
/ else
statements. Order is important when working with conditionals, and the
checks below are NOT written in the correct sequence. Please read ALL of the
checks before coding and then decide on the best order for the conditionals.
fuelLevel
is above 20000 AND engineTemperature
is at or below
2500, print "Full tank. Engines good."
fuelLevel
is above 10000 AND engineTemperature
is at or below
2500, print "Fuel level above 50%. Engines good."
fuelLevel
is above 5000 AND engineTemperature
is at or below
2500, print "Fuel level above 25%. Engines good."
fuelLevel
is at or below 5000 OR engineTemperature
is above
2500, print "Check fuel level. Engines running hot."
fuelLevel
is below 1000 OR engineTemperature
is above 3500 OR
engineIndicatorLight
is red blinking, print "ENGINE FAILURE
IMMINENT!"
"Fuel and engine status pending..."
Try It
Run your code several times to make sure it prints the correct phrase for each set of conditions.
fuelLevel | engineTemperature | engineIndicatorLight | Result |
---|---|---|---|
Any | Any | red blinking |
ENGINE FAILURE IMMINENT! |
21000 | 1200 | NOT red blinking |
Full tank. Engines good. |
900 | Any | Any | ENGINE FAILURE IMMINENT! |
5000 | 1200 | NOT red blinking |
Check fuel level. Engines running hot. |
12000 | 2600 | NOT red blinking |
Check fuel level. Engines running hot. |
18000 | 2500 | NOT red blinking |
Fuel level above 50%. Engines good. |
Final bit of fun!
The shuttle should only launch if the fuel tank is full and the engine check is OK. However, let's establish an override command to ignore any warnings and send the shuttle into space anyway!
Create the variable commandOverride
, and set it to be true
or
false
.
If commandOverride
is false
, then the shuttle should only launch
if the fuel and engine check are OK.
If commandOverride
is true
, then the shuttle will launch
regardless of the fuel and engine status.
Code the following if
/ else
check:
If fuelLevel
is above 20000 AND engineIndicatorLight
is NOT
red blinking OR commandOverride
is true print "Cleared to
launch!"
Else print "Launch scrubbed!"