วันพฤหัสบดีที่ 1 สิงหาคม พ.ศ. 2556

การพัฒนาโครงงานคอมพิวเตอร์



การพัฒนาโครงงานคอมพิวเตอร์

โครงงานคอมพิวเตอร์  เป็นการศึกษาอย่างอิสระสำหรับผู้เรียน  โดยนำความรู้ที่ศึกษามารวบรวมเป็นองค์ความรู้เพื่อสร้างให้เป็นนวัตกรรมหรือสิ่งประดิษฐ์  โดยใช้คอมพิวเตอร์เป็นเครื่องมือในการสร้างงาน  ซึ่งเป็นการเพิ่มพูนฝึกฝนทักษะคอมพิวเตอร์  เนื่องจากจุดมุ่งหมายหลักในการเรียนการสอนคอมพิวเตอร์ในโรงเรียน  เพื่อต้องการให้นักเรียนได้มีความสามารถและความรู้ด้านคอมพิวเตอร์  และนำความรู้นั้นไปใช้ในการแก้ปัญหา  หรือประดิษฐ์คิดค้นความรู้ใหม่ๆจากเทคโนโลยีคอมพิวเตอร์
  กิจกรรมของโครงงานคอมพิวเตอร์  ประกอบด้วยองค์ประกอบหลักดังนี้
  1.โครงงานคอมพิวเตอร์เป็นกิจกรรมที่เกี่ยวข้องกับฮาร์ดแวร์และซอฟต์แวร์
  2.นักเรียนสามารถเลือกเรื่อง  หรือหัวข้อที่ต้องการศึกษาค้นคว้าตามความสนใจได้
  3.นักเรียนคิดค้นนวัตกรรมหรือสิ่งประดิษฐ์ด้วยตนเอง  ตามความรู้ความสามารถที่ได้ศึกษา
  4.นักเรียนต้องสามารถศึกษา  สรุป วางแผน  และนำเสนองานตามขึ้นตอนของโครงงานด้วยตนเอง โดยมีครูเป็นที่ปรึกษาโครงงาน

โครงงานคอมพิวเตอร์จัดเป็นงานวิจัยระดับมัธยมศึกษา  ดังนั้นครูผู้สอนควรเปิดโอกาสให้นักเรียนได้พัฒนาความรู้แสดงความสามารถตามศักยภาพของนักเรียน  เป็นการเปิดโอกาสและส่งเสริมให้นักเรียนศึกษาค้นคว้าและเรียนรู้ในเรื่องที่สนใจได้อย่างอิสระทั้งภายในและภายนอกห้องเรียน  การจัดทำโครงงานยังเป็นการส่งเสริมพัฒนากระบวนการคิดอย่างมีระบบการแก้ปัญหาการตัดสินใจ  สร้างความรับผิดชอบในการทำงานให้แก่นักเรียนได้เป็นอย่างดี  และยังส่งเสริมให้นักเรียนได้ใช้เวลาในการคิดสร้างสรรค์ในสิ่งที่เป็นประโยชน์
  ซึ่งเป็นอีกรูปแบบหนึ่งที่จะกระตุ้นความสนใจด้านคอมพิวเตอร์ให้แก่นักเรียน  ทำให้นักเรียนรู้ถึงศักยภาพและความสามารถของตนเอง  ถ้านักเรียนคนใดมีความสนใจด้านคอมพิวเตอร์ก็จะสามารถนำความรู้นี้ไปศึกษาต่อ  และประกอบอาชีพได้ในอนาคต  และการทำโครงงานไม่ได้เป็นเพียงการศึกษาด้านคอมพิวเตอร์ในรูปแบบต่างๆเท่านั้น  แต่ยังสามารถนำไปใช้บูรณาการกับวิชาอื่นๆ ที่เกี่ยวข้องกันได้  ซึ่งตรงตามจุดประสงค์ของการเรียนแบบบูรณาการในปัจจุบัน


ประเภทของโครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์ประกอบด้วย 5 ประเภท  คือ
 
  1.โครงงานพัฒนาสื่อเพื่อการศึกษา
  2.โครงงานพัฒนาเครื่องมือ
  3.โครงงานทดลองทฤษฎี  (จำลองทฤษฎี)
  4.โครงงานประยุกต์ใช้งาน
  5.โครงงานพัฒนาโปรแกรมประยุกต์ (หรือพัฒนาเกม)
  

