การวิเคราะห์โจทย์ปัญหา...

19
การวิเคราะห์โจทย์ปัญหา การออกแบบอัลกอริทึม และการเขียน Pseudo Code รายวิชา 232301 การเขียนโปรแกรม 1 คณะบริหารศาสตร์ สาขาคอมพิวเตอร์ธุรกิจ อ.อติโรจน์ วงษ์วัชรศักดิ1

Transcript of การวิเคราะห์โจทย์ปัญหา...

Page 1: การวิเคราะห์โจทย์ปัญหา การออกแบบอัลกอริทึม และการเขียน ......การเขียนผังงาน

การวิเคราะห์โจทย์ปัญหาการออกแบบอัลกอริทึม

และการเขียน Pseudo Codeรายวิชา 232301 การเขียนโปรแกรม 1

คณะบริหารศาสตร์ สาขาคอมพิวเตอร์ธุรกิจอ.อติโรจน์ วงษว์ัชรศักดิ์

1

Page 2: การวิเคราะห์โจทย์ปัญหา การออกแบบอัลกอริทึม และการเขียน ......การเขียนผังงาน

ขั้นตอนการพัฒนาโปรแกรมการก าหนดปัญหาออกแบบอัลกอริทึม เขียนโปรแกรมทดสอบและแก้ไขโปรแกรมการเขียนเอกสารประกอบการติดตั้งโปรแกรม

2

Page 3: การวิเคราะห์โจทย์ปัญหา การออกแบบอัลกอริทึม และการเขียน ......การเขียนผังงาน

ความหมายของอัลกอริทึมอัลกอริทึม คือ ขั้นตอนวิธี เป็นขั้นตอนเชิงค านวณโดยจะทาการเปลี่ยนข้อมูลเข้า (Input) ของ

ปัญหาไปเป็นผลลัพธ์ (Output) ตามทีต่้องการกระบวนการในการแก้ไขปัญหาการกระท า คือ สิ่งต่างๆ ที่เกิดขึ้นภายในอัลกอริทึมเพ่ือให้ได้มาซึ่งผลลัพธ์ ล าดับของการกระท า คือ ลาดับก่อนและหลังของการกระท าภายในอัลกอริทึม

3

Page 4: การวิเคราะห์โจทย์ปัญหา การออกแบบอัลกอริทึม และการเขียน ......การเขียนผังงาน

อัลกอริทึม

4

Page 5: การวิเคราะห์โจทย์ปัญหา การออกแบบอัลกอริทึม และการเขียน ......การเขียนผังงาน

การเขียนอัลกอริทึมการเขียนบรรยาย (Narrative Description)

เป็นวิธีการเขียนบรรยายอัลกอริทึมด้วยตัวอักษรเป็นภาษามนุษย์

การเขียนรหัสเทียม (Pseudo code) มลีักษณะคล้ายกับภาษาคอมพิวเตอร์เพ่ือให้สามารถน าไปเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์

ได้อย่างสะดวก

การเขียนผังงาน (Flowchart) น าเสนอขั้นตอนการทางานของโปรแกรมโดยใช้รูปภาพและสัญลักษณ์ต่างๆ

5

Page 6: การวิเคราะห์โจทย์ปัญหา การออกแบบอัลกอริทึม และการเขียน ......การเขียนผังงาน

การเขียนอัลกอริทึม

6

Page 7: การวิเคราะห์โจทย์ปัญหา การออกแบบอัลกอริทึม และการเขียน ......การเขียนผังงาน

กิจกรรมพื้นฐานในการเขียนข้อมูล

7

Page 8: การวิเคราะห์โจทย์ปัญหา การออกแบบอัลกอริทึม และการเขียน ......การเขียนผังงาน

ขั้นตอนการวิเคราะห์ปัญหา• การวิเคราะห์ผลลัพธ์ (Output Analysis) เป็นการวิเคราะห์ว่าปัญหาต้องการผลลัพธ์เป็นอะไร

เช่น เป็นตัวเลข ตัวอักษรหรือข้อความ • การวิเคราะห์ข้อมูล (Data Analysis) เป็นการวิเคราะห์ถึงข้อมูลและแหล่งที่มาของข้อมูลที่จะ

น ามาประมวลผล • การวิเคราะห์การประมวลผล (Process Analysis) เป็นการวิเคราะห์ถึงวิธีการประมวลผลข้อมูล

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

8

Page 9: การวิเคราะห์โจทย์ปัญหา การออกแบบอัลกอริทึม และการเขียน ......การเขียนผังงาน

การวิเคราะห์โจทย์ปัญหาการวิเคราะห์โจทย์ปัญหา จะต้องท าการพิจารณาเพ่ือให้ทราบถึง 3 สิ่งดังต่อไปนี้• ข้อมูลเข้า (Input)• ประมวลผล (Process)• ผลลัพธ์ (Output)

9

Page 10: การวิเคราะห์โจทย์ปัญหา การออกแบบอัลกอริทึม และการเขียน ......การเขียนผังงาน

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

สามารถวิเคราะห์โจทย์ปัญหาได้ดังนี้Input คือ ความกว้างของฐาน, ความสูงของสามเหลี่ยมProcess คือ พื้นที่ของสามเหลี่ยม = 0.5 x ฐาน x สูงOutput คือ พื้นที่สามเหลี่ยม

