MAT 231 ???????????? by X237Vbwn

VIEWS: 119 PAGES: 36

									        MAT 231
    คณิตศาสตร์ไม่ต่อเนื่อง
(Discrete Mathematics)


        ดร.ธนา สุขวารี
       ดร.สุรศักดิ์ มังสิงห์
 SPU, Computer Science Dept., 2/2553

                                       1
                  Outline
• Instructor Info.
• Course Information
  – Prerequisites
  – Course Description
  – Evaluation
• Course Outline
• CH-1:Number System & Based Number

                                      2
                          Instructor Info.

• ดร.สุรศักดิ์ มังสิงห์
    – คุณวุฒิ : D.Eng. (Computer Science).
    E-mail: surasak.mu@spu.ac.th
             mungsing@gmail.com
    - ห้องพัก: 5-801 (ห้องพักอาจารย์ภาควิชาวิทยาการคอมพิวเตอร์)




                                                                  3
                        ความต่อเนื่องของวิชา
                    หลักสูตร วิทยาการคอมพิวเตอร์
  • วิชาบังคับก่อน MAT 115: แคลคูลัสสาหรับวิศวกรรม 1
  • วิชาต่อเนื่อง
     – CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี
     – CSE431 ทฤษฎีการคานวณ
     – CSE483 การทวนสอบและการตรวจสอบความสมเหตุสมผล

                          CSE431   CSE322    วิศวกรรมส่วนชุดคาสั่ง
     ศึกษาก่อน
MAT115           MAT231             CSE323   การวิเคราะห์และออกแบบระบบ
     เรียนร่วม            CSE221

                          CSE483
                                    CSE331   หลักการภาษาชุดคาสั่ง    4
                   ความต่อเนื่องของวิชา
              หลักสูตร เทคโนโลยีสารสนเทศฯ
 • วิชาบังคับก่อน MAT 115: แคลคูลัสสาหรับวิศวกรรม 1
 • วิชาต่อเนื่อง
    – ICT221 การวิเคราะห์และออกแบบขั้นตอนวิธี
    – MAT115 แคลคูลัสสาหรับวิศกร 1
                                 ICT305 พื้นฐานการโปรแกรม
                                  CSE325
                                          ระบบฐานข้อมูล
                                   ICT410
MAT115     MAT231    ICT221               คอมพิวเตอร์กราฟิกส์
                                   ICT421
                                          สถาปัตยกรรมการบริการเว็บ
                                  ICT413 การเขียนโปรแกรมเกม
                                 ICT412 การออกแบบและพัฒนาเกมฯ
                              ICT430 ระบบพาณิชย์อิเล็กทรอนิกส์  5
                      คาอธิบายรายวิชา
• ศึกษากราฟ ต้นไม้ และการค้นหา โดยต้นไม้ทวิภาค วิธีของปริม
  และดัจคสทรา ตรรกศาสตร์ และการพิสูจน์พีช คณิตแบบบูลี น
  และวงจรตรรก พีชคณิตของเซ็ต และสายอักขระ กลุ่ม และกลุ่ม
  ย่อย แบบชนิดของข้อมูลที่เป็น โครงสร้างพีชคณิต ความสัมพันธ์
  สมมู ล และการแบ่ ง กั้ น สมการผลต่ า ง และฟั ง ก์ ชั น ปรากฎซ้ า
  คณิตศาสตร์สาหรับ เครื่องสถานะจากัด เครื่องที่มีความจา และ
  เครื่องทัวริ่ง

                                                               6
                               การประเมินผล
  • คะแนนเก็บระหว่างภาค 40 %
     – โครงงาน(การบ้าน) 20%
     – ทดสอบย่อย (quiz) 20% ( จานวน 6 ครั้ง )
  • สอบกลางภาค 20 %
  • สอบปลายภาค 40%
   รวม             100%

