SlideShare una empresa de Scribd logo
1 de 10
ใบความรู้ เรื่อง การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหา
1. ขั้นตอนการพัฒนาโปรแกรม
ในการเขียนโปรแกรมเพื่อแก้ปัญหาต่างๆจำาเป็นต้องมีการวางแผน
และออกแบบโปรแกรมไว้ล่วงหน้า โดยกำาหนดขั้นตอนวิธีการทำางานให้
ชัดเจน ซึ่งกระบวนการวิเคราะห์และออกแบบโปรแกรมเรียกว่า วัฏจักร
การพัฒนาระบบงาน System Development Lift Cycle (SDLC)
ซึ่งมีกระบวนการทำางานเริ่มต้นจากการวิเคราะห์ปัญหาไปจนถึงการนำา
โปรแกรมไปใช้งานและปรับปรุงพัฒนาระบบให้ดีขึ้น มีขั้นตอนของ
วัฏจักรการพัฒนาระบบงาน ดังต่อไปนี้
ขั้นตอนที่ 1 การวิเคราะห์ปัญหา (Problem Analysis)
ขั้นตอนที่ 2 การออกแบบโปรแกรม (Program Design)
ขั้นตอนที่ 3 การเขียนโปรแกรม (Program Coding)
ขั้นตอนที่ 4 การทดสอบและแก้ไขโปรแกรม (Program
Testing & Verification)
ขั้นตอนที่ 5 การจัดทำาเอกสารและคู่มือการใช้งาน (Program
Documentation)
ขั้นตอนที่ 6 การใช้งานจริง (Program Implement)
ขั้นตอนที่ 7 การปรับปรุงและพัฒนาโปรแกรม (Program
Maintenance)
1.1 การวิเคราะห์ปัญหา (Problem Analysis) ขั้นตอนการ
วิเคราะห์ปัญหาสามารถจำาแนกได้ดังนี้
1. กำาหนดขอบเขตของปัญหา เพื่อให้ทราบขั้นตอนการทำางาน
ต่างๆ ดังนี้
- กำาหนดจุดประสงค์การทำางาน เพื่อให้ทราบว่าเขียน
โปรแกรมเพื่อต้องการแก้ปัญหาอะไร เช่น ปัญหาเกี่ยวกับ
การคำานวณพื้นที่ของสามเหลี่ยม เป็นต้น
- กำาหนดเป้าหมายให้ชัดเจน เพื่อให้ได้ผลลัพธ์ที่ต้องการ เช่น
โปรแกรมคำานวณพื้นที่ของสามเหลี่ยม ต้องการคำานวณ
พื้นที่รูปสามเหลี่ยมได้หลายขนาดและแสดงผลเป็นตัวเลข
- ศึกษาวิธีการแก้ปัญหา เพื่อออกแบบขั้นตอนการทำางานได้
อย่างเหมาะสม เช่น การใช้สูตรคำานวณทางคณิตศาสตร์
ต่างๆ
- กำาหนดข้อจำากัดและศึกษาความเป็นไปได้เพื่อใช้ในการแก้
ปัญหาตามวัตถุประสงค์ เช่น โปรแกรมคำานวณพื้นที่ของ
สามเหลี่ยม ต้องการคำานวณพื้นที่ได้เฉพาะรูปสามเหลี่ยม
2. กำาหนดข้อมูลนำาเข้า ซึ่งประกอบหัวข้อพิจารณาดังนี้
- กำาหนดลักษณะการรับข้อมูล เช่น รับข้อมูลจากแป้นพิมพ์
หรือ อ่านข้อมูลจากไฟล์
- รูปแบบข้อมูลที่รับเข้ามาเป็นอย่างไร เช่น ข้อมูลชื่อนิสิตเก็บ
เป็นตัวอักษรหรือสตริง ข้อมูลเงินเดือนพนักงานเก็บเป็น
จำานวนทศนิยม เป็นต้น
- ขอบเขตของข้อมูลมีช่วงค่าของข้อมูลได้เท่าไหร่ เช่น รับ
ข้อมูลเงินเดือนมีค่าอยู่ระหว่าง 0.00 ถึง 100,000.00
บาท เก็บข้อมูลเป็นจำานวนทศนิยม เป็นต้น
- ข้อจำากัดในการรับข้อมูลอย่างไรบ้าง เช่น รับข้อมูลได้เฉพาะ
ค่าตัวเลขที่มากกว่า 0 เป็นต้น
3. วิธีการประมวลผล เป็นขั้นตอนที่สำาคัญในการแก้ปัญหา
ประกอบด้วยข้อกำาหนดดังนี้
- กำาหนดวิธีการหรือเทคนิคที่ใช้แก้ปัญหา ปัญหาต่างๆจะมีวิธี
การปัญหาแตกต่างกันไปขึ้นอยู่กับสภาพของปัญหาและผู้
แก้ปัญหา และปัญหาหนึ่งๆสามารถแก้ปัญหาได้ด้วยหลายๆ
วิธีการ ดังนั้นให้เลือกวิธีการแก้ปัญหาที่เหมาะสมกับปัญหา
นั้นๆ
- กำาหนดขั้นตอนทำางานให้ชัดเจน เพื่อแก้ปัญหาตามลำาดับ
การทำางานของวิธีการที่ได้เลือกใช้ และประมวลผลให้ได้
ผลลัพธ์ที่ต้องการ
4. กำาหนดผลลัพธ์
- กำาหนดรูปแบบการแสดงผล เช่น แสดงผลลัพธ์เป็นภาพ
กราฟฟิกส์ทางจอภาพ หรือพิมพ์ข้อมูลออกทางเครื่องพิมพ์
เป็นต้น
- ตรวจสอบข้อผิดพลาดและความถูกต้องของผลลัพธ์ เช่น
ตรวจสอบข้อผิดพลาดจากการคำานวณ ตรวจสอบผลลัพธ์ว่า
ถูกต้องตรงตามที่ต้องการหรือไม่
5. กำาหนดโครงสร้างข้อมูลที่ใช้ ประกอบด้วย
- ภาษาที่ใช้ในการเขียนโปรแกรม ซึ่งขึ้นอยู่กับความถนัด
ประเภทของงานและคุณสมบัติเฉพาะของเครื่องคอมพิวเตอร์
- วิธีการเก็บข้อมูลและเรียกใช้ตัวแปร เช่นการประกาศตัวแป
รอาเรย์ให้สามารถเก็บข้อมูลได้หลายตัว หรือเก็บข้อมูลเป็น
คลาส หรือตามโครงสร้างข้อมูลแบบต่างๆ เป็นต้น
1.2 การออกแบบโปรแกรม (Program Design) ประกอบ
ด้วยวิธีการดังนี้ คือ
1. การออกแบบโปรแกรมโดยใช้ อัลกอริธึม(Algorithm)
เป็นการอธิบายถึงลำาดับขั้นตอนการ
ทำางานของการแก้ปัญหาโดยใช้ประโยคข้อความที่ชัดเจนไม่คลุมเครือ
สามารถบอกลำาดับการทำางานได้ ซึ่งมีประโยชน์ดังนี้
- ทำาให้เห็นลำาดับของการทำางานและวิธีการทำางานแต่ละขั้น
ตอนได้อย่างละเอียด
- ทำาให้เห็นภาพรวมของการทำางานของขั้นตอนทั้งหมด
- เป็นการวางแผนการทำางานไว้ล่วงหน้า ทำาให้สามารถนำาไป
เขียนเป็นโปรแกรมได้อย่างถูกต้องและรวดเร็ว
2. การออกแบบโปรแกรมโดยใช้ รหัสจำาลอง(Pseudo Code)
เป็นการออกแบบขั้นตอนการทำางาน
ของโปรแกรมโดยการใช้ข้อความภาษาอังกฤษที่ใกล้เคียงกับภาษา
คอมพิวเตอร์ ซึ่งมีหลักการทำางานและประโยชน์เหมือนกับการใช้อัลกอ
ริธึ่ม แต่มีข้อดี ดังนี้คือ
- สามารถนำารหัสจำาลองไปใช้เขียนโปรแกรมได้ง่ายกว่าการ
ใช้อัลกอริธึ่มเพราะมีความใกล้เคียงกับคำาสั่งคอมพิวเตอร์
- ผู้ออกแบบโปรแกรมต้องมีความรู้ทางด้านภาษาคอมพิวเตอร์
บ้าง เพื่อให้สามารถนำาไปประยุกต์ใช้และเขียนโปรแกรม
เป็นภาษาอื่นๆได้หลายภาษา
3. การออกแบบโปรแกรมโดยใช้ ผังงาน(Flowchart) คือ การ
ใช้สัญลักษณ์รูปภาพ หรือกล่อง
ข้อความบรรยายรายละเอียดการทำางาน และใช้ลูกศรบอกทิศทางลำาดับ
ของการทำางาน ซึ่งมีข้อดีดังนี้ คือ
- สามารถอ่านและเข้าใจการทำางานได้ง่าย เพราะมองเห็น
ภาพรวมขั้นตอนการทำางานทั้งหมดได้ชัดเจน
- สามารถออกแบบโครงสร้างการทำางานได้หลากหลายโดยใช้
ลูกศรแสดงทิศทางการทำางาน ทำาให้แก้ปัญหาที่มีหลาย
เลือกและซับซ้อนได้
- คำาสั่งหรือคำาบรรยายรายละเอียดในกล่องข้อความสามารถ
นำาไปเขียนเป็นคำาสั่งของโปรแกรมได้
1.3 การเขียนโปรแกรม (Program Coding)
เป็นขั้นตอนสำาคัญหลังจากได้ผ่านการออกแบบโปรแกรมแล้ว
โดยการนำาแนวคิดจากอัลกอริธึ่ม
หรือผังงานมาแปลงให้อยู่ในรูปคำาสั่งคอมพิวเตอร์ โดยอาศัยความรู้และ
ทักษะการเขียนโปรแกรมและใช้ภาษาคอมพิวเตอร์รวมทั้งเครื่องมือช่วย
ในการเขียนโปรแกรมต่างๆ เพื่อให้เกิดผลลัพธ์ถุกต้องและทำางานตามที่
เราต้องการ สรุปการเขียนโปรแกรม ต้องพิจารณาองค์ประกอบดังนี้
1. เลือกภาษาที่เหมาะสม
2. ลงมือเขียนโปรแกรม โดยการแปลงขั้นตอนการทำางาน
(ประมวลผล) ที่ได้จากการออกแบบ ให้อยู่ในรูปของคำาสั่งที่
ถูกต้อง ตรงตามรูปแบบของภาษาที่เลือกนั้น
1.4 การทดสอบและแก้ไขโปรแกรม (Program Testing
& Verification)
การทดสอบและแก้ไขโปรแกรม เป็นขั้นตอนการตรวจสอบ
โปรแกรมที่เขียนได้ ว่าทำางานถูกต้องตรงตามความต้องการของผู้ใช้ หรือ
ตรงตามลักษณะงานของโปรแกรมนั้นหรอไม่
ความผิดพลาด (Errors) ที่สามารถเกิดขึ้นได้จากการเขียน
โปรแกรม มีดังนี้
1. Syntax Error ความผิดพลาดที่เกิดจากการใช้คำาสั่งผิดรูป
แบบที่ภาษานั้นกำาหนด เช่น การลืมประกาศตัวแปร การ
เขียนคำาสั่งผิอด เช่น คำาสั่ง while( ) เป็น WHILE( )
2. Logic Error ความผิดพลาดที่เกิดจากการที่โปรแกรม
ทำางานผิดไปจากขั้นตอนที่ควรจะเป็น เช่น การตรวจสอบ
เงื่อนไขผิดไม่ตรงตามวัตถุประสงค์ คำานวณค่าได้คำาตอบไม่
ถูกต้อง หรือ ทำางานผิดลำาดับขั้นตอน เป็นต้น
3. System Design Error ความผิดพลาดที่เกิดจากการที่
โปรแกรมทำางานได้ไม่ตรงตามความต้องการของลูกค้า
ขั้นตอนการทดสอบและแก้ไขโปรแกรม
1. Desk-Checking ผู้เขียนโปรแกรมตรวจสอบโปรแกรม
ด้วยตนเอง ถ้าให้ผู้อื่นช่วยดูจะเรียกว่า Structured-
Walkthrough
2. Translating ตรวจสอบรูปแบบคำาสั่งต่างๆที่ใช้ใน
โปรแกรมโดยตัวแปลภาษา (Translator) เป็นผู้ตรวจ
3. Debugging เป็นการทดลองใช้โปรแกรมจริง เพื่อค้นหา
ข้อบกพร่อง เช่น ผลลัพธ์ที่ไม่ตรงตามความต้องการ ซึ่งอาจ
มีสาเหตุจาก Logic Errors และถ้าได้ทดสอบกับผู้ใช้จริงก็
จะสามารถตรวจสอบ System Design Errors ได้
1.5 การจัดทำาเอกสารและคู่มือการใช้งาน (Program
Documentation)
การจัดทำาเอกสารและคู่มือการใช้งานจัดทำาเอกสารต่างๆ ที่
เกี่ยวข้องกับระบบหรือการเขียนโปรแกรม ได้แก่
1. คู่มือสำาหรับผู้ใช้โปรแกรม (User’s Manual or User’s
Guide) คือเอกสารที่อธิบายวิธีการใช้ระบบหรือโปรแกรม
เรียกว่า User Manual ใช้สำาหรับผู้ใช้งานโปรแกรม
แนะนำาวิธีการใช้งานโปรแกรม แนะนำาคุณสมบัติและองค์
ประกอบของโปรแกรมต่างๆ วิธีการติดตั้งโปรแกรม สามารถ
ทำาควบคู่ไปกับการเขียนโปรแกรม อาจทำาเป็นคู่มือเอกสารที่
อยู่ในรูปแบบโปรแกรมออนไลน์ก็ได้ (Online Manual)
2. คู่มือสำาหรับผู้เขียนโปรแกรม (Programmer’s Manual
or Programmer’s Guide) เป็นคู่มือที่จัดทำาขึ้นเพื่อให้ผู้
พัฒนาโปรแกรม รวมทั้งเทคนิคพิเศษต่างๆของโปรแกรม
เพื่อให้สะดวกต่อการปรับปรุงแก้ไขโปรแกรมที่มีอยู่เดิม โดย
ทั่วไปจะเป็นเอกสารแสดงการวิเคราะห์และออกแบบระบบ
เรียกว่า System Manual ใช้สำาหรับผู้พัฒนาระบบหรือ
โปรแกรม เท่านั้น
1.6 การใช้งานจริง (Program Implement)
การใช้งานจริง เป็นขั้นตอนสำาคัญหลังจากทำาการทดสอบและ
แก้ไขโปรแกรมให้มีความถูกต้อง
เรียบร้อยแล้ว โดยการนำาโปรแกรมไปใช้งานจริงด้วยการป้อนข้อมูลต่างๆ
สภาวะแวดล้อมและสถานการณ์ต่างๆโดยผู้ใช้งานโปรแกรมสามารถ
ทำางานตามฟังก์ชั่นและทำาตามจุดประสงค์ของโปรแกรมที่เขียนไว้ ขั้นตอน
การใช้งานจริงของโปรแกรม หากพบข้อผิดพลาดก็สามารถปรับปรุง
แก้ไข โปรแกรมให้ถูกต้องได้
1.7 การปรับปรุงและพัฒนาโปรแกรม (Program
Maintenance)
การเขียนโปรแกรมที่ดีต้องมีขั้นตอนการปรับปรุงและพัฒนา
โปรแกรมให้มีความถูกต้อง ทันสมัย และตรงกับความต้องการของผู้ใช้
มากที่สุด โดยทั่วไปโปรแกรมที่ใช้งานจะประกอบด้วยหลายๆรุ่น เช่นรุ่น
ทดสอบ (Beta Version) และ รุ่นที่ใช้งานจริง (Release Version) และ
ต้องมีการปรับเปลี่ยนโปรแกรมให้ดีขึ้น ดังตัวอย่างเช่นโปรแกรมเวอร์ชัน
1 มีการเพิ่มเติม ปรับปรุง แก้ไขโปรแกรมเป็นเวอร์ชัน 1.2 เป็นต้น การ
พัฒนาโปรแกรมให้ดีขึ้นมีประโยชน์ต่อผู้ใช้งานและผู้เขียนโปรแกรมต้อง
อาศัยคู่มือการใช้งานและเอกสารประกอบของโปรแกรมเพื่อเป็นแนวทาง
ในการแก้ไขและให้ผู้อื่นๆสามารถพัฒนาต่อได้
1.การ
วิเคราะห์
ปัญหา2.การออกแบบ
โปรแกรม
7.ปรับปรุงและพัฒนาโปรแกรม
3.เขียน
โปรแกรม
5.จัดทำา
เอกสาร
4.การทดสอบ
และแก้ไข
6.ใช้งานจริง
2. การจำาลองความคิดในการเขียนโปรแกรม
การจำาลองความคิดเพื่อวางแผนขั้นตอนในการเขียนโปรแกรมทาง
คอมพิวเตอร์เรียกได้อีกอย่างว่าอัลกอริทึม (Algorithm) หรือขั้นตอน
วิธี อัลกอริทึม เป็นลาดับของคาสั่งที่คอมพิวเตอร์จะปฏิบัติตามเพื่อแก้
ปัญหาให้กับเราโดยจะทาคาสั่งเรียงกันตามลาดับก่อนหลังจะไม่ข้ามขั้น
ผลลัพธ์ของแต่ละขั้นตอนผลลัพธ์ที่ได้ของขั้นตอนหนึ่งจะส่งต่อไปยังขั้น
ตอนถัดไปและส่งต่อกันไปเช่นนี้ตามลาดับขั้นจนถึงคาสั่งสุดท้ายจึงจะได้
ผลลัพธ์ที่เสร็จสมบูรณ์ เครื่องมือที่ใช้ในการจาลองความคิด
ประกอบด้วย 2 ลักษณะคือ
1. ข้อความคำาบรรยายหรือรหัสเทียม (pseudo code) เป็นการ
เขียนเค้าโครงด้วยการบรรยายเป็นภาษามนุษย์ที่ใช้สื่อสารกันเพื่อให้
ทราบถึงขั้นตอนการทางานของการเขียนโปรแกรมแต่ละตอนในบางครั้ง
อาจใช้คาสั่งของภาษาที่ใช้เขียนโปรแกรมก็ได้
หลักการทั่วไปในการเขียนรหัสเทียม
1. สัญลักษณ์ที่ใช้ในการดาเนินการทางคณิตศาสตร์ต่างๆจะถูกใช้
งานตามปกติคือ“+” สาหรับการบวก “-” สาหรับการลบ “*” สาหรับการ
คูณและ“/” สาหรับการหาร
2. ชื่อข้อมูลแทนจานวนที่จะถูกดาเนินการ
3. การกาหนดค่าให้กับชื่อข้อมูล เช่น เมื่อเราต้องการกาหนดให้
ข้อมูล pi มีค่าเท่ากับ 3.14 สามารถเขียนได้ด้วยข้อความ pi=3.14 ใน
การกาหนดค่าทางคอมพิวเตอร์ด้านซ้ายของเครื่องหมายมักใช้แทนที่เก็บ
ข้อมูลและด้านขวาแทนข้อมูลที่ต้องการนาไปเก็บ(ดังนั้นหากใช้ข้อความ
ว่า 3.14=pi ถือว่าไม่ถูกต้องตามความหมายนี้)
4. คาสงวนบางคาที่ใช้ในภาษาระดับสูงทั่วไปอาจถูกนามาใช้เช่น
Read หรือ Enter สาหรับการรับข้อมูลเข้าและ Write หรือ Print สาหรับ
การแสดงข้อมูลออก
5. การเพิ่มหรือลดระยะย่อหน้าอย่างเหมาะสมเพื่อแสดงระดับของ
ขั้นตอนการทางานในโครงสร้างควบคุมการทางานในกลุ่มเดียวกัน
ตัวอย่างที่ 1 การวางแผนไปโรงเรียน
การจำาลองความคิดด้วยรหัสเทียม
เริ่มต้น
ตื่นนอน
อาบน้าแต่งตัว
รับประทานอาหารเช้า
ไปโรงเรียน
จบ
2. สัญลักษณ์หรือ ผังงาน (Flowchart) เป็นเครื่องมือชนิดหนึ่งที่ใช้
รูปภาพแสดงการไหลของข้อมูลในระบบตั้งแต่แรกจนได้ผลลัพธ์ตาม
ต้องการจะแสดงการทางานของโปรแกรมโดยละเอียดในแต่ละขั้นตอนผัง
งานโปรแกรมเป็นสิ่งจาเป็นสาหรับผู้เขียนโปรแกรมเพราะต้องใช้เป็น
แนวทางในการเขียนโปรแกรมและเมื่อโปรแกรมเกิดข้อผิดพลาดการ
เข้าไปวิเคราะห์ผังงานโปรแกรมจะทาได้ง่ายกว่าการเข้าไปวิเคราะห์ตัว
โปรแกรมโดยตรง
ประโยชน์ของผังงาน
1. ช่วยอธิบายลาดับขั้นตอนการทำางานของโปรแกรม
2. ทำาให้ตรวจสอบข้อผิดพลาดของโปรแกรมได้ง่าย
3. ทำาให้ผู้อื่นสามารถศึกษาการทำางานของโปรแกรมและแก้ไข
โปรแกรมได้ง่าย
3.1.1 กลุ่มสัญลักษณ์ที่ใช้ในการเขียนผังงานและหน้าที่
สัญลักษณ์ ความหมาย
- การเริ่มต้นโปรแกรม
- การหยุดชั่วขณะ
- การสิ้นสุดโปรแกรม
การรับส่งข้อมูลโดยไม่เจาะจงตัวกลางที่
ใช้
Terminal
Input /
Output
การรับส่งข้อมูลโดยใช้แป้นพิมพ์
(Keyboard)
การแสดงจุดต่อเนื่องที่อยู่คนละหน้า
กระดาษ (Off-page Connector) ใช้
เชื่อมต่อส่วนของผังงานจากกระดาษ
แผ่นหนึ่งไปสู่อีกแผ่นหนึ่ง
การแสดงจุดต่อเนื่อง (Connector) ใช้
เชื่อมต่อส่วนประกอบต่างๆของผังงานที่
อยู่หน้ากระดาษเดียวกัน
ลุกศรแสดงทิศทางของข้อมูลและการ
ประมวลผล (Arrow or Flowline)
- การประมวลผลข้อมูลอัตโนมัติ
- การกำาหนดค่าข้อมูล
การประมวลผลข้อมูล
การตัดสินใจ (Internal Subroutine)
การนำาข้อมูลออกทางจอภาพ
(Monitor)
การนำาข้อมูลแกทางกระดาษในรูปของ
เอกสาร (Document)
Connector
Decision
Display
Manual Input
Off-page
Connector
Arrow
Process
Alternate
Process
Document
3.2 ประเภทของผังงานโปรแกรม
การเขียนผังงาน หมายถึงการเขียนภาพแสดงลำาดับขั้นตอนการ
ทำางาน แบ่งออก เป็น 2 ประเภทใหญ่ คือ ผังงานระบบ ( System
Flowchart) และผังงานโปรแกรม ( Program Flowchart) ผังระบบงาน
คือ ผังแสดงการทำางานของระบบในภาพรวม มีความหมายถึงแสดงการ
ทำางานของระบบทั้งหมด ตั้งแต่จุดเริ่มต้นของระบบงาน กิจกรรมระหว่าง
การทำางาน การส่งผ่านของข้อมูลในกิจกรรมต่างๆ เพื่อจะเป็นแนวทางใน
การนำาไปเขียนผังโปรแกรมผังโปรแกรม หมายถึง ภาพแสดงรายละเอียด
การทำางานของโปรแกรม ตั้งแต่จุดเริ่มต้นในการรับข้อมูล การประมวลผล
ข้อมูล การแสดงผลลัพธ์ของข้อมูล เพื่อเป็นแนวทางให้นักเขียนโปรแกรม
นำาไปลงรหัสคำาสั่งให้คอมพิวเตอร์ทำางานตามความต้องการของผังงาน
( Flowchart) ใช้มาตรฐานที่พัฒนาโดย ANSI (American National
Standard Institute) การออกแบบโปรแกรมโครงสร้าง จะมีโครงสร้าง
การควบคุม 3 แบบที่ใช้ในโปรแกรมลอจิก เช่น การเรียงลำาดับ
( Sequential ) การเลือก ( Selection ) และการทำางานซำ้า ( Iteration)
โครงสร้างทั้ง 3 แบบเป็นการควบคุมลอจิกของโปรแกรมคอมพิวเตอร์
3.2.1 โครงสร้างการควบคุมแบบเรียงลำาดับ
( Sequence Control Structure)
โครงสร้างการควบคุมแบบนี้เป็นการเรียงลำาดับของการ
ประมวลผลที่แต่ละบล็อคที่เรียงลำาดับนั้นเป็นการประมวลผลของ
คอมพิวเตอร์
3.2.2 โครงสร้างการควบคุมแบบเลือก ( Selection
Control Structure)
เป็นโครงสร้างที่มีการกำาหนดทิศทางการเลือกทางเดินของการ
ทำางานตามเงื่อนไขที่ต้องการว่าเป็นค่าจริงหรือค่าเท็จ การทำางานใน
แต่ละทางจะแตกต่างกัน เป็นโครงสร้างแบบ If - Else หรือ ถ้ามีทางเลือก
จำานวนมากจะเป็นโครงสร้างแบบ Switch - Case
ทำางานที่ 2ทำางานที่ 1 ทำางานที่ 3
3.2.3 โครงสร้างแบบซำ้า ( Iteration Control
Structure)
เป็นโครงสร้างที่แสดงการทำางานตามเงื่อนไขแบบ While หรือ
Do - While โครงสร้างแบบ While ถ้าเงื่อนไขเป็นจริงมันจะทำางานซำ้าอีก
โดยย้อนกลับไปตรวจสอบเงื่อนไขใหม่ ถ้าเงื่อนไขเป็นจริงมันก็จะทำางาน
ใหม่อีก แต่ถ้าเป็นเท็จจะสิ้นสุดการทำางาน กรณีของโครงสร้างแบบ Do -
While การทำางานจะทำาอย่างน้อย 1 ครั้ง ตามเงื่อนไขที่กำาหนดว่าเป็นจริง
จะย้อนกลับไปทำางานใหม่ความสำาคัญของการกำาหนดโครงสร้างจะเห็นว่า
มีทางเข้าทางเดียวและมีทางออกทางเดียวหมายความว่าโครงสร้างทั้ง 3
ชนิด จะมีทางเข้าทางเดียวและทางออกทางเดียว
เงื่อนไ
ข
ทำางานที่ 1ทำางานที่ 2
ใช่ไม่ใช่
เงื่อนไข ทำางานที่ 1
ทำางานที่ 2
ใช่
ไม่ใช่

