วันพฤหัสบดีที่ 3 กรกฎาคม พ.ศ. 2557

ผังงานและซูโดโค้ต

ความรู้เบื้้องต้นในการเขียนโปรแกรม

      การเขียนโปรแกรมคอมพิวเตอร์ให้ทำงานได้ตามที่เราต้องการนั้น ผู้เขียนโปรแกรมจะต้องรู้ว่า
จะให้โปรแกรมทำอะไร มีข้อมูลอะไรที่ต้องให้กับโปรแกรมบ้าง โดยทั่วไปแล้วขั้นตตอนการพัฒนา
โปรแกรมแบ่งได้ดั้งนี้
     1. กำหนดและวิเคราะห์ปัญหา
     2. เขียนผังงานและซูโดโค้ต
     3. เขียนโปรแกรม
     4. ทดสอบและแก้ไขโปรแกรม
     5. ทำเอกสารและบำรุงรักษาโปรแกรม


ซูโดโค้ด (Pseudo-codes)
        ซูโดโด้ตเป็นคำอธิบายขั้นตอนการทำงานของโปรแกรม โดยใช้ถอยคำสผมระหว่างภาษาอังกฤษ
และภาษาการเขียนโปรแกรมแบบโครงสร้าง หรืออาจใช้ภาษาไทยแต่ควรเขียนเป็นอังกฤษโดยช่วย
ให้ผู้เขียนโปรแกรมสามารถพัฒนาขั้นตอนต่างๆ ให้เป็นเป็นโปรแกรมได้ง่ายขึ้น

ตัวอย่างเช่น
อัลกอรึทึม การหาค่าเฉลี่ย
1. ตัวนับ = 0
2. ผลรวม =0
3. รับค่าเก็บไว้ในตัวแปร(ข้อมูล)
4. ถ้าข้อมูลมากกว่า0
                 เพิ่มค่าตัวนับขึ้นหนึ่งค่า
                 ผลรวม = ผลรวม + ค่าข้อมูล
                 ย้อนกลับไปทำขั้นตอนที่3
     มิฉะนั้นทำขั้นตอนที่ 5
5. ค่าเฉลี่ย = ผลรวม / ตัวนับ
6. แสดงผลค่าเฉลี่ย
7. จบ

     เขียนซูโดโค้ตได้ดังนี้
1. count = 0
2. sum = 0
3. INPUT (value)
4. IF value > 0  THEN
              count = count + 1
               sum = sum + value
               GOTO 3
      ELSE GOTO 5
5. avarage = sum/count
6. OUTPUT (avarage)
7. END

การเขียนผังงาน (Flowchart)

     ผังงานหรือเรียกกันว่า โฟลวชาร์ต เป็นแผนภาพที่ใช้ออกแบบและอธิบายการทำงานของโปรแกรม
โดยอาศัยรูปทรงต่างๆครบคู่ไปกับลูกศร แต่ละรูปหมายถึงการทำงานหนึ่งขั้นตอน

ตัวอย่างเช่น
 ในการจับไม้สั้นไม้ยาวสามครั้ง ถ้าได้ไม้ยาวได้เงิน100บาท ถ้าได้ไม้สั้นให้เสีย 100 บาท สามารถเขียนได้ดังนี้





บรรณานุกรม

รศ. ธีรวัฒน์  ประกอบผล,ชื่อหนังสือ คู่มืิอการเขียนโปรแกรมภาษา C
สำนักพิมพ์ Simplify ,หน้าอ้างอิง 10-37

วันอังคารที่ 1 กรกฎาคม พ.ศ. 2557

ชนิดของข้อมูลและเครื่องหมายการคำนาณ


โครงสร้างของอัลกอริทึม มี 3 แบบ
   1. ทำงานแบบตามลำดับ (Sequence)
   2. การเลือกกระทำตามเงื่อนไข (Selection)
   3. การทำงานแบบทำงานวนซ้ำ (Loop)

ชนิดของข้อมูล


 เครื่องหมายและการคำนวณ
             การดำเนินการในการเขียนโปรแกรม มีอยู่ 3 ประเภท คือ การคำนวณทางคณิตศาสตร์การดำเนิน      การทางตรรกศาสตร์ และการเปรียบเทียบ ซึ่งการดำเนินการในแต่ละประเภทจะมีเครื่องหมายที่ต้อง        ใช้เพื่อเขียนคำสั่งสำหรับการดำเนินการประเภทนั้น ๆ

