การ ออกแบบ โปรแกรม ค อ อะไร ม ก ล กษณะ

  • 1. การวิเคราะห์ปัญหาและพัฒนาโปรแกรม คอมพวเตอรเป็นอปกรณ์อเิ ลกทรอนกสซงไมสามารถทางานดวยตนเองได้ แตจะ ิ ์ ุ ็ ิ ์ ่ึ ่ ํ ้ ่ ทางานตามชดคาส ั ่งในโปรแกรมทีป้อนเข้าสู่เครื่อง โดยคาส ั ่งทคอมพวเตอรเขาใจไดจะตองอยใน ํ ุ ํ ่ ํ ่ี ิ ์ ้ ้ ้ ู่ รปแบบของภาษาเครอง (Machine Language) เท่านัน ถ้ามการเขยนโปรแกรม ดวยภาษาอนท่ี ู ่ื ้ ี ี ้ ่ื ไม่ใช่ภาษาเครื่องอย่างเช่น ภาษาชนสง (High-level Language) กจะตองใช้ตวแปลภาษา อยาง ั้ ู ็ ้ ั ่ คอมไพเลอร์ (Compiler) หรออนเ ทอรพรเี ตอร์ (Interpreter) เพื่อ แปลให้เป็นภาษาเครื่อง ื ิ ์ ์ ั้ ู ั ุ ั ี ภาษาคอมพวเตอรชนสงในปจจบนน้ีมหลายภาษา แตจะมีโครงสร้างโดยทั ่วไปคล้ายกัน คอเป็น ิ ่ ื ภาษาองกฤษ ซงทาใหงายตอการอานและทาความเขาใจ โดยจะมีรปแบบของประ โยคคาส ั ่งท่ี ั ่ึ ํ ้ ่ ่ ่ ํ ้ ู ํ แตกตางกนไปบาง ่ ั ้ ขนตอนการพฒนาโปรแกรม ั้ ั การพฒนาโปรแกรมคอมพวเตอรเพอใชงานนนสามารถแบงไดเป็น 7 ขนตอนดงน้ี ั ิ ์ ่ื ้ ั้ ่ ้ ั้ ั ์ ั 1. การวเิ คราะหปญหา (Analysis the problem) 2. การออกแบบอลกอรทมและโปรแกรม (Design an algorithm and program) ั ิ ึ 3. การเขยนโปรแกรม (Coding) ี 4. การตรวจสอบขอผดพลาดของโปรแกรม (Testing and debugging) ้ ิ 5. การทดสอบความถกตองของโปรแกรม (Testing and validating) ู ้ 6. การทําเอกสารประกอบโปรแกรม (Documentation) 7. การบํารุงรักษาโปรแกรม (Program maintenance) การวิเคราะหปัญหา ์ ์ ั ั้ ้ ้ ั การวเิ คราะหปญหาเป็นขนตอนของการสรางความเขาใจในปญหา เพื่อนําไปสการ ู่ ้ ั ์ ั แกไขปญหาไดอยางถกตอง สาหรบการวเิ คราะหปญหานันจะใช้วธการแยกแยะปญหาออกเป็น ้ ่ ู ้ ํ ั ้ ิี ั 3 ส่วน ได้แก่ ขอมลนําเขา (Input) การประมวลผล (Process) และผลลัพธ์ (Output) ้ ู ้ 1. ขอมลนําเขา ตองร้วามขอมลอะไรบางทจะตองป้อนเขาสคอมพวเตอรพรอมกบ ้ ู ้ ้ ู่ ี ้ ู ้ ่ี ้ ้ ู่ ิ ์ ้ ั โปรแกรม เพ่อใหโปรแกรมทาการประมวลผลได้ผลลพธอยางทตองการ ื ้ ํ ั ์ ่ ่ี ้ 2.ผลลพธ์ พจารณาวาตองการผลลพธอะไรจากโปรแกรมหรือจากการประมวลผล ั ิ ่ ้ ั ์ โดยจะตองคานงถงผ้ใชเป็นหลก ้ ํ ึ ึ ู ้ ั
  • 2. 3. การประมวลผล ตองร้วธการและขนตอนการประมวลผลเพื่อให้ผลลัพธ์ตาม ้ ูิี ั้ ตองการ ้ ์ ่ ้ ั การนําคอมพวเตอรมาชวยแกปญหานน ผเขยนโปรแกรมจะตองคดหรอออกแบบ ิ ั ้ ู้ ี ้ ิ ื ั ิ ึ ้ ั อลกอรทมการแกปญหากอน จากนนจงนําเรยบเรยงลาดบ เพื่อเขียนโปรแกรมต่อไป การเขยน ่ ั้ ึ ี ี ํ ั ี โปรแกรมคอมพวเตอรควรมการเตรยมการและวางแผนก่อน การเขยนโปรแกรมโดยไม่ไดมการ ิ ์ ี ี ี ้ ี เตรียมการไว้ล่วงหน้า จะสามารถใช้ได้กบโปรแกรมทีมขนาดเล็กและไม่ซบซ้อน แต่หากเป็น ั ่ ี ั โปรแกรมทมขนาดใหญ่แลว การเขยนโปรแกรมดวยวธดงกล่าวจะเป็นวธทไม่ถูกตอง เพราะอาจ ่ี ี ้ ี ้ ิี ั ิ ี ่ี ้ ทําให้เสียเวลาในการเขียนโปรแกรมเพิมขึน และหากต้อง มการปรบปรงพฒนาการทางานของ ่ ้ ี ั ุ ั ํ โปรแกรมจะพบวามความยงยากมากดวย เน่ืองจากตองใชเวลาทาความเขาใจกบ ่ ี ุ่ ้ ้ ้ ํ ้ ั ขนตอน ั้ อัลกอริทมการทํางานของโปรแกรม แต่หากได้มการบันทึกขันตอนหรือโครงสร้างการออกแบบ ึ ี ้ ของโปรแกรมเอาไว้ จะช่วยลดเวลาในการศกษาได้ และทาใหการพฒนาเพมเตมสามารถทาได้ ึ ํ ้ ั ่ิ ิ ํ รวดเรวขน ็ ้ึ ตัวอย่างเช่น การออกแบบและเขียนโปรแกรมสําหรับคานวณหาพนทของกระดาษ ํ ้ื ่ี ทจะใชพบเป็นกลองรปทรงสเี่ หลยม ดงภาพท่ี 1.1 ่ี ้ ั ่ ู ่ี ั high length width ภาพท่ี 1.1 ข้อมลของกล่องกระดาษ ู ขอมลนําเขา ้ ู ้ • ความกวาง (width) ้ • ความยาว (length) • ความสง (high) ู
  • 3. ผลลพธ์ ั • ขนาดพนทกระดาษ (area) ้ื ่ี การประมวลผล • รบขอมลความกวาง ความยาวและความสงของกลอง ั ้ ู ้ ู ่ • คานวณพนทกระดาษ ํ ้ื ่ี ในขนตอนการน้จะทาใหทราบถงขอมลนําเขา การประมวลผลและผลลพธทตองการ ั้ ี ํ ้ ึ ้ ู ้ ั ์ ่ี ้ อยางคราวๆ วธการคานวณเพอใหผลลพธจะอยในขนตอนตอไปคอการออกแบบอลกอรทม ่ ่ ิี ํ ่ ื ้ ั ์ ู่ ั ้ ่ ื ั ิ ึ การออกแบบอลกอริทึมและโปรแกรม ั อลกอรทม (Algorithm) คอ การอธบายลาดบขนตอนการทางานของการแกปญหา ั ิ ึ ื ิ ํ ั ั้ ํ ้ ั ในลกษณะตงแตขนตอนแรกจนถงขนตอนสดทาย เครองมอทใชอธบายอลกอรทมทนยมใช้ กน ั ั้ ่ ั้ ึ ั้ ุ ้ ่ ื ื ่ี ้ ิ ั ิ ึ ่ี ิ ั คอ คาส ั ่งเทยม (Pseudo code) และผังงาน (Flowchart) ซึงการออกแบบและเขียนอัลกอริทมนี้ ื ํ ี ่ ึ จะเป็นขนตอนทสาคญ เพราะเป็นขนตอนก่อนทจะนําไปเขยนเป็นโปรแกรมภาษาคอมพวเตอร์ ั้ ่ี ํ ั ั้ ่ี ี ิ ตอไป ่ คณสมบติของอลกอริทึม ุ ั ั ในการออกแบบอลกอรทม จาเป็นตองมคณ สมบตสาคญ ดงตอไปน้ี ั ิ ึ ํ ้ ีุ ั ิํ ั ั ่ 1. เป็นกระบวนวิธการทีสร้างขึนจากกฎเกณฑ์ ี ่ ้ ั ิ ึ ั เน่องจากอลกอรทม จัดเป็นรูปแบบหนึ่งของการแก้ปญหาและกระบวนวิธการก็คอ ื ี ื ุ่ ั้ ่ี ู่ ่ ั ่ ื ้ ้ ั กลม ของขนตอนทอยรวมกนเพอใชแกปญหาตางๆ เพอใหไดมาซงผลลพธ์ ดงนนจงจาเป็นตอง ่ ่ ื ้ ้ ่ึ ั ั ั้ ึ ํ ้ มกฎเกณฑทใชในการสรางกระบวนวธการเหล่านน ซงอาจอยในรปแบบประโยคภาษาองกฤษ ี ์ ่ี ้ ้ ิี ั ้ ่ึ ู่ ู ั สญลกษณ์ คาส ั ่งจาลองหรอคาส ั ่งเทยม ั ั ํ ํ ื ํ ี 2. กฎเกณฑ์ทสร้างอัลกอริทมต้องไม่คลุมเครือ ่ี ึ รปแบบของกฎเกณฑใดกตามทใชสรางอลกอรทมจะตองมระบบ ระเบยบ อ่านแลว ู ์ ็ ่ี ้ ้ ั ิ ึ ้ ี ี ้ ไม่สบสน จ ะตองเป็นกฎเกณฑทเี่ ขาใจตรงกน และควรหลกเลยงคาท่ี ก่อให้เกิดความเข้าใจได้ ั ้ ์ ้ ั ี ่ี ํ หลายความหมาย 3. การประมวลผลตองเป็นลาดบขนตอน ้ ํ ั ั้ คาส ั ่งตางๆ ทถกกาหนดดวยกฎเกณฑจะตองประมวลผลเป็นลาดบตามขนตอนท่ี ํ ่ ่ี ู ํ ้ ์ ้ ํ ั ั้ แน่นอน
  • 4. ิี ้ ้ ั ์ ่ี ํ ั 4. กระบวนวธการตองใหผลลพธตามทกาหนดในปญหา กลม ของขนตอนตางๆ ทกาหนดไว้ จะตองใชงานไดสาหรบทก กรณี แล ะจะต้องมี ุ่ ั้ ่ ่ี ํ ้ ้ ้ ํ ั ุ ั ์ ่ี ํ ั ผลลพธตรงตามทกาหนดในปญหานนๆ ั้ 5. อลกอรทมตองมจดสนสด ั ิ ึ ้ ี ุ ้ิ ุ คณ สมบตอกขอหน่งทสาคญคอ อลกอรทมตองมจดสนสด เน่ืองจากคอมพวเตอรจะ ุ ั ิ ี ้ ึ ่ี ํ ั ื ั ิ ึ ้ ี ุ ้ิ ุ ิ ์ ไม่สามารถประมวลผลแบบไม่สนสุด (Infinite) ได้ เช่น การบวกเลขจานวนเตมบวกทละตว ใน ้ิ ํ ็ ี ั ทน้จะไมถอเป็นอลกอรทม เน่องจากไมไดบอกขอบเขตส้ิ นสุดของตัวเลขจํานวนเต็ม ดังนัน จง ่ี ี ่ ื ั ิ ึ ื ่ ้ ้ ึ เป็นขนตอนการทางานทไม่มจุดสนสุด ั้ ํ ่ี ี ้ิ การพิจารณาประสิทธิภาพอลกอริทึม ั ิ ึ ั ั้ ึ ้ ั การออกแบบ อลกอรทม เพื่อแก้ปญหา นน ถงแมจะเป็นปญหาเดยวกนแต่กอาจ ั ี ั ็ ้ ั จะม ี ขนตอนการแกปญหาท่ี แตกตางกนได้ ทงน้ีข้ึ นอยูกบเงื่อนไขและข้อจํากัดต่างๆ เพื่อให้ ั้ ่ ั ั้ ่ ั ไดมาซงอลกอรทมทเี่ หมาะสมทสด แตอยางไรกตามกจะมเี กณฑการพจารณาถงประสทธภาพ ้ ่ึ ั ิ ึ ่ี ุ ่ ่ ็ ็ ์ ิ ึ ิ ิ ของอลกอรทม ซงประกอบดวย ั ิ ึ ่ึ ้ 1. อัลกอริทมต้องใช้เวลาในการดําเนินการน้อยทีสุด ึ ่ อลกอรทมทดควรมขนตอนตางๆ เทาทจาเป็นและควร หลกเลยงการดาเนนงานท่ี ั ิ ึ ่ี ี ี ั้ ่ ่ ่ี ํ ี ่ี ํ ิ ของเกยวกบอุปกรณ์ ซงมกใชเวลาในการดาเนินงานนาน ้ ่ี ั ่ึ ั ้ ํ 2. อลกอรทมตองใชหน่วยความจาน้อยทสด ั ิ ึ ้ ้ ํ ่ี ุ ภายในหน่วยความจาควรจะมขอมลทจาเป็นต่อการดาเนินงานในขณะนนเท่านน ํ ี ้ ู ่ี ํ ํ ั้ ั้ ดงนนควรหลกเลยงตวแปรหรอขอมลทไมเกยวของ ั ั้ ี ่ี ั ื ้ ู ่ี ่ ่ี ้ 3. อลกอรทมตองมความยดหย่ น ั ิ ึ ้ ี ื ุ อลกอรทมควรออกแบบใหสามารถปรบปรงการใชงานไดงาย ั ิ ึ ้ ั ุ ้ ้่ 4. อัลกอริทมต้องใช้เวลาในการพัฒนาน้อยทีสุด ึ ่ เวลาทใชในการพฒนาอลกอรทมควรจะเหมาะสม โดยไม่ใช้เวลาเกนความจาเป็น ่ี ้ ั ั ิ ึ ิ ํ 5. อลกอรทมตองงายตอความเขาใจ ั ิ ึ ้ ่ ่ ้ รปแบบและคาอธบายขนตอนวธในอลกอรทมจะตองออกแบบและใชรหสคาส ั ่งท่ี ู ํ ิ ั้ ิี ั ิ ึ ้ ้ ั ํ เป็นมาตรฐาน โดยผคนท ั ่วไปสามารถอานแลวเขาใจความหมายตรงกน ู้ ่ ้ ้ ั เมอออกแบบอลกอรทมแลว ตองมการ ทดสอบวาอลกอรทมนน สามารถทางานได้ ่ื ั ิ ึ ้ ้ ี ่ ั ิ ึ ั้ ํ ถกตองตามเงอนไขทกาหนดไวหรอไม่ หากอลกอรทมทเี่ ขยนไว้มการทางานทผดพลาด จะตอง ู ้ ่ื ่ี ํ ้ ื ั ิ ึ ี ี ํ ่ี ิ ้ กลับไปแก้ไขใหถกตอง จากนนทาการทดสอบจนกวาการทางานของอลกอรทมจะถกตอง ้ ู ้ ั้ ํ ่ ํ ั ิ ึ ู ้
  • 5. ตวอยางอลกอรทมการคานวณหาพนทกระดาษเมอเขยนเป็นคาส ั ่งเทยมจะไดดงน้ี ั ่ ั ิ ึ ํ ้ื ่ี ่ื ี ํ ี ้ ั GET width, length, depth SET (width * length) * 2 TO a1 SET (width * high) * 2 TO a2 SET (high * length) * 2 TO a3 SET a1 + a2 + a3 TO AREA SET area + (0.75 * a1) TO AREA DISPLAY area ตวอยางเมอ นําอลกอรทมไปเขยนเป็นผงงานจะไดดงน้ี ั ่ ่ื ั ิ ึ ี ั ้ ั START AREA = A1 + A2 + W, L, D A3 AREA = AREA + A1 = (W * L) * 2 (0.75 * A1) A2 = (W * H) * 2 AREA A3 = (H * L) * 2 END การเขียนโปรแกรม เมื่อผ่านขันตอนการออกแบบโปรแกรมแล้ว ขนต่อไปคอการเขยนโปรแกรมดวย ้ ั้ ื ี ้ ภาษาคอมพวเตอร์ ในขนตอนน้ีจะเป็นการนําอลกอรทมทอยในรปแบบของคาส ั ่งเทยมหรอผง ิ ั้ ั ิ ึ ่ี ู่ ู ํ ี ื ั งานจากขนตอนการออกแบบมาแปลใหเป็นโปรแกรมคอมพวเตอร์ ซงสามารถเลอกใชภาษาได้ ั้ ้ ิ ่ึ ื ้ หลายภาษาตงแต่ภาษาระดบต่า เช่น ภาษาแอสเซมบล ี จนถงภาษาระดบสง เช่น ภาษาเบสก ั้ ั ํ ึ ั ู ิ (BASIC) ภาษาซ ี (C) ฯลฯ แตละภาษากจะมรปแบบ โครงสราง หรอไวยากรณ์ของภาษาท่ี ่ ็ ีู ้ ื แตกตางกนออกไป ตวอยางในภาพท่ี 1.2 เป็นตวอยางการนําไปเขยนดวยภาษา QuickBASIC ่ ั ั ่ ั ่ ี ้
  • 6. ภาพท่ี 1.2 ตวอย่างการเขียนโปรแกรมด้วย QuickBASIC ั การตรวจสอบข้อผิดพลาดของโปรแกรม ในการเขยนโปรแกรมๆ จะตองไดรบการตรวจสอบหาขอผดพลาด (Error) ซงอาจเกด ี ้ ้ั ้ ิ ่ึ ิ จากการเขยนโปรแกรมทผดหลกไวยากรณ์ของภาษาเป็นตน โดยท ั ่วไปจะมวธทจะตรวจสอบ ี ่ี ิ ั ้ ี ิ ี ่ี ขอผดพลาดของโปรแกรม 2 ขนตอน ไดแก่ ้ ิ ั้ ้ 1. ตรวจสอบดวยตนเอง (Self Checking) ้ เป็นการทดลองเขยนโปรแกรมลงบนกระดาษ แลวไล่ตรวจสอบการทางานข ี ้ ํ องโปรแกรม ทละขนดวยตนเองวาโปรแกรมมการทางานทถกตอง ไดผลลพธตรงตามความเป็นจรงหรอไม่ ี ั้ ้ ่ ี ํ ่ี ู ้ ้ ั ์ ิ ื 2. ตรวจสอบดวยการแปลโปรแกรม (Translating) ้ เป็นการเขียนโปรแกรมเข้าสู่เครื่องคอมพิวเตอร์เพื่อทําการแปลโปรแกรม โดยจะต้อง เรียกใช้ตวแปรภาษาโปรแกรม ทําการแปลโปรแกรมให้เ ป็นภาษาเคร่อง การแปลน้จะเป็นการ ั ื ี ตรวจสอบความผดพลาดของโปรแกรมดวย ถามขอผดพลาดใดๆ ิ ้ ้ ี ้ ิ ตวภาษา จะแจง ความ ั ้ ผดพลาดใหทราบ เพอใหผ้เขยนโปรแกรมทาการแกไขใหถกตอง ขอผดพลาดของโปรแกรมทจะ ิ ้ ่ื ้ ู ี ํ ้ ้ ู ้ ้ ิ ่ี เกดขนม ี 3 แบบคอ ิ ้ึ ื • ขอผดพลาดทางไวยากรณ์ (Syntax Error) ้ ิ • ขอผดพลาดในระหวางการรนโปรแกรม (Runtime Error) ้ ิ ่ ั • ขอผดพลาดทางตรรก (Logical Error) ้ ิ
  • 7. ู ในบางครังโปรแกรมอาจผ่านการแปลโดยไม่มขอผิดพลาดใดๆ แต่เมือนําโปรแกรม ้ ี ้ ่ นนไปใชงานปรากฏวาไดผลลพธทผด เน่ืองจากอาจเกดขอผดพลาดทางตรรกแฝงอยู่ ดงนันจง ั้ ้ ่ ้ ั ์ ่ี ิ ิ ้ ิ ั ้ ึ ตองมขนตอนการทดสอบความถกตองของโปรแกรม การทดสอบความถกตองของ โปรแกรม จะ ้ ี ั้ ู ้ ู ้ มอยหลายวธดงตอไปน้ี ี ู่ ิี ั ่ 1. การใสขอมลทถกตอง ่ ้ ู ่ี ู ้ เป็นการทดสอบโดยใสขอมลทถกตองลงไปในโปรแกรมและดวาผลลพธทไดจาก ่ ้ ู ่ี ู ้ ู่ ั ์ ่ี ้ โปรแกรมถกตองตามความเป็นจรงหรอตรงกบทตองการหรอไม่ ู ้ ิ ื ั ่ี ้ ื 2. การใชขอบเขตและความถกตองของขอมล ้ ู ้ ้ ู เป็นการทดสอบโดยตรวจสอบขอบเขตของขอมลทป้อนเขาสโปรแกรม เชน หาก ้ ู ่ี ้ ู่ ่ โปรแกรมใหมการป้อนวนท่ี กจะตองตรวจสอบวาวนทๆ ป้อนจะตองมคาไม่เกิน 31 หรอการ ้ ี ั ็ ้ ่ ั ่ี ้ ี่ ื ตรวจสอบความสมบรณ์ของขอมล เชน การรบขอมลทเี่ ป็นวน/เดอน/ปี ก็จะต้องใส่เป็นตัวเลข 6 ู ้ ู ่ ั ้ ู ั ื ตวในลกษณะ dd/mm/yy เป็นตน ั ั ้ 2. ข้อมูลทีเป็นตัวเลขและตัวอักษร ่ เป็นการตรวจสอบวาถาตองรบขอมลทเี่ ป็นตวเลข ขอมลทผ้ใชป้อนกควรจะมเี ฉพาะ ่ ้ ้ ั ้ ู ั ้ ู ่ี ู ้ ็ ตัวเลขเท่านัน หรอ ข้อมูลทีเป็นตัวอักษรเช่น ชื่อ- นามสกุล ก็จะป้อนได้เฉพาะตัวอักษรเท่านัน ้ ื ่ ้ เป็นตน ้ 3. ขอมลเป็นไปตามขอกาหนด ้ ู ้ ํ ขอมลทป้อนตองเป็นไปตามทกาหนดไว้ เชน ขอมลรหสประเภทพนกงานจะตอง ้ ู ่ี ้ ่ี ํ ่ ้ ู ั ั ้ เป็นตัวเลข 1 2 3 หรอ 4 เท่านัน เป็นตน ื ้ ้ ตวอยางในภาพท่ี 1.3 เป็นการทดสอบการทางานของโปรแกรมคานวณพนทของ ั ่ ํ ํ ้ื ่ี กระดาษทจะใชพบเป็นกลองรปทรงสเี่ หลยม ่ี ้ ั ่ ู ่ี ภาพท่ี 1.3 ตวอยางการทดสอบการทางานของโปรแกรม ั ่ ํ
  • 8. ํ การทาเอกสารประกอบโปรแกรม คอการอธบายรายละเอยด และจดประสงคของ ํ ื ิ ี ุ ์ โปรแกรม ขนตอนการทางานของโปรแกรมเป็นอยางไร รวมถง เครองมอทช่ วยในการออกแบบ ั้ ํ ่ ึ ่ ื ื ่ี โปรแกรมเช่น ผงงานหรอคาส ั ่งเทยมก็สามารถนํามาประกอบกนเป็นเอกสารประกอบโปรแกรม ั ื ํ ี ั ได้ ผเขยนโปรแกรมทดควรจะมการทาเอกสารประกอบโปรแกรมทุกขนตอนของการ ู้ ี ่ี ี ี ํ ั้ ่ ั้ ั พฒนาโปรแกรม ไม่วาจะเป็นขนตอนการ วิเคราะห์ปญหา การออกแบบอัลกอริทม การเขยน ั ึ ี โปรแกรมหรอขนตอนการทดสอบโปรแกรม การทาเอกสารน้จะมประโยชน์อยางม าก เน่ืองจาก ื ั้ ํ ี ี ่ บางครังอาจต้องการเปลียนแปลงแก้ไขโปร แกรมทไดมการทาเสรจไปนานแลว เพอใหตรงกบ ้ ่ ่ี ้ ี ํ ็ ้ ่ื ้ ั ความตองการทเี่ ปลยนไป ้ ่ี เอกสารประกอบโปรแกรมโดยท ั ่วไปจะมอยดวยกน 2 แบบคือ ี ู่ ้ ั 1. เอกสารประกอบโปรแกรมสําหรับผูใช้ ้ เป็นเอกสารสาหรบผ้ใชทไมตองเกยวของกบการพฒนาโปรแกรม แต่เป็นเอกสาร ํ ั ู ้ ่ี ่ ้ ่ี ้ ั ั สาหรบผใชงานโปรแกรมโดยเฉพาะ ซงจะเน้นการอธบายเกยวกบการใชงานโปรแกรมเป็นหลก ํ ั ู้ ้ ่ึ ิ ่ี ั ้ ั ตวอยางเชน ั ่ ่ • หน้าทีของโปรแกรม ่ • ลกษณะของขอมลนําเขา ั ้ ู ้ • ขอมลออกหรอผลลพธ์ ้ ู ื ั • การเรียกใช้โปรแกรม • ประสทธภาพและความสามารถของโปรแกรม ิ ิ 2. เอกสารประกอบโปรแกรมสําหรบผเขยนโปรแกรม ั ู้ ี เอกสารน้จะแบงออกไดเป็น 2 สวน ี ่ ้ ่ • คําอธิบายหรือหมายเหตุในโปรแกรม สวนใหญ่มกจะเขียนแทรกอยูใน ่ ั ่ โปรแกรมเพื่ออธบายการทางานของโปรแกรม ิ ํ • คาอธบาย ดานเทคนิค จะทาเป็นเอกสารแยก ออกมา โดย อธบายใน ํ ิ ้ ํ ิ รายละเอยดทมากขน เช่น ช่อโปรแกรมยอยต่างๆ หน้าท่ีการทางานของ ี ่ี ้ึ ื ่ ํ โปรแกรมและคาอธบายเกยวกบวตถุประสงคของโปรแกรม เป็นตน ํ ิ ่ี ั ั ์ ้
  • 9. ํ ุ ั เม่อโปรแกรมผ่านการตรวจสอบตามขนตอนและถูกนํามาใหผใชไดใชงาน ในช่วง ื ั้ ้ ู้ ้ ้ ้ ้ ั แรกของการใชงาน อาจจะมีปญหา ดงนนจงตองมผคอยควบคมดแลและคอยตรวจสอบการ ั ั ้ ึ ้ ี ู้ ุ ู ทางาน การบารงร ั กษาโปรแกรมจงเป็นขนตอนทผเขยนโปรแกรมตอง ตรวจสอบ และหา ํ ํ ุ ึ ั้ ่ ี ู้ ี ้ ขอผดพลาดของโปรแกรมในระหวางทผใชใชงานโปรแกรมและ ทาการปรบปรงแกไขโปรแกรม ้ ิ ่ ่ ี ู้ ้ ้ ํ ั ุ ้ เมอเกดขอผดพลาดขน หรอเมื่อ ผ้ใชตองการเปลยนแปลงการทางานของระบบงานเดมเพอให้ ่ื ิ ้ ิ ้ึ ื ู ้ ้ ่ี ํ ิ ่ื เหมาะสมกบสถานการณ์ทเี่ ปลยนไป เช่น ต้องการเปลียนแปลงรปแบบรายงาน การเพมหรอลบ ั ่ี ่ ู ิ่ ื ขอมลเดม ผเขยนโปรแกรม จะตองคอยปรบปรงแกไขโปรแกรมตามความตองการของผ้ใชท่ี ้ ู ิ ู้ ี ้ ั ุ ้ ้ ู ้ เปลยนแปลงไปนนดวย ่ี ั้ ้ คณสมบติของนกเขียนโปรแกรม ุ ั ั ผูเขียนโปรแกรมหรอโปรแกรมเมอรนน ควรจะมคุณสมบตดงต่อไปน้ี จงจะเร ียกไดวา ้ ื ์ ั้ ี ั ิ ั ึ ้่ เป็นโปรแกรมเมอรทดี ์ ่ี • มความรักและชอบในการเขียนโปรแกรม ี • มความคดรเิ ร่มสรางสรรค์ ี ิ ิ ้ • มความอดทนต่อการเขยนโปรแกรม ี ี • รจกการทางานเป็นทมหรอเป็นกลุ่มคณะ ซงการพฒนาโปรแกรมทใหญ่ๆ อาจตอง ู้ ั ํ ี ื ่ึ ั ่ี ้ มการทางานกนเป็นทมตองมการแบ่งงานกนทาแบบแยกส่วน ผลงานทออกมา ี ํ ั ี ้ ี ั ํ ่ี จะตองเป็นผลงานสวนรวมของทงทม ดงนนจงตองรจกการถ่ายทอดความรู้ ความ ้ ่ ั ้ ี ั ั ้ ึ ้ ู้ ั คดเหนใหแกคนในทมงานเดยวกน ิ ็ ้ ่ ี ี ั • ทาเอกสารประกอบโปรแกรมไวตลอด เพอใหงายตอการพฒนาตอไปในภายหลง ํ ้ ่ื ้ ่ ่ ั ่ ั ผังงาน ผังงาน (Flowchart) คอการเขยนอธบายอลกอรทมการทางานในลกษณะของ ื ี ิ ั ิ ึ ํ ั รปภาพ ประโยชน์ของผังงานใช้สาหรับช่วยในการเรียงลําดับอัลกอริทมการแก้ปญหา เนื่องจาก ู ํ ึ ั ผงงานเป็นการอธบายอลกอรทมการทางานในลกษณะของรปภาพ ทาใหสามารถเหนลาดบของ ั ิ ั ิ ึ ํ ั ู ํ ้ ็ ํ ั อลกอรทมการทางานไดชดเจนกวาการอธบายอลกอรทมการทางานในลกษณะของขอความ ั ิ ึ ํ ้ ั ่ ิ ั ิ ึ ํ ั ้ ั หากลักษณะของปญหาทีตองก ารแกไขนนมความซบซอนมากขน ความยงยากในการเขยน ่ ้ ้ ั้ ี ั ้ ้ึ ุ่ ี อธบายอลกอรทมการทางานจะมมากขนตามไปดวย ิ ั ิ ึ ํ ี ้ึ ้ การใชผงงานเพอชวยสาหรบการหาอลกอรทมการทางานนน จะทาใหสามารถ ้ ั ่ื ่ ํ ั ั ิ ึ ํ ั้ ํ ้ เขยนอลกอรทมการทางานในลกษณะของขอความไดสะดวกยงขน เมอไดผงงานทแสดงถง ี ั ิ ึ ํ ั ้ ้ ่ิ ้ึ ่ ื ้ ั ่ี ึ
  • 10. ึ ้ ั อลกอร ิ ทมการแกไขปญหาทตองการแลว ขนตอนตอไปคอทาการเปลยนจากผงงานใหเป็น ่ี ้ ้ ั้ ่ ื ํ ่ี ั ้ โปรแกรมภาษาคอมพวเตอรทตองการ ิ ์ ่ี ้ สญลกษณ์สาหรบเขียนผงงาน ั ั ํ ั ั เพอใหผอนสามารถทาความเขาใจกบอลกอรทมการทางานของผงงาน จงควรใช้ ่ ื ้ ู้ ่ ื ํ ้ ั ั ิ ึ ํ ั ึ รูปแบบของสัญลักษณ์ผงงานตามมาตรฐานทมการใชงานกนท ั ่วไป สญลกษณ์ทใชสาหรบเขยน ั ่ี ี ้ ั ั ั ่ี ้ ํ ั ี ผังงานมีดงนี้ ั จุดเริ่ มต้นและสิ้ นสุด สญลกษณ์ทใชสาหรบจดเรมตนและจดสนสดของผงงาน ใชสญลกษณ์รปสเี่ หลยม ั ั ่ี ้ ํ ั ุ ่ิ ้ ุ ้ิ ุ ั ้ ั ั ู ่ี ปลายมน ภายในสญลกษณ์จะเป็น เขยนคาอธบายบอกวาเป็นจดเรมตนหรอสนสดของผงงาน ั ั ี ํ ิ ่ ุ ่ิ ้ ื ้ิ ุ ั โดยใชคา วา START หรอ BEGIN สําหรับบอกจุดเริมต้นของผังงาน และ คาวา “STOP” หรอ ้ ํ ่ ื ่ ํ ่ ื “END” สําหรับบอกจุดสินสุดของผังงาน สัญลักษณ์จุดเริมต้นของผังงานจะมีเพียงทิศทางออก ้ ่ ไม่มทศทางเข้า ส่วนสัญลักษณ์จุดสินสุดของผังงานจะมเี พยงทศทางเขาแต่ไมม ทศทางออก ี ิ ้ ี ิ ้ ่ ี ิ START END การกาหนดค่าและการคานวณ ํ ํ สญลกษณ์ทใชสาหรบการกาหนดคา การคานวณ การประมวลผลหรอ Process จะ ั ั ่ี ้ ํ ั ํ ่ ํ ื ใช้เป็นรปสเี่ หลยมผนผา โดยเขยนคาอธบายการทางานอยภายใน ู ่ี ื ้ ี ํ ิ ํ ู่ A1 = (W * L) * 2 X = 200 การรบข้อมลเข้าและการส่งข้อมลออก ั ู ู การรบข้อมูลเข้าและการส่งข้อมูลออกในกรณีไม่กาหนดอุปกรณ์นน สญลกษณ์ท่ี ั ํ ั้ ั ั ใชคอรปสเี่ หลยมดานขนาน ภายในเป็นคาอธบายลกษณะการทางาน โดยใชคาอธบาย Read ้ ื ู ่ี ้ ํ ิ ั ํ ้ ํ ิ หรอ Input สาหรบการรบขอมลเขา และใชคาอ ธบาย Output หรอ Print สาหรบการนําขอมล ื ํ ั ั ้ ู ้ ้ ํ ิ ื ํ ั ้ ู ออก
  • 11. INPUT X PRINT X การแสดงข้อมลออกทางจอภาพ ู การแสดงขอมลทางจอภาพจะใชสญลกษณดงตอไปน้ี โดยเขยนหรอระบุขอมลท่ี ้ ู ้ ั ั ์ ั ่ ี ื ้ ู ตองการแสดงออกทางจอภาพไว้ในสญลกษณ์น้ี ้ ั ั AREA “Invalid” การตดสินใจ ั สญลกษณ์ของผงงานทใชสาหรบการตดสนใจจะเป็นเครองหมายสเี่ หลยมขนม ั ั ั ่ี ้ ํ ั ั ิ ่ื ่ี เปียกปน สญลกษณ์น้ีใชสาหรบตรวจสอบเงอ นไขเพอตดสนใจเลอก กระทางาน ในลาดบถดไป ู ั ั ้ ํ ั ่ื ่ื ั ิ ื ํ ํ ั ั โดยมเี งอนไขสาหรบการตดสนใจเขยนอยภายในสญลกษณ์ ่ื ํ ั ั ิ ี ู่ ั ั Condition X >= Y Yes No Yes No สญลกษณ์สาหรบการตดสนใจมทางเขา 1 ทางและทางออก 2 ทาง คอกรณทผล ั ั ํ ั ั ิ ี ้ ื ี ่ี การตรวจสอบเงอนไขเป็นจรงและผลการตรวจสอบเงอนไขเป็นเทจ โดยใชคาอธบาย Yes หรอ ่ื ิ ่ื ็ ้ ํ ิ ื True กากบในกรณีทผลการตรวจสอบเง่อนไขเป็นจรง และใชคาอธบาย No หรอ False กากบ ํ ั ่ี ื ิ ้ ํ ิ ื ํ ั ในกรณีทมผลการตรวจสอบเงื่อนไขเป็นเท็จ ่ี ี การแสดงทิ ศทางของผังงาน การแสดงทิศทางของของผังงานจะใช้ลกศรสําหรับการบอกทิศทาง โดยนิยมเขียน ู ทศทางการทางานจากดานบนลงดานลาง หรอจากดานซายไปดานขวา ลกศรทชเี้ ขาสญลกษณ์ ิ ํ ้ ้ ่ ื ้ ้ ้ ู ่ี ้ ั ั ของผงงานนยมเขยนลกศรชเี้ ขาดานบนของสญลกษณ์และลกศรทชออกจากสญลกษณ์ของผง ั ิ ี ู ้ ้ ั ั ู ่ี ้ี ั ั ั งานนิยมเขียนลูกศรชีออกทางด้านล่างของสัญลักษณ์ ้
  • 12. การเขียนเส้นของลูกศรแสดงทิศทางการไหลของผังงานไม่นิยมเขยนเสนตดกน ถ้า ี ้ ั ั มขนตอนการทางานทตองเขยนเสนตดกน ตองพยายามเลยงโดยการปรบรปของโครงสรางผง ี ั้ ํ ่ี ้ ี ้ ั ั ้ ่ี ั ู ้ ั งานใหม่หรือใช้เครื่องหมายจุดต่อช่วยในการเขียนผังงาน จดต่อภายในหน้าเดียวกน ุ ั สญลกษณ์จดตอภายในหน้าเดยวกน ใชสาหรบเชอมการทางานของผงงานทอยใน ั ั ุ ่ ี ั ้ ํ ั ่ื ํ ั ่ี ู่ หน้าเดยวกน สญลกษณ์จดตอภายในหน้าเดยวกนใชสญลกษณ์ของวงกลม ภายในวงกลมระบุ ี ั ั ั ุ ่ ี ั ้ ั ั หมายเลขของจุดทีตองการต่อเชื่อมถึงกัน จุดต่อแต่ละจุดต้องมีค่ทตองการเชื่อมถึงกันเสมอ ่ ้ ู ่ี ้ สญลกษณ์จดตอภายในหน้าเดี ยวกน จะใชในกรณทเี่ สนทศท างการทางานของผง ั ั ุ ่ ั ้ ี ้ ิ ํ ั งานมความยาวมากหรอมจดตดของเสนเกดขน เพอลดความซบซอนของเสนทใชแสดงขนตอน ี ื ีุ ั ้ ิ ้ึ ่ ื ั ้ ้ ่ี ้ ั้ การทางานของผงงาน ทาใหสามารถเหนลาดบขนตอนการทางานไดอยางไมสบสน ํ ั ํ ้ ็ ํ ั ั้ ํ ้ ่ ่ ั หลกในการเขียนผงงาน ั ั การเขยนผงงานนน ไมม วธการทแน่ ชดวาจะตองใชคาส ั ่งอะไรบาง ทงน้ีขนอยกบ ี ั ั้ ่ ี ิ ี ่ี ั ่ ้ ้ ํ ้ ั ้ ้ึ ู่ ั ลกษณะของงานทจะทา การศกษาลาดบขนตอนในการทางานของผงงาน ใหสงเกตจากลกศรท่ี ั ่ี ํ ึ ํ ั ั้ ํ ั ้ ั ู แสดงทิศทางการไหลของข้อมูลในผังงานเป็นหลักในการเขียนผังงาน จะต้องคํานึงถึงสิงต่าง ๆ ่ ตอไปน้ี ่ 1. ใชสญลกษณ์ทมรปแบบเป็นมาตรฐาน ้ ั ั ่ี ี ู 2. ขนาดของสญลกษณ์ขนอยกบความเหมาะสม ั ั ้ึ ู่ ั 3. ควรเขียนทิศทางการไหลของข้อมูล เริมจากบนลงล่างหรอจากซายไปขวา และ ่ ื ้ ควรทาหวลกศรกากบทศทางดวย ํ ั ู ํ ั ิ ้ 4. การเขยนคาอธบายใหเขยนภายในสญลกษณ์ ใชขอความทเี่ ขาใจงาย สนและ ี ํ ิ ้ ี ั ั ้ ้ ้ ่ ั้ ชดเจน ั 5. พยายามใหเกดจดตดน้อยทสด หรออาจใชสญลกษณ์จดตอภายในหน้าเดยวกน ้ ิ ุ ั ่ี ุ ื ้ ั ั ุ ่ ี ั เพอหลกเลยงขอผดพลาดทอาจเกดขน ่ ื ี ่ี ้ ิ ่ี ิ ้ึ 6. หากเป็นไปไดควรเขยนผงงานใหจบภายในหน้าเดยวกน ้ ี ั ้ ี ั 7. ผงงานทดควรเป็นระเบยบเรยบรอย ชดเจน เขาใจและตดตามขนตอนไดง่าย ั ่ี ี ี ี ้ ั ้ ิ ั้ ้ 8. จุดเริมต้นและสินสุดของงานควรมเี พยงอยางละจุดเดียว ่ ้ ี ่
  • 13. ํ ้ ้ ั 1. ทาใหเขาใจและแยกแยะปญหาตาง ๆ ไดงายขน ่ ้ ่ ้ึ 2. ผเขยนโปรแกรมมองเหนลาดบการทางาน รวาสงใดควรทาก่อน สงใดควรทาหลง ู้ ี ็ ํ ั ํ ู้ ่ ิ่ ํ ิ่ ํ ั 3. สามารถหาขอผดพลาดของโปรแกรมไดงาย ้ ิ ้่ 4. ไมขนกบภาษาคอมพวเตอรภาษาใดภาษาหน่ึง ผอนสามารถเรยนรและเขาใจได้ ่ ้ึ ั ิ ์ ู้ ่ ื ี ู้ ้ งาย ่ ตัวอย่างผังงานของโปรแกรมทรบขอมลรหสสถานภาพจากผ้ใชแลวแสดงขอความ ่ี ั ้ ู ั ู ้ ้ ้ สถานภาพออกทางจอภาพ START code “Individual is code = “M” Yes married” No “Individual is code = “S” Yes single” No “Individual is code = “D” Yes divorced” No “Individual is code = “W” Yes widowed” No “An invalid code was entered” END
  • 14. คอมพวเตอรจะมการทางานโดยร้จกคาส ั ่งเพยง 2 ชนดคอ ปิด (Off) กบเปิด (On) ิ ์ ี ํ ู ั ํ ี ิ ื ั ซงสถานะทงสองน้ีใหเทยบเทากบคา ทางไฟฟ้าหรอ เลขฐานสอง คอ 0 (Off) กบ 1 (On) การ ่ึ ั้ ้ ี ่ ั ่ ื ื ั เขียนโปรแกรมให้เครื่องคอมพวเตอรในสมยกอ นจงตองเขยนดวยภาษาเครอง โดยประกอบดวย ิ ์ ั ่ ึ ้ ี ้ ่ื ้ เลขฐานสอง แต่ละคําสั ่งจะมีรปแ บบของภาษาเครองทแตกตางกนไป ตามโครงสรางดาน ู ่ ื ่ี ่ ั ้ ้ ฮารดแวรของเครองคอมพวเตอร์ ซงถอวาเป็นภาษาระดบต่า ์ ์ ่ื ิ ่ึ ื ่ ั ํ การเขยนโปรแกรมดวยภาษาเครองน้ีมความย่งยากและมโอกาสเกดขอผดพลาดได้ ี ้ ่ื ี ุ ี ิ ้ ิ มาก อกทงยากตอการทาความเขาใจอกดวย ดงนนจงมการพฒนาภาษาโปรแกรมขนจากระดบ ี ั้ ่ ํ ้ ี ้ ั ั้ ึ ี ั ้ึ ั ต่าเป็นระดบสงขนเรอยๆ ภาษาโปรแกรมระดบสงจะเป็นภาษาองกฤษ เพอใหมความสะดวกใน ํ ั ู ้ึ ่ ื ั ู ั ่ื ้ ี ้ึ ั ุ ั ี การเขยนและอ่านมากขน ในปจจบนมการพฒนาภาษาโปรแกรมออกมามากมาย แตละภาษาจะ ี ั ่ เหมาะสมกบงานเฉพาะอยาง ั ่ ภาษาคอมพวเตอร์ (Computer Language) หมายถงสญลกษณ์ทผ้คดพฒนาภาษา ิ ึ ั ั ่ี ู ิ ั กาหนดขนมาเพอใชแทนคาส ั ่งสอสารส ั ่งงาน ระหวางมนุษยกบเครองคอมพวเตอรและอปกรณ์ ํ ้ึ ่ื ้ ํ ่ื ่ ์ ั ่ื ิ ์ ุ ต่อพ่วงอ่น ๆ โดยพฒนาการของภาษาคอมพวเตอรมจดเรมตนทการเขยนคาส ั ่งงานดวยรปแบบ ื ั ิ ์ ี ุ ่ิ ้ ่ี ี ํ ้ ู ของเลขฐานสอง ซึงพัฒนามาเป็นการใช้ขอความภาษาอังกฤษเพื่อสั ่งงานเครื่องในยุคปจจุบน ่ ้ ั ั วิวฒนาการของภาษาคอมพิวเตอร ์ ั ภาษาคอมพวเตอรมการพฒนาหรอ เป็น ลาดบเชนเดยวกบคอมพวเตอร์ โดยจะ ิ ์ ี ั ื ํ ั ่ ี ั ิ สามารถแบงออกเป็นยคหรอเป็นรุ่นของภาษา (Generation) ได้เป็น 3 ยคหลกๆ คอ ่ ุ ื ุ ั ื 1. ภาษาเครอง (Machine Language) ่ื 2. ภาษาแอสเซมบลี (Assembly Language) 3. ภาษาชนสง (High-level Language) ั้ ู ภาษาเครื่อง ภาษาเครองเป็นภาษาทเี่ กดขนในยคแรกสด เป็นภาษาเดยวทเี่ ครองคอมพวเตอร์ ่ื ิ ้ึ ุ ุ ี ่ื ิ จะสามารถเข้าใจคําสั ่งได้ ภาษาเครื่องแทนข้อมูลหรือคําสั ่งในโปรแกรมด้วยกลุ่มของตัวเลข 0 และ 1 หรอทเี่ รยกวาตวเลขฐานสอง ซงจะสมพนธกบการเปิดและการปิดของสญญาณไฟฟ้า ื ี ่ ั ่ึ ั ั ์ ั ั ภายในเครองคอมพวเตอร์ โดยคอมพวเตอรแตละประเภทจะมภาษาเครองทเี่ ป็นของตนเอง ไม่ ่ื ิ ิ ์ ่ ี ่ื สามารถนําภาษาเครื่องทีใช้กบเครื่องประเภทหนึ่งไปใช้กบเครื่องประเภทอื่นได้ เนื่องจากแต่ละ ่ ั ั ระบบกจะมชดคาส ั ่งของภาษาเครองทแตกตางกนออกไป ซงเป็นลกษณะของภาษาทมการ ็ ีุ ํ ่ ื ่ี ่ ั ่ึ ั ่ี ี ขนอยกบเครอง (Machine Dependent) ้ึ ู่ ั ่ ื
  • 15. เป็นภาษาทมการใชสญลกษณ์ขอความ ่ี ี ้ ั ั ้ (Mnemonic Codes) แทนกลุ่มของ เลขฐานสอง เพื่อให้ง่ายต่อการเขียนและการจดจํามากกว่าภาษาเครื่อง ตัวอย่างเช่น • A ยอมาจาก ADD หมายถงการบวก ่ ึ • S ยอมาจาก SUBTRACT หมายถง การลบ ่ ึ • C ยอมาจาก COMPLARE หมายถง การเปรยบเทยบ ่ ึ ี ี • MP ยอมาจาก MULTIPLY หมายถง การคณ ่ ึ ู • ST ยอมาจาก STORE หมายถง การเกบขอมลไวในหน่วยความจา ่ ึ ็ ้ ู ้ ํ สัญลักษณ์เหล่านี้ทาให้ผโปรแกรมสามารถเขยนโปรแกรมไดงายมากขน นอกจากน้ี ํ ู้ ี ้่ ้ึ ภาษาแอสเซมบลียงอนุ ญาตให้ผเขียนใช้ตวแปรทีตงขึนมาเองในการเก็บค่าข้อมูลใดๆ เช่น X, ั ู้ ั ่ ั้ ้ Y, RATE หรอ TOTAL แทนการอางถงตาแหน่งทเี่ กบขอมลจรงๆ ภายในหน่วยความจาได้ ื ้ ึ ํ ็ ้ ู ิ ํ เน่องจาก คอมพิวเตอร์จะรูจกเฉพาะภาษาเครื่องเท่านัน ดังนันจึง ต้องมีการแปล ื ้ ั ้ ้ โปรแกรมภาษาแอสเซมบลี ให้เป็นภาษาเครื่องเสีย เพื่อที่ คอมพวเตอร์ จะสามารถเข้าใจและ ิ ทางานตามคาส ั ่งในโปรแกรมได้ การแปลภาษาแอสเซมบลเี ป็นภาษาเคร่องจะใช้ตวแปลภาษาท่ี ํ ํ ื ั เรียกว่า แอสเซมเบลอ (Assembler) โดยภาษาแอสเซมบล ี 1 คําสั ่งจะแปลเป็นภาษาเครื่องได้ 1 คําสั ่งเช่นกัน ภาษาแอสเซมบลจงคงยังมลกษณะทเี่ หมอนกบภาษาเครองคอ เป็นภาษาทขนอยู่ ีึ ี ั ื ั ่ื ื ่ี ้ึ กับเครื่อง โดยไมสามารถนําโปรแกรมภาษาแอสเซมบลีเดียวกันไปใช้ในเครื่องต่างชนิดกันได้ ่ นอกจากน้ีผ้ทจะเขยน โปรแกรมภาษาแอสเซมบลจะตองมความรในเรองฮารดแวร์ ู ่ี ี ี ้ ี ู้ ่ ื ์ ของเครองเป็นคอมพวเตอรอยางดี เน่ืองจากจะตองใชงานหน่วยความจาทเี่ ป็นรจสเตอรภายใน ่ื ิ ์ ่ ้ ้ ํ ีิ ์ ตลอด ดงนนภาษาแอสเซมบลจงเหมาะสมทจะใชเขยนในงานทตองการความเรวในการทางาน ั ั้ ีึ ่ี ้ ี ่ี ้ ็ ํ สง เช่นงานทางดานกราฟิกหรองานพฒนาซอฟตแวรระบบต่างๆ ู ้ ื ั ์ ์ ภาษาชนสง ั้ ู ภาษาชนสงเรยกไดอกอยางวาเป็นภาษารน ท่ี 3 (3rd Generation Languages หรอ ั้ ู ี ้ ี ่ ่ ุ่ ื 3GLs) เป็นภาษาทถูกสรางขนมาเพ่อใหสามารถเขยนและอ่านโปรแกรมไดง่ายขน เน่องจากม ี ่ี ้ ้ึ ื ้ ี ้ ้ึ ื ลกษณะเหมอนภาษาองกฤษท ั ่วๆ ไป และทสา คัญคือผูเขียนโปรแกรมไม่จาเป็นต้องมีความรู้ ั ื ั ่ี ํ ้ ํ เกยวกบระบบฮารดแวร์ ของเครองคอมพวเตอร์ แตอยางใด ตวอยางของภาษาประเภทน้ีไดแก่ ่ี ั ์ ่ื ิ ่ ่ ั ่ ้ ภาษาฟอรแทรน (FORTRAN) โคบอล (COBOL) เบสก (BASIC) ปาสคาล (Pascal) ซ ี (C) เอ ์ ิ ดา (ADA) เป็นตน ้ โปรแกรมทเี่ ขยนดวยภาษา ชนสงจะ ทางานได้กต่อเมื่อมีการแปลงให้เป็นภาษา ี ้ ั้ ู ํ ็ เครื่อง ในการแปลงจากภาษาชนสงใหเป็นภาษาเครองจะใชโปรแกรมทเี่ รยกวา คอมไพเลอร์ อ ั้ ู ้ ่ื ้ ี ่ หร ื
  • 16. ลภาษาเฉพาะของตวเอง ิ ์ ์ ่ ่ ั้ ู ่ ี ั ั ดงนนจงไมสามารถนําตวแปลภาษาหน่ึงไปใชแปลอกภา ษาหน่ึงได้ ั ั้ ึ ่ ั ้ ี คอมไพเลอร ์ คอมไพเลอร์ เป็นตวแปลภาษาซง จะทําการแปลโปรแกรมทังโปรแกรมให้เป็น ั ่ึ ้ ภาษาเครองในครงเดยว การแปลน้ีจะเป็นการตรวจสอบไวยากรณ์ของภาษา ถามขอผดพลาด ่ื ั้ ี ้ ี ้ ิ ทางไวยากรณ์ของภาษาเกดขนกจะแจงใหทราบ เพอใหผ้เขยนโปรแกรมทาการแกไขใหถกตอง ิ ้ึ ็ ้ ้ ่ื ้ ู ี ํ ้ ้ ู ้ แล้วจึงสั ่งให้แปลใหม่ โปรแกรมทียงไม่ผานการแปลจะเรียกว่า โปรแกรม ตนฉบบ (Source ่ ั ่ ้ ั Program) แต่ถ้าผ่านการแปลแล้วและไม่มขอผิดพลาดใดๆ จะเรียกโปรแกรมส่วนนี้วา ออบเจค ี ้ ่ โปรแกรม (Object Program) ออบเจคโปรแกรมจะตองผานการลงค์ (Link) หรอรวมเขากบไลบราร่ี (Library) ของ ้ ่ ิ ื ้ ั ระบบก่อนจงจะเป็นโปรแกรมทสามารถทางานไดหรอเป็นภาษาเคร่องทเี่ รยกวา เอกซซคว ท์ ึ ่ี ํ ้ ื ื ี ่ ็ ์ ี ิ โปรแกรม (Execute Program) ซงโดยท ั ่วไปจะเป็นไฟลทมนามสกลเป็น .exe หรอ .com และ ่ึ ์ ่ี ี ุ ื สามารถนําโปรแกรมนี้ไปใช้งานได้ตลอดโดยไม่ตองสั ่งแปลใหม่อก แต่ถามีการแก้ไขโปรแกรม ้ ี ้ แม้เพียงเล็กน้อยก็จะต้องทําการแปลใหม่ทงหมด ั้ อินเตอรพรเตอร ์ ์ ี อนเทอรพรเี ตอรเป็นตวแปลภาษาทจะทาการแปลโปรแกรมภาษาชนสงทละคาส ั ่งให้ ิ ์ ์ ั ่ี ํ ั้ ู ี ํ เป็นภาษาเครื่อง และทาการเอกซ์ซควทหรอทางานคาส ั ่งนนทนททนใดเลยกอนทจะแปล คาส ั ่ง ํ ็ ี ิ ์ ื ํ ํ ั้ ั ี ั ่ ่ี ํ ถดไป ถาในระหวาง การแปลเกดพบขอผ ิ ดพลาด ทบรรทดใดกจะ แจง ใหทาการแกไขบรรทด ั ้ ่ ิ ้ ่ี ั ็ ้ ้ ํ ้ ั นนทนท ี เมื่อแปลโปรแกรมเสร็จแล้วจะไม่สามารถเก็บเป็นเอ็กซ์ซควท์ได้ เหมอนคอมไพเลอร์ ั้ ั ี ิ ื ดงนนเม่อจะเรยกใชงานหรอรนโปรแกรม กจะตองทาการแปลหอคอมไพล์โปรแกรมใหม่ทกครัง ั ั้ ื ี ้ ื ั ็ ้ ํ รื ุ ้ ประโยชน์ของภาษาทถกแปลดวยอนเตอรพร ีเตอรคอ โปรแกรมจะมโครงสรางทง่ายต่อการพฒนา ่ี ู ้ ิ ์ ์ ื ี ้ ่ี ั ตวอยางของภาษาโปรแกรมทมการใชอนเตอรพรเี ตอรเป็นตวแปลภาษาไดแก่ ภาษาเบสก และ ั ่ ่ี ี ้ ิ ์ ์ ั ้ ิ ภาษาเพรล (Perl) เป็นตน ิ์ ้ บทสรป ุ คอมพวเตอรเป็น จะทางานตามชดคาส ั ่งในโปรแกรม ทกาหนดไว้ โดยคาส ั ่ง นน ิ ์ ํ ุ ํ ่ี ํ ํ ั้ จะตองอยในรูปแบบของภาษาเครื่อง หากเขยนโปรแกรมดวยภาษาชนสงกจะตองแปลใหเป็น ้ ู่ ี ้ ั้ ู ็ ้ ้ ภาษาเครองโดยใชตวแปลภาษาแบบคอมไพเลอรหรออนเทอรพรเี ตอร์ ใน การพฒนาโปรแกรม ่ื ้ ั ์ ื ิ ์ ั ิ ์ ่ื ้ ้ ั คอมพวเตอรเพอใชแกปญหานนประกอบดวยขนตอนหลกๆ 7 ขนตอน ขนตอนทสาคญคอการ ั้ ้ ั้ ั ั้ ั้ ่ี ํ ั ื ิ ึ ่ึ ั้ ั ออกแบบอลกอรทมซงเป็นขนตอนการวางลําดับของการแก้ปญหาก่อนทีจะนําไปเขียนโปรแกรม ั ่
  • 17. และภาษาคอมพวเตอรทใชใน ิ ั ิ ึ ้ ํ ี ื ั ็ ิ ์ ่ี ้ การเขยนโปรแกรมมพฒนาการจากคาส ั ่งงานในรูปแบบของเลขฐานสอง ซงเป็นภาษาระดบต่า ี ี ั ํ ่ึ ั ํ และตอมาไดพฒนาเป็นภาษาระดบสงทมลกษณะคลายภาษาองกฤษ ทาใหการเขยนโปรแกรม ่ ้ ั ั ู ่ี ี ั ้ ั ํ ้ ี ทาไดงายขน ํ ้ ่ ้ึ
  • 18. เอกสารอ้างอิง โกสนต์ เทพสทธทราภรณ.์ (2547). หลกการเขียนโปรแกรม. กรงเทพฯ : สานกพมพแมค ั ิ ิ ั ุ ํ ั ิ ์ ็ คณาจารยภาควชาวศวกรรมคอมพวเตอร์ สถาบนเทคโนโลยราชมงคล. (2547). การโปรแกรม ์ ิ ิ ิ ั ี คอมพิวเตอร.์ ปทุมธานี : ทริปเพิล เซเว่น มัลติเทค ้ งามนิจ อาจอนทร.์ (2544). ความรท ั ่วไปเก่ียวกบวิทยาการคอมพิวเตอร ์ (พมพครงท่ี 4). ิ ู้ ั ิ ์ ั้ กรงเทพฯ : ดวงกมลสมย ุ ั ธงชย สทธกรณ.์ (2540). ทฤษฎีระบบคอมพิวเตอร.์ กรงเทพฯ : สยามสปอรต ซนดเิ คท ั ิ ิ ุ ์ ั บุญสืบ โพธิ ์ศรี และคณะ. (2545). คอมพิวเตอรเพ่ืองานอาชีพ. กรงเทพฯ : ประสานมตร ์ ุ ิ บุญสบ โพธ ิ ์ศร ี และชยธร ฉตรสุวรรณ. (2546). การเขียนโปรแกรมคอมพิวเตอร ์ 1. ื ั กรงเทพฯ : ศนยสง เสรมอาชวะ ุ ู ์่ ิ ี พรชย จตตพานิชยและรศ.อุดม ใยเจริญ. (2530). ความรเบองต้นเก่ียวกบคอมพิวเตอร.์ ั ิ ์ ์ ้ ู ื้ ั กรงเทพฯ : มหาวทยาลยรามคาแหง ุ ิ ั ํ ภทรสนี ภทรโกศลม, ดร. และผศ.สมใจ บุญศร.ิ (2543). ความรคอมพิวเตอรเบองต้น. ั ิ ั ิ ู้ ์ ื้ กรงเทพฯ : โรงพมพพมพดี ุ ิ ์ ิ ์ ณรงค์เดช วิทยกุล, ภิญ�ู กําเนิดหล่ม. (2544). หลกการเขียนโปรแกรมขนต้น. กรงเทพฯ : ั ั้ ุ ฟิสกสเซนเตอร์ ิ ์ ็ มลนทร์ สาเภาเงน. (2528). ความรเบองต้นเก่ียวกบคอมพิวเตอร.์ กรุงเทพฯ : ศรมตร ิิ ํ ิ ้ ู ื้ ั ิิ ิ ระพพรรณ พรยะกุล. (2528). เรยนรระบบคอมพิวเตอร.์ กรงเทพฯ : ยูไนเต็ดท์บุ๊คส์ ี ิิ ี ู้ ุ รุ่งทิวา เสาร์สงห์, ผศ. (2546). การเขียนโปรแกรมคอมพิวเตอรเบืองต้น. กรงเทพฯ : ิ ์ ้ ุ ซเี อดยเู คช ั ่น ็ วระ บุญจรง. (2542). หลกการเขียนโปรแกรม(พมพครงท3). กรงเทพฯ : ดวงกมลสมย ี ิ ั ิ ์ ั ้ ่ี ุ ั สทธชย ประสานวงศ.์ (2526). ความรเก่ียวกบคอมพิวเตอรเบองต้น. กรงเทพฯ : ศนยอบรม ิ ิ ั ู้ ั ์ ื้ ุ ู ์ คอมพวเตอรธรกจ ิ ์ุ ิ สมชาย ประสิทธิ ์จูตระกูล. (2545). การออกแบบและวิเคราะหอลกอริทึม (พมพครงท่ี 2). ์ ั ิ ์ ั้ กรงเทพฯ : ศูนย์เทคโนโลยีอเิ ล็กทรอนิกส์และเทคโนโลยีแห่งชาติ ุ โอภาส เอยมสรวงศ.์ (2546). วิ ทยาการคอมพิ วเตอร์และเทคโนโลยีสารสนเทศ. กรงเทพฯ : ่ี ิ ิ ุ ซเี อดยเู คช ั ่น ็ โอภาส เอยมสรวงศ.์ (2546). เตรยมตวก่อนเป็นโปรแกรมเมอรและนกวิเคราะหระบบ. ่ี ิ ิ ี ั ์ ั ์ กรงเทพฯ : ซเี อดยเู คช ั ่น ุ ็