ข้อแนะนานักศึกษา
1 นักศึกษาต้องมีเวลาเข้าเรียนอย่างน้อย 80% ของเวลาเรียนทั้งหมด จึงมีสิทธิ์สอบไล่
2 เข้าเรียนตรงต่อเวลา และแต่งกายสุภาพเรียบร้อยตามระเบียบของมหาวิทยาลัย
3 ศึกษาค้นคว้า และทบทวนบทเรียนอย่างสม่าเสมอ
                                                                                   7
                 รูปแบบการเรียนการสอน
• การบรรยาย โดยใช้ Power Point + white board

• Lecture note : เอกสารประกอบการสอน


• ตาราหลัก โดย Kenneth H. Rosen Discrete
  Mathematics And Its Application. Sixth Edition
  McGraw - Hill, 2007.
  http://www.mhhe.com/math/advmath/rosen/


• หนังสืออ่านนอกเวลา “คณิตศาสตร์ไม่ต่อเนื่อง”
                                                   8
                   ลาดับบทเรียน
1 แนะนาวิชา (คาอธิบายรายวิชา โครงการสอน แผนการ
  สอน) ระบบเลขฐาน และการคานวณ
2 ระบบเลขฐาน และการคานวณ(ต่อ)
3 ขั้นตอนวิธี(Algorithm) และการเขียนขั้นตอนวิธีโดยใช้
  รหัสเทียม(Pseudo Code)
4 การเติบโตของฟังก์ชั่น( The Growth of Functions )
  และการวิเคราะห์ขั้นตอนวิธี
                                                    9
                   ลาดับบทเรียน

• 5 ความสัมพันธ์(Relations) การพิสูจน์สมบัติของ
  ความสัมพันธ์ และการประยุกต์ใช้ความสัมพันธ์กับปัญหา
  ที่เกี่ยวข้องในกระบวนการทางคอมพิวเตอร์

• 6 ทฤษฎีกราฟ ประเภทต่างๆของกราฟ กราฟถอดแบบ


                                                  10
                  ลาดับบทเรียน

• 7 การเชื่อมโยงของกราฟ(graph connectivity) และ
  กราฟแบบ Euler, Hamilton

• 8 การหาระยะทางที่สั้นที่สุด(Short-Path Problems)
  กราฟระนาบ(Planar Graph) และการให้สีในกราฟ
  (Graph Coloring)

                                                11
                 ลาดับบทเรียน

• 9 แผนภาพต้นไม้(Tree diagram), การค้นหาแบบ
  ทวิภาค, การท่องไปให้ทั่วบนแผนภาพต้นไม้

• 10 ต้นไม้แบบทอดข้าม(Spanning)และการหาต้นไม้
                       ุ
  แบบทอดข้ามที่สั้นที่สด (Minimum Spanning
 Trees)

                                                12
                 ลาดับบทเรียน
• 11 พีชคณิตบูลีน (Boolean Algebra)และการลดรูป
  พีชคณิตบูลีน

• 12 พื้นฐานลอจิกเกต (Logic Gate)และวงจรตรรกเชิง
  จัดหมู่(Combinational Logic)


                                               13
                 ลาดับบทเรียน

• 12 การลดรูปวงจรตรรกโดยใช้วิธี K-Map

• 13 ภาษา(Language) ,ภาษาแบบไม่พึ่งบริบท
  (Context Free Language)




                                           14
                       ลาดับบทเรียน

• 14 เครื่องสถานะจากัด (Finite-State Machine)และ
  การรู้จาสายอักขระ

• 15 ทบทวนและ ทดสอบเก็บคะแนนก่อนสอบปลายภาค
  บรรยายและทดสอบ
สอบกลางภาค วันที่ 02/08/2010 เวลา 0900-1200 น.
สอบปลายภาค วันที่ 01/10/2010 เวลา 1330-1630 น.
                                                 15
ระบบเลขฐาน และการคานวณ




                         16
        (1) ความเป็นมาของคณิตศาสตร์ไม่ต่อเนื่อง , เลขฐาน
            และ การคานวณเลขฐานในระบบคอมพรีเมนต์

