คำถามประจำหน่วยการเรียนรู้ที่ 4
1.จงอธิบายความหมายของการเขียนโปรแกรมและขั้นตอนในการพัฒนาโปรแกรม
ตอบ
ขั้นตอนการพัฒนาโปรแกรมประกอบด้วย
- การวิเคราะห์ปัญหา
- การออกแบบโปรแกรม
- การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
- การทดสอบและแก้ไขโปรแกรม
- การทำเอกสารประกอบโปรแกรม
2.ภาษาคอมพิวเตอร์ที่นำมาใช้ในการเขียนโปรแกรมมีภาษาใดบ้าง จงอธิบาย
ตอบ
1) ภาษาเครื่อง (machine language)
ภาษาเครื่องจัดเป็นภาษาคอมพิวเตอร์ภาษาเดียวที่สามารถติดต่อกับคอมพิวเตอร์ ได้โดยตรง เพราะว่าการเขียนคำสั่งและข้อมูลในภาษาเครื่องใช้ระบบเลขฐานสอง (binary number system) คือใช้ตัวเลข 0 และ 1 เท่านั้น ทำให้เครื่องคอมพิวเตอร์สามารถทำงานได้รวดเร็ว ส่วนข้อเสียของภาษาเครื่อง คือ เครื่องคอมพิวเตอร์ต่างชนิดกันมีลักษณะการเขียนภาษาเครื่องที่แตกต่างกันไป และเกิดความยุ่งยากในการปรับปรุงแก้ไข ทำให้เกิดความไม่สะดวกในการใช้งาน ดังนั้นภาษานี้จึงไม่เหมาะกับผู้เริ่มต้นเขียนโปรแกรม
2) ภาษาแอสเซมบลี (assembly language)
ภาษาแอสเซมบลีหรือจะเรียกชื่ออีกอย่างว่าภาษาระดับต่ำ ซึ่งเป็นภาษาคอมพิวเตอร์ที่พัฒนาขึ้นมาเพื่อให้ผู้เขียนโปรแกรมสามารถเขียน โปรแกรมติดต่อกับคอมพิวเตอร์ได้ง่ายกว่าภาษาเครื่อง ส่วนการเขียนคำสั่งในภาษาแอสเซมบลีจะใช้คำย่อของภาษาอังกฤษและอ้างถึง ตำแหน่งที่อยู่ภายในคอมพิวเตอร์เป็นส่วนใหญ่ ได้แก่ MOVE, DC, DS, CL10 เป็นต้น ผู้ที่ต้องใช้ภาษาแอสเซมบลีส่วนมากจะเป็นวิศวกรคอมพิวเตอร์ ดังนั้นภาษาแอสเซมบลีจึงไม่เหมาะกับผู้เริ่มต้นเขียนโปรแกรม
ตัวอย่างที่ 1.19 แสดงคำสั่งของภาษาแอสเซมบลีมีดังนี้
ถ้าเราต้องการสั่งให้เครื่องทำงานตามคำสั่ง 9 + 3 แสดงได้ดังนี้
MOV AX, 9
MOV BX, 3
ADD AX, BX
3) ภาษาระดับสูง (high level language)
ภาษาระดับสูงเป็นภาษาที่ผู้เขียนโปรแกรมสามารถเข้าใจได้ง่ายกว่าภาษาแอสเซ มบลีและภาษาเครื่อง ทั้งนี้ก็เพราะการเขียนคำสั่งของภาษาระดับสูงมีลักษณะเป็นภาษาอังกฤษ ซึ่งอ่านแล้วเข้าใจได้ง่ายกว่าภาษาแอสเซมบลี เช่น ใช้คำว่า READ, WRITE, PRINT, COMPUTE เป็นต้น ตัวอย่างของภาษาระดับสูงได้แก่ ภาษาฟอร์แทรน (FORTRAN), ภาษาโคบอล (COBOL), ภาษาเบสิก (BASIC), ภาษาปาสคาล (PASCAL) และภาษาซี (C) เป็นต้น ซึ่งแต่ละภาษามีประวัติพอสังเขปดังต่อไปนี้
ภาษาระดับสูงมาก บางครั้งเรียกว่า Fourth Gerneration Languages (4GLs) เป็นภาษาที่มีลักษณะสำคัญ คือ ผู้เขียนโปรแกรมไม่ต้องบอกวิธีการทำงานโดยละเอียด เพียงแต่ระบุคำสั่งให้ทำงานสั้น ๆ ให้ภาษาระดับสูงมากเข้าใจก็เพียงพอ ส่วนวิธีการคำนวณหรือการทำงานภาษาระดับสูงมากจะเป็นผู้จัดการเองทั้งสิ้น บางครั้งเรียกว่า non-procedure language
ตัวอย่างภาษาระดับสูงมาก ได้แก่ ภาษา SQL (Structured Query Langauge) ซึ่งนิยมใช้กันในซอร์ฟแวร์พัฒนาระบบจัดการฐานข้อมูล เช่น ORACLE เป็นต้น
5) ภาษาระดับธรรมชาติ (natural language)
ภาษาธรรมชาติจะเกี่ยวข้องกับระบบฐานความรู้ (knowledge based system ) และกฎอ้างอิง (inference rules) เพียงแต่ผู้ใช้ภาษาธรรมชาติป้อนคำถามผ่านเข้าไปในคอมพิวเตอร์ที่มีภาษา ธรรมชาติก็จะทำการวิเคราะห์คำถามแล้วไปค้นหาคำตอบจากระบบฐานความรู้ที่เก็บ ไว้
ตัวอย่างของภาษาธรรมชาติ ได้แก่ ภาษา PROLOG และภาษา LISP (List Processing Language)
3.จงอธิบายขั้นตอนการเริ่มสร้างโพรเจกต์ใหม่ด้วยโปรแกรม Microsoft Visual Studio
ตอบ
1)การเข้าสู่โปรแกรม คลิก Start >Programs >Microsoft Visual Studio 2008
2)การเริ่มสร้างโพรเจกต์ใหม่ คลิก Projact ของ Create จากนั้นคลิกที่ VisualC#
และเลือกปุ่ม Browse เพื่อให้ไฟล์ที่จะเก็บข้อมูลให้เป็นระเบียบในแฟ้มข้อมูลที่ต้องการ และพิมพ์ชื่อไฟล์
3)แถบเมนู เป็นเมนูหลักที่รวบรวมคำสั่งควบคุมการทำงานของโปรแกรม Microsoft Visual Studio 2008
4)แถบเครื่องมือ เป็นเครื่องมือที่ช่วยให้การเรียกใช้งานคำสั่งในเมนูบาร์ที่ใช้งานบ่อยครั้งทำได้สะดวกขึ้น
5)กล่องเครื่องมือ เป็นหน้าต่างที่แสดงกลุ่มควบคุม และส่วนประกอบต่างๆ
6)หน้าต่าง Form Design ออกแบบหน้าตาของแอพพลิเคชัน
7)หน้าต่าง Solution Explorer แสดงรายการของไอเท็ม
8)หน้าต่าง Properties Window แสดงและกำหนดคุณสมบัติเื้บื้องต้นของกลุ่มควบคุม
9)หน้าต่าง Code Editor หน้าต่างที่ใช้สำหรับเขียนโค้ดควบคุมการทำงานของแอพพลิเคชันตามที่ต้องการ
4.การเขียนโปรแกรมด้วยภาษาซีซาร์ป มีลักษณะอย่างไร
ตอบ
5.เมื่อได้ออกแบบโปรแกรมที่ต้องการแล้ว และจะเริ่มสร้างโปรแกรมด้วยภาษาซีซาร์ป จะต้องมีขั้นตอนในการสร้างโปรแกรมอย่างไร
ตอบ
ภาษาเครื่องจัดเป็นภาษาคอมพิวเตอร์ภาษาเดียวที่สามารถติดต่อกับคอมพิวเตอร์ ได้โดยตรง เพราะว่าการเขียนคำสั่งและข้อมูลในภาษาเครื่องใช้ระบบเลขฐานสอง (binary number system) คือใช้ตัวเลข 0 และ 1 เท่านั้น ทำให้เครื่องคอมพิวเตอร์สามารถทำงานได้รวดเร็ว ส่วนข้อเสียของภาษาเครื่อง คือ เครื่องคอมพิวเตอร์ต่างชนิดกันมีลักษณะการเขียนภาษาเครื่องที่แตกต่างกันไป และเกิดความยุ่งยากในการปรับปรุงแก้ไข ทำให้เกิดความไม่สะดวกในการใช้งาน ดังนั้นภาษานี้จึงไม่เหมาะกับผู้เริ่มต้นเขียนโปรแกรม
ตัวอย่างที่ 1.18 แสดงคำสั่งของภาษาเครื่องมีดังนี้
ถ้าเราต้องการสั่งให้เครื่องทำงานตามคำสั่ง 9 + 3 แสดงได้ดังนี้
การบวกแทนด้วยรหัส 10101010
เลข 9 เปลี่ยนเป็นเลขฐานสอง 00001001
เลข 3 เปลี่ยนเป็นเลขฐานสอง 00000011
ดังนั้น คำสั่ง 9 + 3 เขียนเป็นภาษาเครื่องได้ดังนี้
00001001 10101010 00000011
2) ภาษาแอสเซมบลี (assembly language)
ภาษาแอสเซมบลีหรือจะเรียกชื่ออีกอย่างว่าภาษาระดับต่ำ ซึ่งเป็นภาษาคอมพิวเตอร์ที่พัฒนาขึ้นมาเพื่อให้ผู้เขียนโปรแกรมสามารถเขียน โปรแกรมติดต่อกับคอมพิวเตอร์ได้ง่ายกว่าภาษาเครื่อง ส่วนการเขียนคำสั่งในภาษาแอสเซมบลีจะใช้คำย่อของภาษาอังกฤษและอ้างถึง ตำแหน่งที่อยู่ภายในคอมพิวเตอร์เป็นส่วนใหญ่ ได้แก่ MOVE, DC, DS, CL10 เป็นต้น ผู้ที่ต้องใช้ภาษาแอสเซมบลีส่วนมากจะเป็นวิศวกรคอมพิวเตอร์ ดังนั้นภาษาแอสเซมบลีจึงไม่เหมาะกับผู้เริ่มต้นเขียนโปรแกรม
ตัวอย่างที่ 1.19 แสดงคำสั่งของภาษาแอสเซมบลีมีดังนี้
ถ้าเราต้องการสั่งให้เครื่องทำงานตามคำสั่ง 9 + 3 แสดงได้ดังนี้
MOV AX, 9
MOV BX, 3
ADD AX, BX
3) ภาษาระดับสูง (high level language)
ภาษาระดับสูงเป็นภาษาที่ผู้เขียนโปรแกรมสามารถเข้าใจได้ง่ายกว่าภาษาแอสเซ มบลีและภาษาเครื่อง ทั้งนี้ก็เพราะการเขียนคำสั่งของภาษาระดับสูงมีลักษณะเป็นภาษาอังกฤษ ซึ่งอ่านแล้วเข้าใจได้ง่ายกว่าภาษาแอสเซมบลี เช่น ใช้คำว่า READ, WRITE, PRINT, COMPUTE เป็นต้น ตัวอย่างของภาษาระดับสูงได้แก่ ภาษาฟอร์แทรน (FORTRAN), ภาษาโคบอล (COBOL), ภาษาเบสิก (BASIC), ภาษาปาสคาล (PASCAL) และภาษาซี (C) เป็นต้น ซึ่งแต่ละภาษามีประวัติพอสังเขปดังต่อไปนี้
- ภาษาฟอร์แทรน (FORTRAN ย่อมาจาก FORmula TRANslator) พัฒนาโดยบริษัท IBM ระหว่างปี ค.ศ.1954 ถึง ค.ศ.1957 ภาษานี้ใช้สำหรับการพัฒนาโปรแกรมประยุกต์ด้านวิทยาศาสตร์และวิศวกรรมศาสตร์ ที่ต้องใช้ในการคำนวณสมการคณิตศาสตร์ที่ซับซ้อน ปัจจุบันภาษาฟอร์แทรนยังเป็นที่นิยมใช้ ในการพัฒนาโปรแกรมด้านวิทยาศาสตร์และวิศวกรรมศาสตร์
- ภาษาโคบอล (COBOL ย่อมาจาก Common Business Oriented Language) พัฒนาขึ้นในปี ค.ศ.1959 เป็นภาษาที่พัฒนาขึ้นมาเพื่อใช้ในการพัฒนาโปรแกรมประยุกต์ด้านธุรกิจและการ ค้า ปัจจุบันโปรแกรมที่ใช้ในด้านธุรกิจจำนวนมากยังเป็นโปรแกรมที่พัฒนามาจากภาษา โคบอล
- ภาษาเบสิก (BASIC ย่อมาจาก Beginners All-purpose Symbolic Instructional Code) เป็นภาษาที่พัฒนาขึ้นโดยมีจุดประสงค์เพื่อให้ผู้เริ่มต้นพัฒนาโปรแกรมสามารถ เรียนรู้และเข้าใจการพัฒนาโปรแกรมอย่างง่าย ภาษาเบสิกเป็นภาษาคอมพิวเตอร์ภาษาแรกที่ใช้เครื่องไมโครคอมพิวเตอร์
- ภาษาปาสคาล (Pascal) พัฒนาโดย Niclaus Wirth ในปี ค.ศ.1971 โดยมีจุดประสงค์เพื่อใช้ในการสอนการเขียนโปรแกรมภาษาเชิงกระบวนการ ในมหาวิทยาลัย แต่เนื่องจากภาษาปาสคาลไม่มีคุณลักษณะที่จะสนับสนุนการพัฒนาโปรแกรมด้าน ธุรกิจและอุตสาหกรรมจึงไม่ได้รับความนิยมมากนัก
- ภาษาซี (C) พัฒนาขึ้นในช่วงเดียวกับภาษาปาสคาล โดยนักวิจัยที่ห้องปฏิบัติการ AT&T Bell ซึ่งได้นำเอาจุดเด่นของภาษา BCPL และภาษา B มาใช้และได้เพิ่มคุณลักษณะและชนิดข้อมูลอื่นเข้ามาด้วย เดิมภาษาซีถือว่าเป็นภาษาคอมพิวเตอร์ที่สำคัญในการพัฒนาโปรแกรมบนระบบ ปฏิบัติการยูนิกส์ (Unix) ซึ่งเป็นภาษาคอมพิวเตอร์ที่สามารถสร้างโปรแกรมประยุกต์ที่ทำงานได้รวดเร็ว มาก เมื่อเทียบกับภาษาคอมพิวเตอร์อื่น ๆ
ภาษาระดับสูงมาก บางครั้งเรียกว่า Fourth Gerneration Languages (4GLs) เป็นภาษาที่มีลักษณะสำคัญ คือ ผู้เขียนโปรแกรมไม่ต้องบอกวิธีการทำงานโดยละเอียด เพียงแต่ระบุคำสั่งให้ทำงานสั้น ๆ ให้ภาษาระดับสูงมากเข้าใจก็เพียงพอ ส่วนวิธีการคำนวณหรือการทำงานภาษาระดับสูงมากจะเป็นผู้จัดการเองทั้งสิ้น บางครั้งเรียกว่า non-procedure language
ตัวอย่างภาษาระดับสูงมาก ได้แก่ ภาษา SQL (Structured Query Langauge) ซึ่งนิยมใช้กันในซอร์ฟแวร์พัฒนาระบบจัดการฐานข้อมูล เช่น ORACLE เป็นต้น
5) ภาษาระดับธรรมชาติ (natural language)
ภาษาธรรมชาติจะเกี่ยวข้องกับระบบฐานความรู้ (knowledge based system ) และกฎอ้างอิง (inference rules) เพียงแต่ผู้ใช้ภาษาธรรมชาติป้อนคำถามผ่านเข้าไปในคอมพิวเตอร์ที่มีภาษา ธรรมชาติก็จะทำการวิเคราะห์คำถามแล้วไปค้นหาคำตอบจากระบบฐานความรู้ที่เก็บ ไว้
ตัวอย่างของภาษาธรรมชาติ ได้แก่ ภาษา PROLOG และภาษา LISP (List Processing Language)
3.จงอธิบายขั้นตอนการเริ่มสร้างโพรเจกต์ใหม่ด้วยโปรแกรม Microsoft Visual Studio
ตอบ
1)การเข้าสู่โปรแกรม คลิก Start >Programs >Microsoft Visual Studio 2008
2)การเริ่มสร้างโพรเจกต์ใหม่ คลิก Projact ของ Create จากนั้นคลิกที่ VisualC#
และเลือกปุ่ม Browse เพื่อให้ไฟล์ที่จะเก็บข้อมูลให้เป็นระเบียบในแฟ้มข้อมูลที่ต้องการ และพิมพ์ชื่อไฟล์
3)แถบเมนู เป็นเมนูหลักที่รวบรวมคำสั่งควบคุมการทำงานของโปรแกรม Microsoft Visual Studio 2008
4)แถบเครื่องมือ เป็นเครื่องมือที่ช่วยให้การเรียกใช้งานคำสั่งในเมนูบาร์ที่ใช้งานบ่อยครั้งทำได้สะดวกขึ้น
5)กล่องเครื่องมือ เป็นหน้าต่างที่แสดงกลุ่มควบคุม และส่วนประกอบต่างๆ
6)หน้าต่าง Form Design ออกแบบหน้าตาของแอพพลิเคชัน
7)หน้าต่าง Solution Explorer แสดงรายการของไอเท็ม
8)หน้าต่าง Properties Window แสดงและกำหนดคุณสมบัติเื้บื้องต้นของกลุ่มควบคุม
9)หน้าต่าง Code Editor หน้าต่างที่ใช้สำหรับเขียนโค้ดควบคุมการทำงานของแอพพลิเคชันตามที่ต้องการ
4.การเขียนโปรแกรมด้วยภาษาซีซาร์ป มีลักษณะอย่างไร
ตอบ
ภาษาซีชาร์ป(C#)เป็นภาษาเชิงวัตถุ
ที่ถูกพัฒนาขึ้นจากภาษาซีพลัสพลัส(C++)โดยบริาัทไมโครซอฟต์ซึ่งได้รวบรวมข้อ
ดีของภาษาต่างๆ เช่น ภาษาจาวา(Java) ภาษาเดลไฟ(Delphi)
ภาษาซีพลัสพลัส(C++)เข้าไว้ด้วยกัน มีไวยากรณ์ที่เข้าใจง่าย
ประสิทธิภาพและความเร็วในการทำงานสูงขึ้น
ซึ่งขั้นตอนการพัฒนาโปรแกรมดังที่กล่าวไปแล้วนั้นอาจยุ่งยากและซับซ้อน
สำหรับผู้ที่ยังไม่มีประสบการณ์
ปัจจุบันได้มีวอฟแวร์สำหรับช่วยพัฒนาโปรแกรมภาษา C#
อยู่จำนวนมากให้เลือกใช้ซึ่งเพิ่มความสะดวกและลดข้อผิดพลาดได้มากหนึ่งในซอ
ฟแวร์นั้นคือ Microsoft Visual studio 2008
5.เมื่อได้ออกแบบโปรแกรมที่ต้องการแล้ว และจะเริ่มสร้างโปรแกรมด้วยภาษาซีซาร์ป จะต้องมีขั้นตอนในการสร้างโปรแกรมอย่างไร
ตอบ
มีขั้นตอนในการพัฒนาอย่างเป็นลำดับ 5 ขั้นตอน ดังนี้
1.การวิเคราะห์ปัญหา เป็นขั้นตอนของการศึกษาปัญหาที่เกิดขึ้นของระบบงานปัจจุบัน จะต้องมีการศึกษาความเป็นไปได้ในการแก้ปัญหา ดังนี้
1)ความเป็นไปได้ทางเทคนิค
2)ความเป็นไปได้ด้านบุคลากร
3)ความเป็นไปได้ด้านเศรษฐสาสตร์
2.การออกแบบโปรแกรม เป็นการนำผลที่ได้จากการวิเคราะห์มาออกแบบโปรแกรม โดยอาศัยเครื่องมือต่างๆ เข้ามาช่วยเพื่อให้การออกแบบเป็นมาตรฐานมากขึ้น ซึ่งเครื่องมือในการออกแบบที่นิยมใช้ได้แก่ ผังงาน และรหัสจำลอง
3.การเขียนโปรแกรม เป็นการนำผลที่ได้จากการออกแบบโปรแกรมด้วยผังงานหรือรหัสจำลอง มาแปลงเป็นคำสั่งของโปรแกรมในภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง เพื่อนำไปประมวลผลข้อมูลและได้ผลลัพธ์ของโปรแกรมต่อไป โดยผู้เขียนโปรแกรมสามารถเลือกภาษาคอมพิวเตอร์ได้ตามความถนัดของแ่ต่ละบุคคล ต่อไป
4.การทดสอบโปรแกรม เป็นขั้นตอนการตรวจสอบความถููกต้องในการทำงาน และตรวจสอบไวยากรณ์ของภาษาคอมพิวเตอร์ที่ใช้เขียนโปรแกรม ดดยทั่วไปข้อผิดพลาดที่เกิดขึ้นจากการเขียนโปรแกรมมี 3 ชนิด
1)ข้อผิดพลาดทางไวยากรณ์
2)ข้อผิดพลาดที่เกิดขึ้นขณะรันโปรแกรม
3)ข้อผิดพลาดทางตรรกะ
5.การจัดทำเอกสารประกอบ หมายถึง การเตรียมเอกสารอธิบายโปรแกรม ซึ่งมีความสำคัญและควรทำอย่างต่อเนื่องหลังจากการพัฒนาโปรแกรม ดดยทั่วไปเอกสารที่จัดทำมีอยู่สองประเภท คือ คู่มือผู้ใช้ และคู่มือนักเขียนโปรแกรมเมอร์
1.การวิเคราะห์ปัญหา เป็นขั้นตอนของการศึกษาปัญหาที่เกิดขึ้นของระบบงานปัจจุบัน จะต้องมีการศึกษาความเป็นไปได้ในการแก้ปัญหา ดังนี้
1)ความเป็นไปได้ทางเทคนิค
2)ความเป็นไปได้ด้านบุคลากร
3)ความเป็นไปได้ด้านเศรษฐสาสตร์
2.การออกแบบโปรแกรม เป็นการนำผลที่ได้จากการวิเคราะห์มาออกแบบโปรแกรม โดยอาศัยเครื่องมือต่างๆ เข้ามาช่วยเพื่อให้การออกแบบเป็นมาตรฐานมากขึ้น ซึ่งเครื่องมือในการออกแบบที่นิยมใช้ได้แก่ ผังงาน และรหัสจำลอง
3.การเขียนโปรแกรม เป็นการนำผลที่ได้จากการออกแบบโปรแกรมด้วยผังงานหรือรหัสจำลอง มาแปลงเป็นคำสั่งของโปรแกรมในภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง เพื่อนำไปประมวลผลข้อมูลและได้ผลลัพธ์ของโปรแกรมต่อไป โดยผู้เขียนโปรแกรมสามารถเลือกภาษาคอมพิวเตอร์ได้ตามความถนัดของแ่ต่ละบุคคล ต่อไป
4.การทดสอบโปรแกรม เป็นขั้นตอนการตรวจสอบความถููกต้องในการทำงาน และตรวจสอบไวยากรณ์ของภาษาคอมพิวเตอร์ที่ใช้เขียนโปรแกรม ดดยทั่วไปข้อผิดพลาดที่เกิดขึ้นจากการเขียนโปรแกรมมี 3 ชนิด
1)ข้อผิดพลาดทางไวยากรณ์
2)ข้อผิดพลาดที่เกิดขึ้นขณะรันโปรแกรม
3)ข้อผิดพลาดทางตรรกะ
5.การจัดทำเอกสารประกอบ หมายถึง การเตรียมเอกสารอธิบายโปรแกรม ซึ่งมีความสำคัญและควรทำอย่างต่อเนื่องหลังจากการพัฒนาโปรแกรม ดดยทั่วไปเอกสารที่จัดทำมีอยู่สองประเภท คือ คู่มือผู้ใช้ และคู่มือนักเขียนโปรแกรมเมอร์