การออกแบบโปรแกรมหมายถึงอะไร

2. การออกแบบโปรแกรม (Design a Program) เป็นขั้นตอนการใช้เครื่องมือต่างๆ ออกแบบลำดับขั้นการทำงานของโปรแกรม เพื่อให้เห็นทิศทางหรือการทำงานโดยรวมของโปรแกรม ตัวอย่างเครื่องมือที่ใช้ในการออกแบบโปรแกรม เช่น รหัสจำลอง (Pseudo Code) และผังงาน

การออกแบบโปรแกรม คือ มีกี่ลักษณะ

การออกแบบขั้นตอนการทำงานของโปรแกรมหรือการออกแบบอัลกอริทึม เป็นการออกแบบลำดับขั้นตอนการทำงานของโปรแกรม สามารถแบ่งออกได้ 3 ลักษณะ คือ การใช้ภาษาธรรมชาติ การใช้รหัสจำลอง และการใช้ผังงาน

การเขียนโปรแกรมมีขั้นตอนอะไรบ้าง

ขั้นวิเคราะห์ความต้องการ (Requirement Analysis and Feasibility Study) ... .

ขั้นวางแผนแก้ไขปัญหา หรือการออกแบบโปรแกรม (Algorithm Design) ... .

ขั้นดำเนินการเขียนโปรแกรม (Program Coding) ... .

