Discussion 2:
Functions + Control
Course Website: cs10.org
�Grab a worksheet!
We’ll start at 4:12
Begin the group activity on the worksheet!
Question of the Day
Ask the person to your right / left about their opinions on the consumption of caffeine. Do you have it? If so, how much? Do you have coffee, tea, energy drinks, etc.?
Agenda
Logging into iClicker
Questions + Comments from Feedback Form
Worksheet Time!
Section I - Fucntions
Section I - Functions
Section I - Functions
False, because the data types are different. The left “true” is a boolean data type and the right is text.
Section I - Functions
Defining Data Types, Domain, Range
Question 2
Restricting Data Types in Snap!
Number
Text (string)
Boolean
List
Function
Can be anything! No restrictions
Q3: What are the data types, domain, range of each function:
Block | Type | Domain | Range |
| | | |
| | | |
| | | |
| | | |
What are the data types, domain, range of each function:
Block | Type | Domain | Range |
| command | number | none |
| reporter | numbers | number |
| predicate | anything | boolean |
| predicate | List, anything | boolean |
Q4: What are the data types of each function:
Function Name | Domain | Range |
foo | | |
sqrt | | |
function | | |
Q4: What are the data types of each function:
Function Name | Domain | Range |
foo | boolean | number |
sqrt | number | number |
function | number | anything |
Section II - Variables
Guess that Scope!
Guess that Scope!
Reports: 10
Guess that Scope!
Guess that Scope!
Reports: 10
Guess that Scope!
Guess that Scope!
Reports: 20
a = 10, b = 10
Guess that Scope!
Guess that Scope!
Reports: 10
a = 20, b = 10
Section III - Control Structures
Boolean + Truth Tables
Boolean + Truth Tables
Boolean + Truth Tables
True
True
False
False
True
True
False
False
True
True
False
False
True
True
False
False
Boolean + Truth Tables
True
True
False
False
True
True
False
False
True
True
False
False
True
True
False
False
True and True
True and False
False and True
False and False
True or True
True or False
False or True
False or False
Boolean + Truth Tables
True
True
False
False
True
True
False
False
True
True
False
False
True
True
False
False
True
False
False
False
True
True
True
False
Boolean + Truth Tables
Boolean + Truth Tables
a | b | (not (a or b) = false) |
True | True | |
True | False | |
False | True | |
False | False | |
Boolean + Truth Tables
a | b | (a or b) | Not (a or b) | | = false | Result |
True | True | | | | | |
True | False | | | | | |
False | True | | | | | |
False | False | | | | | |
Boolean + Truth Tables
a | b | (a or b) | Not (a or b) | | = false | Result |
True | True | (T or T) | | | | |
True | False | (T or F) | | | | |
False | True | (F or T) | | | | |
False | False | (F or F) | | | | |
Boolean + Truth Tables
a | b | (a or b) | Not (a or b) | | = false | Result |
True | True | (T or T) | Not ( ) | | | |
True | False | (T or F) | Not () | | | |
False | True | (F or T) | Not () | | | |
False | False | (F or F) | Not () | | | |
Boolean + Truth Tables
a | b | (a or b) | Not (a or b) | | = false | Result |
True | True | (T or T) | Not ( ) | | = F | |
True | False | (T or F) | Not ( ) | | = F | |
False | True | (F or T) | Not ( ) | | = F | |
False | False | (F or F) | Not ( ) | | = F | |
Boolean + Truth Tables
a | b | (a or b) | Not (a or b) | | = false | Result |
True | True | (T or T) | Not (T) | F | F=F | T |
True | False | (T or F) | Not (T) | F | F=F | T |
False | True | (F or T) | Not (T) | F | F=F | T |
False | False | (F or F) | Not (F) | T | T=F | F |
Boolean + Truth Tables
a | b | (not (a or b) = false) |
True | True | True |
True | False | True |
False | True | True |
False | False | False |
What will the following return?
What will the following return?
T
T
T
T
T
T
T
T
T
What will the following return?
T
T
T
What will the following return?
T
T
F
Because this is False the line doesn’t get run
What will the following return?
T
T
F
T
Evaluate
What will the following return?
T
T
F
F
Because this is False the line doesn’t get run
What will the following return?
T
T
F
T
T
Because this is True, we evaluate
F
What will the following return?
T
T
F
T
T
T
T
Not (T and T)
F
What will the following return?
T
T
F
T
T
T
Not (T and T)
F
What will the following return?
T
T
F
T
T
T
Not (T)
F
What will the following return?
T
T
F
T
T
T
F → so mystery(True, True) returns False
F
F
Will this ever return true?
Conditionals: Can this ever return True?
Determine with Option 1: Draw it out / Walk through it with the logic of the code
Conditionals: Can this ever return True?
Conditionals: Can this ever return True?
Conditionals: Can this ever return True?
Conditionals: Can this ever return True?
Conditionals: Can this ever return True?
Conditionals: Can this ever return True?
Conditionals: Can this ever return True?
Conditionals: Can this ever return True?
Conditionals: Can this ever return True?
Conditionals: Can this ever return True?
Conditionals: Can this ever return True?
Conditionals: Can this ever return True?
< (not a) = true >
will always return False
Conditionals: Can this ever return True?
Conditionals: Can this ever return True?
Conditionals: Can this ever return True?
Conditionals: Can this ever return True?
Determine with Option 2: Try all the True and False values for a and b, and see what gets outputted
Conditionals: Can this ever return True?
Determine with Option 3: Determine based on the truth table (but I find this way a little hard to read personally)
Truth Table
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
Conditionals
| | | | | | | |
T | T | | | | | | |
T | F | | | | | | |
F | T | | | | | | |
F | F | | | | | | |
Conditionals
| | | | | | | |
T | T | Not T | | | | | |
T | F | Not T | | | | | |
F | T | Not F | | | | | |
F | F | Not F | | | | | |
Conditionals
| | | | | | | |
T | T | F | | | | | |
T | F | F | | | | | |
F | T | T | | | | | |
F | F | T | | | | | |
Conditionals
| | | | | | | |
T | T | F | T and T | | | | |
T | F | F | T and F | | | | |
F | T | T | F and T | | | | |
F | F | T | F and F | | | | |
Conditionals
| | | | | | | |
T | T | F | T | | | | |
T | F | F | F | | | | |
F | T | T | F | | | | |
F | F | T | F | | | | |
Conditionals
| | | | | | | |
T | T | F | T | T = F | | | |
T | F | F | F | F = F | | | |
F | T | T | F | T = F | | | |
F | F | T | F | F = F | | | |
Conditionals
| | | | | | | |
T | T | F | T | F | | | |
T | F | F | F | T | | | |
F | T | T | F | F | | | |
F | F | T | F | T | | | |
Conditionals
| | | | | | | |
T | T | F | T | F | (Not T) = T | | |
T | F | F | F | T | (Not T) = T | | |
F | T | T | F | F | (Not F) = T | | |
F | F | T | F | T | (Not F) = T | | |
Conditionals
| | | | | | | |
T | T | F | T | F | F = T | | |
T | F | F | F | T | F = T | | |
F | T | T | F | F | T = T | | |
F | F | T | F | T | T = T | | |
Conditionals
| | | | | | | |
T | T | F | T | F | F | | |
T | F | F | F | T | F | | |
F | T | T | F | F | T | | |
F | F | T | F | T | T | | |
Conditionals
| | | | | | | |
T | T | F | T | F | F | T | |
T | F | F | F | T | F | T | |
F | T | T | F | F | T | T | |
F | F | T | F | T | T | T | |
Conditionals
| | | | | | | |
T | T | F | T | F | F | T | Not(T and T) |
T | F | F | F | T | F | T | Not(T and F) |
F | T | T | F | F | T | T | Not(F and T) |
F | F | T | F | T | T | T | Not(F and F) |
Conditionals
| | | | | | | |
T | T | F | T | F | F | T | Not(T) |
T | F | F | F | T | F | T | Not(F) |
F | T | T | F | F | T | T | Not(F) |
F | F | T | F | T | T | T | Not(F) |
Conditionals
| | | | | | | |
T | T | F | T | F | F | T | F |
T | F | F | F | T | F | T | T |
F | T | T | F | F | T | T | T |
F | F | T | F | T | T | T | T |
Conditionals: Blue = Statements, Red = Return Values
| | | | | | | |
T | T | F | T | F | F | T | F |
T | F | F | F | T | F | T | T |
F | T | T | F | F | T | T | T |
F | F | T | F | T | T | T | T |
Conditionals: Yellow = Currently looking at values
| | | | | | | |
T | T | F | T | F | F | T | F |
T | F | F | F | T | F | T | T |
F | T | T | F | F | T | T | T |
F | F | T | F | T | T | T | T |
Conditionals: Can this ever return True?
| | | | | | | |
T | T | F | T | F | F | T | F |
T | F | F | F | T | F | T | T |
F | T | T | F | F | T | T | T |
F | F | T | F | T | T | T | T |
Conditionals: Can this ever return True?
| | | | | | | |
T | T | F | T | F | F | T | F |
T | F | F | F | T | F | T | T |
F | T | T | F | F | T | T | T |
F | F | T | F | T | T | T | T |
Conditionals: Can this ever return True?
| | | | | | | |
T | T | F | T | F | F | T | F |
T | F | F | F | T | F | T | T |
F | T | T | F | F | T | T | T |
F | F | T | F | T | T | T | T |
Conditionals: Can this ever return True?
| | | | | | | |
T | T | F | T | F | F | T | F |
T | F | F | F | T | F | T | T |
F | T | T | F | F | T | T | T |
F | F | T | F | T | T | T | T |
Conditionals: Can this ever return True?
| | | | | | | |
T | T | F | T | F | F | T | F |
T | F | F | F | T | F | T | T |
F | T | T | F | F | T | T | T |
F | F | T | F | T | T | T | T |
Conditionals: Can this ever return True?
| | | | | | | |
T | T | F | T | F | F | T | F |
T | F | F | F | T | F | T | T |
F | T | T | F | F | T | T | T |
F | F | T | F | T | T | T | T |
Conditionals: Can this ever return True?
| | | | | | | |
T | T | F | T | F | F | T | F |
T | F | F | F | T | F | T | T |
F | T | T | F | F | T | T | T |
F | F | T | F | T | T | T | T |
This is T and returns T, but the previous if statement was also T and returned F
Conditionals: Can this ever return True?
Conditionals: Can this ever return True?
| | | | | | | |
T | T | F | T | F | F | T | F |
T | F | F | F | T | F | T | T |
F | T | T | F | F | T | T | T |
F | F | T | F | T | T | T | T |
This is T and returns T, but the previous if statement was also T and returned F
Conditionals: Can this ever return True?
| | | | | | | |
T | T | F | T | F | F | T | F |
T | F | F | F | T | F | T | T |
F | T | T | F | F | T | T | T |
F | F | T | F | T | T | T | T |
Conditionals: Can this ever return True?
| | | | | | | |
T | T | F | T | F | F | T | F |
T | F | F | F | T | F | T | T |
F | T | T | F | F | T | T | T |
F | F | T | F | T | T | T | T |
Similarly, True statements were already evaluated and returned False
Conditionals: Can this ever return True?
| | | | | | | |
T | T | F | T | F | F | T | F |
T | F | F | F | T | F | T | T |
F | T | T | F | F | T | T | T |
F | F | T | F | T | T | T | T |
So these are never evaluated either
Conditionals: Can this ever return True?
| | | | | | | |
T | T | F | T | F | F | T | F |
T | F | F | F | T | F | T | T |
F | T | T | F | F | T | T | T |
F | F | T | F | T | T | T | T |
Conditionals: Can this ever return True?
| | | | | | | |
T | T | F | T | F | F | T | F |
T | F | F | F | T | F | T | T |
F | T | T | F | F | T | T | T |
F | F | T | F | T | T | T | T |
Q&A + Feedback Form