1. เครื่องหมายการคำนาณทางคณิตศาสตร์


   2.เครื่องหมายเปรียบเทียบ
            การเขียนโปรแกรม มีการดำเนินการเปรียบเทียบบ่อยครั้ง โดยเฉพาะการเปรียบเทียบเพื่อกำหนด       เงื่อนไขร่วมกับคำสั่งอื่น ๆ เช่น คำสั่ง if หรือ while เป็นต้น โดยเครื่องหมายที่ใช้ดำเนินการเปรียบ             เทียบ แสดงดังตารางต่อไปนี้


  3.เครื่องหมายทางตรรกศาสตร์
            การดำเนินการทางตรรกศาสตร์เป็นการหาผลลัพธ์โดยใช้หลักทางตรรกศาสตร์ โดยเครื่องหมาย      ทางตรรกศาสตร์ที่ใช้ในการเขียนโปรแกรม มีอยู่ 3 ชนิดคือ &&(and) , || (or) และ ! (not) ผลลัพธ์จาก        การดำเนินการทางตรรกศาสตร์โดยใช้เครื่องหมายทั้ง 3 ชนิด แสดงได้ดังตารางต่อไปนี้ โดยกำหนด      ให้ T แทนค่าที่เป็นจริง ส่วน F แทนค่าที่เป็นเท็จ 


ตัวอย่างการเขียนนิพจน์ทางตรรกศาสตร์


   ลำดับความสำคัญของเครื่องหมาย
            ส่วนใหญ่นิพจน์ที่เขียนขึ้นในโปรแกรมมักมีความซับซ้อน มีการดำเนินการหลายอย่างปะปนอยู่       ภายในนิพจน์เดียวกัน ซึ่งผลลัพธ์จะออกมาอย่างไรนั้น ต้องพิจารณาจากลำดับความสำคัญก่อนหลัง       ของเครื่องหมายที่กำหนดไว้ ดังแสดงในตารางต่อไปนี้



การพัฒนาโปรแกรมประกอบด้วยขั้นตอนพื้นฐาน 7 ขั้นตอน

   1. กำหนดปัญหา (Define the Problem)
   2. ร่างรายละเอียดแนวทางแการแก้ไขปัญหา (Outline the Solution)
   3. พัฒนาอัลกอริทึม (Develop Algorithm) อาจนำเสนอด้วย Flowchart, DFD, ER หรือ UML
   4. ตรวจสอบความถูกต้องของอัลกอริทึม (Test the Algorithm for Correctness)
   5. เขียนโปรแกรม (Programming)
   6. ทดสอบโปรแกรม (Testing)
   7. จัดทำเอกสารและบำรุงรักษาโปรแกรม (Document and Maintain the Program)

Algorithm (อัลกอริทีม)

Algorithm  (อัลกอริทีม)

        คือ กระบวนการแก้ปัญหาที่สามารถอธิบายออกมาเป็นขั้นตอนที่ชัดเจน เมื่อนำเข้าอะไร แล้วจะต้องได้ผลลัพธ์เช่นไร กระบวนการนี้ประกอบด้วยจะประกอบด้วย วิธีการเป็นขั้นๆ และมีส่วนที่ต้องทำแบบวนซำอีก จนกระทั่งเสร็จสิ้นการทำงาน Algorithm ไม่ใช่คำตอบแต่เป็นชุดคำสั่งที่ทำให้ได้คำตอบ วิธีการในการอธิบาย Algorithm ได้แก่

1.  Natural Language อธิบายแบบใช้ภาษาที่เราสื่อสารกันทั่วไป
2.  Pseudocode อธิบายด้วยรหัสจำลองหรือรหัสเทียม
3.  Flowchart อธิบายด้วยแผนผัง

Natural Language อธิบายแบบใช้ภาษาที่เราสื่อสารกันทั่วไป

   ตัวอย่างกระบวนการคิด
      การต้มไข่ไก่
         วัตถุดิบ : ไข่ไก่                         ผลลัพธ์ : ไข่ต้มสุก
             Algorithm 1                               Algorithm 2
               ต้มน้ำให้เดือด                            ต้มน้ำให้เดือด
               ใส่ไข่                                          ใส่ไข่
                รอ 10 นาที                                รอ 5 นาที
                ดับไฟ/ปิดเตา                            ดับไฟ/ปิดเตา
                ปอกไข่

      ผลที่ได้เหมือนกันคือ   ไข่ต้ม  แต่อัลกอริทีม1 สามารถทานได้เลย
      ส่วนอัลกอริทึม2 ต้องปอกก่อนทาน
    สรุปคือเราได้ผลลัพธ์ตามที่โจทย์ต้องการคือ  ไข่ต้ม

การวิเคราะห์ปัญหา
     กระบวนการทำงานของคอมพิวเตอร์

การพิจารณา
     การทำงานเป็นการนำเข้า ป้อนเข้าระบบ คือ Input
     ขั้นตอนเกี่ยวกีบการกระทำ คือ Process
     การนำข้อมูลออก แสดงผล คือ Output

ลองนำขั้นตอนการต้มไข่มาวิเคราะห์
      ใส่ไข่      =>   Input
       รอ 10 นาที,ดับไฟ,ปอกไข่     =>   Process
       ไข่ต้มสุก   =>   Output