Notes

Ben, Nico, Luke, Arnav

  • Boolean binary variable: only two possible values, "true" or "false"
  • Relational operators: =, >, <, ≠, ≥, and ≤
  • Python uses != instead of ≠
  • Algorithm: A finite set of instructions that accomplish a specific task
  • if statement: go through certain statements if the if expression is true
  • if-else statement: go through a statement no matter what, but the statement which is run depends on the if expression is true or false
  • use flowcharts to help organize the process of conditional statements
  • Nested conditional: A conditional inside of a conditional
  • used in algorithms in order to print specific data or run certain tasks
  • use conditionals inside conditionals to create further conditions in algorithms
  • flowcharts help display an diagram of what we want a code segment to do

For hacks, make a copy of this notebook and answer the questions or complete the code, as described in comments. Additionally, blog about any missed questions, or what you learned from this lesson.

3.5 Hacks

Binary Practice

Using psuedocode operators determine if the statements are true or false. The number type will be indicated in parentheses.

√ = answer

1. 90(Decimal) = 1000(Binary)

  • A. True
  • B. False √

2. 10(D) ≠ 0110(B)

  • A. True √
  • B. False

3. 56(D) ≥ 111000(B)

  • A. True √
  • B. False

4. 99(D) < 1110011(B)

  • A. True √
  • B. False

Now, complete the binary truth tables

AND Operator
Value 1 Value 2 Result
1 1 1
1 0 0
0 1 0
0 0 0
OR Operator
Value 1 Value 2 Result
1 1 1
0 0 1
0 1 1
0 0 0
Not operator
Not Value Result
Not 1 0
Not 0 0

Python Practice

print(20 == 30) # How can you change the operator to print a value of False? 
# Answer: by changing it to the equal sign because 20 does not equal 30, so it would return as false

x = 30
y = 20
z = 10
print(x >= y + z) # How can this return true by only manipulating the operator?
# changing to a greater than or equal to sign so 30 = 30 

# Manipulate the variables x, y, and z to make the below statement return true
# added y to z, so 30 == 30 
print(x == z + y)
False
True
True

3.6 Hacks

AP Prep

1. What is displayed by this code?

  • result <-- 75
  • IF result < 80 { DISPLAY("Please schedule a retake.") }
  • ELSE { DISPLAY("Nice job!") }
  1. Nice job!
  2. Display
  3. Please schedule a retake. √
  4. 75

2. How is an if statement different from an if-else statement.

  1. Extra words.
  2. An if statement will only go through a process if a condition is met. An if-else statement will go through code no matter the conditions. √
  3. They are the exact same.
  4. An if statement will go through the entire code segment every single time and the if-else statement is always used in an algorithm, no matter the conditions.

3. What would be most appropriate for this situation? Ben wants to check his bank account. If his car fuel is full, he will go to the bank. Otherwise, he will go home. If he goes to the bank, he will withdraw money only if his balance is above $1000.

  1. If statement
  2. If-else statement √

4. What would be most appropriate for this situation? Luke wants to play basketball. If it is sunny outside he will go to the park to play basketball.

  1. If statement √
  2. If-else statement

Using Python

animals = ["lion", "camel", "tiger", "wildebeest", "shark", "jellyfish", "blobfish", "raven"]

for i in animals:
    if i == "shark": # What boolean value does this statement cause?
        print("Fun Fact: The smallest shark is the dwarf lantern shark, and it is small enough to hold in your hand!")
    else:
        print(i)
for a in animals: 
    if a == "camel": 
        print("If an animal lives in the desert, the animal will see spiders and snakes! ")
# Practice
# Using only one more if statement, alter the code to print out a statement saying if an animal lives in the desert, based on booleans
lion
camel
tiger
wildebeest
Fun Fact: The smallest shark is the dwarf lantern shark, and it is small enough to hold in your hand!
jellyfish
blobfish
raven
If an animal lives in the desert, the animal will see spiders and snakes! 

3.7 Hacks

Exercise 1

  • Create dictionaries for multiple food items, with the listed specifications
    • Chicken Alfredo, Meat: Chicken, Time to Prepare: 60 minutes
    • Cheese Quesadilla, Meat: None, Time to Prepare: 10 minutes
    • Beef Wellington, Meat: Beef, Time to Prepare: 150 minutes
  • Used nested conditionals, determine which meal you can cook, given that a) you have no meat at home, and b) you only have 30 minutes to make the meal
chicken_alfredo = {'meat': 'chicken' , 'time to prepare': '60 minutes'}
print (chicken_alfredo)

print(type(chicken_alfredo))


cheese_quesadilla = {'meat': 'none' , 'time to prepare': '10 minutes'}
print (cheese_quesadilla)

print(type(cheese_quesadilla))



beef_wellington = {'meat': 'beef' , 'time to prepare': '150 minutes'}
print (beef_wellington)

print(type(beef_wellington))

D = {'chicken_alfredo': {'meat': 'chicken' , 'time to prepare': '60 minutes'}, 
     'cheese_quesadilla': {'meat': 'none' , 'time to prepare': '10 minutes'},
     'beef_wellington': {'meat': 'beef' , 'time to prepare': '150 minutes'}}
D['chicken_alfredo'] = {'meat': 'no meat at home', 'time to prepare': '30 minutes'}

print(D)
{'meat': 'chicken', 'time to prepare': '60 minutes'}
<class 'dict'>
{'meat': 'none', 'time to prepare': '10 minutes'}
<class 'dict'>
{'meat': 'beef', 'time to prepare': '150 minutes'}
<class 'dict'>

Exercise 2

MyFlowchart

Make a flowchart(here is one we used) and write pseudocode for the following scenario.

  • Mr. Yeung would like to grade live reviews.
  • He wants to see if each student has at least 2 issues on their project. If they don't they receive a score of 2.0.
  • If they have at least 2 issues, check that they have completed at least 5 of their scrumboard tasks.
  • If they have completed 5 scrumboard tasks, give the student a 2.7. If they have not completed 5 scrumboard tasks, give them a score of 2.5. If they have completed more than 5 tasks, give them a score of 3.0.
  • How much would a student with 3 issues and 1 complete scrumboard task receive?

A student with 3 issues and 1 complete scrumboard task would receive a score of 2.0 because they do not have atleast more than 5 scrumboard tasks.

Reflection:

After this lesson, I learned how to create and write a flowchart in pseudocode while given a scenario. I also learned how to use a dictionary and use nested conditionals. I learned how to use if and if-else statements, and the difference between the two. An if statement is when you go through certain statements if the if expression is true. Whereas, if-else statement are when you go through a statement no matter what, but the statement which is run depends on the if expression is true or false. I learned how to read and interpret different types of operators, AND, OR, and not through the binary truth practice. The binary truth practice was difficult initially, however, I understood it after my group explained it to me. I followed a tutorial to use nested conditionals in my Python dictionary, which was helpful since I was new to using and coding nested conditionals.