ม.วรรณพร เจริญแสนสวย
Miss Wannaporn Charoensansuay
โรงเรียนยอแซฟอุปถัมภ์ (แผนกสามัญหญิง) สามพราน นครปฐม
การแก้ปัญหาด้วย
กระบวนการเทคโนโลยี
สารสนเทศการเขียนโปรแกรม
ภาษา
กระบวนการแก้ปัญหา
การถ่ายทอดความคิดในการ
แก้ปัญหาอย่างมีขั้นตอน
การเลือกเครื่องมือและ
การออกแบบขั้นตอนวิธี
การดาเนินการแก้ไข
ปัญหา
การตรวจสอบและ
ปรับปรุงวิธีการ
การใช้สัญลักษณ์
(Flowchart)
การวิเคราะห์และกาหนด
รายละเอียดของปัญหา
ภาษาคอมพิวเตอร์
และการเขียน
โปรแกรมภาษาซี
ขั้นตอนการพัฒนา
โปรแกรม
การใช้ข้อความหรือคา
บรรยาย (Pseudo Code)
การทาเอกสารประกอบฯ
การทดสอบโปรแกรม
การเขียนโปรแกรม
การออกแบบโปรแกรม
การวิเคราะห์ปัญหา
กระบวนการแก้ปัญหาด้วยเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการ
เทคโนโลยีสารสนเทศอย่างมี
ประสิทธิภาพ ต้องทาเป็นขั้นตอนโดย
มีวิธีการปฏิบัติ 4 ขั้นตอน ได้แก่ 1.การ
วิเคราะห์และกาหนดรายละเอียดของ
ปัญหา 2. เลือกเครื่องมือและออกแบบ
ขั้นตอนวิธี 3.การดาเนินการแก้ปัญหา
4. ตรวจสอบและการปรับปรุงวิธีการ
แก้ปัญหาให้เหมาะสม
การวิเคราะห์และกาหนดรายละเอียดของปัญหา
เป็ นขั้นตอนแรกของการแก้ปัญหา เพื่อทาความเข้าใจกับปัญหา ซึ่งมีองค์ประกอบดังนี้
1. สิ่งที่โจทย์ต้องการ ได้แก่ การวิเคราะห์จากโจทย์ว่าสิ่งที่โจทย์ต้องการนั้นคือ
อะไร สามารถแยกได้ออมาเป็นรายละเอียดที่ชัดเจน
2. การระบุข้อมูลที่ต้องการส่งออก ได้แก่ การพิจารณาเป้ าหมายหรือสิ่งที่ต้องหา
คาตอบ
3. การระบุข้อมูลนาเข้า ได้แก่ การพิจารณาข้อมูลและเงื่อนไขที่กาหนดมาใน
ปัญหา
4. การกาหนดตัวแปร ได้แก่ ตัวเก็บค่าต่าง ๆ ในการทางาน
5. การกาหนดวิธีประมวลผล ได้แก่ การพิจารณาขั้นตอนวิธีการได้มาซึ่งคาตอบ
การเลือกเครื่องมือและออกแบบขั้นตอนวิธี
เป็ นขั้นตอนการนาเอาข้อมูลที่ได้จากการวิเคราะห์มาทาความเข้าใจ เพื่อการ
วางแผนในการแก้ปัญหา ซึ่งมีขั้นตอนต่อไปนี้
1. เลือกเครื่องมือที่ใช้ในการแก้ปัญหา เลือกยุทธวิธีที่ใช้ในการแก้ปัญหา หรือที่
เรียกว่า “ขั้นตอนวิธี” (Algorithm)
2. การออกแบบวิธีในการแก้ปัญหา ควรใช้แผนภาพหรือเครื่องมือในการแสดง
ขั้นตอนการทางานเพื่อให้ง่ายต่อความเข้าใจ เช่น ผังงาน (Flowchart) รหัส
จาลอง (Pseudo Code)
การดาเนินการแก้ไขปัญหา
เป็ นขั้นตอนที่ต้องลงมือแก้ไขตามเครื่องมือที่เลือกไว้ โดยใช้โปรแกรมสาเร็จหรือการ
ใช้ภาษาคอมพิวเตอร์เขียนโปรแกรมแก้ปัญหา
การตรวจสอบและการปรับปรุงวิธีการ
เป็ นขั้นตอนการตรวจสอบว่าขั้นตอนวิธีที่สร้างขึ้น สอดคล้องกับรายละเอียดของ
ปัญหาหรือไม่ ถ้ามีข้อบกพร่องก็ต้องทาการปรับปรุงวิธีการเพื่อให้ได้ผลลัพธ์ที่ดีที่สุด
การถ่ายทอดความคิดในการแก้ปัญหาอย่างมีขั้นตอน
ทาได้ 2 ลักษณะ ดังนี้
1. การใช้ข้อความหรือ คา
บรรยาย รหัสจาลอง (Pseudo
Code)
2. การใช้สัญลักษณ์ (Flowchart)
ผังงาน (flowchart) คือ แผนภาพแสดงลาดับหรือ
ขั้นตอนการทางาน เป็นเครื่องมือที่ใช้ในการวางแผนขั้นแรก
โดยใช้สัญลักษณ์ต่างๆ ในการเขียนผังงาน เพื่อช่วยลาดับ
แนวความคิดในการเขียนโปรแกรม เป็ นที่นิยมใช้เพราะทา
เห็นภาพในการทางานของโปรแกรมง่ายกว่าใช้ข้อความ
ข้อผิดพลาด สามารถดูจากผังงานจะทาให้การแก้ไขหรือ
ปรับปรุงโปรแกรมทาได้ง่ายขึ้น
การเขียนผังงานแบ่งเป็น 2 ประเภท คือ ผังงานระบบ
และ ผังงานโปรแกรม
หมายถึง ผังงานที่แสดงถึงขั้นตอนวิธีการทางานของ
ระบบงานใดระบบหนึ่ง ซึ่งในผังงานระบบจะแสดงให้เห็นถึง
สื่อที่ใช้รับข้อมูล บันทึกข้อมูล วิธีการประมวลผล ขั้นตอน
การทางานและความสัมพันธ์ของส่วนต่าง ๆ ในระบบงาน
อย่างกว้าง ๆ เพื่อให้เห็นภาพรวมของระบบ งานใด
ระบบงานหนึ่ง
หมายถึง ผังงานที่แสดงขั้นตอน วิธีการทางานของโปรแกรมที่
ต้องการเขียนขึ้น ภายในผังงานโปรแกรม จะแสดงให้เห็น
ขั้นตอน วิธีการทางาน ของโปรแกรมอย่างละเอียด เพื่อให้
คอมพิวเตอร์สามารถทางานตามที่เขียนไว้ในผังงานโปรแกรม
ได้อย่างถูกต้อง โดยเราสามารถนาขั้นตอน วิธีการทางานของ
โปรแกรมในขั้นการวิเคราะห์งาน มาเขียนเป็นผังงานโปรแกรม
ได้ทันที จากนั้นก็สามารถนาผังงานโปรแกรม ไปเขียน
โปรแกรมตามที่ต้องการได้
สัญลักษณ์ ความหมาย
Terminator
ใช้แสดงจุดเริ่มต้นและจุดสิ้นสุดของ
โปรแกรม
Process
ใช้ในการประมวลผลข้อมูล กาหนดค่า หรือ
การคานวณทางคณิตศาสตร์
Input/output หรือ I/O
ใช้ในการรับข้อมูล แสดงผลข้อมูลโดยไม่ระบุ
อุปกรณ์
Decision Symbol
สัญลักษณ์ในการเขียนผังงาน
สัญลักษณ์ ความหมาย
Display
ใช้เมื่อต้องการระบุให้แสดงข้อมูลบนจอภาพ
Document Symbol
ใช้เมื่อต้องการระบุให้แสดงข้อมูลบนเครื่องพิมพ์
Preparation
การเตรียมทางานลาดับถัดไป
Manual Input
ใช้ในการรับข้อมูลจากแป้ นพิมพ์
Predefined Process
โปรแกรมย่อย หรือโมดูลเริ่มทางานหลังจากจบคาสั่ง
ในโปรแกรมย่อยแล้ว จะกลับมาทาคาสั่งต่อไป
สัญลักษณ์ ความหมาย
Magnetic Tape
การรับหรือแสดงผลข้อมูลผ่านเทปแม่เหล็ก
Online Storage
แหล่งเก็บข้อมูลออนไลน์ หรือหน่วยความจาสารอง
Connector หรือ On-page Connector
จุดเชื่อมผังงานในหน้าเดียวกัน
Connector หรือ Off-page Connector
จุดเชื่อมผังงานที่อยู่หน้าต่างกัน
Arrowheads หรือ Flow line
แสดงทิศทางกาทางานของผังงาน
ข้อจากัดของผังงาน
ผู้เขียนโปรแกรมบางคนไม่นิยมเขียนผังงานก่อนการเขียนโปรแกรม
เพราะเห็นว่าเสียเวลา นอกจากนี้แล้วยังมีข้อจากัดอื่นๆ อีก เช่น
1. ผังงานเป็นการสื่อความหมายระหว่างบุคคล ไม่ใช่การสื่อ
ความหมายระหว่างบุคคลกับเครื่ องคอมพิวเตอร์ เพราะผังงานไม่ขึ้นอยู่กับ
ภาษาคอมพิวเตอร์ภาษาใด ภาษาหนึ่ง ทาให้เครื่องไม่สามารถรับและเข้าใจได้ว่า
ในผังงานนั้นต้องการให้ทาอะไร
2. ในบางครั้ง เมื่อพิจารณาจากผังงาน จะไม่สามารถทราบได้ว่า
ขั้นตอนการทางานใดสาคัญกว่ากัน เพราะทุกๆ ขั้นตอนจะใช้รูปภาพและ
สัญลักษณ์ในลักษณะเดียวกัน
3. การเขียนผังงานเป็นการสิ้นเปลือง เพราะจะต้องใช้กระดาษและ
อุปกรณ์อื่นๆ เพื่อประกอบการเขียนภาพ ซึ่งไม่สามารถเขียนด้วยมืออย่าง
เดียวได้ และในบางครั้ง การเขียนผังงานอาจจะต้องใช้กระดาษมากกว่า 1
แผ่น หรือ 1 หน้า ซึ่งถ้าเป็นข้อความอธิบายอาจจะใช้เพียง 2 – 3 บรรทัด
เท่านั้น
ข้อจากัดของผังงาน
ประโยชน์ของผังงาน
1. ทาให้เข้าใจและแยกแยะปัญหาต่างๆ ได้ง่ายขึ้น
2. ผู้เขียนโปรแกรมมองเห็นลาดับการทางาน รู้ว่าสิ้งใดควรทาก่อน
สิ่งใดควรทาหลัง
3. สามารถหาข้อผิดพลาดของโปรแกรมได้ง่าย
4. ทาให้ผู้อื่นเข้าใจการทางานได้ง่ายกว่าการดู source code
5. ไม่ขึ้นอยู่กับภาษาใดภาษาหนึ่ง ผู้อื่นสามารถเรียนรู้และเข้าใจได้
ง่าย
หลักการเขียนผังงาน
การเขียนผังงานนั้น ไม่มีวิธีการที่แน่ชัดว่าจะต้องใช้คาสั่ง
อะไรบ้าง ทั้งนี้ขึ้นอยู่กับลักษณะของงานที่ทา ซึ่งลักษณะงานจะมีอยู่ 3
ขั้นตอน คือ
1. การรับข้อมูล (Input)
2. การประมวลผล (Process)
3. การแสดงผล (Output)
หลักในการเขียนผังงาน
การศึกษาลาดับขั้นตอนในการทางานของผังงาน ให้สังเกตจากลูกศรที่
แสดงทิศทางการไหลข้องข้อมูลในผังงานเป็นหลัก ซึ่งจะต้องคานึงถึงสิ่งต่างๆ
ต่อไปนี้
1. ใช้สัญลักษณ์ที่มีรูปแบบเป็นมาตรฐาน
2. ขนาดของสัญลักษณ์ขึ้นอยู่กับความเหมาะสม
3. ควรเขียนทิศทางการไหลของข้อมูล เริ่มจากบนลงล่าง หรือจาก
ซ้ายไปขวา และควรทาหัวลูกศรกากับทิศทางด้วย
4. การเขียนคาอธิบายให้เขียนภายในสัญลักษณ์ ใช้ข้อความที่เข้าใจ
ง่าย สั้น และชัดเจน
5. พยายามให้เกิดจุดตัดน้อยที่สุด หรืออาจใช้สัญลักษณ์ที่เรียกว่า
“ตัวเชื่อม” (Connector) แทน เพื่อหลีกเลี่ยงข้อผิดพลาดที่อาจเกิดขึ้น
6. หากเป็นไปได้ควรเขียนผังงานให้จบในหน้าเดียวกัน
7. ผังงานที่ดีควรเป็นระเบียบเรียบร้อย สะอาด ชัดเจน เข้าใจและ
ติดตามขั้นตอนได้ง่าย
8. จุดเริ่มต้นและจุดสิ้นสุดของงาน ควรมีจุดเดียว
หลักในการเขียนผังงาน
รูปแบบของผังงาน
ผังงาน มีรูปแบบอยู่ 3 รูปแบบด้วยกัน คือ
1. รูปแบบเรียงตามลาดับ (Sequence Structure) เป็นการทางานแบบ
เรียงลาดับ ตั้งแต่ต้นจนจบ เป็นรูปแบบง่ายๆ ไม่มีการเปรียบเทียบใดๆ มีทิศ
ทางการไหลของข้อมูลเพียงทางเดียว ซึ่งอาจจะเป็นแบบบนลงล่าง หรือแบบ
ซ้ายไปขวาก็ได้
เริ่มต้น
จบ
ตื่นนอน
ล้างหน้าแปรงฟัน
อาบน้าแต่งตัว
กินข้าว
ไปโรงเรียน
2. รูปแบบที่มีการกาหนดเงื่อนไขหรือให้เลือกทา (Decision
Structure) รูปแบบนี้จะยากกว่าแบบลาดับเพราะมีการสร้างเงื่อนไขเพื่อให้
เลือกทางาน ถ้าหากเลือกทางใดก็จะไปทางานตามเงื่อนไขที่เลือก ซึ่ง
เงื่อนไขที่กาหนดขึ้นนี้จะเขียนอยู่ในสัญลักษณ์ “การตัดสินใจ”
รูปแบบของผังงาน
เริ่มต้น
จบ
ตื่นนอน
ล้างหน้าแปรงฟัน
อาบน้าแต่งตัว
หิว?
ไปโรงเรียน
กินข้าว
หิว
ไม่หิว
3. รูปแบบที่มีการทางานแบบวนซ้า หรือ Loop (Iteration
Structure) การทางานของรูปแบบนี้จะเป็นการทางานซ้าๆ กันหลายๆ ครั้ง
เท่าที่เราต้องการ (อาจเป็นการทาครั้งเดียว หรืออาจจะไม่มีการทางานเลย
ก็ได้) ซึ่งการทางานนี้จะขึ้นอยู่กับเงื่อนไขที่กาหนดให้และจะมีการนาเอา
ลักษณะของการตัดสินใจมาช่วยว่าจะมีการวนซ้าอีกหรือไม่
รูปแบบของผังงาน
เริ่มต้น
จบ
ตื่นนอน
ล้างหน้าแปรงฟัน
อาบน้าแต่งตัว
หิว?
ไปโรงเรียน
กินข้าว
อิ่ม?
หิว
ไม่อิ่ม อิ่ม
ไม่หิว
การเขียนโปรแกรมภาษา
ภาษาคอมพิวเตอร์มีรูปแบบและหลักใน
การสร้างที่แตกต่างกัน และมีการพัฒนา
โปรแกรมภาษาให้เหมาะสมกับการ
แก้ปัญหาและการใช้งาน ทาให้งานมี
คุณภาพและประสบความสาเร็จ
การพัฒนาโปรแกรม
การเขียนโปรแกรมคอมพิวเตอร์ เขียนโปรแกรมจะต้องเข้าใจ
หลักเกณฑ์ของภาษาโปรแกรม และระบบการทางานของคอมพิวเตอร์
ว่ามีโครงสร้างและวิธีการใช้คาสั่งอย่างไร ซึ่งในการเขียนโปรแกรม
คอมพิวเตอร์ มีหลักเกณฑ์การเขียนโปรแกรม ประกอบด้วย 5 ขั้นตอน
ดังนี้คือ
1. ทาความเข้าใจและวิเคราะห์ปัญหา
2. กาหนดแผนในการแก้ปัญหา
3. เขียนโปรแกรมตามแผนที่กาหนด
4. ทดสอบและตรวจสอบความถูกต้องของโปรแกรม
5. นาโปรแกรมที่ผ่านการทดสอบไปใช้งาน
การวิเคราะห์ปัญหา
1. วัตถุประสงค์ของงาน เป็ นการหาคาตอบว่า โจทย์ต้องการผลลัพธ์อะไร
2. ออกแบบผลลัพธ์ (Output) เป็ นการออกแบบจอภาพหรือผลลัพธ์ของ
โปรแกรมเมื่อเขียนเสร็จแล้ว ต้องการให้มีรูปแบบอย่างไร แสดงข้อมูลอะไรบ้าง
3. ข้อมูลนาเข้า (Input) ต้องวิเคราะห์ว่า ผลลัพธ์ที่ต้องการนั้น ต้องป้ อนข้อมูล
อะไรเข้าไป เพื่อให้โปรแกรมที่เขียนขึ้นมาประมวลผล
4. ชื่อตัวแปรที่ใช้ เป็ นการกาหนดข้อมูลต่างๆ ในรูปแบบการแทนข้อมูลด้วย
สัญลักษณ์หรือชื่อตัวแปร โดยตั้งชื่อให้สอดคล้องกับข้อมูลที่เกี่ยวข้อง เช่น ความ
กว้างของสี่เหลี่ยม กาหนดตัวแปรใช้แทนข้อมูลความกว้างของสี่เหลี่ยมชื่อ
width เป็ นต้น
5. ขั้นตอนวิธีการประมวลผล/ลาดับงาน เป็ นการกาหนดวิธีการหรือขั้นตอน
เพื่อให้คอมพิวเตอร์ทางานเป็ นขั้น ๆ ตามลาดับ
ตัวอย่างการวิเคราะห์งาน
การเขียนขั้นตอนวิธี ผังงานและซูโดโค้ด
จงวิเคราะห์งาน เขียนผังงานและขั้นตอนการทางาน
ของโปรแกรม
การคานวณหาพื้นที่สี่เหลี่ยมผืนผ้า จานวน 1 รูป
โดยที่ผู้ใช้โปรแกรม จะต้องป้ อนความกว้าง
และความสูงของสี่เหลี่ยมผืนผ้า เข้าไปในโปรแกรม
1. วัตถุประสงค์ของงาน
คานวณหาพื้นที่สี่เหลี่ยมผืนผ้า
2. ออกแบบผลลัพธ์ (Output)
แสดงผลข้อมูล ของ ด้านกว้าง และด้านสูง และ
ผลลัพธ์ที่ได้จากคานวณหาพื้นที่
3. ข้อมูลนาเข้า (Input)
ความกว้าง และความสูง
4. ชื่อตัวแปรที่ใช้
width = กว้าง
height = สูง
area = พื้นที่สี่เหลี่ยมผืนผ้า
5. ขั้นตอนวิธี (Algorithm) การประมวลผล
1) เริ่มต้นทางาน
2) รับข้อมูลค่าความยาวและความกว้างของสี่เหลี่ยมผืนผ้า
ผ่านทางคีย์บอร์ด
3) คานวณพื้นที่สี่เหลี่ยมผืนผ้าตามสูตร area = width * height
4) พิมพ์ค่าพื้นที่สี่เหลี่ยมผืนผ้าออกทาง จอภาพ
5) จบการทางาน
ตัวอย่างการเขียนผังงานและซูโดโค้ด
ซูโดโค้ด (รหัสจาลอง)
1) start
2) input width, height
3) compute
area= width * height
4) print area
5) stop
เริ่มต้น
width, height
คานวณ area=width*height
พิมพ์ area
จบการทางาน หมายเหตุ ...
width ตัวแปรรับค่าความยาว
heightตัวแปรรับค่าความกว้าง
area ตัวแปรเก็บค่าพื้นที่สี่เหลี่ยมผืนผ้า
แบบฝึกหัด
1. การหาค่าเฉลี่ยของเลขจานวนเต็ม 5 จานวน ที่รับ
ข้อมูลเข้าทางคีย์บอร์ด
2. คานวณหาอายุ โดยระบุข้อมูลปี เกิดเป็ น ค.ศ.
1989
ให้นักเรียนวิเคราะห์และเขียนผังงานและรหัสจาลอง จากโจทย์ปัญหาต่อไปนี้
โปรแกรมคานวณอายุ
กรุณาใส่ ปี เกิด (ค.ศ.) .....................
คุณมีอายุ ..................... ปี
ผลลัพธ์ที่ต้องการ
เฉลยแบบฝึกหัด ข้อที่ 1
การหาค่าเฉลี่ยของเลขจานวนเต็ม 5 จานวน ที่รับ
ข้อมูล
เข้าทางคีย์บอร์ดการวิเคราะห์งาน
1. วัตถุประสงค์ของงาน
คานวณหาค่าเฉลี่ยของเลขจานวนเต็ม 5 จานวน
2. ออกแบบผลลัพธ์ (Output)
แสดงผลข้อมูลของ เลขจานวนเต็ม 5 จานวน
และค่าเฉลี่ย
3. ข้อมูลนาเข้า (Input)
เลขจานวนเต็ม 5 จานวน ได้แก่ no1, no2, no3,
no4, no5
4. ชื่อตัวแปรที่ใช้
no1 = เลขจานวนเต็มจานวนที่ 1
no2 = เลขจานวนเต็มจานวนที่ 2
no3 = เลขจานวนเต็มจานวนที่ 3
no4 = เลขจานวนเต็มจานวนที่ 4
no5 = เลขจานวนเต็มจานวนที่ 5
average = ค่าเฉลี่ย
5. ขั้นตอนวิธี (Algorithm) การประมวลผล
1) เริ่มต้นทางาน
2) รับข้อมูล (input) = no1, no2, no3, no4, no5
3) คานวณค่าเฉลี่ยจากสูตร
average = (no1+no2+no3+no4+no5)/5
4) พิมพ์ค่าเฉลี่ยออกทางจอภาพ
5) จบการทางาน
เขียนผังงาน
start
Input no1, no2, no3, no4, no5
compute
average = (no1+no2+no3+no4+no5)/5
Print average
stop

การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