ประเภทของโครงงานคอมพิวเตอร์
1.โครงงานพัฒนาสื่อเพื่อการศึกษา
  โครงงานประเภทนี้  เป็นการใช้คอมพิวเตอร์ผลิตสื่อการเรียนการสอน  โดยสร้างเป็นโปรแกรมคอมพิวเตอร์ช่วยสอน  ซึ่งจะประกอบด้วยเนื้อหาแต่ละหน่วยการเรียน  แบบฝึกหัด  การทดสอบก่อนเรียน  และการทดสอบหลังเรียน  เป็นต้น 
  โดยที่ครูจะใช้โปรแกรมคอมพิวเตอร์ช่วยสอนนี้  เป็นอุปกรณ์ในการสอนซ่อมเสริม  หรือนำมาใช้เป็นการทบทวนบทเรียนให้แก่นักเรียน  จะทำให้นักเรียนสามารถเรียนเพิ่มเติม  หรือทบทวนในเนื้อหาที่ยังไม่เข้าใจได้
  ในปัจจุบันได้พัฒนาเป็นบทเรียนออนไลน์  โดยนำเทคโนโลยีสารสนเทศเข้ามาช่วยในการพัฒนาสื่อเพื่อการศึกษา  ซึ่งบทเรียนออนไลน์จะเป็นบทเรียนที่นักเรียน  หรือบุคคลที่สนใจสามารถเข้าไปเรียนรู้ได้ด้วยตนเองและสามารถเรียนได้ทุกที่  โดยไม่ต้องคำนึงถึงห้องเรียน  และช่วงเวลาที่จะเข้าไปเรียน  ดังนั้นโครงงานพัฒนาสื่อเพื่อการศึกษาจะเป็นประโยชน์ในการศึกษาเรียนรู้ในยุคปัจจุบันได้เป็นอย่างดี

2.โครงงานพัฒนาเครื่องมือ
  โครงงานประเภทนี้เป็นการพัฒนาซอฟต์แวร์  เพื่อนำมาประยุกต์ใช้กับการทำงานด้านต่างๆ เช่น ซอฟต์แวร์ช่วยในการฝึกพิมพ์ดีด  ซึ่งแต่ก่อนจะใช้เครื่องพิมพ์ดีด  แต่ในปัจจุบันความนิยมในการใช้พิมพ์ดีดน้อยลง  แต่การใช้เครื่องคอมพิวเตอร์มากขึ้น  ซึ่งนำ 2 สิ่งนี้มาประยุกต์ใช้ร่วมกัน  เพราะการพิมพ์งานที่ถูกต้องต้องมีทักษะด้านการพิมพ์เหมือนกับเราเรียนพิมพ์ดีด  แต่ใช้เครื่องคอมพิวเตอร์เป็นอุปกรณ์แทนเครื่องพิมพ์ดีด  และหลักการพิมพ์แต่ละขั้นตอน  ก็ถูกพัฒนาเป็นซอฟต์แวร์  เนื่องจากตำแหน่งอักษรของแป้นพิมพ์คอมพิวเตอร์นั้นเหมือนกับแป้นพิมพ์ดีด
  โครงงานพัฒนาเครื่องมือประเภทอื่นๆ เช่น  ซอฟต์แวร์ในการสร้างภาพ  ซอฟต์แวร์ในการคำนวณระยะทาง   หรือซอฟต์แวร์หมอดู  เป็นต้น  ซึ่งนักเรียนมีความสนใจด้านใด  ก็สามารถพัฒนาซอฟต์แวร์  สำหรับเป็นเครื่องมือเพื่อประยุกต์ให้กับงานเหล่านั้น

3.โครงงานจำลองทฤษฎี
   โครงงานจำลองทฤษฎี  จะพัฒนาขั้นมาเพื่อช่วยการจำลองทฤษฎีสาขาต่างๆ  ที่ไม่สามารถใช้เหตุการณ์  หรือสถานการณ์จริงได้  เป็นโครงงานที่นักเรียนจะต้องศึกษาค้นคว้าความรู้  หลักการ  แนวคิด  และข้อเท็จจริงต่างๆ  ของทฤษฏีนั้นอย่างลึกซั้ง  และสร้างแบบจำลองเหตุการณ์ต่างๆ ขึ้นมา  ซึ่งโครงงานนี้จะเป็นการสร้างองค์ความรู้และการบูรณาการความรู้อย่างชัดเจน  เช่นโครงงานจำลองอุกาบาตรชนโลก  จะต้องศึกษาทั้งทฤษฎีด้านคอมพิวเตอร์  วิทยาศาสตร์  และดาราศาสตร์  และนำความรู้ที่ได้มาบูรณาการ  เพื่อความถูกต้องตามหลักทฤษฎี
  โครงงานจำลองทฤษฎี  จะเห็นว่าบริษัทผลิตรถยนต์ได้นำมาใช้สร้างเป็นเหตุการณ์จำลอง  