Más contenido relacionado

La actualidad más candente

โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์Phichak Penpattanakul
 
โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์ โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์ cardphone
 
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศการแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศณัฐพล บัวพันธ์
 
โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์sirirat28
 
โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์Achara Teerawas
 
โครงงานคอมพิวเตอร์_604_0226
โครงงานคอมพิวเตอร์_604_0226โครงงานคอมพิวเตอร์_604_0226
โครงงานคอมพิวเตอร์_604_0226Me'e Mildd
 

La actualidad más candente (20)

โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์
 
โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์ โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์
 
Lesson 4 (misson)2
Lesson 4 (misson)2Lesson 4 (misson)2
Lesson 4 (misson)2
 
Lesson 4 (misson)
Lesson 4 (misson)Lesson 4 (misson)
Lesson 4 (misson)
 
Lesson 4 (misson)2
Lesson 4 (misson)2Lesson 4 (misson)2
Lesson 4 (misson)2
 
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศการแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
 
Activity4
Activity4Activity4
Activity4
 
ใบงานที่ 2-8
ใบงานที่ 2-8ใบงานที่ 2-8
ใบงานที่ 2-8
 
08
0808
08
 
08
0808
08
 
Activity4_naka
Activity4_nakaActivity4_naka
Activity4_naka
 
