Boolean Logic and Nesting Ifs 9 21 2010 Opening Discussion Let 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 Motivation I 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 Logic We 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 not Short Circuit Operators The 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 ifs What 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 Expression There is a second conditional expression in Scala called match expr match case pattern expr case pattern expr There are lots of options for the pattern but the simplest one is literal values Ray Tracing Now I want to start having us write some more significant code I want to write some functions that deal with 3D geometry with the eventual goal of being able to do ray tracing What could we use to represent these in Scala Vectors Points Spheres Planes Minute Essay Is 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 tuples
View Full Document