บทที่ 4 การเขียนผังงาน (Flowchart) · ผังงานโปรแกรม (Program Flowchart) ผังงานโปรแกรม หรือ
การวิเคราะห์โจทย์ปัญหา...
Transcript of การวิเคราะห์โจทย์ปัญหา...
การวิเคราะห์โจทย์ปัญหาการออกแบบอัลกอริทึม
และการเขียน Pseudo Codeรายวิชา 232301 การเขียนโปรแกรม 1
คณะบริหารศาสตร์ สาขาคอมพิวเตอร์ธุรกิจอ.อติโรจน์ วงษว์ัชรศักดิ์
1
ขั้นตอนการพัฒนาโปรแกรมการก าหนดปัญหาออกแบบอัลกอริทึม เขียนโปรแกรมทดสอบและแก้ไขโปรแกรมการเขียนเอกสารประกอบการติดตั้งโปรแกรม
2
ความหมายของอัลกอริทึมอัลกอริทึม คือ ขั้นตอนวิธี เป็นขั้นตอนเชิงค านวณโดยจะทาการเปลี่ยนข้อมูลเข้า (Input) ของ
ปัญหาไปเป็นผลลัพธ์ (Output) ตามทีต่้องการกระบวนการในการแก้ไขปัญหาการกระท า คือ สิ่งต่างๆ ที่เกิดขึ้นภายในอัลกอริทึมเพ่ือให้ได้มาซึ่งผลลัพธ์ ล าดับของการกระท า คือ ลาดับก่อนและหลังของการกระท าภายในอัลกอริทึม
3
อัลกอริทึม
4
การเขียนอัลกอริทึมการเขียนบรรยาย (Narrative Description)
เป็นวิธีการเขียนบรรยายอัลกอริทึมด้วยตัวอักษรเป็นภาษามนุษย์
การเขียนรหัสเทียม (Pseudo code) มลีักษณะคล้ายกับภาษาคอมพิวเตอร์เพ่ือให้สามารถน าไปเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
ได้อย่างสะดวก
การเขียนผังงาน (Flowchart) น าเสนอขั้นตอนการทางานของโปรแกรมโดยใช้รูปภาพและสัญลักษณ์ต่างๆ
5
การเขียนอัลกอริทึม
6
กิจกรรมพื้นฐานในการเขียนข้อมูล
7
ขั้นตอนการวิเคราะห์ปัญหา• การวิเคราะห์ผลลัพธ์ (Output Analysis) เป็นการวิเคราะห์ว่าปัญหาต้องการผลลัพธ์เป็นอะไร
เช่น เป็นตัวเลข ตัวอักษรหรือข้อความ • การวิเคราะห์ข้อมูล (Data Analysis) เป็นการวิเคราะห์ถึงข้อมูลและแหล่งที่มาของข้อมูลที่จะ
น ามาประมวลผล • การวิเคราะห์การประมวลผล (Process Analysis) เป็นการวิเคราะห์ถึงวิธีการประมวลผลข้อมูล
ที่จะท าใหไ้ด้ผลลัพธ์ที่ต้องการ เช่น การค านวณ การเปรียบเทียบเพื่อเลือกทิศทาง
8
การวิเคราะห์โจทย์ปัญหาการวิเคราะห์โจทย์ปัญหา จะต้องท าการพิจารณาเพ่ือให้ทราบถึง 3 สิ่งดังต่อไปนี้• ข้อมูลเข้า (Input)• ประมวลผล (Process)• ผลลัพธ์ (Output)
9
ตัวอย่างการวิเคราะห์โจทย์ปัญหาตัวอย่างที่ 1 จงวิเคราะห์โจทย์ปัญหาการค านวณหาพื้นที่สามเหลี่ยม โดยรับข้อมูลความกว้างของฐาน และความสูงของสามเหลี่ยมจากผู้ใช้
สามารถวิเคราะห์โจทย์ปัญหาได้ดังนี้Input คือ ความกว้างของฐาน, ความสูงของสามเหลี่ยมProcess คือ พื้นที่ของสามเหลี่ยม = 0.5 x ฐาน x สูงOutput คือ พื้นที่สามเหลี่ยม
10
?
ตัวอย่างการวิเคราะห์โจทย์ปัญหาตัวอย่างที่ 2 จงวิเคราะห์โจทย์ปัญหาการแปลงหน่วยเงินจาก ดอลล่าสหรัฐ เป็น เงินบาท โดยคิดจาก 1 ดอลล่าสหรัฐเท่ากับ 34 บาท
สามารถวิเคราะห์โจทย์ปัญหาได้ดังนี้Input คือ จ านวนเงินดอลล่าสหรัฐProcess คือ จ านวนเงินบาท = จ านวนเงินดอลล่าสหรัฐ x 34Output คือ จ านวนเงินบาท
11
การเขียนอัลกอริทึมด้วยรหัสเทียม (Pseudo Code)การเขียนรหัสจ าลองเป็นการน าเสนออัลกอริทึมด้วยรหัสค าสั่งที่ไม่ใช่ภาษาคอมพิวเตอร์ภาษา
รหัสค าสั่งนี้ เรียกว่า ซูโดโค้ด (Pseudo code) แต่รหัสนี้จะมีลักษณะคล้ายกับภาษาคอมพิวเตอร์เพื่อให้สามารถน าไปเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ได้อย่างสะดวก
12
ค าสั่งพื้นฐานของรหัสเทียม• ค าสั่งก าหนดค่าเริ่มต้น• ค าสั่งรับข้อมูล • ค าสั่งแสดงผลข้อมูล • ค าสั่งค านวณ • ค าสั่งเปรียบเทียบและท างานตามเง่ือนไข • คาสั่งท างานซ้ า (Loop)
13
ค าสั่งก าหนดค่าเริ่มต้นเป็นข้อความที่จะใช้ในการก าหนดค่าเริ่มต้นให้กับตัวแปร และค่าคงที่ คาที่ใช้ในการก าหนดค่า
เริ่มต้นได้แก่ 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, ก, ข
ค าสั่งรับข้อมูลค าศัพท์ที่ใช้แสดงถึงการรับข้อมูลส าหรับการเขียน Pseudo Code เช่น READ, INPUT,
OBTAIN, GETเช่น READ A, B, C
INPUT A, B, C READ Name GET Score
15
ค าสั่งแสดงผลค าศัพท์ที่ใช้เขียนเพื่อบอกถึงการแสดงผลข้อมูลได้แก่ PRINT, WRITE, OUTPUT, DISPLAY
และ SHOWเช่น PRINT A, B, C
WRITE A, B, C PRINT “Welcome” DISPLAY “Welcome”
16
ค าสั่งค านวณค าสั่งที่ใช้เขียนเพื่อแสดงถึงการค านวณหรือประมวลผล ได้แก่ COMPUTE, CALCULATE และ
DETERMINEตารางแสดงสัญลักษณ์การค านวณ
17
สัญลักษณ์ ความหมาย
+ บวก
- ลบ
* คูณ
/ หาร
^ ยกก าลัง
ค าสั่งค านวณเช่น COMPUTE area = width * length
18
area = width * length (width คูณกับ length แล้วน าไปเก็บไว้ที่ตัวแปร area) X = X + 1 (ตัวแปร X มีค่าเท่ากับค่าเดิมของ X บวกด้วย 1) X = Y / Z (ตัวแปร X มีค่าเท่ากับ ค่าของ Y หารด้วย Z)
ตัวอย่างการเขียน Pseudo Code อย่างง่ายตัวอย่าง จงเขียน Pseudo code ค านวณพื้นที่สี่เหลี่ยมใดๆ
19