10

?

Page 11: การวิเคราะห์โจทย์ปัญหา การออกแบบอัลกอริทึม และการเขียน ......การเขียนผังงาน

ตัวอย่างการวิเคราะห์โจทย์ปัญหาตัวอย่างที่ 2 จงวิเคราะห์โจทย์ปัญหาการแปลงหน่วยเงินจาก ดอลล่าสหรัฐ เป็น เงินบาท โดยคิดจาก 1 ดอลล่าสหรัฐเท่ากับ 34 บาท

สามารถวิเคราะห์โจทย์ปัญหาได้ดังนี้Input คือ จ านวนเงินดอลล่าสหรัฐProcess คือ จ านวนเงินบาท = จ านวนเงินดอลล่าสหรัฐ x 34Output คือ จ านวนเงินบาท

11

Page 12: การวิเคราะห์โจทย์ปัญหา การออกแบบอัลกอริทึม และการเขียน ......การเขียนผังงาน

การเขียนอัลกอริทึมด้วยรหัสเทียม (Pseudo Code)การเขียนรหัสจ าลองเป็นการน าเสนออัลกอริทึมด้วยรหัสค าสั่งที่ไม่ใช่ภาษาคอมพิวเตอร์ภาษา

รหัสค าสั่งนี้ เรียกว่า ซูโดโค้ด (Pseudo code) แต่รหัสนี้จะมีลักษณะคล้ายกับภาษาคอมพิวเตอร์เพื่อให้สามารถน าไปเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ได้อย่างสะดวก

12

Page 13: การวิเคราะห์โจทย์ปัญหา การออกแบบอัลกอริทึม และการเขียน ......การเขียนผังงาน

ค าสั่งพื้นฐานของรหัสเทียม• ค าสั่งก าหนดค่าเริ่มต้น• ค าสั่งรับข้อมูล • ค าสั่งแสดงผลข้อมูล • ค าสั่งค านวณ • ค าสั่งเปรียบเทียบและท างานตามเง่ือนไข • คาสั่งท างานซ้ า (Loop)

13

Page 14: การวิเคราะห์โจทย์ปัญหา การออกแบบอัลกอริทึม และการเขียน ......การเขียนผังงาน

ค าสั่งก าหนดค่าเริ่มต้นเป็นข้อความที่จะใช้ในการก าหนดค่าเริ่มต้นให้กับตัวแปร และค่าคงที่ คาที่ใช้ในการก าหนดค่า

เริ่มต้นได้แก่ INIT และ SET เช่น INIT A, B, C : INTEGER

SET A = 12

14

ชนิดของตัวแปร INTEGER ตัวแปรชนิดตัวเลขจานวนเต็มเช่น 1, 2, 10, 500 REAL หรือ Float ตัวแปรชนิดตัวเลขจานวนจริงมีจุดทศนิยม เช่น 1.5, 3.28 CHAR ตัวแปรชนิดตัวอักษร เช่น A, B, X, ก, ข

Page 15: การวิเคราะห์โจทย์ปัญหา การออกแบบอัลกอริทึม และการเขียน ......การเขียนผังงาน

ค าสั่งรับข้อมูลค าศัพท์ที่ใช้แสดงถึงการรับข้อมูลส าหรับการเขียน Pseudo Code เช่น READ, INPUT,

OBTAIN, GETเช่น READ A, B, C

INPUT A, B, C READ Name GET Score

15

Page 16: การวิเคราะห์โจทย์ปัญหา การออกแบบอัลกอริทึม และการเขียน ......การเขียนผังงาน

ค าสั่งแสดงผลค าศัพท์ที่ใช้เขียนเพื่อบอกถึงการแสดงผลข้อมูลได้แก่ PRINT, WRITE, OUTPUT, DISPLAY

และ SHOWเช่น PRINT A, B, C

WRITE A, B, C PRINT “Welcome” DISPLAY “Welcome”

16

Page 17: การวิเคราะห์โจทย์ปัญหา การออกแบบอัลกอริทึม และการเขียน ......การเขียนผังงาน

ค าสั่งค านวณค าสั่งที่ใช้เขียนเพื่อแสดงถึงการค านวณหรือประมวลผล ได้แก่ COMPUTE, CALCULATE และ

DETERMINEตารางแสดงสัญลักษณ์การค านวณ

17

สัญลักษณ์ ความหมาย

+ บวก

- ลบ

* คูณ

/ หาร

^ ยกก าลัง

Page 18: การวิเคราะห์โจทย์ปัญหา การออกแบบอัลกอริทึม และการเขียน ......การเขียนผังงาน

ค าสั่งค านวณเช่น COMPUTE area = width * length

18

area = width * length (width คูณกับ length แล้วน าไปเก็บไว้ที่ตัวแปร area) X = X + 1 (ตัวแปร X มีค่าเท่ากับค่าเดิมของ X บวกด้วย 1) X = Y / Z (ตัวแปร X มีค่าเท่ากับ ค่าของ Y หารด้วย Z)

Page 19: การวิเคราะห์โจทย์ปัญหา การออกแบบอัลกอริทึม และการเขียน ......การเขียนผังงาน

ตัวอย่างการเขียน Pseudo Code อย่างง่ายตัวอย่าง จงเขียน Pseudo code ค านวณพื้นที่สี่เหลี่ยมใดๆ

19