1. Diserete(บรรยาย)
1.1. บทที่ 1 ตรรกศาสตร์
1.1.1. ประพจน์ และ ค่าความจริงของประพจน์
1.1.2. ตัวดำเนินการตรรกะ
1.1.3. NOT
1.1.4. AND , OR , XOR
1.1.5. ถ้า...แล้ว
1.1.6. ก็ต่อเมื่อ
1.1.7. การสมมูลกันของประพจน์
1.2. บทที่ 2 ตรรกศาสตร์ 2
1.2.1. การสมมูล
1.2.1.1. สัจนิรันดร์
1.2.1.2. การขัดแย้ง
1.2.2. ประโยคเปิด(Open Sentence)
1.2.3. การให้เหตุผล (Argument)
1.3. บทที่ 3 เซต
1.3.1. เซต
1.3.1.1. กลุ่มของสิ่งต่างๆ ไม่ว่าจะเป็น คน สัตว์ สิ่งของ ซึ่งเราจะเรียกสมาชิกในกลุ่มว่า “สมาชิกของเซต
1.3.2. สัญลักษณ์ที่ใช้แทนเซตของจำนวนต่างๆ
1.3.2.1. I แทนเซตของจำนวนเต็ม I- แทนเซตของจำนวนเต็มลบ I+ แทนเซตของจำนวนเต็มบวก N แทนเซตของจำนวนนับ Q แทนเซตของจำนวนตรรกยะ R แทนเซตของจำนวนจริง
1.3.3. การเขียนอธิบายเซต
1.3.3.1. การเขียนแบบแจกแจงสมาชิก
1.3.3.2. การเขียนแบบบอกเงื่อนไข
1.3.4. รูปแบบของเซต
1.3.4.1. เซตว่าง (Empty Set)
1.3.4.2. เซตจำกัด (Finite Set)
1.3.4.3. เซตอนันต์ (Infinite Set)
1.3.5. ความสัมพันธ์ของเซต
1.3.5.1. เซตที่เท่ากัน (Equal Sets)
1.3.5.2. เซตที่เทียบเท่ากัน (Equivalent Sets)
1.3.6. สับเซต (Subset)
1.3.6.1. ข้อกำหนด เซต A เป็นสับเซตของเซต B ก็ต่อเมื่อ สมาชิกทุกตัวของเซต A เป็นสมาชิกของเซต B เขียนแทนด้วย A B เซต A ไม่เป็นสับเซตของเซต B ก็ต่อเมื่อ มีสมาชิกบางตัวของเซต A ไม่เป็นสมาชิกของเซต B เขียนแทนด้วย A B
1.3.6.2. ข้อควรจำ เป็นสับเซตของทุกเซต นั่นคือ ถ้า A เป็นเซตใดๆแล้ว A (เซตว่างเป็นสับเซตของทุกเซตเสมอ) เซตทุกเซตเป็นสับเซตของตัวเอง นั้นคือ ถ้า A เป็นเซตใดๆแล้ว A A
1.3.6.3. นิยามสับเซตแท้ เซต A จะเป็นสับเซตแท้ของเซต B ก็ต่อเมื่อ A B และ A B
1.3.6.4. จำนวนสับเซต ถ้า A เป็นเซตที่มีสมาชิก n ตัว จำนวนสับเซตของเซต A จะมี 2n เซต และในจำนวนนี้จะเป็นสับเซตแท้ 2n – 1 เซต
1.3.7. เพาเวอร์เซต (Power Set)
1.3.7.1. เพาเวอร์เซตของเซต A
1.3.7.2. จำนวนสมาชิกของเพาเวอร์เซตของเซตจำกัดจะเท่ากับ 2n เมื่อ n เป็นจำนวนสมาชิกของเซตนั้น
1.3.8. การเขียนแผนภาพเวนน์ – ออยเลอร์ (Venn – Euler Diagrams)
1.3.8.1. เป็นการเขียนแผนภาพแทนเซต เพื่อทำให้เราสามารถศึกษาเรื่องเกี่ยวกับเซตได้ง่ายและเข้าใจได้ดียิ่งขึ้น
1.3.8.2. การเขียนแผนภาพเวนน์นั้น จะใช้รูปปิดสี่เหลี่ยมมุมฉากแทน เอกภพสัมพัทธ์ (U) และรูปปิดวงกลม หรือ วงรีแทนสับเซตของ เอกภพสัมพัทธ์
1.3.8.3. แผนภาพแสดงความสัมพันธ์ระหว่างเซต A กับเซต B แบ่งเป็นกรณีต่างๆ ได้ 5 กรณี
1.3.9. การกระทำกันระหว่างเซต (Operation of set)
1.3.9.1. การกระทำระหว่างเซตใดๆด้วยตัวกระทำ (Operation code)เกิดเป็นเซตใหม่ขึ้น
1.3.10. ยูเนียน (Union)
1.3.10.1. การยูเนียนระหว่างเซต A กับเซต B จะได้เซตใหม่ที่มีสมาชิกประกอบไปด้วย สมาชิกทั้งหมดที่ได้จากเซต A หรือ สมาชิกทั้งหมดที่ได้จากเซต B
1.3.11. อินเตอร์เซคชัน (Intersection)
1.3.11.1. การอินเตอร์เซคชันระหว่างเซต A กับเซต B จะได้เซตใหม่ที่มีสมาชิกประกอบไปด้วย สมาชิกที่ซ้ำซ้อนกันของเซต A และ เซต B
1.3.12. คอมพลีเมนต์ (Complements)
1.3.12.1. ถ้า A เป็นเซตใดๆในเอกภพสัมพัทธ์ U คอมพลีเมนต์ของเซต A จะได้เซตใหม่ที่ประกอบด้วยสมาชิกในเอกภพสัมพัทธ์ที่ไม่เป็นสมาชิกของเซต A
1.3.13. ผลต่าง (difference)
1.4. บทที่ 4 ความสัมพันธ์ (Relations)
1.4.1. คู่อันดับ
1.4.2. ผลคูณคาร์ทีเชียน
1.4.3. ความสัมพันธ์ทวิภาค (Binary Relations)
1.4.4. ส่วนเติมเต็มของความสัมพันธ์ (Complementary Relations)
1.4.5. อินเวอร์สของความสัมพันธ์ (Inverse Relations)
1.4.6. การแทนความสัมพันธ์
1.4.7. ความสัมพันธ์บนเซต
1.4.7.1. ความสัมพันธ์เอกลักษณ์ (identity relation)
1.4.7.2. ความสัมพันธ์สะท้อน (reflexive)
1.4.7.3. ความสัมพันธ์สมมาตร (Symmetric)
1.4.7.4. ความสัมพันธ์ปฏิสมมาตร (Antisymmetric)
1.4.7.5. ความสัมพันธ์ไม่สมมาตร (asymmetric)
1.4.7.6. ความสัมพันธ์ถ่ายทอด (transitive)
1.4.8. ความสัมพันธ์สมมูล
1.4.8.1. ความสัมพันธ์สมมูล (Equivalence Relations)
1.4.8.2. ชั้นสมมูล (Equivalence Classes)
1.4.8.3. ผลแบ่งกั้น (Partition)
1.4.8.4. ความสัมพันธ์ประกอบ (Composite Relation)
1.5. บทที่ 5 ฟังก์ชัน (Function)
1.5.1. ความหมายของฟังก์ชัน
1.5.2. การกำหนดฟังก์ชัน
1.5.3. ตรวจสอบการเป็น/ไม่เป็นฟังก์ชัน
1.5.4. คำศัพท์เกี่ยวกับฟังก์ชัน
1.5.5. คุณสมบัติของฟังก์ชันจาก A ไป B
1.5.5.1. ฟังก์ชันหนึ่งต่อหนึ่งจาก A ไป B
1.5.5.2. ฟังก์ชันจาก A ไปทั่วถึง B
1.5.5.3. ฟังก์ชันสมนัยหนึ่งต่อหนึ่งจาก A ไป B
1.5.6. ฟังก์ชันผกผัน
1.5.7. ฟังก์ชันคอมโพสิท
1.5.8. พีชคณิตของฟังก์ชัน
2. Diserete (แลป)
2.1. บทที่ 1 ทฤษฏีจำนวน (Number Theory)
2.1.1. ทฤษฏีจำนวน
2.1.1.1. ในบทนี้เรามาทำความรู้จักกับภาษา Python เบื้องต้น เพื่อเป็นพื้นฐานในการเขียนโปรแกรม และทำความเข้าใจวิชาดิสครีตได้ดียิ่งขึ้น โดยเสนอเรื่องการเขียนข้อความอธิบายในโปรแกรม, การแสดงผลออกทางหน้าจอ, การสร้างและกำหนดค่าให้ตัวแปร, ตัวดำเนินการทางคณิตศาสตร์ และการแก้สมการเบื้องต้นโดยใช้ภาษา Python
2.1.1.2. หมายเหตุ การคำนวณ ค.ร.น., ห.ร.ม. อยู่ในบทฟังก์ชัน
2.1.2. การเขียนข้อความอธิบายในโปรแกรม
2.1.2.1. การเขียนข้อความอธิบายในโปรแกรม ใช้เครื่องหมาย # หรือ ''' โดยข้อความจะไม่ถูกนำไปประมวลผล เครื่องหมาย # และ ''' ใช้งานแตกต่างกันดังนี้ # ใช้กับการเขียนข้อความอธิบายในโปรแกรมเพียง 1 บรรทัด โดยข้อความที่อยู่หลังเครื่องหมาย # จะ เปลี่ยนเป็นคำอธิบายทั้งหมด ''' ใช้กับการเขียนข้อความอธิบายในโปรแกรมหลายบรรทัด โดยข้อความที่อยู่ระหว่างเครื่องหมาย ''' ''' จะเปลี่ยนเป็นคำอธิบายทั้งหมด
2.1.3. การแสดงผลออกทางหน้าจอ
2.1.3.1. การแสดงผลออกทางหน้าจอ นิยมใช้คำสั่ง print( ) สามารถใช้แสดงผลกับข้อมูลชนิดต่าง เช่น ข้อความตัวเลข, ตัวแปร หรือผสมกัน
2.1.4. การสร้างและกำหนดค่าตัวแปร
2.1.4.1. การสร้างตัวแปร หรือการประกาศตัวแปร คือ การจองเนื้อที่ในหน่วยความจำของคอมพิวเตอร์เพื่อใช้สำหรับเก็บค่า ๆ หนึ่ง โดยผู้เขียนโปรแกรมจะกำหนดค่าให้ตัวแปรด้วยเครื่องหมาย ( = ) เช่น a = 13
2.1.5. ตัวดำเนินการทางคณิตศาสตร์
2.2. บทที่ 2 ตรรกศาสตร์ (Logic)
2.2.1. ตัวดำเนินการเปรียบเทียบ (Comparison Operators)
2.2.1.1. การเปรียบเทียบ (Boolean) เป็นการเปรียบเทียบค่าด้านซ้ายและด้านขวาของตัวดำเนินการต่าง ๆ ซึ่งเครื่องหมายที่ใช้ในการเปรียบเทียบ (Operator) เป็นคนละกลุ่มกับตัวดำเนินการทางคณิตศาสตร์ (Arithmetic Operator) ที่ได้ผลลัพธ์เป็นตัวเลขสอนในบทที่แล้ว สำหรับบทนี้การเปรียบเทียบจะแสดงค่าผลลัพธ์ออกเป็นค่าความจริง ได้แก่ จริง (True) และเท็จ (False) ในภาษา Python
2.2.2. ประพจน์ (Propositions)
2.2.2.1. ประพจน์ (Propositions) คือ ประโยคบอกเล่าหรือข้อความที่เป็นจริง (True) หรือเท็จ (False) อย่างใดอย่างหนึ่งเท่านั้น และเรียก “จริง (True)” และ “เท็จ (False)” ว่าเป็นค่าความจริงของประพจน์
2.2.3. การจัดย่อหน้า
2.2.3.1. ภาษา Python เป็นภาษาที่มีการบังคับการใช้ย่อหน้า (indentation) ตามไวยากรณ์ (Syntax) ของคำสั่ง ซึ่งการจัดการย่อหน้ามีผลต่อการประมวลผลคำสั่ง และทำให้มีผลลัพธ์ที่ได้แตกต่างกัน คำสั่งที่ถูกย่อหน้านั้น จะทำงานภายใต้คำสั่ง if , else , def , for เป็นต้น
2.2.4. การตัดสินใจแบบมีเงื่อนไข
2.3. บทที่ 3 เซต (Set)
2.3.1. ลิสต์ (list)
2.3.1.1. ลิสต์ในภาษา Python สามารถเก็บข้อมูลในลิสต์ได้หลายตัว โดยที่แต่ละตัวไม่จำเป็นต้องเป็นชนิดเดียวกันก็ได้ แต่ถ้าผู้ใช้ไม่ใช้ลิสต์ผู้ใช้จะต้องสร้างตัวแปรขึ้นมาหลายตัว เท่ากับจำนวนข้อมูล
2.3.2. For
2.3.2.1. ในภาษา Python จะมีคำสั่ง for เป็นคำสั่งที่ใช้ในการวนซ้ำ ในช่วงของการทำงาน for จนกว่าเงื่อนไขทางตรรกศาสตร์จะเป็นเท็จ โดยมีการกำหนดช่วงการทำงาน ต่ำสุด และ มากสุด เป็นจำนวนครั้ง คำสั่งที่ถูกทำซ้ำ จะถูกใส่เข้าภายใน for โดยกลุ่มคำสั่งเหล่านี้จะต้องอยู่ในย่อหน้าเสมอ โดยทั่วไปเราจะใช้ for ร่วมกับคำสั่ง in และฟังก์ชัน range
2.3.3. Set
2.3.3.1. เซต (Set) ใช้แทนกลุ่มของข้อมูลต่าง ๆ โดยสมาชิกที่อยู่ภายในเซต อาจเป็นตัวเลข หรือตัวอักษรก็ได้และลำดับการเรียงลำดับของสมาชิกในเซตนั้นไม่มีความสำคัญสำหรับผู้ใช้ นิยมใช้ตัวอักษรภาษาอังกฤษตัวพิมพ์ใหญ่ในการแทนเซตใด ๆ เช่น A = set([1, 5, 7])
2.4. บทที่ 4ฟังก์ชัน (Function)
2.4.1. การใส่ข้อมูลผ่านแป้นพิมพ์ (Input data from keyboard)
2.4.1.1. ผู้ใช้สามารถใส่ค่าที่ต้องการได้ผ่านทางแป้นพิมพ์โดยทำงานผ่านฟังก์ชันที่ชื่อ input การรับข้อมูลผ่านทางแป้นพิมพ์ด้วยฟังก์ชัน input ในภาษา Python จะรับข้อมูลเป็นชนิด String เสมอ
2.4.2. การเปลี่ยนชนิดข้อมูล
2.4.2.1. เนื่องจากฟังก์ชัน input รับข้อมูลผ่านทางแป้นพิมพ์เป็นชนิด String การที่จะนำข้อมูลชนิดString ไปใช้คำนวณทางคณิตศาสตร์จำเป็นจะต้องแปลงค่าให้ข้อมูลที่รับทางแป้นพิมพ์ที่เป็นชนิด String นั้น ให้เป็น ชนิด Integer ก่อน
2.4.3. ตัวอย่างฟังก์ชันที่ Python เตรียมไว้ให้
2.4.3.1. จำนวนที่น้อยที่สุด (smallest values)
2.4.3.2. จำนวนที่มากที่สุด (largest values)
2.4.3.3. กำหนดจำนวนตัวเลขทศนิยม (specified number of digits)
2.4.3.4. หาผลรวมทั้งหมดในชุดข้อมูล (adds numbers in a sequence)
2.4.3.5. range หรือช่วงของข้อมูลตัวเลข
2.4.4. การสร้างฟังก์ชัน (Defined Function
2.4.4.1. ฟังก์ชัน คือ กลุ่มคำสั่งที่รวมหลาย ๆ คำสั่งไว้ด้วยกัน ซึ่งเป็นคำสั่งที่เราเรียบเรียงขึ้นเอง เพื่อนำไปใช้ในการเขียนโปรแกรมซ้ำ ๆ กันโดยไม่ต้องเขียนคำสั่งชุดนั้น ๆ ใหม่อีกครั้ง (Reusability Code) โดยในภาษา Python มีการสร้างฟังก์ชันอยู่ 2 แบบ คือ สามารถคืนค่ากลับมาได้ (return value) และแบบไม่คืนค่า (void) โดยการสร้างฟังก์ชันจะใช้คีย์เวิร์ดชื่อ def แล้วตามด้วยชื่อฟังก์ชันนั่น ๆ