ในการทดสอบความปลอดภัยของรถยนต์เมื่อรถพุ่งชนกำแพง  คนขับจะมีความปลอดภัยในระดับใด  จะใช้หลักการคำนวณตามหลักวิทยาศาสตร์  เมื่อมีความเร็วของรถยนต์ผสมผสานกับแรงกระแทกจะเกิดเหตุการณ์ใดขึ้น
  นอกจากนี้โครงงานจำลองทฤษฎี  สามารถนำมาทดลองในเรื่องต่างๆ  ได้อีก เช่น  การทดลองสภาวะโลกร้อน  การทดสองการขับเครื่องบิน  การทดลองระบบสุริยจักรวาล  เป็นต้น

  4.โครงงานการประยุกต์ใช้งาน
    โครงงานประยุกต์ใช้งาน  เป็นโครงงานที่พัฒนาซอฟต์แวร์  เพื่อนำมาประยุกต์ใช้งานจริงในชีวิตประจำวัน  ซึ่งจะพบว่าปัจจุบันได้พัฒนาซอฟต์แวร์สำหรับการประยุกต์ใช้งานด้านต่างๆ  มากมาย  เช่น  ซอฟต์แวร์สำหรับการออกแบบและตกแต่งภายใน  ในร้านขายวัสดุก่อสร้าง  ได้นำซอฟต์แวร์ประเภทนี้มาช่วยในการตัดสินใจให้แก่ลูกค้า  โดยจะสร้างเป็นการจำลองตามความต้องการของลูกค้าและลูกค้าก็จะเห็นภาพเสมือนจริงนั้น  ซึ่งสามารถปรับเปลี่ยนแก้ไขได้ในทันที  โครงงานประยุกต์ใช้งานจะเป็การประดิษฐ์นวัตกรรมใหม่ๆ  หรือเป็นการพัฒนาปรับเปลี่ยนของเดิมให้มีประสิทธิภาพมากขึ้น
    ซอฟต์แวร์หรือฮาร์ดแวร์ประเภทโครงงานประยุกต์ใช้งานอย่างมากมายในปัจจุบันเพราะมนุษย์ต้องการความสะดวกและรวดเร็ว  นอกจากซอฟต์แวร์ที่พัฒนาขึ้นมาจะใช้กับเครื่องคอมพิวเตอร์แล้ว  ยังสามารถนำไปใช้กับอุปกรณ์อื่นๆ ได้อีก  เช่น  โทรศัพท์มือถือ เครื่องคอมพิวเตอร์แบบพกพา หรือพีดีเอ  ( PDA  :  Personal  Digital  Assistants )  ปาล์มคอมพิวเตอร์            ( Palm  Computer )   เป็นต้น
    โครงงานประยุกต์ใช้งานในชีวิตประจำวัน  เช่น  ซอฟต์แวร์การตรวจสอบสัญญาณโทรศัพท์มือถือ  ซอฟต์แวร์การออกแบบผลิตภัณฑ์  ซอฟต์แวร์การตรวจสอบบุคคล  เป็นต้น