Activity4
Activity4Activity4
Activity4
 
โครงงานคอม
โครงงานคอมโครงงานคอม
โครงงานคอม
 
โครงงานคอม
โครงงานคอมโครงงานคอม
โครงงานคอม
 
โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์
 
โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์
 
3.3
3.33.3
3.3
 
Lesson3 devenlopment-program
Lesson3 devenlopment-programLesson3 devenlopment-program
Lesson3 devenlopment-program
 
ใบงานที่3
ใบงานที่3ใบงานที่3
ใบงานที่3
 
โครงงานคอมพิวเตอร์_604_0226
โครงงานคอมพิวเตอร์_604_0226โครงงานคอมพิวเตอร์_604_0226
โครงงานคอมพิวเตอร์_604_0226
 

Similar a ใบความรู้ที่2 การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหา

ใบความรู้กระบวนการแก้ปัญหา
ใบความรู้กระบวนการแก้ปัญหาใบความรู้กระบวนการแก้ปัญหา
ใบความรู้กระบวนการแก้ปัญหาMunmuang Tik
 
Unit1 decveloping concept
Unit1 decveloping conceptUnit1 decveloping concept
Unit1 decveloping conceptIrinApat
 
การพัฒนาซอฟแวร์
การพัฒนาซอฟแวร์การพัฒนาซอฟแวร์
การพัฒนาซอฟแวร์karmpu
 
