ในบทความนี้ เราจะเรียนรู้เกี่ยวกับการนำประตูตรรกะ (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