5.โครงงานพัฒนาโปรแกรมประยุกต์ (หรือพัฒนาเกม)
    ในปัจจุบันเกมคอมพิวเตอร์  ได้เข้ามามีบทบาทต่อเยาวชนเป็นอย่างยิ่ง  ดังนั้นโครงงานพัฒนาเกม  จึงเป็นอีกโครงงานที่จะส่งเสริมการสร้างเกมจากจินตนาการของนักเรียน  ซึ่งจะทำให้ได้เกมสีขาวที่ไม่มีพิษภัยต่อผู้เล่น  หรือเป็นการสร้างเกมในเชิงสร้างสรรค์  โดยใช้ตัวละครตามวรรณคดีเป็ผู้เล่น  เช่น  เกมผจญภัยทะลุมิติ  แต่ตัวละครในเกมจะใช้เป็นหนุมาน  พระลักษมณ์  พระราม  นางสีดา  และทศกัณฐ์  ซึ่งเป็นตัวละครในเรื่องรามเกียรติ์  เป็นการผสมผสานความรู้ด้านวรรณคดีได้เป็นอย่างดี  และทำให้ผู้เล่นเกมมีความเข้าใจ  สามารถจำลักษณะของตัวละครเหล่านั้นได้  กฎกติการการเล่นเกมผู้พัฒนาโครงงานสามารถกำหนดขั้นมาได้เองตามความเหมาะสมหรือพัฒนาเกมประเภทฝึกสมอง  ประลองปัญญา  เช่น เกมจับคู่  เกมทายคำศัพท์ภาษาอังกฤษ  เป็นต้น  จึงเป็นอีกรูปแบบของโครงงานประเภทนี้  หรือนำบทเรียนที่ยากต่อการท่องจำมาสร้างในลักษณะของเกมจะช่วยให้ผู้เล่นนอกจากได้รับความบันเทิงแล้ว  ยังเป็นการท่องจำบทเรียนไปพร้อมกันด้วย
    ดังนั้นการสร้างสรรค์เกมและสอดแทรกความรู้เข้าไปก็จะมีประโยชน์มากสำหรับผู้เล่นและผู้ประดิษฐ์คิดค้น
  ซึ่งการจัดทำโครงงานคอมพิวเตอร์นั้น  และนักเรียนจะต้องมีความรู้พื้นฐานเกี่ยวกับ
    1. หลักการทำงานของคอมพิวเตอร์
    2. กระบวนการและหลักการในการแก้ปัญหา
    3. หลักการเขียนโปรแกรม
    4. การแทนข้อมูลในคอมพิวเตอร์
    จากโครงงานทั้ง 5 ประเภทนี้  นักเรียนสามารถคิดสร้างสรรค์จากความสนใจ  และตามจินตนาการของตนเองได้อย่างอิสระ  เป็นการเปิดโลกกว้างทางความคิด  แต่จะอยู่ภายใต้การให้คำปรึกษาที่ดีของครู

ขั้นตอนการทำโครงงานคอมพิวเตอร์
1. เลือกหัวข้อโครงงานที่สนใจ
  2. ศึกษาค้นคว้าเอกสารข้อมูลและทฤษฎีต่างๆ  เพื่อใช้ประกอบตามโครงงาน
  3. จัดทำข้อเสนอโครงงาน  เค้าโครงของโครงงานในแต่ละขั้นตอน  เพื่อเป็นกรอบแนวคิด  แนวทางในการจำทำโครงงาน  และวางแผนการดำเนินงานในตามขั้นตอน  นำเสนอครูที่ปรึกษา  หรือผู้เชี่ยวชาญที่จะให้คำปรึกษาในการจัดทำโครงงาน
  4. พัฒนาโครงงาน  จัดหาอุปกรณ์ทั้งฮาร์ดแวร์  ซอฟต์แวร์  หรือเครื่องมือต่างๆ  ที่จะใช้ตามโครงงาน เริ่มปฏิบัติงานตามโครงงาน
  5. จัดทำรายงาน  การเขียนรายงานการจัดทำโครงงาน
  6. นำเสนอและเผยแพร่โครงงาน

องค์ประกอบเค้าโครงของโครงงาน

องค์ประกอบเค้าโครงของโครงงาน  ประกอบด้วย
  1. ชื่อโครงงาน  โดยระบุประเภทของโครงงานอย่างชัดเจน
  2. ชื่อ  นามสกุล  ผู้จัดทำโครงงาน
  3. ชื่อ  นามสกุล  ครูที่ปรึกษาโครงงาน
  4. ระยะเวลาดำเนินงาน
  5. แนวคิด  ที่มา  และความสำคัญของโครงงาน  อธิบายแนวความคิดของการจัดทำโครงงานนี้  แต่ถ้าเป็นเรื่องที่มีผู้อื่นทำไว้แล้ว  ต้องบอกถึงการปรับปรุง  การเพิ่มเติม  และประสิทธิภาพที่เพิ่มขึ้น
  6. วัตถุประสงค์ของโครงงาน  บอกวัตถุประสงค์ในการจัดทำโครงงานเป็นข้อๆ
  7. หลักการและทฤษฎี  โดยอธิบายถึงหลักการและทฤษฎีที่เกี่ยวข้องกับโครงงาน  

องค์ประกอบเค้าโครงของโครงงาน

