1
แนวคิด
ู้
ิ
ี่
ยูนิกซ์เป็นระบบปฏิบัติการประเภทหนึ่ง ที่เป็นเทคโนโลยีแบบเปิด (Open System)ซึ่งเป็นแนวคดทผใช ้
ไม่ต้องผูกติดกับระบบหนึ่งหรืออุปกรณ์ยี่ห้อเดียวกัน นอกจากนี้ยูนิกซ์ยังถูกออกแบบมาเพื่อตอบสนองการใชงาน
้
ี
ิ
ั
้
้
ู้
ในลกษณะให้มีผใชไดหลายคนในเวลาเดยวกัน เรียกว่า มัลตยูสเซอร์ (multi-users) และสามารถทางานได ้
index.htmlหลายๆงานในเวลาเดียวกันในลักษณะที่เรียกว่า มัลติทาสกิง (multi-tasking)
ู้
ี่
ิ
ี่
ิ
ื
ึ
ิ
ในสมัยก่อนผทพัฒนาระบบปฏิบัตการคอบริษัททผลตคอมพิวเตอร์ ดงนั้นระบบปฏิบัตการจงถูก
ั
ิ
่
ิ
ออกแบบให้สามารถใชเฉพาะกับเครื่องบริษัทเทานั้น เรียกระบบปฏิบัตการประเภทนี้ว่า ระบบปฏิบัตการแบบ
้
ุ
เปิด (Proprietary operating system) ซึ่งแม้แตในปัจจบันนี้เครื่องระดบเมนเฟรมผขายก็ยังคงเป็นผก าหนด
่
ั
ู้
ู้
ุ
ี
ี่
ความสามารถของระบบปฏิบัตการของเครื่องทขายอยู่ อย่างไรก็ด ปัจจบันนี้เริ่มมีแนวโน้มทจะทาให้
ิ
ี่
ระบบปฏิบัตการสามารถน าไปใชงานบนเครื่องตางๆ กันได (Portable operating system) เชน
่
ิ
่
้
้
ระบบปฏิบัติการยูนิกซ์ (UNIX) เป็นต้น
สาระการเรียนรู้
1. ความรู้เกี่ยวกับการเขียนโปรแกรมคอมพิวเตอร์
2. หลักการพัฒนาการเขียนโปรแกรม
ผลการเรียนรู้ที่คาดหวัง
1. อธิบายความรู้เกี่ยวกับการเขียนโปรแกรมได ้
2. บอกหลักการพัฒนาการเขียนโปรแกรมได ้
2
ความรู้เกี่ยวกับการเขียนโปรแกรมคอมพิวเตอร์
ื
์
ื
ิ
ิ
้
Open-Software หรอ ซอฟแวรบนมาตรฐานเปิด คอ ซอฟแวร์คอมพิวเตอร์ซึ่งเจาของลขสทธิ์อนุญาตให้มี
การศึกษา แจกจ่าย และเปลี่ยนแปลง sourec code ของซอฟแวร์ให้กับสาธารณะซอฟแวร์บนมาตรฐานเปิดโดย
ส่วนมากนั้นจะถูกพัฒนาขึ้นจากความร่วมมือกันของผู้ใช้งาน
้
ี่
่
ี
้
่
ื
ี่
ิ
ิ
ี
ข้อดของการใชงาน Open source Software คอ มีคาใชจายทตาเมื่อเทยบกับซอฟแวร์ทมีลขสทธิ์มี
่
้
้
Source Code ทเปิดเผย ทาให้มั่นใจไดว่าไม่มีอะไรแอบแฝงอยู่ภายในซอฟแวร์สามารถปรับใชให้ตรงกับความ
ี่
้
ู้
ิ
้
ุ
ตองการของผใชงานไดง่าย ซึ่งในการเปลยนแปลงคณสมบัตของ Open source Software นั้น จาเป็นตองใช ้
้
ี่
้
้
ความรู้ในการเขียนโปรอกรมคอมพิวเตอร์เข้ามาช่วย เนื้อหาในสวนนี้จะเป็นการอธิบายหลกเบื้องตนในการเขียน
่
ั
โปรแกรมคอมพิวเตอร์
3
ตัวอย่างของ Open source software ในปัจจุบัน
Mozilla Firefox
Mozilla Firefox เป็น Open source web browser สาหรับการใชงานอินเทอร์เน็ต ถูกพัฒนาเพื่อให้
้
ได้ใชกับระบบปฏิบัติการที่หลายหลาย เช่น Windows, OS, X, Linux และระบบ Android เป็นต้น
้
Open office
ั
ึ
้
ื
Open office คอ โปรแกรมสาหรับจดเอกสารแบบ Open source โดยจะมีความสามารถคลายคลงกับ
ั้
Microsoft Office Suite ซึ่งสามารถใชงานไดทงการประมวลผลคา ( word processing ) ตารางคานวณ (
้
้
spread sheet ) การน าเสนอ ( presentation ) และการจัดการฐานข้อมูล ( database management )
Ubuntu
ี่
ิ
ื
ั้
้
Ubuntu คอ ระบบปฏิบัตการแบบ Debian – base ของ Linux ทสามารถใชงานไดกับทงเครื่องคอมพิวเตอร์
้
แท็บเล็ตและสมาร์ตโฟน
4
ี่
Java คือ ซอฟตแวร์ทถูกพัฒนาขึ้นโดย Sun Microsystems ซึ่งถูกซื้อโดย oracle Corporation, Java
์
้
้
์
ิ
ถูกออกแบบมาเพื่อใช้ในงานการพัฒนาแอพพลิเคชันต่างๆ และสามารถใชไดกับระบบปฏิบัตการ และ อุปกรณท ี่
่
้
ื่
์
ี่
่
ั
หลากหลาย เชน ใชงานกับเครื่องคอมพิวเตอร์สวนบุคคล โทรศพทเคลอนท ระบบเซิร์ฟเวอร์ และ
supercomputers เป็นตน ในการออกแบบและพัฒนา Java นั้นจะใชการเขียนโปรแกรมภาษา Java ในการ
้
้
ก าหนดการท างานของโปรแกรม
โปรแกรมคอมพิวเตอร์ คือ ค าสั่งคอมพิวเตอร์ชดหนึ่งๆ ทเขียนขึ้นเป็นภาษาคอมพิวเตอร์ภาษาใดภาษา
ุ
ี่
หนึ่ง เช่น ภาษาซี ภาษาปาสกาล ( Pascal ) ภาษาโคบอล ( COBOL ) ภาษาเบสก ( BASIC ) หรือ ( Software )
ิ
หรือแอพพลิเคชัน ( Application ) โปรแกรมนั้นแบ่งได้หลายประเภท ดังนี้
1. ซอฟต์แวร์ระบบ ( System Software )
2. ซอฟต์แวร์ประยุกต์ ( Application Software )
3. ซอฟต์แวร์ส าเร็จรูป ( Package Software )
ั่
ี่
ั่
1.ซอฟตแวร์ระบบ (System Software ) หมายถึง ชดคาสงทเขียนไว้เป็นคาสงสาเร็จรูปซึ่งจะทางาน
ุ
์
์
ุ
่
ิ
ี่
ใกล้ชิดกับคอมพิวเตอร์มากที่สุด เพื่อควบคุมการท างาน และทาหน้าทในการตดตอกับอุปกรณฮาร์แวร์ทกอย่างท ี่
ู้
่
อยู่บนคอมพิวเตอร์ และอ านวยความสะดวกให้กับผใชในการงาน เชน Microsoft Windows 7 หรือ Microsoft
้
์
Windows 8 ของบริษัท Microsoft หรือ MAC OS บนเครื่อง Macintosh ของบริษัท Apple ซอฟตแวร์ระบบนี้
ยังสามารถแบ่งออกได้อีกดังนี้
ซอฟต์แวร์ควบคุมระบบปฏิบัติการ (Operating System-OS )
ซอฟต์แวร์จัดการอุปกรณ์ต่อพ่วง ( Device Driver Software )
ซอฟต์แวร์การสื่อสาร ( Communications Software )
ซอฟต์แวร์ช่วยพัฒนาโปรแกรม ( Program Development Software )
ซอฟต์แวร์อ านวยความสะดวก ( Utility Software )
5
ื
์
์
2.ซอฟตแวร์ประยุกต ( Application Software ) คอ ซอฟตแวร์หรือโปรแกรมทถูกเขียนขึ้นเพื่อการ
์
ี่
้
ั
่
้
่
้
ี่
ท างานเฉพาะสาหรับงานเฉพาะอย่างทตองการ เชน งานสวนตว งานดานธุรกิจ หรือ งานทางดานวิทยาศาสตร์
บางครั้งอาจเรียกโปรแกรมประเภทนี้ว่า User’s Program ซอฟต์แวร์ประเภทนี้โดยสวนใหญ่มักใชภาษาระดบสง
้
ั
ู
่
้
ในการพัฒนา เช่า ภาษาซี ภาษาโคบอล ปาสกาล เบสิค วิชวลเบสิค เป็นตน ตวอย่างของโปรแกรมทพัฒนาขึ้นใช ้
ี่
ั
ี
ั
่
้
ิ
ในงานธุรกิจ เชน โปรแกรมการทาบัญชของบริษัทโปรแกรมการทาสนคาคงคลงเฉพาะโปรแกรมรับออเดอร์ใน
่
ี่
่
ร้านอาหารและอื่นๆซึ่งแตละโปรแกรมก็อาจมีเงื่อนไขหรือแบบฟอร์มทแตกตางกันไปตามความตองการหรือ
้
ั
ิ
กฎเกณฑ์ของแต่ละหน่วยงานที่ใช้โปรแกรมประเภทนี้จะสามารถดดแปลงแก้ไขเพิ่มเตมในบางสวนของโปรแกรม
่
้
เองได เพื่อให้ตรงกับความต้องการของผู้ใช้งานโปรแกรม
ิ
ู้
3.ซอฟตแวร์สาเร็จรูป (Package Software ) ซอฟตแวร์สาเร็จรูปเป็นซอฟตแวร์ทมีผผลตไดสร้างขึ้น
้
ี่
์
์
์
์
้
ั่
้
้
ู้
และวางขายทั่วไป ผใชสามารถหาซื้อมาประยุกตใชงานทวไปได ซอฟตแวร์ประเภทนี้ไม่ไดมุ้งเน้นเฉพาะสาหรับ
์
้
งานใดงานหนึ่ง ผู้ใช้งานจะต้องน าไปประยุกต์กับงานของตัวเอง เช่น ครูน ามาใชในการผลตสอการสอน นักศกษา
ึ
ิ
้
ื่
ิ้
์
่
้
้
ู้
้
้
น ามาใชในการทารายงาน เป็นตนหรือผใชอาจจะตองมีการสร้างหรือพัฒนาชนงานภายในซอฟตแวร์ตอไปอีก
ั่
ู
์
์
้
ราคาของซอฟต์แวร์ใช้งานทั่วไปนี้จะไม่สง ซอฟตแวร์ใชงานทวไปซึ่งนิยมนี้เรียกว่า ซอฟตแวร์สาเร็จรูป สามารถ
แบ่งออกเป็นหลายกลุ่มตามลักษณะการใช้งาน เช่น
ด้านประมวลผลค า
ด้านการวิเคราะห์ข้อมูลหรือตารางท างาน
ด้านการเก็บและเลือกค้นข้อมูลเป็นระบบฐานข้อมูล
ด้านกราฟิก และน าเสนอข้อมูล
ด้านการติดต่อสื่อสารทางไกล
ด้านการพิมพ์
ด้านการลงทุนและการเงิน
ด้านวิทยาศาสตร์ และวิศวกรรม
ุ
้
ื
้
ุ่
กลมซอฟตแวร์ทมีการใชงานมากและจาเป็นตองมีประจาสาหรับคอมพิวเตอร์แทบทกเรื่อง คอ
ี่
์
ซอฟต์แวร์ด้านการประมวลค า ด้านตารางท างาน ด้านระบบฐานข้อมูล และดานกราฟิก และการเชอมตอสอสาร
ื่
่
ื่
้
ในอินเทอร์เน็ต
6
รูปแบบการท างานของคอมพิวเตอร์
หลักการพัฒนาการเขียนโปรแกรม
ขั้นตอนหรือวิธีการพัฒนาโปรแกรมประกอบด้วย 6 ขั้นตอน ดังนี้
ั
1. การวิเคราะห์ปัญหา ( Problem Analysis ) คือ การวิเคราะห์ปัญหา ประกอบด้วยขั้นตอนต่างๆ ดงนี้
1.1 ก าหนดวัตถุประสงค์ของงาน เพื่อพิจารณาว่าโปรแกรมต้องท าการประมวลผลอะไรบ้าง
1.2 พิจารณาข้อมูลน าเข้า เพื่อให้ทราบว่าจะต้องน าเข้าข้อมูลอะไรเข้าคอมพิวเตอร์ ( Input ) ข้อมูล
คุณสมบัติเป็นอย่างไร ตลอดจนถึงลักษณะและรูปแบบของข้อมูลที่จะน าเข้า
1.3 พิจารณาการประมวลผล ( Process ) เพื่อให้ทราบว่าโปรแกรมมีขั้นตอนการประมวลผล
อะไรบ้าง
1.4 พิจารณาข้อมูลน าออก ( Output ) เพื่อให้ทราบว่ามีข้อมูลอะไรที่จะแสดง ตลอดจนรูปแบบและ
สื่อที่จะใช้ในการแสดงออก เช่น การแสดงออกทางจอภาพ การแสดงออกทางเครื่องพิมพ์
7
ี่
ื
2. การออกแบบโปรแกรม ( Design ) คอ การออกแบบขั้นตอนการทางานของโปรแกรมเป็นขั้นตอนทใช ้
่
ั่
่
้
เป็นแนวทางในการลงรหัสโปรแกรม อาจใชเครื่องมือตางๆ ชวยในการออกแบบ เชน คาสงจาลอง ( Pseudo
่
้
ั่
code ) หรือ ผังงาน ( Flow chart ) การออกแบบโปรแกรมนั้นไม่ตองกังวลกับรูปแบบคาสงภาษาคอมพิวเตอร์
แต่มุ่งความสนใจไปที่ล าดับขั้นตอนในการประผลของโปรแกรมเท่านั้น
้
3. การเขียนโปรแกรมดวยภาษาคอมพิวเตอร์ ( programming ) คอ การเขียนโปรแกรมเป็นการน าเอา
ื
ผลลัพธ์ของการออกแบบโปรแกรม มาเปลี่ยนเป็นโปรแกรมภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่งผู้เขียนโปรแกรม
้
ี่
ั่
จะตองให้ความสนใจตอรูปแบบคาสงและกฎเกณฑ์ของภาษาทใชเพื่อให้การประมวลผลเป็นไปตามผลลพธ์ทได ้
ี่
้
ั
่
ออกแบบไว้
ี่
4. การทดสอบและการแก้ไขโปรแกรม ( Testing ) การทดสอบโปรแกรมเป็นการน าโปรแกรมทลงรหัสแลว
้
ั้
ิ
้
เข้าคอมพิวเตอร์ หรือการตดตงโปรแกรมเพื่อตรวจสอบการทางานของโปรแกรมว่าถูกตองหรือไม่ โปรแกรมท ี่
เขียนมี Error หรือไม่ หรือ ท างานได้ตามที่ต้องการหรือไม่ ถ้าพบว่ายังไม่ถูกก็แก้ไขให้ถูกต้องต่อไป
5. การทาเอกสารประกอบโปรแกรม ( Documentation ) การทาเอกสารประกอบการโปรแกรม หรือ
้
ู้
ี่
้
ู่
่
ั
คมือการใชโปรแกรมเป็นงานทสาคญของการพัฒนาโปรแกรม เอกสารประกอบโปรแกมชวยให้ผใชโปรแกรม
ุ
้
้
้
ี่
เข้าใจวัตถุประสงค ข้อมูลทจะตองใชกับโปรแกรม ตลอดจนผลลพธ์ทจะไดจากโปรแกรมการทาโปรแกรมทก
์
ั
ี่
โปรแกรมจึงควรต้องท าเอกสาร
้
6. การบ ารุงรักษาโปรแกรม (Maintenance) ตองมีผคอยคอบคมดแลและคอยตรวจสอบการทางาน การ
ู
ุ
ู้
บ ารุงรักษาโปรแกรมจึงเป็นขั้นตอนที่ผู้เขียนโปรแกรมต้องคอยเฝ้าดูและหาข้อผิดพลาดของโปรแกรมในระหว่างท ี่
ผู้ใช้งานโปรแกรม และปรับปรุงโปรแกรมเมื่อเกิดข้อผิดพลาดขึ้น
รูปขั้นตอนการพัฒนาโปรแกรม
8
แบบประเมินผลการเรียนรู้หน่วยที่ 1
ี่
ตอนท1จงตอบค าถามต่อไปนี้ให้สมบูรณ ์
1. จงอธิบายความหมาย Open-source มาให้เข้าใจ
………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………..
2. การใช้งานของซอฟต์แวร์บนมาตรฐานเปิดมีกี่ข้อดีอย่างไร
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
3. จากตัวอย่างของ Open-source software ที่ใช้กันอยู่ในปัจจุบันมาประมาณ 4 ชนิด พร้อมทังระบุ
คุณสมบัติการใช้งานที่จ าเป็น
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………..
9
4. จงตอบความหมายและประเภทของโปรแกรมคอมพิวเตอร์
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………
5. จงบอกขั้นตอนการท างานของคอมพิวเตอร์โดยแสดงเป็นแผนภูมิ
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………
10
ี่
ตอนท2 จงเลือกคาตอบที่ถูกต้องเพียงข้อเดียว
1. ข้อใดเป็นระบบปฏิบัติการ
ก. จาวา
ข. ยูนิกซ์
ค. มัลตบูสเซอร์
ิ
ง. มัลติทาสกิง
2. Open system หมายถึงข้อใด
ก. การเปิดระบบ
ข. การท างานแบบเปิด
ค. เทคโนโลยีแบบเปิด
ง. การออกแบบระบบ
้
3. ข้อใดความหมายของมัลติยูสเซอร์ไดถูกต้องที่สด
ุ
ู้
ี
ก. การใช้งานแบบมีผใช้ได้งานหลายคนในเวลาเดยวกัน
ข. จ านวนของผู้ใช ้
ค. การท างานหลายงานในเวลาเดียวกัน
ง. ระบบปฏิบัตการการแบบปิด
ิ
ี่
4. ข้อใดให้ความหมายของมัลติทาสกิงได้ถูกต้องทสุด
ก. การท างานหนึ่งงานในเวลาเดียวกัน
ข. การท างานหลายงานในหลายยูสเซอร์
ค. การท างานหลายงานในเวลาเดียว
ง.การท างานของยูสเซอร์
5. Proprietary operating system คือข้อใด
ก. ระบบปฏิบัติการแบบเปิด
ข. ระบบการฏิบัติการแบบกึ่งเปิด
ค. ระบบปฏิบัติการแบบกึ่งปิด
11
ิ
ง. ระบบปฏิบัติการแบบปด
6. ข้อใด Operating system
ก. ชุดของโปรแกรมที่อยู่ระหว่างฮาร์ดแวร์และซอฟต์แวร์ประยุกต์
ข. MS – DOS
ค. OS X
ง. ถูกทุกข้อ
7. บุคคลในข้อใดคือโปรแกรมเมอร์
ก. นักเขียนโปรแกรม
ข. โปรแกรมระบบ
ค. นักเล่นเกม
ง. เครื่องคอมพิวเตอร์
8. ข้อใดให้ความหมายของ Algorithm ได้ดีที่สุด
ก. ล าดับขั้นตอนการท างาน
ข. คุณภาพของโค้ด
ค. โครงสร้างข้อมูล
ง. เขียนโปรแกรมให้เรียบง่ายที่สุด
9. Data Structure หมายถึงข้อใด
ก. การแก้ปัญหางาน
ข. โครงสร้างข้อมูล
็
ค. แบ่งส่วนการท างานออกเปนมอดูล
ง. เขียนโคดจากบนลงลาง
่
้
10. ข้อใดหมายถึง Documentation
ก. การเขียนหมายเหตุภายนอก
ข. การเรียงค าสั่งให้สมบรูณ ์
ค. แนวคิดและผลของโปรแกรม
ง. การจัดท าเอกสารประกอบโปรแกรม
12
ใบงานที่ 1.1
ู้
ค าชี้แจง ให้ผเรียนแสดงความรู้เกี่ยวกับการเขียนโปรแกรม โดยการแสดงเป็นแผนภาพ
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………..
13
ใบงานที่ 1.2
ู้
ค าชี้แจง ให้ผเรียนแสดงความรู้เกี่ยวกับโปรแกรมแต่ละประเภท และน ามาอภิปรายรายให้เห็นถึงข้อแตกต่างของ
ประเภทโปรแกรม
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………
14
ใบงานที่ 1.3
ุ
ค าชี้แจง การพัฒนาโปรแกรมที่ดีนั้น ควรจะมีหลักการพัฒนาอย่างไรบ้าง ให้ผู้เรียนวิเคราะห์ถึงเหตผล และความ
จ าเป็นในการน าหลักการต่างๆ มาพัฒนาการเขียนโปรแกรม
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………….......
.......
15
ใบงานที่ 1.4
ุ
้
ึ
ี่
ั
ค าชี้แจง ให้ผู้เรียนศกษาหลักการพัฒนาโปรแกรมแลววิเคราะห์ว่าขั้นตอนใดเป็นขั้นตอนทสาคญทสดพร้อมบอก
ี่
เหตุผล
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………….......
.......
16
ใบงานที่ 1.5
ั
ั้
ค าชี้แจง ให้ผู้เรียนค้นคว้าข้อมูลเพิ่มเติมเกี่ยวกับ Open source Software พร้อมทงยกตวอย่างซอฟตแวร์พร้อม
์
ทั้งอธิบายการใช้งานมาพอสังเขป
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………….......
.......
17
ใบงานที่ 1.6
ค าชี้แจง ให้แบ่งผู้เรียนออกเป็น 4 กลุ่ม เพื่อจัดท าป้ายนิเทศ และน ามาเสนอหน้าชั้นเรียน โดยก าหนดหัวข้อดังนี้
1. MS – DOS
2. UNIX
3. Windows
4. OS X
ข้อเสนอแนะเพิ่มเติม
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………
……………………………………
18
แนวคิด
ี่
้
คอมพิวเตอร์เป็นอุปกรณ์อิเล็กทรอนิกส์ การป้อนค าสั่งที่ท าให้คอมพิวเตอร์ประมวลผลตามทเราตองการ
นั้นจะต้องอยู่ในรูปแบบที่เครื่องคอมพิวเตอร์เข้าใจ คือ ค าสั่งในรูปแบบเลขฐานสอง ที่เรียกกันว่า ภาษาเครื่อง
่
ั่
ี่
คาสงทน ามาเรียงตอกันเพื่อสงให้คอมพิวเตอร์ทางานอย่างใดอย่างหนึ่งนั้นเรียกว่าโปรแกรม ดงนั้น
ั
ั่
โปรแกรมที่เขียนขึ้นมาจากภาษาคอมพิวเตอร์ต้องแปลงให้เป็นภาษาเครื่องก่อน การเขียนโปรแกรมคอมพิวเตอร์
้
ู้
ี่
้
ให้ทางานตามทตองการนั้นผเขียนโปรแกรมจะตองรู้ว่าจะให้โปรแกรมทาอะไร มีข้อมูลอะไรทตองให้โปรแกรม
ี่
้
บ้าง
สาระการเรียนรู้
1. ระดับของภาษาคอมพิวเตอร์
2. โครงสร้างของข้อมูล
ผลการเรียนรู้ที่คาดหวัง
1. อธิบายระดับของภาษาคอมพิวเตอร์ได ้
2. อธิบายโครงสร้างของข้อมูลได ้
19
ระดับภาษาของคอมพิวเตอร ์
ภาษาของคอมพิวเตอร์มีการพัฒนาน าหรือมีวิวัฒนาการมาโดยล าดับ โดยจะสามารถแบ่งออกเป็นยุคของ
ภาษา ( Generation ) ซึ่งในยุคหลังๆ จะมีการพัฒนาภาษาให้มีความสะดวกในการอ่าน และการเขียนง่ายขึ้นกว่า
ภาษาในยุคแรกๆ เนื่องจากมีโครงสร้างภาษาใกล้เคียงกับภาษาอังกฤษหรือภาษาที่มนุษย์เข้าใจได ้
แสดงระดับภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์สามารแบ่งออกได้เป็น 5 ยุค ดังนี้
้
ี่
้
1. ภาษาเครื่อง ( Machine Language ) เป็นภาษาทมนุษย์เข้าใจไดยาก เพราะใชเลขฐานสอง
ั้
ั่
่
ั
็
แทนข้อมูลคือ ( 0 และ 1 ) แทนลกษณะของการปด (off) และเปด (On) และคาสงตางๆทงหมดจะเปนภาษาท ี่
ิ
ิ
ั่
้
ื
ขึ้นอยู่กับชนิดของเครื่องคอมพิวเตอร์ หรือหน่วยประมวลผลทใช คอแตละเครื่องก็จะมีคาสงรูปแบบเฉพาะของ
ี่
่
ตนเอง ซึ่งนักเขียนโปรแกรมในสมัยก่อนจะต้องรู้จักวิธีที่รวมตัวเลขเพื่อแทนคาสงตางๆเป็นภาษาทมีความยุ่งยาก
่
ั่
ี่
ในการพัฒนามาก ภาษาชนิดนี้ ได้แก่ ภาษาแอสเซมบล ี
20
ภาษาเครื่องคอมพิวเตอร์
้
ี่
ี
ั
2. ภาษาแอสเซมบล ( Assembly Language ) เป็นภาษาทมีการใชตวอักษรในภาษาอังกฤษมา
็
์
ี่
์
้
ั
ั่
ั
ั
แทนค าสั่งที่เป็นเลขฐานสอง ( 0,1 ) และเรียกอักษรสญลกษณทเปนคาสงนี้ว่า สญลกษณขอความ (mnemonic
ั
ั
ี
ั
codes) เพื่อให้ง่ายตอการเขียนและการจดจามากกว่าภาษาเครื่อง ภาษาแอสเซมบลยังจดเป็นภาษาระดบตา
่
่
(Low-level language) มีการใช้สัญลักษณ์มาใช้ในการเขียนโปรแกรม เช่น
สัญลักษณ ์ คือ หมายถึง
A Add การบวก
S Subtract การลบ
C Compare การเปรียบเทียบ
MP Multiply การคูณ
ST Store การเก็บข้อมูลไว้ในความจ า
21
์
่
ั
ั
่
่
ี่
สญลกษณเหลานี้จะไม่ใชคาทมีความหมายในภาษาอังกฤษ แตสามารถทาให้นักเขียนโปรแกรมสามารถเขียน
โปรแกรมได้สะดวกสบายมากขึ้น เนื่องจากไม่ต้องจดจ าเลข 0 และ 1 ของฐานสองอีกนอกจากนี้ภาษาแอสเซมบลี
ี่
ั้
่
้
ั
ู้
ยังให้ผเขียนใชตวแปรทตงขึ้นมาเพื่อการเก็บคาข้อมูลใดๆ เชน X, Y, RATE หรือ TOTAL แทนการอ้างอิงถึง
่
ต าแหน่งที่เก็บข้อมูลจริงๆ ภายในหน่วยความจ าด้วย
การเขียนโปรแกรมด้วยภาษาแอสเซมบลีนั้น เมื่อน ามาใช้ในเครื่องคอมพิวเตอร์ เครื่องคอมพิวเตอร์จะไม่
้
ี
สามารถทจะเข้าใจภาษาแอสเซมบลได จงตองมีการเปลยนแปลงภาษาแอสเซมบลนั้นให้กลายเป็นภาษาเครื่อง
ี่
ี่
ี
ึ
้
ู้
ี่
ี่
ี
ั
ี
้
ั
ก่อนโดยใชตวแปลภาษาแอสเซมบลทเรียกว่า แอสเซมบล (Assembler) เป็นตวแปล นอกจากนี้ผทจะเขียน
ุ
้
ี
โปรแกรมภาษาแอสเซมบลีได้จะต้องมีความรู้ความเข้าใจในเรื่องของฮาร์ดแวร์เป็นอย่างดเนื่องจากจะตองควบคม
ี
ั
ึ
การท างานของหน่วยความจ า หรืออุปกรณ์ภายในเครื่องคอมพิวเตอร์อื่นๆ ดงนั้นภาษาแอสเซมบลจงเหมาะสมท ี่
่
จะใช้เขียนงานที่ต้องการความเร็วในการท างานสูง เช่น งานทางด้านกราฟิก หรือ งานพัฒนาซอฟต์แวร์ ระบบตาง
ต่างๆ
่
ื
็
ดังที่ได้กล่าวมาแล้ว ภาษาแอสเซมบลีจะเป็นภาษาที่ง่ายกว่าการเขียนดวยภาษาเครื่อง แตก็ยังถอว่าเปน
้
ภาษาระดับต่ าที่ยากต่อการเขียนของนักพัฒนาโปรแกรมมาก จึงไม่เป็นที่นิยมในการน ามาพัฒนาโปรแกรมมากนัก
ตัวอย่างภาษาแอสเซมบลีแสดงดังนี้
B80103 mov ax, 00301
B90100 mov cx, 00001
BA8000 mov dx, 00080
CD13 int 013
C3 retn
การแปลภาษาแอสเซมบล ี
22
rd
3. ภาษาระดับสูง (High-level Language ) เป็นภาษารุ่นที่ 3 (3 Generation Language หรือ
ี่
ั
3GLs) เป็นภาษาทสร้างขึ้นมาเพื่อให้สามารถเขียนและอ่านโปรแกรมได้ง่ายขึ้น เนื่องจากมีลกษณะเหมือน
ภาษาอังกฤษและที่สาคัญ คือ ผเขียนโปรแกรมไม่จ าเป็นต้องมีความรู้เกี่ยวกับระบบฮาร์ดแวร์แต่อย่างใด ตัวอย่าง
ู้
ของภาษาประเภทนี้ได้แก่ ภาษาฟอร์แทรน(Fortran) โคบอล(Cobol) เบสค(Basic) ปลาสคาล(Pascal) ภาษาซี
ิ
(C) เป็นต้น โปรแกรมถูกเขียนด้วยภาษาประเภทนี้จะท างานได้เมื่อมีการเปลี่ยนแปลงให้เป็นภาษาเครื่องก่อน ซึ่ง
ี่
วิธีการแปลงภาษาระดับสูงให้เป็นภาษาเครื่องท าได้โดยใช้โปรแกรมทเรียกว่าคอมไพเลอร์ (Compiler) หรือ
่
อินเตอร์พรีเตอร์ ( Interpretre) อย่างใดอย่างหนึ่ง ในการแปลภาษาโดยภาษาระดับสูงแตละภาษาจะมีตัวแปล
ภาษาเฉพาะของตัวเอง ดังนั้นจึงไม่สามารถน าตัวแปลของภาษาหนึ่งไปใช้กับอีกภาษาหนึ่งได้ เช่น ภาษาโคบอล
จะมีตัวแปลภาษที่เรียกว่า โคบอลคอมไพเลอร์ไม่สามารถน าคอมไพเลอร์ของภาษาโคบอลนี้ไปใช่แปลภาษาปาส
กาลได้ เป็นต้น
ี
การเขียนโปรแกรมด้วยภาษาขั้นสูงนั้นนอกจากจะให้ความสะดวกแก่ผู้เขยนแล้วผู้เขียนยังจ าเป็นต้อง
มีความรู้เกี่ยวกับการท างานของระบบฮาร์ดแวร์มากนัก ก็สามารถเขียนโปรแกรมสั่งให้เครื่องคอมพิวเตอร์ท างาน
ได้ นอกจากนี้ยังมีข้อดีอีกอย่างคือ สามารถน าโปรแกรมที่เขียนนี้ไปใช้งานบนเครื่องคอมพิวเตอร์แบบใดๆไม่
จ ากัดเครื่องคอมพิวเตอร์(Hardware Indeependent) แต่ต้องทาการแปลโปรแกรมใหม่เทานั้น อย่างไรก็ตาม
่
ภาษาเครื่องที่ได้จากการแปลภาษาระดับสูงนี้ ประสิทธิภาพของการท างานยังไม่เท่ากับการเขียนด้วยภาษาเครื่อง
หรือแอสเซมบลีโดยตรง ภาษาชั้นสูงจัดเป็นภาษามีแบบแผน(Procedural Language)เนื่องจากลักษณะการ
ี
เขียนโปรแกรม จะมีโครงการสร้างแบบแผนที่เป็นระเบียบ คือ งานทุกอย่างผู้เขยนโปรแกรมต้องเขยน
ี
โปรแกรมควบคุมการท างานเองทั้งหมดและต้องเขียนค าสั่งการท างานเองทั้งหมด และต้องเขียนค าสั่งการท างาน
ที่เป็นขั้นตอนทุกอย่าง ไม่ว่าจะเป็นการสร้างแบบฟอร์มกรอกข้อมูล การประมวลผลหรือกาสร้างรายงาน ซึ่งโปแก
รมที่เขียนจะซับซ้อน และใช้เวลาในการพัฒนานาน
ภาษาและการแปลภาษาระดับสูง
23
4.ภาษาระดับสูงมาก(Very high-lenguaguage) เป็นภาษารุ่นที่ 4 (4GLs: Fourth-Generation Languages)
ลักษณะของภาษาเป็นภาษาธรรมชาติคล้ายกับภาษาพูดของมนุษย์ จะช่วยในเรื่องของการสร้างแบบฟอร์มบน
หน้าจอ เพื่อจัดการเกี่ยวกับข้อมูลรวมไปถึงการออกรายงาน ซึ่งมีการจัดการที่ง่ายมากไม่ยุ้งยากเหมือนภาษารุ่น 3
ี่
ตัวอย่างของภาษาในรุ่นท 4 ได้แก่ Informix-4GLFocus Sybase Ingres เป็นต้น
ลักษณะของภาษาระดับสูงมาก (4GL) มีดังนี้
1) เป็นภาษาแบบ Nonprocedural คือ ผู้พัฒนาโปแกรมไม่จ าเป็นจะต้องเขียนโปรแกรมในทุกส่วนเอง
เพียงแต่ก าหนดสิ่งต่างๆ ตามทต้องการแล้วให้คอมพิวเตอร์เป็นผู้ก าหนดรายละเอียดตางๆให้ เช่น การสร้าง
่
ี่
แบบฟอร์มการรับข้อมูลจากผู้ใช้งาน ผู้เขียนโปรแกรมเพียงแต่ท าการออกแบบหน้าตาของแบบฟอร์มนั้นบน
้
โปรแกรมอิดิเตอร์ (Editor)นั้น และเก็บเป็นไฟล์ไว้ เมื่อจะเรียกใช้งานแบบฟอร์มก็เพียงแต่ใชค าสั่งเปิดไฟล์นั้น
ขึ้นมาแสดงบนหน้าจอคอมพิวเตอร์ได้โดยทันท ซึ่งต่างจากภาษาระดับที่ 3 ซึ่งเป็นแบบ Procedural ผู้เขียน
ี
โปรแกรมทั้งหมดว่าที่บรรทัด คอลัมน์จะให้แสดงข้อมูลอะไรออกมา ซึ่งถ้าต่อไปจะมีการปรับเปลี่ยนหน้าตาของ
แบบฟอร์มก็จะเป็นเรื่องที่ยุ้งยากอย่างยิ่ง ในการสร้างรายงานด้วย 4GLs ก็สามารถท าได้อย่างง่าย เพียงแต่ระบุลง
ไปว่าต้องการรายงานอะไร มีข้อมูลใดที่จะน ามาแสดงบ้าง โดยไม่ต้องบอกถึงวิธีการสร้าง หรือการดึงข้อมูลแต่อย่าง
ใด โดยการเขียนโปรแกรมภาษา 4GLs จัดการค าสั่งนั้นเป็นให้ตรงความต้องการของผู้เขียนโปรแกรม
ดังนั้นจะเห็นว่า ภาษาระดับท 4 เป็นภาษาที่ผู้เขียนโปรแกรมเพียงแต่บอกว่าต้องการอะไร (What)แต่ไม่
ี่
ต้องบอกคอมพิวเตอร์ว่าให้ท าอย่างไร(How) แต่ภาษาในรุ่นท 3 ผู้เขียนโปรแกรมต้องบอกคอมพิวเตอร์ทั้งหมดว่า
ี่
้
ต้องการท าอะไร และต้องบอกดวยว่าต้องท าอย่างไร ซึ่งจะต้องสั่งให้คอมพิวเตอร์ท างานเป็นขั้นตอนและ
คอมพิวเตอร์ก็จะมีหน้าที่ท างานตามทผู้เขียนโปรแกรมสั่ง
ี่
อย่างไรก็ตาม 4GLs ก็สามารถมีรูปแบบเป็น Procedural ได้ด้วย เนื่องจากงานบางงานอาจมีความ
ซับซ้อน จึงต้องอาศัยการเขียนโปรแกรมที่เป็นแบบ Procedural เข้าช่วย จึงสรุปได้ว่า 4GLจะมีรูปแบบผสม
ระหว่าง Procedural และ Nonprocedural
2) การเขียนโปรแกรมระดับสูงมาก 4GLs ส่วนใหญ่จะเขียนโปรแกรมเพื่อควบคู่กับระบบฐานข้อมูล โดยผู้ใช ้
ระบบฐานข้อมูลจะสามารถจัดการฐานข้อมูลได้โดยผ่านทาง 4GLs นี้
ส่วนประกรอบของภาษาระดับสูงมาก4GLsโดยทั่วไปจะมีส่วนส าคัญ 3 ส่วน ดังนี้
1) เครื่องมือช่วยสร้างรายงาน (Report Generators) เป็นโปรแกรมส าหรับผใช้ (End-users) ให้สามารถ
ู้
รวมถึงรูปแบบของการพิมพ์ไว้ โปรแกรมช่วยสร้างรายงานนี้จะท าการพิมพ์รายงานตามรูปแบบที่ก าหนดไว้ให ้
เขียนรายงานอย่างง่ายได้ด้วยตนเอง โดยผู้ใช้สามารถก าหนดเงื่อนไข และข้อมูลที่น าออกมาพิมพ์ในรายงาน
24
2) ภาษาช่วยค้นหาข้อมูล (Query Languages) เป็นภาษาที่ช่วยในการค้นหาหรือดึงข้อมูลจากฐานข้อมูล
้
ภาษานี้จะง่ายต่อการใช้งานมาก เนื่องจากจะอยู่ในรูปแบบที่ใกลเคียงกับภาษาอังกฤษมากตัวอย่างเช่น ภาษา
SQL (Structured Query Language)
3) เครื่องมือช่วยสร้างโปรแกรม (Applicatiors) จะมีรูปแบบการเขียนโปรแกรมเฉพาะตัว และสามารถ
เรียกใช้เครื่องมือช่วยสร้างโปรแกรมนี้ท าการแปลง 4GLs ให้กลายเป็นโปรแกรมภาษารุ่น 3 ได้เช่น ภาษาโคบอล
หรือภาษาซี ซึ่งอาจงน าภาษาโคบอล หรือภาษาซีที่แปลงแล้วไปพัฒนาต่อเพื่อใช้กับงานที่ซับซ้อนมากๆ ต่อไปได ้
ี่
5. ภาษาธรรมชาติ (Natural Language) เป็นภาษาในยุคท 5 ที่มีรูปแบบเป็นแบบ Nonprocedural
ี่
เช่นเดียวกับภาษาระดับท4ที่เรียกว่าภาษาธรรมชาติ เพราะสามารถสั่งงานคอมพิวเตอร์ได้โดยใช้ภาษามนุษย์ได ้
โดยตรง โดยทั่วไป ค าสั่งที่มนุษย์ป้อนเข้าไปในคอมพิวเตอร์ จะอยู่ในรูปของภาษาพูดมนุษย์ได้โดยตรง โดยทั่วไป
ค าสั่งที่มนุษย์ป้อนเข้าคอมพิวเตอร์ จะอยู่ในรูปแบบของภาษาพูด มนุษย์ซึ่งอาจมีรูปแบบที่ไม่แน่นอนตายตัว แต ่
คอมพิวเตอร์สามารถแปลค าสั่งนั้นให้อยู่ในรูปแบบที่คอมพิวเตอร์สามารถเข้าใจได
้
ี่
ภาษาธรรมชาตินี้สร้างขึ้นมาจากเทคโทโนโลยีผู้เชี่ยวชาญทางด้านระบบ(Expert System) ซึ่งเป็นงานทอยู่ใน
ี่
์
ิ
สาขาปัญญาประดษฐ (Artificial Intelligence) ในการทพยายามทาให้คอมพิวเตอร์เปรียบเสมือนกับเป็น
ผู้เชี่ยวชาญคนหนึ่งที่สามารถคิดและตัดสินใจได้ เช่น เดียวกับมนุษย์ คอมพิวเตอร์สามารถตอบค าถามของมนุษย์ได ้
้
ู้
ี่
้
อย่างถูกต้องพร้อมทั้งมีข้อแนะน าต่างๆ เพื่อช่วยในการตัดสินใจของมนุษย์ไดดวย ระบบผเชยวชาญนี้จะใชกับงาน
้
เฉพาะด้านใดด้านหนึ่ง เช่น ในด้านการแพทย์ในด้านการพยากรณอากาศในการวิเคราะห์ทางเคมี การลงทน ฯลฯ
ุ
์
ี่
ู้
้
ซึ่งจะต้องมีการเก็บรวบรวมข้อมูล และข่าวสารจากผเชยวชาญเฉพาะดานเหลานั้นและแปลข้อมูล และเก็บไว้ใน
่
ี่
้
รูปแบบของระบบฐานข้อมูลของผู้เชี่ยวชาญ ที่เรียกว่าฐานความรู้ (Knowledge Base) ซึ่งจะตองเก็บข้อมูลทมีอยู่
ึ
ิ
ั
้
เป็นจานวนมากและให้ผใชสามารถใชกับภาษาธรรมชาต ในการดงข้อมูลจากฐานความรู้นี้ได ดงนั้นจงอาจเรียก
ึ
ู้
้
้
ระบบผู้เชี่ยวชาญนี้ได้อย่างว่าระบบฐานความรู้ (Knowledge Base System)
โครงสร้างของข้อมูล
ิ่
ี่
้
ั
์
ี่
ข้อมูลเป็นองคประกอบทสาคญอย่างหนึ่งในระบบคอมพิวเตอร์ เป็นสงทตองป้องเข้าไปในคอมพิวเตอร์
ี่
้
โดยผพัฒนาโปรแกรมจาเป็นทจะตองป้องรู้จกข้อมูลและความสาคญของข้อมูลแตละประเภททน ามาใชในการ
ู้
ี่
้
ั
ั
่
้
เขียนโปรแกรม ข้อมูลที่สามารถน ามาใช้กับคอมพิวเตอร์ได มี 5 ประเภท คือข้อมูลตวเลข (Numeric Data) ข้อมูล
ั
ตวอักษร (Text Data) ข้อมูลเสยง (Audio Data) ข้อมูลภาพ (Images Data)และข้อมูลภาพเคลอนไหว (Video
ื่
ี
ั
Data)
25
ระดับโครงสร้างข้อมูล (Data Structure)
ในการน าข้อมูลไปใช้นั้นมีระดับโครงสร้างของข้อมูลดังนี้
1. บิต (Bit) คือ ข้อมูลที่มีขนาดเล็กที่สุด เป็นข้อมูลทเครื่องคอมพิวเตอร์สมารถเข้าใจและน าไปใชงานได ซึ่ง
้
ี่
้
ได้แก่ เลข 0 หรือ เลข 1 เท่านั้น
2. ไบต์ (Byte) คือ เป็นการน าบิตหลายๆบิตมาเรียงต่อรวมเพื่อก าหนดคาไดมากขึ้น เชน 3บิตมาตอเรียงกัน
่
่
้
่
จะท าให้เกิดสถานะที่ต่างกันคือ 000,001,010,100,011, 010, และ 111 ก็จะไดเป็น 8 สถานะ เมื่อน าบิตมาเรียง
้
ต่อรวมกันเป็น 8 บิต เรียกว่าไบต มี 256 สถานะและก าหนดเป็นโครงสร้างข้อมูลทมีขนาดเลกทสดทใชงานได มี
ุ
้
ี่
ี่
็
์
้
ี่
์
่
ค่าตั้งแต่ 0 – 255 (00000000-11111111) เช่น 0,1 ถึง 9,A,B, ถึง Z และเครื่องหมายตางๆ ซึ่ง 1 ไบตจะเทากับ
่
8 บิต หรือ ตัวอักขระ 1 ตัว เป็นต้น
่
ั้
่
์
ั
ั
3. ฟิลด ( Field) คอ ไบต หรือ อักขระตงแต 1 ตวขึ้นไปรวมกันเป็นฟิลด เชน เลขประจาตวชอนักเรียน
์
ื่
ื
์
นามสกุล ที่อยู่ฯลฯ เป็นต้น
่
ื่
4. เรกคอร์ด (Record) คือ ฟิลด์ตั้งแต่ 1 ฟิลด์ขึ้นไป ที่มีความสัมพันธ์เกี่ยวข้องรวมกันเป็นเรกคอร์ด เชน ชอ
นักเรียน นามสกุล ที่อยู่ ห้องเรียน ครูประจ าชั้น เลขประจ าตัวนักเรียน ข้อมูลของนักเรียน 1 คน เป็น 1 เรกคอร์ด
่
ี
5. ไฟล์ (Files) คือ แฟ้มข้อมูล คอ เรกคอร์ดหลายๆ เรกคอร์ดรวมกัน ซึ่งเป็นเรื่องเดยวกัน เชน ข้อมูลของ
ื
ประวัตินักเรียนแตละคนมารวมกันทั้งหมดเป็นไฟล์หรือแฟ้มข้อมูลเกี่ยวกับประวัตินักเรียนของโรงเรียน เป็นต้น
่
่
์
ี่
้
6. ฐานข้อมูล (Database) คือ การเก็บรวบรวมไฟล์ข้อมูลหลายๆ ไฟลทเกี่ยวข้องกันมารวมเข้าดวยกัน เชน
ี่
ไฟล์ข้อมูลของนักเรียนทเรียนในแผนกตางๆ ข้อมูลครูผสอน ข้อมูลวิชาทเรียน ข้อมูลผลการเรียน มารวมกันเป็น
่
ี่
ู้
ฐานข้อมูลของโรงเรียน เป็นต้น
26
แบบประเมินผลการเรียนรู้หน่วยที่ 2
ตอนที่ 1 จงตอบค าถามต่อไปนี้ให้สมบรูณ ์
1. ภาษาคอมพิวเตอร์แบ่งออกได้กี่ยุค อะไรบ้าง
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………….
2. ข้อมูลที่น ามาใช้กับคอมพิวเตอร์มีกี่ประเภท ได้แก่อะไรบ้าง
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………
ั
3. โครงสร้างของข้อมูล (Data Structure) มีกี่ระดบ ได้แก่อะไรบ้าง
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………..
4. อธิบายความหมายของฟิลด์ (Field) มาให้เข้าใจ
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………
5. ฐานข้อมูล (Database) หมายถึงอะไร จงอธิบายมาให้เข้าใจ
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………
27
ตอนที่ 2 จงเลือกค าตอบที่ถูกที่สุดเพียงข้อเดียว
1. ข้อใดสอดคล้องกับค าว่า “ภาษาคอมพิวเตอร์”ได้ดีที่สุด
ก. ภาษาใดๆ ที่ผู้ใช้งานใช้สื่อสารกับคอมพิวเตอร์แล้วคอมพิวเตอร์สามารถท างานตามคาสั่งนั้นได ้
ข. ภาษาใดๆ ที่คอมพิวเตอร์ใช้สื่อสารกับคอมพิวเตอร์แล้วคอมพิวเตอร์สามารถท างานตามค าสั่งนั้นได ้
ค. ภาษาใดๆที่ผู้ขายใช้สื่อสารกับคอมพิวเตอร์แล้วคอมพิวเตอร์สามารถท างานตามคาสั่งนั้นได ้
ง. ถูกทุกข้อ
2. Machine Language จะกล่าวถึงเรื่องใด
ก. ภาษาระดับสูงมาก
ข. ภาษาระดับสูงมาก Fourth Generation Language
ค. ภาษาระดับต่ า
ง. ภาษาเครื่อง
3. ภาษาสัญลักษณ์ใช้ศัพท์ในข้อใด
ก. Machine Language
ข. Symbol Language
ค. High-level Language
ง. Fourth Generation Language
4. “Artificial Intelligence”สอดคล้องกับข้อใดต่อไปนี้
ก. คอมพิวเตอร์ประดิษฐ ์
ข. ธรรมชาติประดิษฐ ์
ค. วิชาประดิษฐ ์
ง. ปัญญาประดิษฐ ์
5. ES ของภาษาในยุคที่ 5 ย่อมาจากค าใด
ก. Electronics Source
ข. Earliest Start
ค. Eyesprite
ง. Expert System
28
6. ข้อใดใช้เป็นภาษาเครื่อง
ก. 37X XXY
ข. int I , J;
ค. 1111 1110 0111 1010 0110
ง. ABC 12109 2221 9999
7. ข้อใดจัดเป็นภาษาระดับสูง
ก. LOGO
ข. JAVA
ค. PASCAL
ง. ถูกทุกข้อ
8. ข้อใดกล่าวถึง “execute” ได้ถูกต้องที่สุด
ก. ท างานตามที่สั่งทีละหลายค าสั่ง
ข. ท างานตามที่สั่งที่ละค าสั่ง
ค. ไม่ท างานตามที่สั่ง
ง. ถูกทุกข้อ
9. OOP ในการเขียนโปรแกรมคือข้อใด
ก. OoP’z
ข. Oops!
ค. Object Oriented programming
ง. Oops!! – Super Junior
10. ข้อใดเป็น OOP
ก. Delphi
ข. Visual Basic
ค. Visual C++
ง. ถูกทุกข้อ
29
ใบงานที่ 2.1
ค าชี้แจง แบ่งผู้เรียน 4 กลุ่ม เพื่อจัดท าป้ายนิเทศ และน าเสนอหน้าชั้นเรียนโดยก าหนดหัวข้อดังนี้
1. MS – Visual Basic
2. MS – Visual C++
3. JAVA
4. Delphi
การอธิบาย
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………...
30
ใบงานที่ 2.2
ค าชี้แจง จงพิจารณารูปภาพต่อไปนี้
การอธิบาย
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
31
ใบงานที่ 2.3
ี
ค าชี้แจง จงแสดงการใช้สัญลักษณ์ในภาษาแอสเซมบล (Assembly Language) มาใช้ในการเขียนโปรแกรม
…………………………….. …………………………….. …………………………………
………………………………………. ………………………………………………. ……………………………………………….
…………………………………………… ………………………………………………… …………………………………………………..
……………………………………………. …………………………………………………. …………………………………………………
……………………………………………. ………………………………………………….. ………………………………………………….
……………………………………………. …………………………………………………. …………………………………………………….
การอธิบาย
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
32
ี่
ใบงานท 2.4
ค าชี้แจง จงแสดงระดับโครงสร้างของข้อมูล (Data Structure)โดยแสดงเป็นแผนภูมิประกอบดังต่อไปนี้
33
แนวคิด
ี
ี่
่
ั
ในชวิตประจาวันเราพบปัญหาตางๆอยู่ตลอดเวลาในการแก้ปัญหานั้นมีวิธีการทเป็นขั้นตอนชดเจนและ
แตกต่างกันทั้งนี้ขึ้นอยู่กับความสามารถและประสบการณ์ของบุคคลนั้นนั้นโดยวิธีการแก้ปัญหาตองเริ่มจากการทา
้
ความเข้าใจแล้วหาวิธีการแก้ปัญหาอย่างมีประสิทธิภาพ
สาระการเรียนรู้
1. ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์
2. ความรู้เบื้องต้นเกี่ยวกับอัลกอริทึม
3. รหัสเทียม(PSEUDO CODE)
4. การเขียนผังงาน
5. แผนภูมิโครงสร้าง(Structure chart)
ผลการเรียนรู้ที่คาดหวัง
1. บอกขั้นตอนการแก้ปัญหาได ้
2. แสดงความรู้เกี่ยวกับการท างานด้วยอัลกอริทึม ได ้
3. แสดงความรู้เกี่ยวกับการใช้รหัสเทียมในการท างานได ้
4. เขียนผังงานได ้
5. เขียนแผนภูมิโครงสร้างได ้
34
ลักษณะของการแก้ปัญหาในชีวิตประจ าวัน
ี่
ี่
1. การลองผดลองถูก เป็นวิธีการแก้ปัญหาแบบพื้นฐานทสดคอสงใดผดก็ละเว้นไว้สงใดทถูกก็เก็บเป็น
ิ
ิ
ิ่
ิ่
ุ
ื
ฐานความรู้
ุ
่
้
2. . การใชเหตผลประกอบการแก้ปัญหา เป็นการใชเหตผลตางๆในการแก้ไขปัญหาโดยแตละคนก็มีวิธี
้
ุ
่
แตกต่างกันไป
3. วิธีขจัด คือจะแยกข้อมูลออกเป็นกรณีที่เป็นไปไม่ได้แลวขจัดทิ้งไปเหลือกรณีที่เป็นไปได้
้
ี
้
ั
ื
่
4. การใชตารางหาความสมพันธ์ของข้อมูล คอการพิจารณาแตละกรณโดยใชตารางหาความสมพันธ์ของ
ั
้
ข้อมูลในการแก้ปัญหานั้นบางครั้งอาจมีความซับซ้อนเกินกว่าทคนเราจะสามารถแก้ไขเองไดดงนั้นจงมีการใช ้
้
ึ
ี่
ั
่
้
ั
คอมพิวเตอร์เป็นตวชวยในการแก้ปัญหาซึ่งการใชงานคอมพิวเตอร์เพื่อการแก้ปัญหานั้นเราจาเป็นจะตองเข้าใจ
้
้
หลักการท างานของคอมพิวเตอร์เสียก่อนกระบวนการในการเขียนโปรแกรมคอมพิวเตอร์เพื่อใชในการแก้ปัญหามี
ดังนี้
ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์
ั่
การเขียนโปรแกรมคอมพิวเตอร์เป็นการพัฒนาโปรแกรมหรือแอพพลเคชนตางๆดวยภาษาคอมพิวเตอร์ท ี่
่
้
ิ
โครงสร้างของภาษามีความสลบซับซ้อนผเขียนโปรแกรมจงตองมีความเข้าใจขั้นตอนการทางานและปัญหาของ
ั
้
ึ
ู้
้
ี่
ั
ระบบการท างานเพื่อมาออกแบบการรับข้อมูลเข้าการประมวลผลและผลลพธ์ทตองการในการเขียนโปรแกรมให้
ตรงและตอบสนองการทางานของผใชโปรแกรมผเขียนโปรแกรมจงตองมีความเข้าใจขั้นตอนการออกแบบ
ู้
้
ู้
ึ
้
โปรแกรมเพื่อลดปัญหาในการเขียนโค้ดของโปรแกรมที่มีความยุ่งยากให้การออกแบบโปรแกรมไดอย่างมีระบบโดย
้
ขั้นตอนการเขียนโปรแกรมประกอบด้วย 6 ขั้นตอนดังนี้
1. การวิเคราะห์ปัญหา(Problem analysis) เป็นกระบวนการแก้ปัญหาโดยวิเคราะห์จากผลลัพธ์
(Output) และข้อมูล (Data) ทน าเข้ามาและน าสงเหลานี้มาวิเคราะห์และก าหนดขั้นตอนการทางานและ
ิ่
ี่
่
กระบวนการแก้ไขปัญหาของโปรแกรมทาการเขียนขึ้นโดยผเขียนโปรแกรมจะเข้าไปดกระบวนการทางานจริง
ู
ู้
ส ารวจเอกสารที่เกี่ยวข้องและข้อมูลทั้งหมดจากการท างานจริงดูเส้นทางการเดินเอกสารและผลลพธ์ทตองการเพื่อ
้
ั
ี่
มาออกแบบโปรแกรมจากการใช้มือสู่โปรแกรมคอมพิวเตอร์ได้ ผลลัพธ์ที่ต้องการ
35
ผลลัพธ์ที่ต้องการ
• รูปแบบหน้าจอ
• รูปแบบการท างาน
• รูปแบบผลลัพธ ์
ข้อมูลน าเข้า
ตรวจเอกสารและเส้นทางเดิน
ของเอกสารวิเคราะห์ผลลัพธ์ที่
ต้องการว่าต้องการข้อมูล
อะไรบ้าง
การแก้ปัญหา
์
วเคราะหขั้นตอนการด าเนินการ
ิ
แกปัญหาการค านวณการเชื่อมโยง
้
ข้อมูลการน าเข้าข้อมูลเข้าเพื่อให ้
ได้ผลลัพธ์ที่ต้องการ
ขั้นตอนการวิเคราะห์ปัญหา
้
่
2. การออกแบบโปรแกรม(Design) โดยใชเครื่องมือมาชวยในการออกแบบขั้นตอนนี้ยังไม่เป็นการเขียน
ี่
้
โปรแกรมจริงแต่จะช่วยให้การเขียนโปรแกรมสามารถท าได้ง่ายขึ้นโดยเขียนตามขั้นตอนทไดออกแบบไว้ในขั้นตอน
นี้และยังชวยให้การเขียนโปรแกรมมีข้อผดพลาดรถน้อยลงนอกจากนี้ยังชวยในการตรวจสอบการทางานของ
ิ
่
่
ี
โปรแกรมทาให้ทราบขั้นตอนการทางานจริงซึ่งถ้าเปรียบเทยบการเขียนโปรแกรมเหมือนกับการสร้างบ้านใน
ขั้นตอนการออกแบบโปรแกรมนี้จะเปรียบเหมือนกับการสร้างแปลนบ้านลงกระดาษซึ่งผสร้างบ้านจะอาศยแปลน
ั
ู้
บ้านนี้เป็นต้นแบบในการสร้างนั่นเองในขั้นตอนการออกแบบโปรแกรมนี้เป็นการออกแบบการท างานของโปรแกรม
ซึ่งผู้ออกแบบสามารถเลือกใช้เครื่องมือมาช่วยในการออกแบบได้ดังนี้
36
2.1 อัลกอริทึม (Algorithm) เป็นเครื่องมือที่ช่วยในการออกแบบโปรแกรมข้อความที่เป็นภาษาพูดในการ
้
อธิบายการท างานของโปรแกรมที่เป็นล าดับขั้นตอนตัวอย่างของการเขียนอัลกอริทึมง่ายง่ายในชีวิตประจาวันไดแก่
้
ู
่
ึ
่
ั
้
อัลกอริทมการถือข้าวเริ่มจากตกข้าวใสหม้อลางข้าวหรือซาวข้าวดวยน้ าเทน้ าออกใสน้ าสะอาดให้สงกว่า1ข้อนิ้ว
ั
ึ
หรือ1ฝ่ามือเช็ดหม้อน าหม้อลงในหม้อหุงข้าวเสียปลั๊กกดสวิตช์เป็นต้นในการเขียนอันกอริทมนี้แม้จะมีความชดเจน
ู้
ู้
อยู่แล้วแต่มีจุดอ่อนอยู่ที่ข้อมูลการอธิบายจะค่อนข้างเยิ่นเย้อและถ้าผเขียนใชสานวนทอ่านยากก็จะทาให้ผอ่านไม่
ี่
้
เข้าใจขั้นตอนการท างานของโปรแกรม
ั
ั
์
2.2 ผังงาน (Flowchart) เป็นเครื่องมือทใชรูปภาพหรือสญลกษณทแสดงถึงขั้นตอนการเขียนโปรแกรม
้
ี่
ี่
ั้
ิ
ั่
้
หรือขั้นตอนในการแก้ปัญหาทีละขั้นและมีเส้นที่แสดงทศทางในการไหลของข้อมูลตงแตจดเริ่มตนจนกระทงไดผล
้
่
ุ
ลัพธ์ตามที่ต้องการซึ่งจะท าให้ผู้อ่านสามารถอ่านและเข้าใจได้โดยง่าย
ี่
2.3 รหัสจ าลอง(Pseudo code) เป็นเครื่องมือการอักเสบโปรแกรมที่มีการใชข้อความทเป็นภาษาอังกฤษ
้
หรือภาษาไทยก็ไดในการแสดงขั้นตอนการแก้ปัญหาแตจะมีการใชคาเฉพาะ(reserve words) ทมีอยู่ในภาษา
้
ี่
้
่
ุ
ี่
ั
ี่
โปรแกรมมาช่วยในการค้นพบของรหัสจ าลองจึงมีส่วนทคลายกับการเขียนโปรแกรมมากทสดดงนั้นรหัสจาลองซึ่ง
้
เป็นเครื่องมืออีกแบบที่นิยมใช้กันมากในการออกแบบโปรแกรม
2.4 แผนภูมิโครงสร้าง(Structure chart) จะเป็นการแบ่งงานใหญ่ออกเป็นมอดลย่อยๆซึ่งเรียกว่าการ
ู
ออกแบบจากบนลงล่าง(Top-Down Design)และแต่ละมอดูลย่อยก็ยังสามารถแตกออกไดอีกจนถึงระดบทลางสด
้
ุ
ั
ี่
่
ท าให้สามารถออกแบบโปรแกรมและเขียนโปรแกรมได้อย่างง่าย
3. การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์(Programming) เป็นการเอาสงทออกแบบในขั้นตอนทสองมา
ี่
ิ่
ี่
่
เขียนเป็นค าสั่งด้วยภาษาคอมพิวเตอร์โดยผู้เขียนกูกินต้องเลือกที่จะเขียนภาษาใดภาษาหนึ่งเท่านั้นโดยแตละภาษา
จะมีโครงสร้างของภาษารูปแบบของภาษาและไวยากรณ์ของภาษา(Syntax) ทแตกตางกันผเขียนโปรแกรมจงตอง
ู้
ึ
่
ี่
้
มีความรู้ความเข้าใจในโครงสร้างของภาษาเพื่อให้การเขียนโปรแกรมนั้นประสบผลส าเร็จ
4. การทดสอบและแก้ไขโปรแกรม(Testing) การตรวจสอบการทางานของโปรแกรมเพื่อตรวจสอบการ
้
้
ิ
ี่
ทางานความถูกตองและข้อผดพลาดของโปรแกรมทเกิดขึ้นจากการเขียนโปรแกรมเพื่อแก้ไขให้ถูกตองโดยการ
ทดสอบสามารถใชข้อมูลจริงเพื่อทดสอบการประมวลผลและผลลพธ์ในการทางานของโปรแกรมว่าถูกตองตรง
ั
้
้
ความต้องการหรือไม่เพื่อจะได้ปรับปรุงแก้ไขให้ถูกต้องต่อไป
ู่
5. การท าเอกสารประกอบโปรแกรม(Documentation) หรือคมือการใชงานของโปรแกรมเป็นการทาคมือ
ู่
้
ู้
ประกอบการใช้งานโปรแกรมส าหรับผู้ใช้งานดีส าหรับใช้ในการอบรมให้กับผู้ใช้งานโปรแกรมโดยผพัฒนาโปรแกรม
จะตองจดทาเอกสารประกอบโปรแกรมอย่างละเอียดอธิบายการทางานของโปรแกรมทกหน้าจอเพื่อให้ผใช ้
ู้
้
ุ
ั
สามารถศึกษาได้เองเมื่อเกิดปัญหาขึ้นในการใช้โปรแกรม
37
้
6. การบ ารุงรักษาโปรแกรม(Maintenance) เมื่อน าโปรแกรมไปใชงานจริงอาจจะเกิดปัญหาขึ้นได ้
ผู้พัฒนาโปรแกรมเข้าท าการติดตามตรวจสอบและแก้ปัญหาให้กับผู้ใช้งานขณะใช้งานจริงเมื่อเป็นปัญหาโดยปัญหา
ู้
ึ
้
้
์
ที่เกิดขึ้นอาจจะเกิดจากตัวโปรแกรมเองจากอุปกรณตางๆรู้จกผใชงานจงจาเป็นตองมีการบ ารุงรักษาโปรแกรมให้
ั
่
สามารถใช้งานได้ตลอดเวลารวมทั้งอาจมีการแก้ไขหรือเพิ่มเติมโปรแกรมในส่วนที่ผู้ใช้งานต้องการได ้
ความรู้เบื้องต้นเกี่ยวกับอัลกอริทึม
ั
ึ
อัลกอริทม(Algorithm) หมายถึงขั้นตอนหรือลาดบการประมวลผลในการแก้ปัญหาใดปัญหาหนึ่งซึ่งจะชวยให้
่
ผู้พัฒนาโปรแกรมเห็นขั้นตอนการเขียนโปรแกรมอย่างง่ายขึ้น
อัลกอริทึม(Algorithm) หมายถึงแนวคิดอย่างมีเหตุผลที่ผู้พัฒนาโปรแกรมโปรแกรมเมอร์หรือนักวิเคราะห์ระบบใช ้
ในการอธิบายวิธีการทางานอย่างเป็นขั้นตอนตามลาดบในการพัฒนาโปรแกรมนั้นๆให้กับผทสนใจหรือผทเป็น
ั
ี่
ู้
ู้
ี่
่
เจ้าของงานหรือผู้ที่รับผิดชอบได้ทราบถึงขั้นตอนต่างๆในการเขียนผู้พัฒนาโปรแกรมขณะเดียวกันสามารถชวยให้ผ ู้
้
่
่
้
ู้
ี่
ทเป็นเจาของงานหรือผทรับผดชอบไดตรวจสอบขั้นตอนตางๆเรื่องการทางานและความถูกตองในแตละขั้นตอน
้
ี่
ิ
การท างานโดยผู้ที่เป็นเจ้าของร้านหรือผู้ที่รับผิดชอบนั้นๆไม่จ าเป็นต้องเขียนโปรแกรมเป็น
หลักการเขียนอัลกอริทึม
ั
ุ
1.กระบวนการส าคัญเริ่มต้นที่จุดจุดเดียวในการมีจุดเริ่มต้นหลายที่จะท าให้กระบวนการวิธีสบสนจนในทสดอาจทา
ี่
ให้ผลลัพธ์ที่ได้ไม่ตรงกับความต้องการหรืออาจท าให้อัลกอริทึมนั้นไม่สามารถท างานได้เลย
2.ก าหนดการท างานเป็นขั้นตอนอย่างชัดเจนการก าหนดอัลกอริทึมที่ดีควรมีขั้นตอนที่ชัดเจนไม่คลุมเครือเสร็จจาก
ขั้นตอนหนึ่งไปยังขั้นตอนที่สองมีเงื่อนไขการท างานอย่างไรควรก าหนดให้ชัดเจน
ั้
ั
3.การทางานแตละขั้นตอนควรสนกระชบเพราะการก าหนดขั้นตอนการทางานให้สนกระชบนอกจากจะทาให้
ั้
่
ั
้
่
ึ
้
ี่
้
่
ู้
โปรแกรมทางานไดรวดเร็วแลวยังเป็นประโยชน์ตอผอื่นทมาพัฒนาโปรแกรมตอดวยเพราะสามารถศกษา
อัลกอริทึมจากโปรแกรมที่เขียนไว้ได้ง่ายขึ้น
38
่
่
ั
ั
ี
ี่
4. ผลลพธ์ในแตละขั้นตอนควรตอเนื่องกันการออกแบบขั้นตอนทดไหมผลลพธ์จากขั้นตอนแรกควรเป็นข้อมูล
ส าหรับน าเข้าให้กับข้อมูลในขั้นตอนต่อไปต่อเนื่องกันไปจนกระทั่งได้ผลลัพธ์ตามที่ต้องการ
5. การออกแบบอันกอริทึมที่ดีควรออกแบบให้ครอบคลมการทางานในหลายรูปแบบ เชน การออกแบบโดยคดไว้
่
ุ
ิ
้
ิ
ลวงหน้าว่าหากผใชโปรแกรมป้อนข้อมูลเข้าผดประเภทโปรแกรมจะมีการเพื่อนว่าผใชงานมีการใสข้อมูลทผด
่
ี่
ิ
่
ู้
ู้
้
ุ
ประเทศโดยโปรแกรมจะไม่รับข้อมูลนั้นเพื่อให้ใส่ข้อมูลใหม่อีกครั้งเพื่อป้องกันการเกิดจดบกพร่องของโปรแกรมได ้
รูปแบบของอัลกอริทึม
้
ู้
ึ
ึ
การเขียนอัลกอริทมมีหลายรูปแบบโดยผเขียนสามารถใชอัลกอริทมหลายรูปแบบประกอบกันในการ
ออกแบบอัลกอริทึมนั้นเพื่อใช้ในการแก้ปัญหาการเขียนโปรแกรมได ้
่
ั
ั
1. แบบล าดับ(Sequential) มีลักษณะการทางานจะเป็นไปตามขั้นตอนก่อน-หลง ตอเนื่องกันไปเป็นลาดบโดย
การท างานแต่ละขั้นตอนต้องท าให้เสร็จก่อนแล้วจึงไปท าขั้นตอนต่อไป
ขั้นตอนที่ 1
ขั้นตอนที่ 2
ขั้นตอนที่ 3
ี่
ขั้นตอนท…N
อัลกอริทึมแบบล าดับ
39
ตัวอย่างอัลกอริทึมแบบล าดับ
อัลกอริทึม การทอดไข่เจียว
1. หยิบไข่ไก่
2. ตอกไข่ไก่ใส่ภาชนะ
3. ปรุงรส ด้วยเครื่องปรุง
4. ตีไข่ด้วยช้อนซ้อม
5. ตั้งกระทะบนเตา
6. เปิดแก๊ส และติดไฟ
7. ใส่น้ ามันพืช
8. น าไข่ที่ปรุงรสแล้วใส่ลงในกระทะที่ร้อน
9. ทอดจนสุก
10. ตักขึ้นใส่จานที่เตรียมไว้
2. แบบทางเลือก(Decision) อัลกอริทึมรูปแบบนี้มีเงื่อนไขเป็นตัวก าหนดเส้นทางการท างานของกระบวนการ
่
แก้ปัญหาโดยตัวเลือกนั้นอาจจะมีตั้งแต่สองตัวขึ้นไปเช่นสอบข้อเขียนคะแนนเต็ม 50 ได้คะแนน 30 สอบผาน
ถ้าต่ ากว่า 30 สอบไม่ผ่าน
40
ตัวอย่างอัลกอริทึมแบบทางเลือก
อัลกอริทึมการตัดเกรดวิชาคอมพิวเตอร์
1. คะแนนสอบของนักเรียน
2. ตรวจสอบคะแนน(คะแนนที่สอบผ่าน 50 คะแนน)
2.1 มากกว่า 50 คะแนน สอบผ่าน
2.2 น้อยกว่า 50 คะแนน สอบตก
3. ประกาศผล
ื
้
่
่
ื
ึ
3. แบทาซ้ า (Repetition) อัลกอริทมแบบนี้คลายกับแบบทางเลอก คอ มีการตรวจสอบเงื่อนไขแตแตกตางกัน
ตรงที่เมื่อการท างานตรงตามเงื่อนไขทก าหนดโปรแกรมจะกลบไปทางานอีกครั้งกวนการทางานแบบนี้เรื่อยเรื่อย
ั
ี่
จนกระทั่งไม่ตรงกับเงื่อนไขที่ก าหนดไว้จึงหยุดการท างานหรือท างานในขั้นตอนต่อไป
41
ี
ตัวอย่างการเขยนอัลกอริทึมแบบท าซ้ า
อัลกอริทึมการซื้อมังคุด 1 กิโลกรัม
1. หยิบถุงพลาสติก
2. หยิบมังคุดมาเลือกโดยกดที่เปลือกที่นิ่มๆ
3. ตรวจสอบเงื่อนไข (น้อยกว่า 1 กิโลกรัม)
3.1 จริง เลือกมังคุดต่อ
3.2 เท็จ หยุดเลือก
้
ี
ี
ั่
4. จ่ายเงินให้กับผู้ที่ขาย รหัสเทยม(Pseudo code) รหัสเทยม หรือ ซูโดโคด (Pseudo code) เป็นคาสงทจาลอง
ี่
ความคิดที่เป็นลบ
รหัสเทียม(Pseudo code)
ี่
ั่
ี่
ั
ิ
ี่
ิ
รหัสเทียม หรือ ซูโดโค้ด (Pseudo code) เป็นคาสงทจาลองความคดทเป็นลองความคดทเป็นลาดบขั้นตอนการ
์
้
ท างานของการเขียนโปรแกรมคอมพิวเตอร์โดยใช้สัญลักษณเป็นประโยคภาษาอังกฤษซึ่งรหัสเทยมหรือ สโดโคดนี้
ู
ี
้
ไม่ใช่ภาษาโปรแกรมทางคอมพิวเตอร์จึงไม่สามารถน าไปใช้ในการเขยนโคดทางภาษาคอมพิวเตอร์เพื่อประมวลผล
ี
้
ไดแตเป็นการเขียนจาลองคาสงจริงแบบย่อๆตามอันกอริทมของโปรแกรมระบบเพื่อน าไปพัฒนาเป็นการเขียน
ึ
่
้
ั่
โปรแกรมภาษาคอมพิวเตอร์ไดสรุปไดว่ารหัสเทยมหรือสูโดโคด(Pseudo code) หมายถึงการเขียนโปรแกรมใน
้
้
้
ี
ู
รูปแบบภาษาอังกฤษทมีขั้นตอนและรูปแบบแน่นอนความกะทดรัดและมองดคลายภาษาระดบสงทใชกับเครื่อง
ั
ี่
้
ี่
ั
้
ู
ี่
ึ
ี
้
คอมพิวเตอร์ซึ่งน่าไม่เจาะจงให้เป็นภาษาใดภาษาหนึ่งรหัสเทยมจงเหมาะทจะใชในการออกแบบโปรแกรมก่อน
โปรแกรมจะท าการเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์จริง
ประโยชน์ของรหัสเทียม
1.เป็นเครื่องมือในการก าหนดโครงสร้างกระบวนการการท างานของการใช้โปรแกรมแต่ละโปรแกรม
2.เป็นต้นแบบในการทบทวนปรับปรุงแก้ไขและพัฒนาโปรแกรมของโปรแกรมเมอร์และนักวิเคราะห์ระบบ
ั
3.เป็นตวก็มีงานเขียนโปรแกรมเพื่อให้โปรแกรม 10,000 น าไปพัฒนาเป็นโปรแกรมคอมพิวเตอร์เพื่อสาวก
คอมพิวเตอร์ท างานตามกระบวนการที่จะได้จ าลองกระบวนการจริงไว้ในรหัสเทียมหรือซูโดโค้ด
42
วิธีเขียนรหัสเทียม
1. ประโยชน์ค าสั่ง(Statement)จะอยู่ในรูปแบบของภาษาอังกฤษอย่างง่าย
2. ในหนึ่งบรรทัดให้เขียนประโยคค าสั่งเพียงค าสั่งเดียวเท่านั้น
ั
ุ
3. ควรใช้ย่อหน้าเพื่อแยกค าเฉพาะ(Keywords)ได้ชัดเจนว่ารวมจัดถึงโครงสร้างการควบคมให้เป็นสดสวนซึ่ง
่
ช่วยให้อ่านโค้ดได้ง่าย
้
ี
4. แต่ละประโยคค าสั่งให้เขียนล าดับจากบนลงล่างโดยมีทางเข้าของข้อมูลเพียงทางเดยวและมีทางออกเคาก็
มองเพียงทางเดียว
ื่
้
่
ู
ั่
5. อุ้มขอประโยคคาสงตางๆอาจจะเรื่องกินข้าวดวยกันในรูปแบบของหมอดแตตองมีการก าหนดชอของ
้
่
โมเดลด้วยเพื่อให้สามารถเรียกใช้งานหมอดูนั้นได ้
ตัวอย่างการเขียนรหัสเทียม หรือ ชูโดโค้ด
ให้เขียนโปรแกรมรับค่าข้อมูล 3 ค่า แล้วหาค่าผลบวกของตัวเลข 3 ค่า แสดงผลออกทางหน้าจอ
ตัวอย่างการเขียนรหัสเทียม (Pseudo Code)
43
การเขียนผังงาน
็
ั้
ผังงาน (Flowchart) หมายถึง การเขียนอธิบายขนตอนวิธีการท างานในลักษณะของสัญลักษณ์ที่เปนรูปภาพ
ประโยชน์ของผังงานใช้ส าหรับช่วยในการพัฒนาล าดับขั้นตอนการแก้ปัญหา เนื่องจากผังงานเป็นการอธิบาย
ขั้นตอนวิธีการท างานในลักษณะของรูปภาพ ท าให้สามารถเห็นล าดับของขั้นตอนวิธีการท างานได้ชัดเจนกว่าการ
อธิบายขั้นตอนวิธีการท างานในลักษณะข้อความ เมื่อลักษณะของปัญหาที่ต้องการแก้ไขมีความซับซ้อนมากขึ้น
ความยุ่งยากในการเขียนอธิบายขั้นตอน หรือวิธีการท างานมีมากขึ้นการใช้ผังงานเพื่อช่วยส าหรับการหาขั้นตอน
วิธีการท างาน จะท าให้สามารถเขียนอธิบายขั้นตอนวิธีการท างานในลักษณะของข้อความได้สะดวกยิ่งขึ้น
เมื่อได้ผังงานที่ใช้ส าหรับการแก้ปัญหาที่ต้องการแล้ว จากนั้นจึงท าการพัฒนาโปรแกรมจากผังงานให้เป็น
ั
การอธิบายขั้นตอนวิธีการท างานในลกษณะข้อความ หรือ รหัสเทียม และโปรแกรมภาษาคอมพิวเตอร์ที่ต้องการได ้
ตามล าดับ
ประโยชน์ของการเขียนผังงาน
1. ช่วยล าดับขั้นตอนการท างานได้ง่าย ไม่สับสน เข้าใจได้ง่าย
2. เมื่อเกิดข้อผดพลาดช่วยในการตรวจสอบ และแก้ไขงานได้ง่าย
ิ
3. ช่วยในการดัดแปลง แก้ไข ท าได้อย่างสะดวกและรวดเร็ว
4. ช่วยให้ผู้อื่นสามารถศึกษาการท างานของโปรแกรมอย่างง่าย และรวดเร็วมากขึ้น
5. สามารถเรียนรู้และเข้าใจผังงานได้ง่าย เพราะผังงานเป็นการสื่อความหมายด้วยภาพ ท าให้ง่ายและสะดวก
ต่อการพิจารณาล าดับขั้นตอนในการท างานดีกว่าการบรรยายเป็นตัวอักษร
ข้อจ ากัดของผังงาน
ผู้เขียนโปรแกรมบางคนไม่นิยมการเขียนผังงานก่อนที่จะเขียนโปรแกรม เพราะจะท าให้เสียเวลาในการเขียนเป็น
รูปภาพหรือสัญลักษณ์ต่างๆ โดยข้อจ ากัดของผังงานมี ดังนี้
1. ผังงานเป็นสื่อความหมายระหว่างบุคคลต่อบุคคลมากกว่าสื่อความหมายระหว่างบุคคลกับเครื่อง
คอมพิวเตอร์ เพราะผังงานระบบไม่ขึ้นอยู่กับภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง ทาให้เครื่องคอมพิวเตอร์ไม่
สามารถรับและเข้าใจว่าในผังงานนั้นต้องการให้ท าอะไร
2. บางครั้งเมื่อพิจารณาจากผังงานระบบ จะไม่สามารถทราบได้ว่า ขั้นตอนการท างานใดส าคัญกว่ากัน
์
เพราะทุกๆ ขั้นตอนจะใช้รูปภาพหรือสัญลักษณในลักษณะเดียวกัน
44
3. การเขียนผังงานเป็นการสิ้นเปลืองงบประมาณ และเวลา เพราะจะต้องใช้กระดาษ และอุปกรณ์อื่นๆ
ประกอบการเขียนภาพ บางครั้งการเขียนผังงานอาจจะต้องใช้กระดาษมากกว่า 1 ผ่าทั้งที่การอธิบายงานเดียวจะ
ใช้เนื้อที่เพียง 3-4 บรรทัดเทานั้น
่
4. การเขียนผังงานจะมีขนาดใหญ่ ถ้าโปรแกรมที่พัฒนาเป็นงานใหญ่ท าให้ผังงานระบบดูแลไม่คล่องตัว และ
ถ้ามีการปรับเปลี่ยนผังงานจะท าได้ยาก บางครั้งอาจจะต้องการผังงานขึ้นใหม่
5. ผังงานจะบอกขั้นตอนการปฏิบัติงานว่าเป็นล าดับอย่างไร ปฏิบัติงานอะไร แต่จะไม่ระบุให้ทราบว่าท าไม
จึงต้องเป็นล าดับปฏิบติงานอย่างนั้น
ั
ั
ี่
6. ภาษาคอมพิวเตอร์ทใช้กันในปัจจบันผังงานไม่สามารถแทนลักษณะคาสั่งในภาษาได้ชดเจนตรงไปตรงมา
ุ
ลักษณะการเขียนผังงานที่ด ี
ลักษณะของผังงานที่ดี ควรมีลักษณะดังต่อไปนี้
1. ทุกผังงานจะต้องมีจุดเริ่มต้น และจุดสิ้นสุดเพียงจดเดียวเทานั้น
่
ุ
ู
ิ
้
2. ทุกสัญลักษณ์ของผังงานต้องมีลกศรชี้ทศทางเขา และลูกศรชี้ทิศทางออกอย่างละหนึ่งแห่งยกเว้น
์
ุ
สัญลักษณ์จุดเริ่มต้น สัญลักษณจุดสิ้นสุด สัญลักษณ์ตัดสินใจ และสัญลักษณ์จดต่อ
ั
3. สัญลักษณ์จุดเริ่มต้นมีเฉพาะลูกศรชี้ทิศทางออก สญลักษณ์จุดสิ้นสุดมีเฉพาะลูกศรชี้ทศทางเขา
้
ิ
ิ
ี่
4. สัญลักษณ์การตัดสินใจมีลูกศรชี้ทศทางเข้า 1 ทิศทาง มีลูกศรชี้ทิศทางออก 2 ทิศทาง คือ กรณีทผลได ้
ี่
จากการตัดสินใจเป็นจริง และกรณีทผลที่ได้จากการตัดสินใจเป็นเท็จ
5. ทิศทางล าดับขั้นตอนการท างาน นิยมเขียนจากบนลงล่าง หรือจากซ้ายไปขวา
ิ
6. เส้นของลูกศรที่ใช้บอกทศทางของล าดับขั้นตอนวิธีการท างาน ไม่ควรเขียนตัดกัน หรือทับกัน
7. ไม่ควรเขียนเส้นของลูกศรเพื่อท าการเชื่อมโยงลาดบขั้นตอนที่อยู่ห่างกันมาก หากจ าเป็นควรใช้สัญลกษณ ์
ั
ั
จุดต่อแทน
8. การเขียนผังงานในส่วนของการก าหนดค่าหรือการค านวณค่า นิยมใช้เครื่องหมายลูกศรแทนการใช ้
เครื่องหมายเท่ากับ เช่น MAX 100 (หมายถึง ค่า MAX มีค่า 100 ), X (หมายถึงค่า X
มีค่า เท่ากับ )
45
สัญลักษณ์ในการเขียนผังงาน
สัญลักษณ์ในการเขียนผังงาน (Flowchart) มีหลากหลายชนิด แต่ละชนิดจะมีความหมายในการใช้งานท ี่
่
แตกต่างการกันสามารถอธิบายสัญลักษณ์ตางๆ ได้ดังต่อไปนี้
สัญลักษณ ์ ชื่อสัญลักษณ ์ ค าอธิบาย
ุ
Terminator จุดเริ่มต้นและสิ้นสดของโปรแกรม
Decision การตรวจสอบเงื่อนไข การตัดสินใจ
Process ค าสั่งในการประมวล หรือ ก าหนด
ตัวแปร
Flow Line เส้นทางการท างานของโปรแกรม
และการไหลของข้อมูล
Input / Output การอ่านข้อมูลจากแหล่งข้อมูลสารอง
หรือ การแสดงผลข้อมูลผลลัพธ์จาก
การประมวลผล
Manual Input การรับข้อมูลจากทางคีย์บอร์ด
Document การแสดงผลข้อมูลทางเครื่องพิมพ์
Display การแสดงผลออกทางจอภาพ
Preparation การก าหนดค่าต่างๆ ล่วงหน้าในการ
ท างานทซ้ าๆกัน
ี่
้
Predefined Process โปรแกรมย่อย หรือ มอดูล ที่ใชใน
การท างานของโปรแกรม
46
ุ
Connect การรวมจุด หรือ การเชื่อจด
Off page Connector การเชื่อมโยงไปยังหน้ากระดาษถัดไป
เนื่องจากผังงานยาว
Sort การเรียงข้อมูล
ึ
Magnetic Disk การน าเข้าข้อมูล หรือ บันทกข้อมูล
จาก Hard disk
Comment ใช้ในการแสดงค าอธิบายโปรแกรม
---------------- หรือหมายเหต ุ
ตัวอย่างการเขียนผังงาน
ตัวอย่างผังงานที่ 1
แสดงผังงาน
47
ตัวอย่างแสดงผังงานที่ 2
Start
ANS = 0
รับค่า N
N > 0
ANS ANS + N
N < 0
Write ANS
End
แสดงผังงานที่มีโครงสร้างสมบรูณ ์
48
แผนภูมิโครงสร้าง(Structure chart)
เป็นเครื่องมือส าหรับการออกแบบการเขียนโปรแกรมแบบมอดูลย่อยๆและช่วยจัดการความสัมพันธ์ระหว่างมอดูล
ย่อยๆมีการออกแบบโดยใช้วิธีจากบนลงล่าง(Top-Down technique)
ตัวอย่างแผนภูมิโครงสร้างของการคิดคะแนนเฉลี่ย
ิ
ู
จากตัวอย่างจะมีการแบ่งโปรแกรมที่ใช้ในการคดค่าเฉลี่ยออกเป็น 4 มอดล โดยมีมอดูลหลักคือCalculate
Average ที่อยู่ต าแหน่งบนสุดและมอดูลหลักนี้ประกอบด้วยมอดูลย่อยอีก 3 มอดูลที่เหลือซึ่งท าหน้าที่ส่ง-รับข้อมูล
้
ที่ใชในการค านวณค่าเฉลี่ย
49
แบบประเมินผลการเรียนรู้หน่วยที่ 3
ตอนที่ 1 จงตอบค าถามต่อไปนี้ให้สมบูรณ ์
1.อัลกอริทึม(Algorithm)หมายถึงอะไรจงอธิบาย
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………..
2.รหัสจ าลอง(Pseudo code)หมายถึงอะไรจงอธิบาย
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………..
3.จงบอกหลักการเขียนอัลกอริทึม
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………....................
50
4.ผู้ชายควรมีการบ ารุงรักษาโปรแกรมอย่างไรบ้าง
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
5.จงบอกประโยชน์ของรหัสเทียม
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………