วัตถุประสงค์: เพื่อให้นักศึกษาได้บรรลุถึงสาระสาคัญต่อไปนี้
   1.เข้าใจข้อแตกต่างระหว่างคณิตศาสตร์เชิงคานวณ กับคณิตศาสตร์ไม่
      ต่อเนื่อง
   2.สามารถคิดคานวณระบบตัวเลขในฐานตัวเลขต่างๆ และการแทนค่าข้อมูลที่มี
     การใช้งานในระบบคอมพิวเตอร์



                                                                17
      ระบบตัวเลข
  (Number Systems)

        จานวนเต็ม
          จานวนจริง    ชนิดข้อมูล
data
          ตัวอักษร
                      (data
        บูลีน         types)

        อื่นๆ

                                    18
Based Number System
 Decimal   Binary   Octal   Hexa
   0       0000     000      00
   1       0001     001      01
   2       0010     002      02
   3       0011     003      03
   4       0100     004      04
   5       0101     005      05
   6       0110     006      06
   7       0111     007      07
   8       1000     010      08
   9       1001     011      09
   10      1010     012      A
   11      1011     013      B
   12      1100     014      C
   13      1101     015      D
   14      1110     016      E
                                   19
   15      1111     017      F
               การคานวณเลขฐาน สอง
     0+          0+        1+        10 +
     0           1         1          1
     0           1        10         11
           การคานวณเลขฐาน แปด

0+        0+      1+    2+      3+      7 +
0         1       1     1       1        1
0         1       2     3       4       10
                                              20
       Positional Number
Binary number           Decimal number

  1011                  121
           1 x 20 = 1           1 x 100 = 1
           1 x 21 = 2           2 x 101 = 20
           0 x 22 = 0           1 x 102 = 100
           1 x 23 = 8
                  11                     121

                                           21
    Signed Magnitude number
sign bit         1 x 24 = 16   1 x 22 = 4    1 x 20 = 1
           +21      0 00010101
           -21      1 00010101
           +32      0   00100000
           -32      1   00100000
           +4       0   00000100            magnitude =   29-1
           +0       0   00000000                            22
       การแปลงเลขฐาน

1. แปลงเลขฐาน 10 ---> เลขฐาน 2
2. แปลงเลขฐาน 2 ---> เลขฐาน 10
3. แปลงเลขฐาน 16 ---> เลขฐาน 2
4. แปลงเลขฐาน 16 ---> เลขฐาน 10


                                  23
      แปลงเลขฐาน 10 ---> เลขฐาน 2
• (13)10 --- > ( ? )2

วิธีการ : นาฐานตัวเลขที่ต้องการแปลงไปหารตัวเลขที่ต้องการแปลง

        2        13      1
            2     6          0        (13)10 = (1101)2
                2 3              1
                  1

                                                               24
       แปลงเลขฐาน 2 ---> เลขฐาน 10
• (101101)2 --- > ( ? )10
วิธีการ: หาค่าของตัวเลขใดๆขึ้นอยู่กับตาแหน่งที่ตัวเลขนั้นวางอยู่
                            543210                  ตาแหน่ง
                        ( 1 0 1 1 0 1 )2
                32      +     8 + 4 +         1       =   (45)10



                                                                   25
       แปลงเลขฐาน 16 ---> เลขฐาน 2
• (1F)16 --- > ( ? )2
วิธีการ: แจงเลขฐานสิบหกหนึ่งหลัก ด้วยเลขฐานสองสี่หลัก
 (0000)2 = 0
 (0001)2 = 1              ( 1 F )16         = (0001 1111)2
 (0010)2 = 2
 (0011)2 = 3         (0001)2 (1111)2

                   การแปลเลขฐานแปดไปเป็นเลขฐานสองก็ใช้หลักการเดียวกัน
 (1110)2 = 14
 (1111)2 = 15                                                      26
     แปลงเลขฐาน 16 ---> เลขฐาน 10
• (1F)16 --- > ( ? )10
วิธีการ: 1. แปลงเลขฐานสิบหก ไปสู่ เลขฐานสอง      3
      2. แปลงเลขฐานสอง ไปสู่ เลขฐานสิบ           2

 ( 1 F )16   => (0001 1111)2         => (31)10

                16 + 8 + 4 + 2 + 1

                                                     27
                   โจทย์ท้ายบท