8. วิธีดำเนินงาน  โดยระบุ
  8.1 วัสดุอุปกรณ์ที่ใช้
  8.2 คุณลักษณะของผลงาน
  8.3 เทคนิคที่ใช้ในการพัฒนา
  8.4 กระบวนการในการแก้ปัญหา
  8.5 วิธีการเก็บข้อมูล
  8.6 วิธีการพัฒนา
  8.7 การทดสอบ
  8.8 การนำเสนอผลงาน
  8.9 งบประมาณในการดำเนินโครงงาน
  9. แผนปฏิบัติงาน  ให้ระบุการปฏิบัติงานเป็นขั้นตอนตามลำดับ  และแต่ละขั้นตอนใช้เวลาเท่าไร
  10. ผลที่คาดว่าจะได้รับจากการจัดทำโครงงานนี้
  11. เอกสารอ้างอิงที่ใช้ในการศึกษาค้นคว้า  เพื่อนำมาจัดทำเป็นโครงงานนี้

โปรแกรมภาษาซีและการพัฒนาโปรแกรม





7.1 โปรแกรมภาษาซี


ภาษาซี (C) เป็นภาษาโปรแกรมบนคอมพิวเตอร์ที่มีวัตถุประสงค์ทั่วไป พัฒนาขึ้นเมื่อ พ.ศ. 2515 (ค.ศ. 1972) โดย เดนนิส ริตชี ที่เบลล์เทเลโฟนแลบอลาทอรีส์ (Bell Telephone Laboratories) เกิดขึ้นเพื่อสร้างระบบปฏิบัติการยูนิกซ์ในขณะนั้น [3]
นอกจากภาษาซีออกแบบขึ้นมาเพื่อสร้างซอฟต์แวร์ระบบแล้ว [4] ภาษาซียังสามารถใช้อย่างแพร่หลายเพื่อพัฒนาซอฟต์แวร์ประยุกต์ที่เคลื่อนย้าย (portable) ไปบนระบบอื่นได้อีกด้วย
ภาษาซีเป็นภาษาโปรแกรมหนึ่งที่ได้รับความนิยมมากที่สุดตลอดกาล [5][6] มีสถาปัตยกรรมคอมพิวเตอร์เพียงส่วนน้อยเท่านั้นที่ไม่มีตัวแปลโปรแกรมของภาษาซี ภาษาซีมีอิทธิพลอย่างมากต่อภาษาโปรแกรมที่นิยมอื่น ๆ ที่เด่นชัดที่สุดก็คือภาษาซีพลัสพลัส ซึ่งเดิมเป็นส่วนขยายของภาษาซี

         7.2 การพัฒนาโปรแกรม

