Workshop
Quiz

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) {}

Is the following expression true or false?

True

False

What is the value of $i after this loop is run?

10

9

11
(0 and 5)  ( ("0" or 0 or "") and (6 and "Hello")) or 1
for($i=0; $i<=10; $i++) { }
Answers

b. The while (! condition ) {} syntax loops until the condition is false.

a. The expression can be reduced in these steps:

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 offbyone error.
(false)  ( ( false ) and ( true ) ) or true false  false or true true
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.