Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Boolean Logic and Nesting Ifs9-21-2010Opening DiscussionLet's look at solutions to the interclass problem.Minute essay comments:Will there be a review before the test?Various decision questions.Flying pigs.Activities.MotivationI want to have a function that tells me if two squares intersect.The function will be given the x and y location of the center of each square as well as the length of the side of each square.It should return a Boolean telling if they intersect.Conditional LogicWe talked about comparisons of values in the last class.We can also combine Boolean expressions together using Boolean logic.There are four Boolean operators:&& for and|| for inclusive or^ for exclusive or! for notShort Circuit OperatorsThe && and || operators are short circuit operators.This means that if the value is known after evaluating the first operand, the second operand won't be evaluated.This can prevent errors.Let's look at an example of this with division by zero.Nesting ifsWhat you put in an if can be any expression or statement.As a result, you can put an if inside of another if.As we will see, Scala doesn't care what you nest inside of things. You write the logic that makes sense to you and says what you want to say.The match ExpressionThere is a second conditional expression in Scala called match.expr match {case patt ern => exprcase patt ern => expr...}There are lots of options for the pattern, but the simplest one is literal values.Ray TracingNow I want to start having us write some more significant code.I want to write some functions that deal with 3-D geometry with the eventual goal of being able to do ray tracing.What could we use to represent these in Scala?VectorsPointsSpheresPlanesMinute EssayIs there anything you would like to see us code? What problems do you want to be able to solve on a computer?Interclass problem:Write functions that do some operations to vectors that we didn't get to in class using
View Full Document