ขั้นตอนการพัฒนาโปรแกรม 
7.2 ขั้นตอนการพัฒนาโปรแกรม
หลังจากที่ได้ออกแบบวิธีในการแก้ปัญหาซึ่งอยู่ในรูปแบบของรหัสลำลองหรือผังงานแล้ว ขั้นตอนต่อไป คือ การพัฒนาโปรแกรมตามผังงานดังกล่าว ซึ่งถ้านักเรียนเขียนโปรแกรมมีความรู้ความชำนาญในการเขียนโปรแกรมภาษาหนึ่งภาษาใดอยู่แล้ว จะสามารถทำได้โดยง่าย อย่างไรก็ตามนักเขียนโปรแกรมก็ยังต้องทำการตรวจสอบว่าโปรแกรมที่ได้พัฒนาขึ้น ทำงานได้ถูกต้อง และให้ผลลัพธ์ที่ไม่ผิดพลาดสำหรับทุกกรณี จึงจะสามารถนำโปรแกรมดังกล่าวไปใช้งานได้ นอกจากนี้นักเขียนโปรแกรมยังควรที่จะจัดทำเอกสาร ประกอบการพัฒนาโปรแกรม ซึ่งจะเป็นเครื่องมือให้ผู้ที่จะมาพัฒนาโปรแกรมต่อไปในอนาคต ทำความเข้าใจกับโปรแกรมที่จัดทำขึ้นได้สะดวกรวดเร็ว รวมถึงให้ผู้ใช้โปรแกรมเข้าใจวิธีการใช้งานโปรแกรมอย่างรวดเร็ว
7.2.1 การวิเคราะห์และออกแบบโปรแกรม
ในการพัฒนาโปรแกรมคอมพิวเตอร์ให้กับระบบงานขนาดใหญ่ที่มีการแบ่งงานวิเคราะห์ระบบและงานเขียนโปรแกรมออกจากกันนั้น โดยทั่วไปการมอบหมายงานให้นักเขียนโปรแกรม จะเป็นการกำหนดความต้องการของโปรแกรมในภาพรวม แต่ไม่ได้ระบุรายละเอียดขั้นเป็นรหัสลำลองหรือผังงานที่ละเอียด นักเขียนโปรแกรมจึงต้องศึกษาถึงความต้องการของงานที่ได้รับมอบหมาย ข้อมูลนำเข้า ข้อมูลส่งออก และกระบวนการในการแก้ปัญหาอย่างละเอียดเพื่อพัฒนาขึ้นเป็นขั้นตอนวิธีในการแก้ปัญหาซึ่งอยู่ในรูปแบบของผังงานอย่างละเอียด ซึ่งขั้นตอนดังกล่าวนี้ คือ การออกแบบผังงานดังได้กล่าวแล้วในบทที่ 6
7.2.2 การเขียนโปรแกรมจากรหัสลำลองหรือผังงาน
โดยทั่วไปการเขียนโปรแกรมจากรหัสลำลองหรือผังงานที่ได้ออกแบบไว้อย่างดีแล้ว นักเขียนโปรแกรมสามารถทำได้โดยง่ายและรวดเร็ว ซึ่งจะเป็นการแปลงจากแต่ละสัญลักษณ์ของผังงาน ไปเป็นคำสั่งที่สอดคล้องกันในภาษาโปรแกรมที่เลือกใช้ โดยโปรแกรมที่ดีจะต้องมีการตรวจสอบและแจ้งข้อผิดพลาดให้แก่ผู้ใช้งานโปรแกรมทราบ โดยที่การทำงานของโปรแกรมไม่สะดุดลง ตัวอย่างเช่น ในการพัฒนาโปรแกรมเพื่อหาค่าของผลหารถ้าหากว่ามีการรับข้อมูลนำเข้าเป็นตัวหาร แต่ผู้ใช้ป้อนข้อมูลตัวหารเป็นศูนย์ โปรแกรมจะเกิดข้อผิดพลาดในการทำงานเป็นชิ้น ดังนั้นโปรแกรมควรต้องทำการตรวจสอบว่า ถ้าตัวหารเป็นศูนย์ต้องแจ้งข้อความผิดพลาดให้ผู้ใช้ทราบ

