===== CS 111 - Week 3 Labs - 2024-09-13 ===== ===== TODAY WE WILL ===== * announcements/prep for next class * quick mention: check-within * review clicker questions * Week 3 Lab Exercise ===== * should be finishing Homework 2, or at least get first attempts in by 11:59 pm tonight, Friday, September 13; * will send class e-mail when Homework 3 is posted * deadline will be 11:59 pm on Friday, September 20 ===== check-within ===== * can be useful when testing a function that returns a number with a fractional part! (because when representing a real number in a computer, the computer may have to approximate it -- the computer can't represent ALL of the significant digits of a repeating decimal, for example) * check-expect expects an expression to test, and an expression with the same value (hopefully!); * the arguments' values have to be EXACTLY equal for the test to pass * check-within still has those first two arguments, but also adds a third: the acceptable difference between the first 2 arguments * the difference between the first two arguments' values needs to be less than or equal to the acceptable value to pass * when writing a test using check-within, you decide what is "close enough" to be considered a passing test, based on what's appropriate for that function and how it is to be used; ;===== ; fails, because (/ 1 3) is not EXACTLY the same as 0.3333333 (check-expect (/ 1 3) 0.3333333) ;===== ; passes, because (/ 1 3) is within 0.01 of 0.3333333 (check-within (/ 1 3) 0.3333333 0.01) ;===== ; fails, because (/ 1 3) is NOT within 0.00000001 of 0.3333333 (check-within (/ 1 3) 0.3333333 0.00000001)