DP-Developer
DP-DeveloperDP-Developer
DP-DeveloperdiseVru
 
การพัฒนาซอฟแวร์
การพัฒนาซอฟแวร์การพัฒนาซอฟแวร์
การพัฒนาซอฟแวร์Watinee Poksup
 
รูปแบบของรอบไบลเออร์และฮอลล์(แก้ไขแล้ว)
รูปแบบของรอบไบลเออร์และฮอลล์(แก้ไขแล้ว)รูปแบบของรอบไบลเออร์และฮอลล์(แก้ไขแล้ว)
รูปแบบของรอบไบลเออร์และฮอลล์(แก้ไขแล้ว)ณัฐวุฒิ โคตรพัฒน์
 
ความหมายของเทคโนโลยีสารสนเทศ
ความหมายของเทคโนโลยีสารสนเทศความหมายของเทคโนโลยีสารสนเทศ
ความหมายของเทคโนโลยีสารสนเทศPaweena Kittitongchaikul
 
3 software deverlop
3 software deverlop3 software deverlop
3 software deverlopPor Kung
 
แนวทางการพัฒนาซอฟต์แวร์คุณภาพ
แนวทางการพัฒนาซอฟต์แวร์คุณภาพแนวทางการพัฒนาซอฟต์แวร์คุณภาพ
แนวทางการพัฒนาซอฟต์แวร์คุณภาพRapeepan Thawornwanchai
 
System Development Life Cycle
System Development  Life  CycleSystem Development  Life  Cycle
System Development Life Cycleeiszer
 
บทที่ 2
บทที่ 2บทที่ 2
บทที่ 2pianojrtk
 
บทที่ 2
บทที่ 2บทที่ 2
บทที่ 2pianojrtk
 
โปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์โปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์Worapod Khomkham
 

Similar a ใบความรู้ที่2 การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหา (20)

ใบความรู้กระบวนการแก้ปัญหา
ใบความรู้กระบวนการแก้ปัญหาใบความรู้กระบวนการแก้ปัญหา
ใบความรู้กระบวนการแก้ปัญหา
 
Answer unit1.1
Answer unit1.1Answer unit1.1
Answer unit1.1
 
Tools
ToolsTools
Tools
 
Unit1 decveloping concept
Unit1 decveloping conceptUnit1 decveloping concept
Unit1 decveloping concept
 
การพัฒนาซอฟแวร์
การพัฒนาซอฟแวร์การพัฒนาซอฟแวร์
การพัฒนาซอฟแวร์
 
Activity 4
Activity 4Activity 4
Activity 4
 
Software
SoftwareSoftware
Software
 
DP-Developer
DP-DeveloperDP-Developer
DP-Developer
 
Soft were
Soft wereSoft were
Soft were
 
การพัฒนาซอฟแวร์
การพัฒนาซอฟแวร์การพัฒนาซอฟแวร์
การพัฒนาซอฟแวร์
 
Software
SoftwareSoftware
Software
 
รูปแบบของรอบไบลเออร์และฮอลล์(แก้ไขแล้ว)
รูปแบบของรอบไบลเออร์และฮอลล์(แก้ไขแล้ว)รูปแบบของรอบไบลเออร์และฮอลล์(แก้ไขแล้ว)
รูปแบบของรอบไบลเออร์และฮอลล์(แก้ไขแล้ว)
 
ความหมายของเทคโนโลยีสารสนเทศ
ความหมายของเทคโนโลยีสารสนเทศความหมายของเทคโนโลยีสารสนเทศ
ความหมายของเทคโนโลยีสารสนเทศ
 
3 software deverlop
3 software deverlop3 software deverlop
3 software deverlop
 
แนวทางการพัฒนาซอฟต์แวร์คุณภาพ
แนวทางการพัฒนาซอฟต์แวร์คุณภาพแนวทางการพัฒนาซอฟต์แวร์คุณภาพ
แนวทางการพัฒนาซอฟต์แวร์คุณภาพ
 
System Development Life Cycle
System Development  Life  CycleSystem Development  Life  Cycle
System Development Life Cycle
 
Chapter 02
Chapter 02Chapter 02
Chapter 02
 
บทที่ 2
บทที่ 2บทที่ 2
บทที่ 2
 
บทที่ 2
บทที่ 2บทที่ 2
บทที่ 2
 
โปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์โปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์
 

Más de คีตะบลู รักคำภีร์

ใบความรู้ที่ 7 เรื่อง การใส่เสียงและการเอ็กซ์พอร์ต
ใบความรู้ที่ 7 เรื่อง การใส่เสียงและการเอ็กซ์พอร์ตใบความรู้ที่ 7 เรื่อง การใส่เสียงและการเอ็กซ์พอร์ต
ใบความรู้ที่ 7 เรื่อง การใส่เสียงและการเอ็กซ์พอร์ตคีตะบลู รักคำภีร์
 
ใบความรู้ที่ 6 เรื่อง การสร้างฉากและการนำตัวละครมาแสดงร่วมกัน
ใบความรู้ที่ 6 เรื่อง การสร้างฉากและการนำตัวละครมาแสดงร่วมกันใบความรู้ที่ 6 เรื่อง การสร้างฉากและการนำตัวละครมาแสดงร่วมกัน
ใบความรู้ที่ 6 เรื่อง การสร้างฉากและการนำตัวละครมาแสดงร่วมกันคีตะบลู รักคำภีร์
 
ใบความรู้ที่ 4 เรื่อง การสร้างการเคลื่อนไหว
ใบความรู้ที่ 4 เรื่อง การสร้างการเคลื่อนไหวใบความรู้ที่ 4 เรื่อง การสร้างการเคลื่อนไหว
ใบความรู้ที่ 4 เรื่อง การสร้างการเคลื่อนไหวคีตะบลู รักคำภีร์
 
