บทที่ 3 ตรรกะกับระบบคอมพิวเตอร์

ตรรกะกับระบบคอมพิวเตอร์
ตรรกะ (Logic) หมายถึง เหตุผลที่ใช้ในการแก้ไขปัญหาต่างๆ เกี่ยวกับการใช้คอมพิวเตอร์ความรู้ทางด้านตรรกะเป็นพื้นฐานของการทำความเข้าใจเกี่ยวกับการทำงานของคอมพิวเตอร์และการปฏิบัติงานร่วมกับคอมพิวเตอร์ เนื่องจากทั้งระบบซอฟต์แวร์และฮาร์ดแวร์จะทำงานสัมพันธ์กับความรู้ทางด้านตรรกะ ดังนั้น ผู้ที่จะทำการเขียนโปรแกรมหรือทำงานร่วมกับระบบคอมพิวเตอร์จึงต้องทำความเข้าใจกับความรู้ทางด้านตรรกะ
ตัวดำเนินการ
ตัวดำเนินการ (Operator) คือ เครื่องหมายการกระทำที่ใช้สำหรับบอกการกระทำระหว่างตัวถูกดำเนินการ ตัวดำเนินการOperand อาจเป็นการกระทำระหว่างตัวถูกดำเนินการ 2 ตัว หรือ 1 ตัว ขึ้นอยู่กับตัวดำเนินการ ตัวดำเนินการในระบบคอมพิวเตอร์มีดังนี้
           ตัวดำเนินการทางคณิตศาสตร์
                ตัวดำเนินการหรือเครื่องหมายการกระทำทางคณิตศาสตร์ในระบบคอมพิวเตอร์ มีตัวดำเนินการหรือเครื่องหมายการกระทำดังต่อไปนี้
                    + การบวก
                    - การลบ
                    * การคูณ
                    / การหาร
                    DIV การหารโดยคิดเฉพาะจำนวนเต็มที่ได้จากการหาร
                    MOD การหารโดยคิดเฉพาะเศษที่ได้จากการหาร
           เครื่องหมายการกระทำทางคณิตศาสตร์ สำหรับการคูณ การหาร การหารโดยคิดเฉพาะจำนวนเต็มและการหารโดยเฉพาะเศษ ต้องใช้กับตัวถูกดำเนินการจำนวน 2 ตัวสำหรับใช้ในการกระทำ สำหรับเครื่องหมายการบวกและเครื่องหมายการลบ สามารถใช้ได้กับทั้งตัวถูกดำเนินการจำนวน 1 หรือ 2 ตัว ตัวอย่างของกรณีที่มีตัวดำเนินการจำนวน 2 ตัว เช่น 3+1 , 8-2 เป็นต้น กรณีที่ตัวถูกดำเนินการจำนวน 1 ตัว เช่น +3 ,-5 เป็นต้น ใช้ในกรณีสำหรับการบอกว่าค่านั้นเป็นค่าบวกหรือค่าลบ
