Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การนำประตูตรรกะ (Logic Gates) ไปใช้ใน Python

ในบทความนี้ เราจะเรียนรู้เกี่ยวกับการนำประตูตรรกะ (Logic Gates) ไปใช้ใน Python มาดูรายละเอียดของแต่ละประตูตรรกะพร้อมตัวอย่างที่เข้าใจง่ายกัน

เราทุกคนคุ้นเคยกับการนำประตูตรรกะไปใช้ในการประมวลผลสัญญาณไฟฟ้า และใช้กันอย่างแพร่หลายในอุตสาหกรรมไฟฟ้าและอิเล็กทรอนิกส์ โดยใช้ในไดโอดและทรานซิสเตอร์ เพื่อให้สามารถออกแบบวงจรได้ด้วยการจัดวางอุปกรณ์อิเล็กทรอนิกส์เหล่านี้อย่างเหมาะสม ในบทความนี้ เราจะเรียนรู้การนำประตูพื้นฐานบางประเภท เช่น 'AND', 'OR', 'NOT', 'NAND', 'NOR' ไปใช้ใน Python 3.x หรือเวอร์ชันก่อนหน้า

ประตูเหล่านี้สามารถนำไปใช้ได้โดยการสร้างฟังก์ชันที่ผู้ใช้กำหนดเอง (user-defined functions) ซึ่งออกแบบให้สอดคล้องกับตารางความจริง (truth table) ที่เกี่ยวข้องกับแต่ละประตู

การสร้างประตู AND ใน Python

ตัวอย่างโค้ด

def AND(a, b):
    if a == 1 and b == 1:
        return True
    else:
        return False

# ฟังก์ชันหลัก
if __name__ == '__main__':
    print(AND(0, 0))
    print(AND(1, 0))
    print(AND(0, 1))
    print(AND(1, 1))

ผลลัพธ์

False
False
False
True

การสร้างประตู OR ใน Python

ตัวอย่างโค้ด

def OR(a, b):
    if a == 1:
        return True
    elif b == 1:
        return True
    else:
        return False

# ฟังก์ชันหลัก
if __name__ == '__main__':
    print(OR(0, 0))
    print(OR(1, 0))
    print(OR(0, 1))
    print(OR(1, 1))

ผลลัพธ์

False
True
True
True

การสร้างประตู NOT ใน Python

ตัวอย่างโค้ด

def NOT(a):
    if a == 0:
        return 1
    elif a == 1:
        return 0

# ฟังก์ชันหลัก
if __name__ == '__main__':
    print(NOT(0))
    print(NOT(1))

ผลลัพธ์

1
0

การสร้างประตู NAND ใน Python

ตัวอย่างโค้ด

def NAND(a, b):
    if a == 1 and b == 1:
        return False
    else:
        return True

# ฟังก์ชันหลัก
if __name__ == '__main__':
    print(NAND(0, 0))
    print(NAND(1, 0))
    print(NAND(0, 1))
    print(NAND(1, 1))

ผลลัพธ์

True
True
True
False

การสร้างประตู NOR ใน Python

ตัวอย่างโค้ด

def NOR(a, b):
    if a == 0 and b == 0:
        return True
    elif a == 0 and b == 1:
        return False
    elif a == 1 and b == 0:
        return False
    elif a == 1 and b == 1:
        return False

# ฟังก์ชันหลัก
if __name__ == '__main__':
    print(NOR(0, 0))
    print(NOR(1, 0))
    print(NOR(0, 1))
    print(NOR(1, 1))

ผลลัพธ์

True
False
False
False

สรุป

ในบทความนี้ เราได้เรียนรู้วิธีนำประตูตรรกะไปใช้ใน Python 3.x หรือเวอร์ชันก่อนหน้า รวมถึงได้รู้จักกับประตูสากล (universal gates) 2 ประเภท คือ NAND และ NOR