1. จงแปลงเลขฐานต่อไปนี้เข้าสู่เลขฐานที่ต้องการ
      1.1 (0705)8 => ฐานสอง
      1.2 (3F49)16 => ฐานแปด
      1.3 (0132)10 => ฐานสิบหก
      1.4 (3A15)16 => ฐานสิบ

                                                 28
   การคานวณนิพจน์ผลต่างด้วยวิธีทาคอมพรีเมนต์
• วัตถุประสงค์ เพื่อลดการใช้วงจรตรรกสาหรับการลบ

                    a – b => c
                  a + (– b) =>
                               c
     ให้ x แทน (-b) เราจะเรียก x ว่าเป็นคอมพรีเมนต์ของ b



                                                           29
                    1’s complement        & 2’s
                 complement representation
                Number 1's complement 2's complement
                  +127      0 111 1111      0 111 1111
                  +126      0 111 1110      0 111 1110
8-bits number



                   ...          ...             ...
                  +3        0 000 0011      0 000 0011
                  +2        0 000 0010      0 000 0010
                  +1        0 000 0001      0 000 0001
                  +0        0 000 0000      0 000 0000
                   -0       1 111 1111      Undefined
                   -1       1 111 1110      1 111 1111
                   -2       1 111 1101      1 111 1110
                   -3       1 111 1100      1 111 1101
                   ...          ...             ...
                  -126      1 000 0001      1 000 0010
                  -127      1 000 0000      1 000 0001
                                                         30
                  -128      undefined       1 000 0000
         การคานวณผลต่างของเลขจานวนเต็ม
• EX: จงคานวณหาค่าผลต่างของ 20 – 15 ด้วยระบบ หนึ่งและสอง
  คอมพรีเมนต์ ในระบบการแทนตัวเลข 8-bits แบบคิดเครื่องหมาย

               20 – 15 = 20 + (-15)
                          1’s complement
 (15)10 = (0 000 1111)2                (1111 0000)2


                                                            31
1’s complement computing


 20 +      0 001 0100
                      +
-15        1 111 0000
 +5   1    0 000 0100
                      +
           0 000 0001
           0 000 0101
     signed bit     magnitude
                                32
        2’s complement computing


 20 +                  0 001 0100
                                  +
-15                    1 111 0001
 +5                  1 0 000 0101
                  sign bit      magnitude
           ทิ้ง


                                            33
                          โจทย์ท้ายบท

2. จงแสดงการคานวณหาผลต่างของนิพจน์ -5 + 8 บนระบบคอมพิวเตอร์ 8-
      bits แบบคิดเครื่องหมาย ด้วยวิธีการทา หนึ่งและสองคอมพรีเมนต์
3.   จงแสดงวิธีการคานวณหาผลลัพธ์ของนิพจน์ (4F)16 –(25)8 ในระบบ
                                                    ี
      การแทนตัวเลขแบบคิดเครื่องหมาย 9-bits , ด้วยวิธการทา หนึ่งและสอง
      คอมพรีเมนต์



                                                                 34
              Quiz-(1)


ความรู้เกี่ยวกับเลขฐานและการคานวณคอมพรีเมนต์
                    จานวน 2 ข้อ
                   ใช้เวลา 20 นาที



                                               35
                          Quiz-(1)
• (1) จงแสดงวิธีการแปลตัวเลขที่กาหนดให้(ด้านซ้ายมือ) ให้อยู่ในระบบ
  เลขฐานที่ต้องการ (ด้านขวามือ)
      1.1 (3B47)16 => ฐานแปด
      1.2 (0234)10 => ฐานสิบหก
• (2) จงแสดงการคานวณหาผลต่างของนิพจน์ 12 - 7 บนระบบ
                                              ี
  คอมพิวเตอร์ 8-bits แบบคิดเครื่องหมาย ด้วยวิธการทา หนึ่งคอม
  พรีเมนต์
                                                                36

								
To top