นิพจน์
นิพจน์ (Expression) คือ กลุ่มของตัวถูกดำเนินการที่นำมาทำการกระทำกัน โดยใช้ตัวดำเนินการหรือเครื่องหมายการกระทำในการเชื่อมตัวถูกดำเนินการแต่ละตัวเข้าด้วยกัน  ตัวถูกดำเนินการอาจจะอยู่ในลักษณะของค่าคงที่หรือตัวแปร
ลำดับของการกระทำของเครื่องหมายในนิพจน์
นิพจน์สามารถประกอบด้วยตัวถูกดำเนินการหลายตัว  โดยใช้ตัวดำเนินการมากกว่าหนึ่งตัวดำเนินการ  ลำดับของการกระทำหรือการคำนวณของเครื่องหมายการกระทำของนิพจน์  ลำดับความสำคัญของตัวดำเนินการมีลำดับความสำคัญดังนี้
1.             การกระทำภายในเครื่องหมายวงเล็บ
2.             NOT, เครื่องหมายติดลบ
3.             AND,*,/, DIV,MOD
4.             OR, + ,-
5.             เครื่องหมายการกระทำเปรียบเทียบ
นินิพจน์ทางคณิตศาสตร์
พจน์ทางคณิตศาสตร์  คือ นิพจน์ที่ใช้ตัวดำเนินการหรือเครื่องหมายการกระทำทางคณิตศาสตร์  เป็นตัวบอกการกระทำของตัวถูกดำเนินการ  ตัวถูกดำเนินการที่ใช้ในนิพจน์คณิตสาสตร์จะเป็นข้อมูลที่เป็นตัวเลข  อาจจะเป็นตัวเลขที่เป็นค่าคงที่หรือตัวแปร  ผลลัพธ์ที่ได้จากนิพจน์ทางคณิตศาสตร์จะออกมาเป็นข้อมูลตัวเลข
นิพจน์ทางตรรกศาสตร์
นิพจน์ทางตรรกศาสตร์ คือ นิพจน์ที่ใช้ตัวดำเนินการหรือเครื่องหมายการกระทำทางตรรกศาสตร์หรือการเปรียบเทียบ เป็นตัวบอกการกระทำของตัวถูกดำเนินการ ตัวถูกดำเนินการที่ใช้ในนิพจน์ตรรกศาสตร์ ถ้าตัวดำเนินการเป็นตัวดำเนินการทางตรรกศาสตร์ ตัวถูกดำเนินการจะเป็นข้อมูลที่เป็นข้อมูลทางตรรกศาสตร์ ถ้าตัวดำเนินการเป็นตัวดำเนินการเปรียบเทียบตัวถูกดำเนินการจะเป็นข้อมูลที่เป็นตัวเลข โดยตัวถูกดำเนินการสามารถเป็นได้ทั้งตัวเลขและค่าคงที่ผลลัพธ์ที่ได้จากนิพจน์ทางตรรกศาสตร์จะออกมาเป็นข้อมูลทางตรรกศาสตร์ คือ เป็นจริงหรือเป็นเท็จ เท่านั้น
นิพจน์ทางตรรกศาสตร์นำมาใช้ในส่วนของซอฟต์แวร์ กรณีที่ใช้เป็นเงื่อนไขสำหรับการตัดสินใจในการทำงานว่า จะเลือกทำคำสั่งใดเป็นคำสั่งในลำดับถัดไปหรือย้อนกลับไปทำงานในคำสั่งใด
ตัวอย่าง 3 จากนิพจน์ (3>5) and (2<10) or (4<0) ผลลัพธ์ที่ได้จากนิพจน์นี้ คือ จากนิพจน์ ลำดับของการกระทำคือ
          (3>5)and(2<10)or(4<0) = False and True or False
                                             = False or False
                                             = False
ผลลัพธ์ที่ได้จากนิพจน์นี้คือ False
ตัวอย่าง 4 จากนิพจน์(3>5) and ((2<10) or (4<0)) ผลลัพธ์ที่ได้จากนิพจน์นี้ คือ จากนิพจน์ ลำดับของการกระทำคือ
          (3>5) and ((2<10) or (4<0)) = False and (True or False)
                                             = False and True
                                             = False
ผลลัพธ์ที่ได้จากนิพจน์นี้คือ False
ตรรกะกับซอฟต์แวร์
          การนำตรรกะมาใช้กับการเขียนโปรแกรม ใช้สำหรับกรณีที่ต้องการให้การทำงานของโปรแกรมเลือกทำงานตามที่ต้องการ หรือทำงานให้เหมาะสมกับข้อมูลในขณะนั้น ข้อมูลตรรกะจะใช้เป็นเงื่อนไขที่ใช้ในการตรวจสอบว่าเป็นจริงหรือเป็นเท็จ เพื่อนำไปใช้สำหรับเลือกลักษณะการทำงานของซอฟต์แวร์ ลักษณะการนำตรรกะไปใช้งานร่วมกับการเขียนโปรแกรมสามารถแสดงได้ดังนี้
แสดงการใช้งานนิพจน์ทางตรรกศาสตร์สำหรับการทำงานแบบเลือกทำ

จากรูปข้างต้นจะ เป็นการนำตรรกะไปใช้ร่วมกับซอฟต์สำหรับการเลือกทำงาน โดยใช้ตรรกะเป็นเงื่อนไขที่ใช้สำหรับการตรวจสอบการเลือกทำ ถ้าผลที่ได้จากการกระทำทางตรรกะเป็นจริงจะเลือกทำงานอย่างหนึ่ง แต่ถ้าผลที่ได้จากการกระทำทางตรรกะเป็นเท็จจะเลือกทำงานในอีกลักษณะหนึ่ง
        
แสดงการใช้นิพจน์ทางตรรกศาสตร์สำหรับการทำงานแบบทำซ้ำ
         จากรูปข้างต้นจะ เป็นการนำตรรกะไปใช้ร่วมกับซอฟต์แวร์สำหรับการทำงานแบบทำซ้ำโดยใช้ตรรกะเป็นเงื่อนไขที่ใช้สำหรับการตรวจสอบการทำซ้ำ การทำงานจะมี 2 ลักษณะ คือ ทำการตรวจสอบเงื่อนไขก่อนการทำซ้ำ และอีกกรณีหนึ่ง คือ ทำการทำซ้ำก่อนแล้วจึงค่อยทำการตรวจสอบเงื่อนไข
