What are Logic Gates?
Logic gates are electronic devices that perform Boolean operations.
They receive one or more binary inputs (0 or 1) and produce a single binary output.
These gates form the foundation of all digital systems, including computers, mobile devices, and other technologies.
Popcorn Hack
Question:
What are methods of real-world purpose that using logic gates can implement?
Answer:
Logic gates are used in real-world systems like:
- Authorization systems: (AND gate) requiring keycard AND PIN to allow access ensures high security.
 - Automatic doors: (OR gate) activating if motion sensor OR button press detects a user, improving accessibility.
 - Thermostats: (NOT gate) turning systems off when reaching a temperature limit prevents overheating.
 - Self-driving cars: (NAND/NOR gates) combining multiple conditions like obstacle presence and speed for safe driving decisions.
 - Memory Checking: (XOR gate) detecting changes in stored data to prevent corruption.
 
These impacts make systems smarter, safer, and more reliable.
Popcorn Hack 2
Question:
A digital circuit receives three binary inputs: X, Y, and Z. The circuit outputs 1 if and only if X AND Y are both 1, OR Z is 1.
Answer:
 Correct expression:
A. (X AND Y) OR Z
Homework Hack: Authorization System
Task:
Expand the secure entry system to also require voice authorization.
def secure_entry_system(keycard, pin):
    def AND(a, b):
        return a & b  # AND logic
    return AND(keycard, pin)
# Test cases
print(secure_entry_system(1, 1))  # Expected Output: 1 (Access Granted)
print(secure_entry_system(0, 1))  # Expected Output: 0 (Access Denied)
def secure_entry_system(keycard, pin, voice):
    """Grant access only if all three credentials are present (1)."""
    def AND(a, b, c):
        return a & b & c  # 3-input AND logic
    return AND(keycard, pin, voice)
# Test cases
print(secure_entry_system(1, 1, 1))  # Expected: 1 (Access Granted)
print(secure_entry_system(1, 1, 0))  # Expected: 0 (Access Denied)
print(secure_entry_system(1, 0, 1))  # Expected: 0 (Access Denied)
print(secure_entry_system(0, 1, 1))  # Expected: 0 (Access Denied)