=====
CS 111 - Week 13 Lecture 1 - 2024-11-19
=====
=====
TODAY WE WILL:
=====
* announcements
* intro to while loop!
* prep for next class
* should be working on Homework 10!
* at-least-first-attempts due by 11:59 pm this Friday, November 22
* YES, there IS lab, with a lab exercise, on Friday, November 22!
=====
intro to while loops
(the while statement)
=====
* syntax:
while (bool_expr)
statement;
statement_after;
* but remember, a block "counts" as a single statement,
so MUCH more commonly:
while (bool_expr)
{
statement1;
...
statementN;
}
statement_after;
* semantics:
1. the bool_expr is evaluated
2. if true, the while's statement/body is done
...then go back to step 1
if false, you're done with this loop --
...continue AFTER the loop's statement/body
* the statement (typically the block) for a while
statement is often called its body
* note that something in the while's body
NEEEEEEDS to eventually be able to ensure that
its bool_expr eventually becomes false!
* otherwise? you get an INFINITE loop
(it won't stop until YOU stop it,
something overflows, the operating system stops
it, something crashes, etc....!)
* frequently:
* the bool_expr will involve a local variable
* that local variable is changed in the loop body
* that change (or combination of changes) eventually
leads the bool_expr to be false
=====
SIDE NOTES: when your function has side-effects!
=====
* when your function has side-effects,
you are expected to describe them in your purpose statement
(also add a "has the side-effect(s)" part)
* when your function has side effects,
you are expected to describe them as best you can in
your tests (yes, this gets a bit kluge-y...!)
* and you need to add additional cout statement(s) to
describe those side-effects in a testing main function
as well
* for example: see today's example function cheer
=====
additional notes about while statements:
=====
* MOST COMMON ERRORS:
* going ONE TOO MANY times
* going ONE TOO FEW times
* going ZERO times (when you meant to repeat)
* never stopping...! <-- infinite loop