ตรรกะกับฮาร์ดแวร์
ฮาร์ดแวร์ของระบบคอมพิวเตอร์เป็นลักษณะของวงจรดิจิทัล  (Digital  Circuit) การทำงานของระบบดิจิทัลมีลักษณะการทำงานอยู่  2 สถานะ คือ เปิดและปิด  การทำงานจึงสัมพันธ์กับเลขฐานสอง คือ 0 และ 1 โดนแทนเลข 1 ด้วยสถานะเปิดแทนเลข 0 ด้วยสถานะปิด นอกจากนั้นยังสัมพันธ์กับทางตรรกศาสตร์  โดยเซตของคำตอบข้อมูลตรรกศาสตร์มี 2 ค่า คือ เป็นจริงและเป็นเท็จ
ตัวแปร
ตัวแปร หมายถึง ตัวอักษรหรือสัญลักษณ์ที่ใช้แทนค่าที่สามารถทำการเปลี่ยนแปลงได้ ค่าที่ตัวแปรสามารถเปลี่ยนแปลงได้มีเพียง 2 ค่า เท่านั้น คือ 0 และ 1
ลอจิกฟังก์ชัน
ลอจิกฟังก์ชัน หมายถึง สมการที่ใช้สำหรับแสดงการทำงานของตรรกะของตัวแปรต่าง ๆ ที่นำมากระทำกันโดยใช้เครื่องหมายการกระทำทางตรรกะ
ลอจิกเกต
ในวงจรดิจิทัล  ลอจิกเกต (Logic Gate) หมายถึง อุปกรณที่ทำหน้าที่สำหรับการกระทำการทางตรรกะ  ลอจิกเกตมีอยู่ 2 ด้าน คือ ด้านที่เป็นสัญญาณเข้า  และด้านที่เป็นสัญญาณออก  ลักษณะการทำงานของลอจิกเกตแต่ละชนิดมีดังต่อไปนี้
แอนด์เกต
ลักษณะการทำงานของแอนด์เกต  จำให้สัญญาณออกหรือผลลัพธ์มีค่าออกมาเป็น 1
A
                                                                 Y                          Y  =  A · B
B
รูปแสดงสัญลักษณ์และการเขียนสมการของแอนด์เกต
ออร์เกต
ลักษณะการทำงานของออร์เกต  จะให้สัญญาณออกหรือผลลัพธ์มีค่าออกมาเป็น 1  เมื่อสัญญาณเข้าเพียงหนึ่งสัญญาณมีค่าเป็น 1 ถ้าสัญญาณเข้าทุกสัญญาณเป็น 0  จะให้ค่าของสัญญาณเป็น 0 หมด  สัญลัษณ์และลักษณะการทำงานสามารถแสดงได้ดังนี้
A
                                                                 Y                          Y  =  A · B
B
รูปแสดงสัญลักษณ์และการเขียนสมการของออร์เกต
นอตเกต
ลักษณะการทำงานของ นอตเกต จะให้สัญญาณออกหรือผลลัพธ์มีค่าออกมาเป็นค่าตรงข้ามกับสัญลักษณ์เข้าที่ส่งให้กับนอตเกต  คือสัญญาณเข้าเป็น 1 ผลลัพธ์ที่ได้จะแสดงค่าเป็น 0  สัญลักษณ์และลักษณะการทำงานสามารถแสดงได้ดังนี้
A                                o             Y                                        Y = A
รูปแสดงสัญลักษณ์และการเขียนสมการของ นอตเกต
แนนด์เกต
ลักษณะการทำงานของ แนนด์เกต จะให้สัญญาณออกหรือผลลัพธ์มีค่าออกมาเป็น 0 เมื่อสัญญาณเข้าทุกสัญญาณมีค่าเป็น 1 ถ้าสัญญาณเข้าสัญญาณหนึ่งมีค่าเป็น 0 จะให้ค่าของสัญญาณทั้งหมดออกมาเป็น 0 สัญลักษณ์และลักษณะการทำงานสามารถแสดงได้ดังนี้
A
                                                    o             Y                          Y  =  A · B
B
รูปแสดงสัญลักษณ์และการเขียนสมการของ แนนด์เกต
นอร์เกต
ลักษณะการทำงานของ นอร์เกต  จะให้สัญญาณหรือผลลัพธ์มีค่าออกมาเป็น 0 เมื่อสัญญาณเข้าเพียงหนึ่งสัญญาณมีค่าเป็น 1 ถ้าสัญญาณเข้าทุกสัญญาณเป็น 0 จะให้ค่าของสัญญาณออกมาเป็น 1 หมด  สัญลักษณ์และลักษณะการทำงานสามารถแสดงได้ดังนี้
A
                                                   o              Y                          Y  =  A + B