รูปที่ 7.1 ผลลัพธ์จากโปรแกรมที่ตัวหาร (ก) ไม่เป็นศูนย์ และ (ข) เป็นศูนย์
รูปที่ 7.1 แสดงผลที่ได้จากโปรแกรมเมื่อตัวหารไม่เป็นศูนย์ และเมื่อตัวหารเป็นศูนย์จะเห็นว่าเมื่อตัวหารไม่เป็นศูนย์ โปรแกรมสามารถทำงานให้คำตอบได้อย่างถูกต้อง แต่ถ้าตัวหารเป็นศูนย์ และในโปรแกรมไม่ได้มีการตรวจสอบไว้ โปรแกรมจะทำงานผิดพลาด และหยุดการทำงานลงพร้อมกับแสดงข้อความบอกข้อผิดพลาดที่เกิดขึ้นออกมา ดังที่แสดงในรูปเป็นตัวอักษรเอียง
7.2.3 การเตรียมข้อมูลสำหรับทดสอบโปรแกรม
ในระหว่างขั้นตอนการออกแบบวิธีการแก้ปัญหาให้อยู่ในรูปของรหัสลำลองหรือผังงานนั้นนักเขียนโปรแกรมควรพิจารณาถึงข้อมูลที่จะนำมาใช้ในการทดสอบโปรแกรมที่จะเขียนขึ้นด้วยความสมบูรณ์ของข้อมูลที่ใช้ในการทดสอบโปรแกรมมีความสำคัญมาก เนื่องจากจะเป็นสิ่งบ่งบอกถึงความถูกต้องของโปรแกรมที่พัฒนาขึ้น ว่ามีความถูกต้องครอบคลุมข้อมูลนำเข้าทุกรูปแบบ โดยตรวจสอบว่ามีข้อมูลนำเข้ารูปแบบใดที่โปรแกรมไม่สามารถรองรับได้ เช่น ข้อมูลไม่อยู่ในช่วงที่ถูกต้อง และข้อมูลที่รับเข้าเป็นตัวเลขแต่ผู้ใช้ป้อนค่าเป็นตัวอักษร
7.2.4 การทดสอบโปรแกรม
หลังจากได้เขียนโปรแกรมและเตรียมข้อมูลสำหรับทดสอบอย่างครบถ้วนแล้ว ขั้นตอนทดสอบโปรแกรมก็จะสามารถดำเนินการได้ ถ้าหากว่าโปรแกรมที่พัฒนาขึ้นมีความซับซ้อนไม่มากนัก นักเขียนโปรแกรมสามารถทำการทดสอบโดยรับโปรแกรม ป้อนข้อมูลทีละชุด และตรวจสอบความถูกต้องของผลลัพธ์ที่ได้ ซึ่งเป็นวิธีที่ง่านและเหมาะสำหรับผู้เริ่มต้นฝึกหัดการเขียนโปรแกรม เนื่องจากสามารถทดสอบโปรแกรมได้อย่างรวดเร็ว ในบางครั้งนักเขียนโปรแกรมอาจต้องใช้โปรแกรมเฉพาะเพื่อทำการรันโปรแกรมที่พัฒนาขึ้น และทดสอบกับชุดข้อมูลทดสอบอย่างอัตโนมัติ
7.2.5 การจัดทำเอกสารประกอบโปรแกรม
ขั้นตอนสุดท้ายหลังจากที่ได้ทดสอบจนแน่ใจว่าโปรแกรมทำงานได้ถูกต้องกับชุดข้อมูลทดสอบทั้งหมดแล้ว คือการจัดทำเอกสารประกอบ ในขั้นตอนนี้นักเขียนโปรแกรมจะต้องรวบรวมรายละเอียดทั้งหมดในระหว่างการพัฒนาโปรแกรม เช่น รายละเอียดของปัญหาที่ได้ทำการวิเคราะห์ไว้ ข้อมูลออกที่ต้องการ ข้อมูลเข้าที่เป็นไปได้ทั้งหมด วิธีการประมวลผลเพื่อแก้ปัญหารหัสลำลองหรือผังงานที่ได้รับการปรับปรุงแล้ว และสอดคล้องกับโปรแกรมที่ได้พัฒนาขึ้น ภาษาที่ใช้คุณลักษณะของเครื่องคอมพิวเตอร์ และรุ่นของระบบปฏิบัติการที่โปรแกรมทำงานด้วย ชุดข้อมูลทดสอบ และผลการทดสอบโปรแกรม โดยนำรายละเอียดทั้งหมดนี้ มาจัดทำเป็นรายงานหรือเอกสาร เพื่อจัดเก็บควบคู่กับตัวโปรแกรมต้นฉบับที่พัฒนาขึ้น สำหรับใช้อ้างอิงในอนาคตเมื่อต้องการแก้ไข หรือพัฒนาโปรแกรมต่อไป นอกจากนี้ควรมีการจัดทำคู่มือสำหรับผู้ใช้ ซึ่งอธิบายขั้นตอนในการใช้งานโปรแกรม เพื่อให้ผู้ใช้เข้าใจวิธีใช้งานอย่างถูกต้องและรวดเร็ว
ในบทนี้จะได้อธิบายถึงรายละเอียดในขั้นตอนการเขียนโปรแกรม จากรหัสลำลองหรือผังงาน และภาษาโปรแกรมคอมพิวเตอร์ต่างๆต่อไป

7.3 ภาษาโปรแกรมคอมพิวเตอร์

