The while statement loops as long as a condition is true. What statement loops as long as a condition is false?
if (not ) {}
while (! condition ) {}
2:
Is the following expression true or false?
(0 and 5) ( ("0" or 0 or "") and (6 and "Hello")) or 1
True
False
3:
What is the value of $i after this loop is run?
for($i=0; $i<=10; $i++) { }
10
9
11
Answers
A1:
b. The while (! condition ) {} syntax loops until the condition is false.
A2:
a. The expression can be reduced in these steps:
(false) ( ( false ) and ( true ) ) or true
false false or true
true
A3:
c. The test is $i<=10 , so when the test is finally false, $i must be 11. If you got this one wrong, don't worry. It's such a common mistake that it even has a special name among programmers: a fence post error or an off-by-one error.
Activities
Modify Listing 3.1 to keep playing the game until a successful guess is made.
Listing 3.3, as it is written, is actually quite inefficient at finding primes. For example, it analyzes all the even numbers above 2 ”which cannot possibly be prime. Make additions to the algorithm to make the Primes program more efficient.