B
รูปแสดงสัญลักษณ์และการเขียนสมการของนอร์เกต
เอกซ์ครูซีพออร์เกต
ลักษณะการทำงานของ เอกซ์ครูซีพนอร์เกต จะให้สัญญาณออกหรือผลลัพธ์มีค่าออกมาเป็น 0เมื่อสัญญาณเข้ามีลักษณะของสัญญาณที่เหมือนกัน คือ เป็น 1 เหมือนกัน หรือเป็น 0 เหมือนกัน และให้ค่าสัญญาณออกมามีค่าเป็น 1 เมื่อสัญญาณเข้ามีลักษณะของสัญญาณที่ต่างกันสัญญาณเข้าสามารถมีได้ 2 สัญญาณ  สัญลักษณ์และลักษณะการทำงานสามารถแสดงได้ดังนี้
A
                                                                 Y                          Y =  A   +   B
B
รูปแสดงการทำงานของ เอกซ์ครูซีพออร์เกต
ลอจิกฟังก์ชันกับวงจรลอจิก
การเขียนการทำงานในลักษณะของลอจิกฟังก์ชัน  สามารถนำเขียนเป็นวงจรลอจิกได้โดยพิจารณาจากการกระทำทางลอจิกภายในลอจิกฟังก์ชัน  ในทางกลับกันสำหรับการเขียนลอจิกฟังก์ชันจากวงจรลอจิก  สามารถทำได้โดยพิจารณาการทำงานของลอจิกเกตแต่ละตัวในวงจรแล้วนำมาเขียนเป็นลอจิกฟังก์ชันรวมสำหรับการทำงานของวงจรออจิก


แบบฝึกหัด

1.ข้อใดคือตัวดำเนินการทางคณิตศาสตร์ในระบบคอมพิวเตอร์
ก.      DIV
ข.      AND
ค.      OR
ง.       =
2.ข้อใดคือตัวดำเนินการทางตรรกศาสตร์ในระบบคอมพิวเตอร์
ก.      MOD
ข.      AND
ค.      DIV
ง.       >
3.ข้อใดคือตัวดำเนินการเปรียบเทียบในระบบคอมพิวเตอร์
ก.      =
ข.      >
ค.      <
ง.       ถูกทุกข้อ
4.ลำดับดารทำงานของเครื่องหมายในข้อใด จะทำงานเป็นลำดับสุดท้าย
ก.      DIV
ข.      *
ค.      +
ง.       /
5.ตัวดำเนินการทางตรรกศาสตร์ของระบบคอมพิวเตอร์ในข้อใด มีการทำงานตรงกับตัวเชื่อมทางตรรกศาสตร์ “ไม่”
ก.      MOD
ข.      NOT
ค.      AND
ง.       OR
6.จากนิพจน์ 2 * 3 + 4 * 2 มีค่าเท่ากับข้อใด
ก.      28
ข.      22
ค.      20
ง.       14
7.จากนิพจน์ 2 + 5 DIV 3 มีค่าเทท่ากับข้อใด
ก.      3
ข.      4
ค.      False
ง.       True
8.ผลที่ได้จากนิพจน์ในข้อใด จะมีค่าออกมาเป็นข้อมูลทางตรรกศาสตร์
ก.      3 + 5 – 4 DIV 1
ข.      3 – 8 > 1 + 2
ค.      (8 > 5) OR (3 < 2)
ง.       ถูกทั้งข้อ ข. และข้อ ค.
9.ตรรกะได้รับการนำมาประยุกต์ใช้งานในระบบคอมพิวเตอร์ทางด้านใดบ้าง
ก.      ทางด้านซอฟต์แวร์เพียงอย่างเดียว
ข.      ทางด้านฮาร์ดแวร์เพียงอย่างเดียว
ค.      ทั้งด้านซอฟต์แวร์และฮาร์ดแวร์
ง.       ไม่สามารถนำมาประยุกต์ใช้งานได้
10.การทำงานของระบบดิจิทัล จะมีสถานการณ์ทำงานอยู่ที่สถานะ
ก.      1 สถานะ คือ เปิด
ข.      2 สถานะ คือ เปิดและปิด
ค.      2สถานะ คือ เปิดและไม่สนใจ
ง.       4 สถานะ คือ เปิด, ปิด, ไม่สนใจ และความต้านทานสูง
เฉลย
1.             ก.
2.             ข.
3.             ง.
4.             ค.
5.             ข.
6.             ง.
7.             ก.
8.             ง.
9.             ค.
10.           ข.