ใบความรู้ที่1ความรู้เบื้องต้นเกี่ยวกับมัลติมิเดีย
ใบความรู้ที่1ความรู้เบื้องต้นเกี่ยวกับมัลติมิเดียใบความรู้ที่1ความรู้เบื้องต้นเกี่ยวกับมัลติมิเดีย
ใบความรู้ที่1ความรู้เบื้องต้นเกี่ยวกับมัลติมิเดียคีตะบลู รักคำภีร์
 
ใบความรู้ที่ 1 เรื่อง โครงงานเทคโนโลยีสารสนเทศ
ใบความรู้ที่ 1 เรื่อง โครงงานเทคโนโลยีสารสนเทศใบความรู้ที่ 1 เรื่อง โครงงานเทคโนโลยีสารสนเทศ
ใบความรู้ที่ 1 เรื่อง โครงงานเทคโนโลยีสารสนเทศคีตะบลู รักคำภีร์
 
ใบความรู้ที่ 7 เรื่อง การใช้งานselection
ใบความรู้ที่ 7 เรื่อง การใช้งานselectionใบความรู้ที่ 7 เรื่อง การใช้งานselection
ใบความรู้ที่ 7 เรื่อง การใช้งานselectionคีตะบลู รักคำภีร์
 
ใบความรู้ที่ 6 เรื่อง การสร้างตัวอักษรลงในภาพ
ใบความรู้ที่ 6 เรื่อง การสร้างตัวอักษรลงในภาพใบความรู้ที่ 6 เรื่อง การสร้างตัวอักษรลงในภาพ
ใบความรู้ที่ 6 เรื่อง การสร้างตัวอักษรลงในภาพคีตะบลู รักคำภีร์
 
ใบความรู้ที่ 5 เรื่อง การใช้งานฟิลเตอร์
ใบความรู้ที่ 5 เรื่อง การใช้งานฟิลเตอร์ใบความรู้ที่ 5 เรื่อง การใช้งานฟิลเตอร์
ใบความรู้ที่ 5 เรื่อง การใช้งานฟิลเตอร์คีตะบลู รักคำภีร์
 
ใบความรู้ที่ 4 เรื่อง การใช้เครื่องมือในการปรับแต่งสี
ใบความรู้ที่ 4 เรื่อง การใช้เครื่องมือในการปรับแต่งสีใบความรู้ที่ 4 เรื่อง การใช้เครื่องมือในการปรับแต่งสี
ใบความรู้ที่ 4 เรื่อง การใช้เครื่องมือในการปรับแต่งสีคีตะบลู รักคำภีร์
 
ใบความรู้ที่ 3 เรื่อง การทำงานของlayer
ใบความรู้ที่ 3 เรื่อง การทำงานของlayerใบความรู้ที่ 3 เรื่อง การทำงานของlayer
ใบความรู้ที่ 3 เรื่อง การทำงานของlayerคีตะบลู รักคำภีร์
 
ใบความรู้ เรื่อง ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิก
ใบความรู้ เรื่อง ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิกใบความรู้ เรื่อง ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิก
ใบความรู้ เรื่อง ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิกคีตะบลู รักคำภีร์
 

Más de คีตะบลู รักคำภีร์ (18)

ตัวอย่างผลงานนักเรียน
ตัวอย่างผลงานนักเรียนตัวอย่างผลงานนักเรียน
ตัวอย่างผลงานนักเรียน
 
ใบความรู้ที่ 7 เรื่อง การใส่เสียงและการเอ็กซ์พอร์ต
ใบความรู้ที่ 7 เรื่อง การใส่เสียงและการเอ็กซ์พอร์ตใบความรู้ที่ 7 เรื่อง การใส่เสียงและการเอ็กซ์พอร์ต
ใบความรู้ที่ 7 เรื่อง การใส่เสียงและการเอ็กซ์พอร์ต
 
ใบความรู้ที่ 6 เรื่อง การสร้างฉากและการนำตัวละครมาแสดงร่วมกัน
ใบความรู้ที่ 6 เรื่อง การสร้างฉากและการนำตัวละครมาแสดงร่วมกันใบความรู้ที่ 6 เรื่อง การสร้างฉากและการนำตัวละครมาแสดงร่วมกัน
ใบความรู้ที่ 6 เรื่อง การสร้างฉากและการนำตัวละครมาแสดงร่วมกัน
 
ใบความรู้ที่ 4 เรื่อง การสร้างการเคลื่อนไหว
ใบความรู้ที่ 4 เรื่อง การสร้างการเคลื่อนไหวใบความรู้ที่ 4 เรื่อง การสร้างการเคลื่อนไหว
ใบความรู้ที่ 4 เรื่อง การสร้างการเคลื่อนไหว
 
การใช้เครื่องมือวาดภาพและลงสี
การใช้เครื่องมือวาดภาพและลงสีการใช้เครื่องมือวาดภาพและลงสี
การใช้เครื่องมือวาดภาพและลงสี
 
รู้จักกับโปรแกรม adobe flash cs3
รู้จักกับโปรแกรม adobe flash cs3รู้จักกับโปรแกรม adobe flash cs3
รู้จักกับโปรแกรม adobe flash cs3
 
ใบความรู้ที่1ความรู้เบื้องต้นเกี่ยวกับมัลติมิเดีย
ใบความรู้ที่1ความรู้เบื้องต้นเกี่ยวกับมัลติมิเดียใบความรู้ที่1ความรู้เบื้องต้นเกี่ยวกับมัลติมิเดีย
ใบความรู้ที่1ความรู้เบื้องต้นเกี่ยวกับมัลติมิเดีย
 
โปรแกรมTinker
โปรแกรมTinkerโปรแกรมTinker
โปรแกรมTinker
 
หน้าจอหลักโปรแกรม Tinker
หน้าจอหลักโปรแกรม Tinkerหน้าจอหลักโปรแกรม Tinker
หน้าจอหลักโปรแกรม Tinker
 
คู่มือGogoboard
คู่มือGogoboardคู่มือGogoboard
คู่มือGogoboard
 
ภาษาโปรแกรมคอมพิวเตอร์
ภาษาโปรแกรมคอมพิวเตอร์ภาษาโปรแกรมคอมพิวเตอร์
ภาษาโปรแกรมคอมพิวเตอร์
 
ใบความรู้ที่ 1 เรื่อง โครงงานเทคโนโลยีสารสนเทศ
ใบความรู้ที่ 1 เรื่อง โครงงานเทคโนโลยีสารสนเทศใบความรู้ที่ 1 เรื่อง โครงงานเทคโนโลยีสารสนเทศ
ใบความรู้ที่ 1 เรื่อง โครงงานเทคโนโลยีสารสนเทศ
 
ใบความรู้ที่ 7 เรื่อง การใช้งานselection
ใบความรู้ที่ 7 เรื่อง การใช้งานselectionใบความรู้ที่ 7 เรื่อง การใช้งานselection
ใบความรู้ที่ 7 เรื่อง การใช้งานselection
 
ใบความรู้ที่ 6 เรื่อง การสร้างตัวอักษรลงในภาพ
ใบความรู้ที่ 6 เรื่อง การสร้างตัวอักษรลงในภาพใบความรู้ที่ 6 เรื่อง การสร้างตัวอักษรลงในภาพ
ใบความรู้ที่ 6 เรื่อง การสร้างตัวอักษรลงในภาพ
 
ใบความรู้ที่ 5 เรื่อง การใช้งานฟิลเตอร์
ใบความรู้ที่ 5 เรื่อง การใช้งานฟิลเตอร์ใบความรู้ที่ 5 เรื่อง การใช้งานฟิลเตอร์
ใบความรู้ที่ 5 เรื่อง การใช้งานฟิลเตอร์
 
ใบความรู้ที่ 4 เรื่อง การใช้เครื่องมือในการปรับแต่งสี
ใบความรู้ที่ 4 เรื่อง การใช้เครื่องมือในการปรับแต่งสีใบความรู้ที่ 4 เรื่อง การใช้เครื่องมือในการปรับแต่งสี
ใบความรู้ที่ 4 เรื่อง การใช้เครื่องมือในการปรับแต่งสี
 
ใบความรู้ที่ 3 เรื่อง การทำงานของlayer
ใบความรู้ที่ 3 เรื่อง การทำงานของlayerใบความรู้ที่ 3 เรื่อง การทำงานของlayer
ใบความรู้ที่ 3 เรื่อง การทำงานของlayer
 
ใบความรู้ เรื่อง ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิก
ใบความรู้ เรื่อง ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิกใบความรู้ เรื่อง ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิก
ใบความรู้ เรื่อง ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิก
 