ขั้นทดสอบและแก้ไขโปรแกรม (Program Testing and Debugging) ... .

ขั้นการเขียนเอกสารประกอบ (Documentation).

ขั้นตอนการพัฒนาโปรแกรมมี 5 ขั้นตอน อะไรบ้าง

1. ขั้นตอนการพัฒนาโปรแกรม ... .

1.1 การวิเคราะห์ปัญหา (Problem Definition) ... .

1.2 การออกแบบโปรแกรม (Program Design) ... .

1.3 การเขียนโปรแกรม (Coding Program) ... .

1.4 การตรวจสอบความผิดพลาดของโปรแกรม (Debugging) ... .

1.5 การทดสอบความถูกต้องของโปรแกรม (Testing and Validating) ... .

1.6 การทาเอกสารประกอบโปรแกรม (Documentation).

กระทู้ที่เกี่ยวข้อง

Toplist

โพสต์ล่าสุด

แท็ก

ไทยแปลอังกฤษ แปลภาษาไทย โปรแกรม-แปล-ภาษา-อังกฤษ พร้อม-คำ-อ่าน ห่อหมกฮวกไปฝากป้าmv Terjemahan แปลภาษาอังกฤษเป็นไทย pantip lmyour แปลภาษา ไทยแปลอังกฤษ ประโยค แอพแปลภาษาอาหรับเป็นไทย เมอร์ซี่ อาร์สยาม ล่าสุด แปลภาษาอาหรับ-ไทย Bahasa Thailand app แปลภาษาไทยเป็นเวียดนาม พจนานุกรมศัพท์ทหาร ยศทหารบก ภาษาอังกฤษ สหกรณ์ออมทรัพย์กรมส่งเสริมการปกครอง ส่วนท้องถิ่น แปลภาษาเวียดนามเป็นไทยทั้งประโยค กรมส่งเสริมการปกครองท้องถิ่น การไฟฟ้าส่วนภูมิภาคมีทั้งหมดกี่ภาค มัจจุราชไร้เงา 1 mono29 มัจจุราชไร้เงา 1 pantip มัจจุราชไร้เงา 3 pantip รายชื่อวิทยานิพนธ์ นิติศาสตร์ 2563 ศัพท์ทหาร ภาษาอังกฤษ pdf ห่อหมกฮวกไปฝากป้า หนังเต็มเรื่อง แปลภาษาอิสลามเป็นไทย ่้แปลภาษา Google Drive กรมการปกครอง กระบวนการบริหารทรัพยากรมนุษย์ 8 ขั้นตอน การไฟฟ้าส่วนภูมิภาค ข้อสอบคณิตศาสตร์ พร้อมเฉลย คะแนน o-net โรงเรียน ที่อยู่สมุทรปราการ ภาษาอังกฤษ ประปาไม่ไหล วันนี้ มหาวิทยาลัยรามคําแหง เปิดรับสมัคร 2566 มัจจุราชไร้เงา 2 facebook ราคาปาเจโร่มือสอง สถาบันพัฒนาบุคลากรท้องถิ่น หนังสือราชการ ส ถ หยน ห่อหมกฮวกไปฝากป้า คาราโอเกะ อาจารย์ ตจต Google Form Info arifureta shokugyou de sekai saikyou manga online legendary moonlight sculptor www.niets.or.th ประกาศผลสอบ การบริหารทรัพยากรมนุษย์ มีอะไรบ้าง ข้อสอบภาษาอังกฤษ พร้อมเฉลย pdf