ภาษาโปรแกรมคอมพิวเตอร์
การแก้ปัญหาด้วยคอมพิวเตอร์นั้น หลังจากที่ได้วิเคราะห์ปัญหาจนได้ขั้นตอนวิธีในการแก้ปัญหา ซึ่งอาจจะอยู่ในรูปแบบรหัสลำลอง หรือผังงาน ขั้นตอนต่อไปคือการเขียนโปรแกรมคอมพิวเตอร์ขึ้นเพื่อแก้ปัญหาตามขั้นตอนที่ได้วางแผนไว้ แต่เนื่องจากคอมพิวเตอร์จะรับรู้คำสั่งที่เป็นภาษาเครื่องเท่านั้นและมนุษย์ไม่สามารถเขียนโปรแกรมภาษาเครื่องได้โดยตรง เนื่องจากไม่สะดวก ยากต่อการทำความเข้า จึงได้มีการสร้างภาษาคอมพิวเตอร์ระดับสูงขึ้นมาเพื่อให้ง่ายต่อการเขียนโปรแกรม ผู้เขียนโปรแกรมไม่จำเป็นต้องเรียนรู้การทำงาน และโครงสร้างภายในของเครื่องคอมพิวเตอร์ ก็สามารถเขียนโปรแกรมได้โดยต้องผ่านการแปลให้เป็นภาษาเครื่องก่อนที่จะใช้สั่งงานคอมพิวเตอร์ได้
7.3.1 ภาษาเชิงกระบวนความ(procedural languages)
โปรแกรมคอมพิวเตอร์ที่เขียนด้วยภาษาเชิงกระบวนความมีลักษณะการทำงานตามลำดับของคำสั่ง จากคำสั่งแรกจนถึงคำสั่งสุดท้าย และบางคำสั่งอาจจะถูกทำซ้ำ หรือบางคำสั่งอาจจะไม่ถูกกระทำเลยขึ้นอยู่กับเงื่อนไขในโปรแกรม ภาษาในกลุ่มนี้เหมาะสำหรับการเริ่มต้นทำความเข้าใจกับการเขียนโปรแกรมคอมพิวเตอร์ เนื่องจากช่วยให้ผู้เรียนรู้จักการคิดอย่างเป็นระบบ อันเป็นพื้นฐานสำคัญในการเขียนโปรแกรมภาษาอื่น นอกจากนี้ในภาษาโปรแกรมประเภทอื่นก็จะยังมีรูปแบบการทำงานเชิงกระบวนความแฝงอยู่ภายในด้วยเสมอ การใช้งานภาษาในกลุ่มนี้ เช่น งานคำนวณทางวิทยาศาสตร์อาจเลือกใช้ภาษาฟอร์แทรน(FORTRAN) งานประมวลผลข้อมูลทางธุรกิจการเงินหรือธนาคารอาจเลือกใช้ภาษาโคบอล (COBOL)หรือภาษาอาร์พีจี (RPG) การเขียนโปรแกรมควบคุมการทำงานของระบบคอมพิวเตอร์มักเลือกใช้ภาษาซีเนื่องจากภาษาเครื่องที่ได้จะทำงานได้รวดเร็ว หรือการเรียนการสอนการโปรแกรมเชิงกระบวนความอาจเลือกใช้ภาษาปาสคาล (Pascal) หรือภาษาซี เป็นต้น

       7.3.2 ภาษาเชิงวัตถุ(Object-Oriented Languages)
ภาษาเชิงวัตถุจะอำนวยความสะดวกให้กับผู้เขียนโปรแกรมในการพัฒนาโปรแกรมที่ใหญ่และซับซ้อนได้เป็นอย่างดี อีกทั้งยังสามารถใช้เขียนโปรแกรมในลักษณะเดียวกับภาษาเชิงกระบวนความได้เช่นกัน ภาษาในกลุมนี้ เช่น ภาษาจาวา (Java) ภาษาซีชาร์ป (C#) และภาษาซีพลัสพลัส (C++)รูปที่ 7.5 แสดงตัวอย่างโปรแกรมภาษาซีพลัสพลัสที่ให้ผู้เล่นทายตัวเลขที่โปรแกรมสุ่มขึ้นมาหนึ่งตัว

7.3.3ภาษาอื่นๆ1) โฟร์ทจีแอล (fourth-generation languages: 4GLs) เป็นกลุ่มของภาษาที่แตกต่างจากภาษาเชิงกระบวนความ ที่เน้นให้ผู้ใช้สามารถเข้าถึงข้อมูลในฐานข้อมูลได้โดยง่าย ภาษาจะมีความคล้ายคลึงกับภาษาอังกฤษที่ใช้กันอยู่ ตัวอย่างของภาษา 4GL เช่น ภาษาเอสคิวแอล (SQL)
2) เอชทีเอ็มแอล (Hypertext Markup Language: HTML ) เป็นภาษาที่ใช้จัดรูปแบบการแสดงผลของข้อความและรูปภาพ รวมถึงสื่อประสมบนหน้าเว็บ ดังนั้นเอชทีเอ็มแอลจึงไม่ได้ถูกจัดเป็นภาษาที่ใช้ในการเขียนโปรแกรมอย่างแท้จริง แต่เป็นการกำหนดวิธีการในการแสดงผล เอชทีเอ็มแอลจะใช้แท็ก (tags) เป็นตัวกำหนดว่าส่วนใดในเอกสารจะให้แสดงผลอย่างไร รูปที่ 7.7 (ก) แสดงตัวอย่างของภาษาเอชทีเอ็มแอลที่ใช้ในการสร้างเว็บเพจในรูปที่ 7.7 (ข)