ใบความรู้ที่2 การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหา

  • 1. ใบความรู้ เรื่อง การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหา 1. ขั้นตอนการพัฒนาโปรแกรม ในการเขียนโปรแกรมเพื่อแก้ปัญหาต่างๆจำาเป็นต้องมีการวางแผน และออกแบบโปรแกรมไว้ล่วงหน้า โดยกำาหนดขั้นตอนวิธีการทำางานให้ ชัดเจน ซึ่งกระบวนการวิเคราะห์และออกแบบโปรแกรมเรียกว่า วัฏจักร การพัฒนาระบบงาน System Development Lift Cycle (SDLC) ซึ่งมีกระบวนการทำางานเริ่มต้นจากการวิเคราะห์ปัญหาไปจนถึงการนำา โปรแกรมไปใช้งานและปรับปรุงพัฒนาระบบให้ดีขึ้น มีขั้นตอนของ วัฏจักรการพัฒนาระบบงาน ดังต่อไปนี้ ขั้นตอนที่ 1 การวิเคราะห์ปัญหา (Problem Analysis) ขั้นตอนที่ 2 การออกแบบโปรแกรม (Program Design) ขั้นตอนที่ 3 การเขียนโปรแกรม (Program Coding) ขั้นตอนที่ 4 การทดสอบและแก้ไขโปรแกรม (Program Testing & Verification) ขั้นตอนที่ 5 การจัดทำาเอกสารและคู่มือการใช้งาน (Program Documentation) ขั้นตอนที่ 6 การใช้งานจริง (Program Implement) ขั้นตอนที่ 7 การปรับปรุงและพัฒนาโปรแกรม (Program Maintenance) 1.1 การวิเคราะห์ปัญหา (Problem Analysis) ขั้นตอนการ วิเคราะห์ปัญหาสามารถจำาแนกได้ดังนี้ 1. กำาหนดขอบเขตของปัญหา เพื่อให้ทราบขั้นตอนการทำางาน ต่างๆ ดังนี้ - กำาหนดจุดประสงค์การทำางาน เพื่อให้ทราบว่าเขียน โปรแกรมเพื่อต้องการแก้ปัญหาอะไร เช่น ปัญหาเกี่ยวกับ การคำานวณพื้นที่ของสามเหลี่ยม เป็นต้น - กำาหนดเป้าหมายให้ชัดเจน เพื่อให้ได้ผลลัพธ์ที่ต้องการ เช่น โปรแกรมคำานวณพื้นที่ของสามเหลี่ยม ต้องการคำานวณ พื้นที่รูปสามเหลี่ยมได้หลายขนาดและแสดงผลเป็นตัวเลข - ศึกษาวิธีการแก้ปัญหา เพื่อออกแบบขั้นตอนการทำางานได้ อย่างเหมาะสม เช่น การใช้สูตรคำานวณทางคณิตศาสตร์ ต่างๆ - กำาหนดข้อจำากัดและศึกษาความเป็นไปได้เพื่อใช้ในการแก้ ปัญหาตามวัตถุประสงค์ เช่น โปรแกรมคำานวณพื้นที่ของ สามเหลี่ยม ต้องการคำานวณพื้นที่ได้เฉพาะรูปสามเหลี่ยม 2. กำาหนดข้อมูลนำาเข้า ซึ่งประกอบหัวข้อพิจารณาดังนี้
  • 2. - กำาหนดลักษณะการรับข้อมูล เช่น รับข้อมูลจากแป้นพิมพ์ หรือ อ่านข้อมูลจากไฟล์ - รูปแบบข้อมูลที่รับเข้ามาเป็นอย่างไร เช่น ข้อมูลชื่อนิสิตเก็บ เป็นตัวอักษรหรือสตริง ข้อมูลเงินเดือนพนักงานเก็บเป็น จำานวนทศนิยม เป็นต้น - ขอบเขตของข้อมูลมีช่วงค่าของข้อมูลได้เท่าไหร่ เช่น รับ ข้อมูลเงินเดือนมีค่าอยู่ระหว่าง 0.00 ถึง 100,000.00 บาท เก็บข้อมูลเป็นจำานวนทศนิยม เป็นต้น - ข้อจำากัดในการรับข้อมูลอย่างไรบ้าง เช่น รับข้อมูลได้เฉพาะ ค่าตัวเลขที่มากกว่า 0 เป็นต้น 3. วิธีการประมวลผล เป็นขั้นตอนที่สำาคัญในการแก้ปัญหา ประกอบด้วยข้อกำาหนดดังนี้ - กำาหนดวิธีการหรือเทคนิคที่ใช้แก้ปัญหา ปัญหาต่างๆจะมีวิธี การปัญหาแตกต่างกันไปขึ้นอยู่กับสภาพของปัญหาและผู้ แก้ปัญหา และปัญหาหนึ่งๆสามารถแก้ปัญหาได้ด้วยหลายๆ วิธีการ ดังนั้นให้เลือกวิธีการแก้ปัญหาที่เหมาะสมกับปัญหา นั้นๆ - กำาหนดขั้นตอนทำางานให้ชัดเจน เพื่อแก้ปัญหาตามลำาดับ การทำางานของวิธีการที่ได้เลือกใช้ และประมวลผลให้ได้ ผลลัพธ์ที่ต้องการ 4. กำาหนดผลลัพธ์ - กำาหนดรูปแบบการแสดงผล เช่น แสดงผลลัพธ์เป็นภาพ กราฟฟิกส์ทางจอภาพ หรือพิมพ์ข้อมูลออกทางเครื่องพิมพ์ เป็นต้น - ตรวจสอบข้อผิดพลาดและความถูกต้องของผลลัพธ์ เช่น ตรวจสอบข้อผิดพลาดจากการคำานวณ ตรวจสอบผลลัพธ์ว่า ถูกต้องตรงตามที่ต้องการหรือไม่ 5. กำาหนดโครงสร้างข้อมูลที่ใช้ ประกอบด้วย - ภาษาที่ใช้ในการเขียนโปรแกรม ซึ่งขึ้นอยู่กับความถนัด ประเภทของงานและคุณสมบัติเฉพาะของเครื่องคอมพิวเตอร์ - วิธีการเก็บข้อมูลและเรียกใช้ตัวแปร เช่นการประกาศตัวแป รอาเรย์ให้สามารถเก็บข้อมูลได้หลายตัว หรือเก็บข้อมูลเป็น คลาส หรือตามโครงสร้างข้อมูลแบบต่างๆ เป็นต้น 1.2 การออกแบบโปรแกรม (Program Design) ประกอบ ด้วยวิธีการดังนี้ คือ 1. การออกแบบโปรแกรมโดยใช้ อัลกอริธึม(Algorithm) เป็นการอธิบายถึงลำาดับขั้นตอนการ
  • 3. ทำางานของการแก้ปัญหาโดยใช้ประโยคข้อความที่ชัดเจนไม่คลุมเครือ สามารถบอกลำาดับการทำางานได้ ซึ่งมีประโยชน์ดังนี้ - ทำาให้เห็นลำาดับของการทำางานและวิธีการทำางานแต่ละขั้น ตอนได้อย่างละเอียด - ทำาให้เห็นภาพรวมของการทำางานของขั้นตอนทั้งหมด - เป็นการวางแผนการทำางานไว้ล่วงหน้า ทำาให้สามารถนำาไป เขียนเป็นโปรแกรมได้อย่างถูกต้องและรวดเร็ว 2. การออกแบบโปรแกรมโดยใช้ รหัสจำาลอง(Pseudo Code) เป็นการออกแบบขั้นตอนการทำางาน ของโปรแกรมโดยการใช้ข้อความภาษาอังกฤษที่ใกล้เคียงกับภาษา คอมพิวเตอร์ ซึ่งมีหลักการทำางานและประโยชน์เหมือนกับการใช้อัลกอ ริธึ่ม แต่มีข้อดี ดังนี้คือ - สามารถนำารหัสจำาลองไปใช้เขียนโปรแกรมได้ง่ายกว่าการ ใช้อัลกอริธึ่มเพราะมีความใกล้เคียงกับคำาสั่งคอมพิวเตอร์ - ผู้ออกแบบโปรแกรมต้องมีความรู้ทางด้านภาษาคอมพิวเตอร์ บ้าง เพื่อให้สามารถนำาไปประยุกต์ใช้และเขียนโปรแกรม เป็นภาษาอื่นๆได้หลายภาษา 3. การออกแบบโปรแกรมโดยใช้ ผังงาน(Flowchart) คือ การ ใช้สัญลักษณ์รูปภาพ หรือกล่อง ข้อความบรรยายรายละเอียดการทำางาน และใช้ลูกศรบอกทิศทางลำาดับ ของการทำางาน ซึ่งมีข้อดีดังนี้ คือ - สามารถอ่านและเข้าใจการทำางานได้ง่าย เพราะมองเห็น ภาพรวมขั้นตอนการทำางานทั้งหมดได้ชัดเจน - สามารถออกแบบโครงสร้างการทำางานได้หลากหลายโดยใช้ ลูกศรแสดงทิศทางการทำางาน ทำาให้แก้ปัญหาที่มีหลาย เลือกและซับซ้อนได้ - คำาสั่งหรือคำาบรรยายรายละเอียดในกล่องข้อความสามารถ นำาไปเขียนเป็นคำาสั่งของโปรแกรมได้ 1.3 การเขียนโปรแกรม (Program Coding) เป็นขั้นตอนสำาคัญหลังจากได้ผ่านการออกแบบโปรแกรมแล้ว โดยการนำาแนวคิดจากอัลกอริธึ่ม หรือผังงานมาแปลงให้อยู่ในรูปคำาสั่งคอมพิวเตอร์ โดยอาศัยความรู้และ ทักษะการเขียนโปรแกรมและใช้ภาษาคอมพิวเตอร์รวมทั้งเครื่องมือช่วย ในการเขียนโปรแกรมต่างๆ เพื่อให้เกิดผลลัพธ์ถุกต้องและทำางานตามที่ เราต้องการ สรุปการเขียนโปรแกรม ต้องพิจารณาองค์ประกอบดังนี้ 1. เลือกภาษาที่เหมาะสม
  • 4. 2. ลงมือเขียนโปรแกรม โดยการแปลงขั้นตอนการทำางาน (ประมวลผล) ที่ได้จากการออกแบบ ให้อยู่ในรูปของคำาสั่งที่ ถูกต้อง ตรงตามรูปแบบของภาษาที่เลือกนั้น 1.4 การทดสอบและแก้ไขโปรแกรม (Program Testing & Verification) การทดสอบและแก้ไขโปรแกรม เป็นขั้นตอนการตรวจสอบ โปรแกรมที่เขียนได้ ว่าทำางานถูกต้องตรงตามความต้องการของผู้ใช้ หรือ ตรงตามลักษณะงานของโปรแกรมนั้นหรอไม่ ความผิดพลาด (Errors) ที่สามารถเกิดขึ้นได้จากการเขียน โปรแกรม มีดังนี้ 1. Syntax Error ความผิดพลาดที่เกิดจากการใช้คำาสั่งผิดรูป แบบที่ภาษานั้นกำาหนด เช่น การลืมประกาศตัวแปร การ เขียนคำาสั่งผิอด เช่น คำาสั่ง while( ) เป็น WHILE( ) 2. Logic Error ความผิดพลาดที่เกิดจากการที่โปรแกรม ทำางานผิดไปจากขั้นตอนที่ควรจะเป็น เช่น การตรวจสอบ เงื่อนไขผิดไม่ตรงตามวัตถุประสงค์ คำานวณค่าได้คำาตอบไม่ ถูกต้อง หรือ ทำางานผิดลำาดับขั้นตอน เป็นต้น 3. System Design Error ความผิดพลาดที่เกิดจากการที่ โปรแกรมทำางานได้ไม่ตรงตามความต้องการของลูกค้า ขั้นตอนการทดสอบและแก้ไขโปรแกรม 1. Desk-Checking ผู้เขียนโปรแกรมตรวจสอบโปรแกรม ด้วยตนเอง ถ้าให้ผู้อื่นช่วยดูจะเรียกว่า Structured- Walkthrough 2. Translating ตรวจสอบรูปแบบคำาสั่งต่างๆที่ใช้ใน โปรแกรมโดยตัวแปลภาษา (Translator) เป็นผู้ตรวจ 3. Debugging เป็นการทดลองใช้โปรแกรมจริง เพื่อค้นหา ข้อบกพร่อง เช่น ผลลัพธ์ที่ไม่ตรงตามความต้องการ ซึ่งอาจ มีสาเหตุจาก Logic Errors และถ้าได้ทดสอบกับผู้ใช้จริงก็ จะสามารถตรวจสอบ System Design Errors ได้ 1.5 การจัดทำาเอกสารและคู่มือการใช้งาน (Program Documentation) การจัดทำาเอกสารและคู่มือการใช้งานจัดทำาเอกสารต่างๆ ที่ เกี่ยวข้องกับระบบหรือการเขียนโปรแกรม ได้แก่ 1. คู่มือสำาหรับผู้ใช้โปรแกรม (User’s Manual or User’s Guide) คือเอกสารที่อธิบายวิธีการใช้ระบบหรือโปรแกรม เรียกว่า User Manual ใช้สำาหรับผู้ใช้งานโปรแกรม แนะนำาวิธีการใช้งานโปรแกรม แนะนำาคุณสมบัติและองค์ ประกอบของโปรแกรมต่างๆ วิธีการติดตั้งโปรแกรม สามารถ
  • 5. ทำาควบคู่ไปกับการเขียนโปรแกรม อาจทำาเป็นคู่มือเอกสารที่ อยู่ในรูปแบบโปรแกรมออนไลน์ก็ได้ (Online Manual) 2. คู่มือสำาหรับผู้เขียนโปรแกรม (Programmer’s Manual or Programmer’s Guide) เป็นคู่มือที่จัดทำาขึ้นเพื่อให้ผู้ พัฒนาโปรแกรม รวมทั้งเทคนิคพิเศษต่างๆของโปรแกรม เพื่อให้สะดวกต่อการปรับปรุงแก้ไขโปรแกรมที่มีอยู่เดิม โดย ทั่วไปจะเป็นเอกสารแสดงการวิเคราะห์และออกแบบระบบ เรียกว่า System Manual ใช้สำาหรับผู้พัฒนาระบบหรือ โปรแกรม เท่านั้น 1.6 การใช้งานจริง (Program Implement) การใช้งานจริง เป็นขั้นตอนสำาคัญหลังจากทำาการทดสอบและ แก้ไขโปรแกรมให้มีความถูกต้อง เรียบร้อยแล้ว โดยการนำาโปรแกรมไปใช้งานจริงด้วยการป้อนข้อมูลต่างๆ สภาวะแวดล้อมและสถานการณ์ต่างๆโดยผู้ใช้งานโปรแกรมสามารถ ทำางานตามฟังก์ชั่นและทำาตามจุดประสงค์ของโปรแกรมที่เขียนไว้ ขั้นตอน การใช้งานจริงของโปรแกรม หากพบข้อผิดพลาดก็สามารถปรับปรุง แก้ไข โปรแกรมให้ถูกต้องได้ 1.7 การปรับปรุงและพัฒนาโปรแกรม (Program Maintenance) การเขียนโปรแกรมที่ดีต้องมีขั้นตอนการปรับปรุงและพัฒนา โปรแกรมให้มีความถูกต้อง ทันสมัย และตรงกับความต้องการของผู้ใช้ มากที่สุด โดยทั่วไปโปรแกรมที่ใช้งานจะประกอบด้วยหลายๆรุ่น เช่นรุ่น ทดสอบ (Beta Version) และ รุ่นที่ใช้งานจริง (Release Version) และ ต้องมีการปรับเปลี่ยนโปรแกรมให้ดีขึ้น ดังตัวอย่างเช่นโปรแกรมเวอร์ชัน 1 มีการเพิ่มเติม ปรับปรุง แก้ไขโปรแกรมเป็นเวอร์ชัน 1.2 เป็นต้น การ พัฒนาโปรแกรมให้ดีขึ้นมีประโยชน์ต่อผู้ใช้งานและผู้เขียนโปรแกรมต้อง อาศัยคู่มือการใช้งานและเอกสารประกอบของโปรแกรมเพื่อเป็นแนวทาง ในการแก้ไขและให้ผู้อื่นๆสามารถพัฒนาต่อได้ 1.การ วิเคราะห์ ปัญหา2.การออกแบบ โปรแกรม 7.ปรับปรุงและพัฒนาโปรแกรม 3.เขียน โปรแกรม 5.จัดทำา เอกสาร 4.การทดสอบ และแก้ไข 6.ใช้งานจริง
  • 6. 2. การจำาลองความคิดในการเขียนโปรแกรม การจำาลองความคิดเพื่อวางแผนขั้นตอนในการเขียนโปรแกรมทาง คอมพิวเตอร์เรียกได้อีกอย่างว่าอัลกอริทึม (Algorithm) หรือขั้นตอน วิธี อัลกอริทึม เป็นลาดับของคาสั่งที่คอมพิวเตอร์จะปฏิบัติตามเพื่อแก้ ปัญหาให้กับเราโดยจะทาคาสั่งเรียงกันตามลาดับก่อนหลังจะไม่ข้ามขั้น ผลลัพธ์ของแต่ละขั้นตอนผลลัพธ์ที่ได้ของขั้นตอนหนึ่งจะส่งต่อไปยังขั้น ตอนถัดไปและส่งต่อกันไปเช่นนี้ตามลาดับขั้นจนถึงคาสั่งสุดท้ายจึงจะได้ ผลลัพธ์ที่เสร็จสมบูรณ์ เครื่องมือที่ใช้ในการจาลองความคิด ประกอบด้วย 2 ลักษณะคือ 1. ข้อความคำาบรรยายหรือรหัสเทียม (pseudo code) เป็นการ เขียนเค้าโครงด้วยการบรรยายเป็นภาษามนุษย์ที่ใช้สื่อสารกันเพื่อให้ ทราบถึงขั้นตอนการทางานของการเขียนโปรแกรมแต่ละตอนในบางครั้ง อาจใช้คาสั่งของภาษาที่ใช้เขียนโปรแกรมก็ได้ หลักการทั่วไปในการเขียนรหัสเทียม 1. สัญลักษณ์ที่ใช้ในการดาเนินการทางคณิตศาสตร์ต่างๆจะถูกใช้ งานตามปกติคือ“+” สาหรับการบวก “-” สาหรับการลบ “*” สาหรับการ คูณและ“/” สาหรับการหาร 2. ชื่อข้อมูลแทนจานวนที่จะถูกดาเนินการ 3. การกาหนดค่าให้กับชื่อข้อมูล เช่น เมื่อเราต้องการกาหนดให้ ข้อมูล pi มีค่าเท่ากับ 3.14 สามารถเขียนได้ด้วยข้อความ pi=3.14 ใน การกาหนดค่าทางคอมพิวเตอร์ด้านซ้ายของเครื่องหมายมักใช้แทนที่เก็บ ข้อมูลและด้านขวาแทนข้อมูลที่ต้องการนาไปเก็บ(ดังนั้นหากใช้ข้อความ ว่า 3.14=pi ถือว่าไม่ถูกต้องตามความหมายนี้)
  • 7. 4. คาสงวนบางคาที่ใช้ในภาษาระดับสูงทั่วไปอาจถูกนามาใช้เช่น Read หรือ Enter สาหรับการรับข้อมูลเข้าและ Write หรือ Print สาหรับ การแสดงข้อมูลออก 5. การเพิ่มหรือลดระยะย่อหน้าอย่างเหมาะสมเพื่อแสดงระดับของ ขั้นตอนการทางานในโครงสร้างควบคุมการทางานในกลุ่มเดียวกัน ตัวอย่างที่ 1 การวางแผนไปโรงเรียน การจำาลองความคิดด้วยรหัสเทียม เริ่มต้น ตื่นนอน อาบน้าแต่งตัว รับประทานอาหารเช้า ไปโรงเรียน จบ 2. สัญลักษณ์หรือ ผังงาน (Flowchart) เป็นเครื่องมือชนิดหนึ่งที่ใช้ รูปภาพแสดงการไหลของข้อมูลในระบบตั้งแต่แรกจนได้ผลลัพธ์ตาม ต้องการจะแสดงการทางานของโปรแกรมโดยละเอียดในแต่ละขั้นตอนผัง งานโปรแกรมเป็นสิ่งจาเป็นสาหรับผู้เขียนโปรแกรมเพราะต้องใช้เป็น แนวทางในการเขียนโปรแกรมและเมื่อโปรแกรมเกิดข้อผิดพลาดการ เข้าไปวิเคราะห์ผังงานโปรแกรมจะทาได้ง่ายกว่าการเข้าไปวิเคราะห์ตัว โปรแกรมโดยตรง ประโยชน์ของผังงาน 1. ช่วยอธิบายลาดับขั้นตอนการทำางานของโปรแกรม 2. ทำาให้ตรวจสอบข้อผิดพลาดของโปรแกรมได้ง่าย 3. ทำาให้ผู้อื่นสามารถศึกษาการทำางานของโปรแกรมและแก้ไข โปรแกรมได้ง่าย 3.1.1 กลุ่มสัญลักษณ์ที่ใช้ในการเขียนผังงานและหน้าที่ สัญลักษณ์ ความหมาย - การเริ่มต้นโปรแกรม - การหยุดชั่วขณะ - การสิ้นสุดโปรแกรม การรับส่งข้อมูลโดยไม่เจาะจงตัวกลางที่ ใช้ Terminal Input / Output
  • 8. การรับส่งข้อมูลโดยใช้แป้นพิมพ์ (Keyboard) การแสดงจุดต่อเนื่องที่อยู่คนละหน้า กระดาษ (Off-page Connector) ใช้ เชื่อมต่อส่วนของผังงานจากกระดาษ แผ่นหนึ่งไปสู่อีกแผ่นหนึ่ง การแสดงจุดต่อเนื่อง (Connector) ใช้ เชื่อมต่อส่วนประกอบต่างๆของผังงานที่ อยู่หน้ากระดาษเดียวกัน ลุกศรแสดงทิศทางของข้อมูลและการ ประมวลผล (Arrow or Flowline) - การประมวลผลข้อมูลอัตโนมัติ - การกำาหนดค่าข้อมูล การประมวลผลข้อมูล การตัดสินใจ (Internal Subroutine) การนำาข้อมูลออกทางจอภาพ (Monitor) การนำาข้อมูลแกทางกระดาษในรูปของ เอกสาร (Document) Connector Decision Display Manual Input Off-page Connector Arrow Process Alternate Process Document
  • 9. 3.2 ประเภทของผังงานโปรแกรม การเขียนผังงาน หมายถึงการเขียนภาพแสดงลำาดับขั้นตอนการ ทำางาน แบ่งออก เป็น 2 ประเภทใหญ่ คือ ผังงานระบบ ( System Flowchart) และผังงานโปรแกรม ( Program Flowchart) ผังระบบงาน คือ ผังแสดงการทำางานของระบบในภาพรวม มีความหมายถึงแสดงการ ทำางานของระบบทั้งหมด ตั้งแต่จุดเริ่มต้นของระบบงาน กิจกรรมระหว่าง การทำางาน การส่งผ่านของข้อมูลในกิจกรรมต่างๆ เพื่อจะเป็นแนวทางใน การนำาไปเขียนผังโปรแกรมผังโปรแกรม หมายถึง ภาพแสดงรายละเอียด การทำางานของโปรแกรม ตั้งแต่จุดเริ่มต้นในการรับข้อมูล การประมวลผล ข้อมูล การแสดงผลลัพธ์ของข้อมูล เพื่อเป็นแนวทางให้นักเขียนโปรแกรม นำาไปลงรหัสคำาสั่งให้คอมพิวเตอร์ทำางานตามความต้องการของผังงาน ( Flowchart) ใช้มาตรฐานที่พัฒนาโดย ANSI (American National Standard Institute) การออกแบบโปรแกรมโครงสร้าง จะมีโครงสร้าง การควบคุม 3 แบบที่ใช้ในโปรแกรมลอจิก เช่น การเรียงลำาดับ ( Sequential ) การเลือก ( Selection ) และการทำางานซำ้า ( Iteration) โครงสร้างทั้ง 3 แบบเป็นการควบคุมลอจิกของโปรแกรมคอมพิวเตอร์ 3.2.1 โครงสร้างการควบคุมแบบเรียงลำาดับ ( Sequence Control Structure) โครงสร้างการควบคุมแบบนี้เป็นการเรียงลำาดับของการ ประมวลผลที่แต่ละบล็อคที่เรียงลำาดับนั้นเป็นการประมวลผลของ คอมพิวเตอร์ 3.2.2 โครงสร้างการควบคุมแบบเลือก ( Selection Control Structure) เป็นโครงสร้างที่มีการกำาหนดทิศทางการเลือกทางเดินของการ ทำางานตามเงื่อนไขที่ต้องการว่าเป็นค่าจริงหรือค่าเท็จ การทำางานใน แต่ละทางจะแตกต่างกัน เป็นโครงสร้างแบบ If - Else หรือ ถ้ามีทางเลือก จำานวนมากจะเป็นโครงสร้างแบบ Switch - Case ทำางานที่ 2ทำางานที่ 1 ทำางานที่ 3
  • 10. 3.2.3 โครงสร้างแบบซำ้า ( Iteration Control Structure) เป็นโครงสร้างที่แสดงการทำางานตามเงื่อนไขแบบ While หรือ Do - While โครงสร้างแบบ While ถ้าเงื่อนไขเป็นจริงมันจะทำางานซำ้าอีก โดยย้อนกลับไปตรวจสอบเงื่อนไขใหม่ ถ้าเงื่อนไขเป็นจริงมันก็จะทำางาน ใหม่อีก แต่ถ้าเป็นเท็จจะสิ้นสุดการทำางาน กรณีของโครงสร้างแบบ Do - While การทำางานจะทำาอย่างน้อย 1 ครั้ง ตามเงื่อนไขที่กำาหนดว่าเป็นจริง จะย้อนกลับไปทำางานใหม่ความสำาคัญของการกำาหนดโครงสร้างจะเห็นว่า มีทางเข้าทางเดียวและมีทางออกทางเดียวหมายความว่าโครงสร้างทั้ง 3 ชนิด จะมีทางเข้าทางเดียวและทางออกทางเดียว เงื่อนไ ข ทำางานที่ 1ทำางานที่ 2 ใช่ไม่ใช่ เงื่อนไข ทำางานที่ 1 ทำางานที่ 2 ใช่ ไม่ใช่