SlideShare a Scribd company logo
1 of 18
Download to read offline
ใบความรู้
เรื่อง หลักการเขียนโปรแกรม
หน่วยการเรียนรู้ที่ 2 การเขียนโปรแกรม เวลา 2 ชั่วโมง
--------------------------------------------------------------------------------------------------------------------------
ตัวชี้วัด
ม.3/2 เขียนโปรแกรมภาษาขั้นพื้นฐาน
หลักการเขียนโปรแกรม
เนื้อหาในบทนี้จะกล่าวถึงขั้นตอนวิธีการทางคอมพิวเตอร์ (computer algorithms) เพื่อ
เป็นการให้ความรู้พื้นฐานก่อนการเขียนโปรแกรมคอมพิวเตอร์ รวมถึงเนื้อหาเกี่ยวกับโครงสร้างภายใน
โปรแกรมซึ่งจะประกอบด้วยเนื้อหาเกี่ยวกับลักษณะของโปรแกรมแบบโครงสร้าง และรูปแบบโครงสร้าง
ภายในโปรแกรม เพื่อช่วยให้ผู้เขียนโปรแกรมสามารถเลือกใช้คาสั่งให้สอดคล้องกับโครงสร้างภายในโปรแกรม
ได้ ซึ่งรายละเอียดของแต่ละเนื้อหามีดังต่อไปนี้
1.1 ขั้นตอนวิธีการทางคอมพิวเตอร์ (computer algorithms)
ก่อนที่เราจะเขียนโปรแกรมคอมพิวเตอร์ภาษาใดภาษาหนึ่งเพื่อแก้ปัญหาทาง
คอมพิวเตอร์ เราควรศึกษาขั้นตอนวิธีการทางคอมพิวเตอร์ เพื่อให้เกิดความรู้ความเข้าใจที่ถูกต้องตาม
ขั้นตอนวิธีดังนี้
1) การวิเคราะห์งาน (job analysis)
2) การเขียนผังงานโปรแกรม (program flowcharting)
3) การเขียนโปรแกรม (programming)
4) การทดสอบ และแก้ไขโปรแกรม (testing and editing program)
5) การจัดทาเอกสารประกอบ และการบารุงรักษาโปรแกรม (documentation
and maintenance program)
1.1.1 การวิเคราะห์งาน (job analysis)
ในการวิเคราะห์งานเราจะต้องกาหนดจุดประสงค์ของการวิเคราะห์งาน และขั้นตอน
วิธีการวิเคราะห์งานแต่ละอย่างให้ได้ ซึ่งงานแต่ละอย่างมีรายละเอียดดังนี้
1.1.1.1 จุดประสงค์ของการวิเคราะห์งาน
ในการวิเคราะห์งานแต่ละอย่างมีจุดประสงค์ของการวิเคราะห์งานที่สาคัญดังนี้
1. เพื่อหาวัตถุประสงค์ของการเขียนโปรแกรม
2. เพื่อหารูปแบบผลลัพธ์ที่ต้องการ
3. เพื่อหาข้อมูลนาเข้าที่ต้องใส่เข้าไปในโปรแกรม
4. เพื่อหาตัวแปรที่จาเป็นต้องใช้ในโปรแกรม
5. เพื่อหาขั้นตอนวิธีการทางานของโปรแกรม
1.1.1.2 ขั้นตอนวิธีการวิเคราะห์งาน
ในการวิเคราะห์งานแต่ละอย่างมีขั้นตอนวิธีการวิเคราะห์งานที่สาคัญดังนี้
1) การหาวัตถุประสงค์ของการเขียนโปรแกรม
ผู้เขียนโปรแกรมจะต้องหาวัตถุประสงค์จากงานที่จะเขียนโปรแกรมว่า ต้องการเขียนโปรแกรมเพื่อแก้ปัญหา
อะไรบ้างซึ่งจะทาให้เขียนโปรแกรมได้ตรงกับความต้องการหรือวัตถุประสงค์ของงานนั้น ๆ
2) การหารูปแบบผลลัพธ์ที่ต้องการ
เมื่อผู้เขียนโปรแกรมหาวัตถุประสงค์ของการเขียนโปรแกรมได้แล้ว ขั้นตอนต่อมาคือการกาหนดรูปแบบ
ผลลัพธ์ที่ต้องการจากโปรแกรม ซึ่งรูปแบบผลลัพธ์อาจอยู่ในลักษณะของข้อความหรือตัวเลข หรือ
ตาราง หรือแผนภูมิ หรืออาจใช้ผสมกันระหว่างตัวเลขกับข้อความ หรือข้อความกับตัวเลข และตารางก็
ได้ ขึ้นอยู่กับผู้เขียนโปรแกรมเป็นผู้กาหนดเอง แต่โดยส่วนมากนิยมแสดงผลลัพธ์ของโปรแกรมให้อยู่ใน
รูปแบบที่เข้าใจง่ายมากกว่ารูปแบบที่ซับซ้อน
3) การหาข้อมูลนาเข้าที่ต้องใส่เข้าไปในโปรแกรม
ผู้เขียนโปรแกรมจะต้องหาข้อมูลนาเข้าจากผลลัพธ์ที่ได้จากโปรแกรม โดยคานึงถึงขั้นตอนวิธีการคานวณ และ
ข้อมูลที่จาเป็นต้องใส่เข้าไปเพื่อให้ได้ผลลัพธ์ที่ต้องการ
ตัวอย่างที่ 1.1 ผลลัพธ์ที่ต้องการ คือ พื้นที่สามเหลี่ยมมุมฉากข้อมูลนาเข้าที่ต้องใส่เข้าไปใน
โปรแกรมคือ
1 สูตรคานวณพื้นที่สามเหลี่ยมมุมฉาก
พื้นที่สามเหลี่ยมมุมฉาก = ? x ฐาน x สูง
2 ความยาวของฐานและความสูงของรูปสามเหลี่ยม
4) การหาตัวแปรที่จาเป็นต้องใช้ในโปรแกรม
ตัวแปร หมายถึง ชื่อที่ผู้เขียนโปรแกรมสามารถตั้งขึ้นเองตามหลักการตั้งชื่อตัวแปรของ
ภาษาคอมพิวเตอร์ที่นามาเขียนโปรแกรม (หลักเกณฑ์การตั้งชื่อตัวแปรกล่าวไว้ในหัวข้อ 2.5.3.1) เพื่อใช้ใน
การอ้างอิงการเก็บข้อมูลและเรียกใช้ข้อมูลภายในตัวแปร ดังนั้นผู้เขียนโปรแกรมจะต้องตั้งชื่อตัวแปรที่ใช้ใน
การเก็บข้อมูลทั้งหมดภายในโปรแกรม รวมถึงตัวแปรบางตัวที่ใช้ในการนับจานวนรอบของการทางานใน
โปรแกรมอีกด้วย
จากตัวอย่างที่ 1.1 สามารถแสดงการวิเคราะห์งานตั้งแต่ขั้นตอนที่ 1 ถึง 4 ได้ดังนี้
1) วัตถุประสงค์ของการเขียนโปรแกรม
เพื่อคานวณหาค่าพื้นที่สามเหลี่ยมมุมฉาก
2) รูปแบบผลลัพธ์ที่ต้องการ
พิมพ์ผลลัพธ์ที่ต้องการออกทางภาพดังนี้
* ** output ***
Base = 5
High = 4
Area = 10
3) ข้อมูลนาเข้า คือ ความยาวฐานและความสูง
4) ตัวแปรที่ใช้
B = ตัวแปรที่เก็บความยาวของสามเหลี่ยมมุมฉาก
H = ตัวแปรที่เก็บความสูงของสามเหลี่ยมมุมฉาก
Area = ตัวแปรที่เก็บผลลัพธ์ที่ได้จากการคานวณตามสูตร
Area = 1/2*B*H หรือ Area = 0.5*B*H
5) การหาขั้นตอนวิธีการทางานของโปรแกรม
การหาขั้นตอนวิธีการทางานของโปรแกรมจะขึ้นอยู่กับลักษณะของการแก้ปัญหา ดังนั้นนักเขียนโปรแกรมที่มี
ความชานาญในระดับหนึ่งแล้วจะสามารถหาขั้นตอนวิธีการทางานของโปรแกรมได้โดยไม่ยาก แต่สาหรับผู้ที่
เริ่มต้นศึกษาการเขียนโปรแกรม ควรหาขั้นตอนวิธีการทางานของโปรแกรมตามคาแนะนาโดยเรียงตามลาดับ
ดังนี้
ขั้นตอนวิธีการทางานของโปรแกรมที่แนะนา
5.1) เริ่มต้นทางาน
5.2) กาหนดค่าเริ่มต้นให้กับตัวแปร
5.3) พิมพ์หัวรายงาน (ถ้ามีรายงาน)
5.4) รับข้อมูลเข้าทีละเรคอร์ด
5.5) ตรวจสอบข้อมูลว่าเป็นชุดสุดท้ายหรือไม่
5.5.1 ถ้าเป็นข้อมูลชุดสุดท้าย ให้ไปทางานข้อ 5.11
5.5.2 ถ้าไม่ใช่ข้อมูลชุดสุดท้าย ให้ทางานข้อต่อมา (ข้อ 5.6)
5.6) คานวณผลลัพธ์
5.7) เปรียบเทียบผลลัพธ์ (ถ้ามี)
5.8) เพิ่มค่าตัวแปรสะสม (ถ้ามี)
5.9) พิมพ์ค่าผลลัพธ์ทีละเรคอร์ด
5.10) ย้อนกลับไปทางานข้อ 5.4
5.11) พิมพ์สรุป (ถ้ามี)
5.12) จบการทางาน
ทั้งนี้การวิเคราะห์งานเพื่อแก้ปัญหาแต่ละอย่างอาจมีบางขั้นตอนแตกต่างกันไป ดังนั้นคาแนะนา
ข้างต้นจึงเป็นเพียงแนวทางของการหาขั้นตอนวิธีการทางานของโปรแกรมเท่านั้น ซึ่งเวลาใช้งานจริงผู้
วิเคราะห์งานต้องประยุกต์ให้เข้ากับปัญหาที่ต้องการแก้ไขต่อไป
เพื่อความเข้าใจเกี่ยวกับขั้นตอนวิธีการวิเคราะห์งานมากยิ่งขึ้น ให้ศึกษาจากตัวอย่างการวิเคราะห์
งานดังต่อไปนี้
ตัวอย่างที่ 1.2 จงเขียนวิเคราะห์งาน เพื่อเขียนโปรแกรมคานวณ พื้นที่สี่เหลี่ยมผืนผ้า จานวน
1 รูป โดยที่ผู้ใช้โปรแกรม จะต้องป้อนความกว้าง และความยาวของสี่เหลี่ยมผืนผ้า เข้าไปในโปรแกรม
วิธีทา
ขั้นตอนการวิเคราะห์งานทั้ง 5 ขั้นตอน สามารถแสดงได้ดังนี้
1) วัตถุประสงค์ของการเขียนโปรแกรม เพื่อคานวณพื้นที่สี่เหลี่ยมผืนผ้าจานวน 1 รูป
2) รูปแบบผลลัพธ์ที่ต้องการ พิมพ์ผลลัพธ์ออกทางจอภาพ ดังนี้
3) ข้อมูลนาเข้า
3.1) สูตรคานวณพื้นที่สี่เหลี่ยมผืนผ้า
Area = Width*Length
3.2) รับค่าความกว้างและความยาวของสี่เหลี่ยมผืนผ้าผ่านทางคีย์บอร์ด
4) ตัวแปรที่ตั้งขึ้นเพื่อใช้ในโปรแกรม
Width = ตัวแปรที่ใช้เก็บความกว้างของสี่เหลี่ยมผืนผ้า
Length = ตัวแปรที่ใช้เก็บความยาวของสี่เหลี่ยมผืนผ้า
Area = ตัวแปรที่ใช้เก็บพื้นที่ของสี่เหลี่ยมผืนผ้า
โดยคานวณได้จากสูตร Area = Width*Length
5) ขั้นตอนวิธีการทางานของโปรแกรมมีดังนี้
5.1) เริ่มต้นทางาน
5.2) รับข้อมูลค่าความยาวและความกว้างของสี่เหลี่ยมผืนผ้าผ่านทางคีย์บอร์ด
5.3) คานวณพื้นที่สี่เหลี่ยมผืนผ้าตามสูตร
Area = Width*Length
5.4) พิมพ์ค่าความยาว ความกว้าง และพื้นที่สี่เหลี่ยมผืนผ้าออกทางจอภาพ
5.5) จบการทางาน
1.1.2 การเขียนผังงานโปรแกรม (program flowcharting)
สาหรับหัวข้อการเขียนผังงานโปรแกรมจะประกอบด้วยเนื้อหาที่สาคัญดังนี้คือ ความหมายของผัง
งาน ประเภทของผังงาน สัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรม หลักการเขียนผังงาน
โปรแกรม และขั้นตอนการเขียนผังงานโปรแกรม ดังรายละเอียดต่อไปนี้
1.1.2.1 ความหมายของผังงาน
“ผังงาน” (flowchart) ทางคอมพิวเตอร์ หมายถึง แผนภาพที่เขียนขึ้นโดยใช้
สัญลักษณ์มาตรฐาน เพื่อแสดงขั้นตอนวิธีการทางานของโปรแกรม หรือระบบงานที่ต้องการ
1.1.2.2 ประเภทของผังงาน
ผังงานสามารถจาแนกออกได้ 2 ประเภท คือ
1) ผังงานระบบ (system flowchart) หมายถึง ผังงานที่แสดงถึงขั้นตอนวิธีการทางานของ
ระบบงานใดระบบหนึ่ง ซึ่งในผังงานระบบจะแสดงให้เห็นถึงสื่อที่ใช้รับข้อมูล บันทึกข้อมูล วิธีการ
ประมวลผล ขั้นตอนการทางานและความสัมพันธ์ของส่วนต่าง ๆ ในระบบงานอย่างกว้าง ๆ เพื่อให้เห็น
ภาพรวมของระบบงานใดระบบงานหนึ่ง เช่น
รูปที่ 1.1 ผังงานระบบแสดงการตัดเกรด
2) ผังงานโปรแกรม (program flowchart) หมายถึงผังงานที่แสดงขั้นตอน วิธีการทางานของ
โปรแกรมที่ต้องการเขียนขึ้น ภายในผังงานโปรแกรม จะแสดงให้เห็นขั้นตอน วิธีการทางาน ของโปรแกรม
อย่างละเอียด เพื่อให้คอมพิวเตอร์สามารถทางานตามที่เขียนไว้ในผังงานโปรแกรม ได้อย่างถูกต้อง โดยเรา
สามารถนาขั้นตอน วิธีการทางานของโปรแกรมในขั้นการวิเคราะห์งาน มาเขียนเป็นผังงานโปรแกรมได้
ทันที จากนั้นก็สามารถนาผังงานโปรแกรม ไปเขียนโปรแกรมตามที่ต้องการได้ ดังนั้นในเรื่องของการเขียน
ผังงาน ที่จะกล่าวต่อไปนี้จะเกี่ยวข้องกับผังงานโปรแกรมทั้งสิ้น เช่น
รูปที่ 1.2 ผังงานโปรแกรมแสดงรายละเอียดการทางานของโปรแกรมสาหรับตัดเกรด
1.2.1.3 สัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรม
สถาบันมาตรฐานแห่งชาติของสหรัฐอเมริกา (American National Standard Institute) และองค์การ
ระหว่างประเทศว่าด้วยการมาตรฐาน (International Organization for Standardization) ได้ร่วมกัน
กาหนดสัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรม
โดยในเอกสารเล่มนี้จะนาเสนอสัญลักษณ์ที่นิยมนามาใช้เขียนผังงานโปรแกรม ดังต่อไปนี้
1. สัญลักษณ์ Process
Process
ความหมายของ Process คือ การกาหนดค่าหรือการคานวณค่า
ตัวอย่างที่ 1.3 แสดงการกาหนดค่าให้ตัวแปร Total
ตัวอย่างที่ 1.4 แสดงการคานวณค่าผลรวมของตัวแปร Total
2. สัญลักษณ์ Decision
ความหมายของ Decision คือ การทดสอบเงื่อนไขหรือเปรียบเทียบเงื่อนไข เพื่อตัดสินใจทางาน
อย่างใดอย่างหนึ่งตามที่ต้องการ
ตัวอย่างที่ 1.5 แสดงการเปรียบเทียบเงื่อนไข 1 ทางเลือก
ตัวอย่างที่ 1.6 แสดงการเปรียบเทียบเงื่อนไข 2 ทางเลือก
3. สัญลักษณ์ Start/ Stop program หรือ Terminal Interrupt
ความหมายของสัญลักษณ์ คือ การเริ่มต้นโปรแกรม หรือการสิ้นสุดการทางานของ
โปรแกรม หรือหยุดการทางานชั่วคราว
ตัวอย่างที่ 1.7 แสดงการใช้งานสัญลักษณ์ Start/ Stop program หรือ Terminal Interrupt
4. สัญลักษณ์ Input / Output
ความหมายของสัญลักษณ์ คือ การรับข้อมูล (input) หรือการแสดงผลลัพธ์ (output) โดยไม่ได้
ระบุสื่อที่ใช้
ตัวอย่างที่ 1.8 แสดงการใช้งานสัญลักษณ์ Input/ Output
5. สัญลักษณ์ Display
ความหมายของสัญลักษณ์ คือ การแสดงผลลัพธ์ทางจอภาพ
ตัวอย่างที่ 1.9 แสดงการใช้งานสัญลักษณ์ display
6. สัญลักษณ์ Document
ความหมายของสัญลักษณ์ คือ การพิมพ์ผลลัพธ์ออกทางกระดาษพิมพ์
ตัวอย่างที่ 1.10 แสดงการใช้งานสัญลักษณ์ Document
7. สัญลักษณ์ Manual Input
ความหมายของสัญลักษณ์ คือ การรับข้อมูลหรือคาสั่งผ่านทางคีย์บอร์ด
ตัวอย่างที่ 1.11 แสดงการใช้งานสัญลักษณ์ Manual Input
8. สัญลักษณ์ Manual Operation
ความหมายของสัญลักษณ์คือการรับข้อมูลหรือแสดงผลลัพธ์โดยไม่ระบุสื่อ
ตัวอย่างที่ 1.12 แสดงการใช้งานสัญลักษณ์ Manual Operation
9. สัญลักษณ์ Connector
Connector
ความหมายของสัญลักษณ์ คือ แสดงจุดเชื่อมต่อจากที่หนึ่งไปยังอีกที่หนึ่งของผังงาน โดยที่จุด
เชื่อมต่อนี้อยู่ในหน้าเดียวกัน
ตัวอย่างที่ 1.13 แสดงการใช้งานสัญลักษณ์ Connector
10. สัญลักษณ์ Off page Connector
Off page Connector
ความหมายของสัญลักษณ์ คือ แสดงจุดเชื่อมต่อจากที่หนึ่งไปยังอีกที่หนึ่งของผังงาน โดยที่จุด
เชื่อมต่อนี้อยู่ต่างหน้ากัน
ตัวอย่างที่ 1.14 แสดงการใช้งานสัญลักษณ์ Off page Connector
คานวณค่า Avg = Total + N เสร็จแล้ว ไปทางานต่อไปที่จุด B โดยที่จุด B อยู่ต่างหน้ากัน
11. สัญลักษณ์ flow line and arrowheads
ความหมายของสัญลักษณ์ คือ แสดงทิศทาง การทางานของผังงาน โดยใช้ลูกศร เป็นตัวกาหนด
ทิศทาง การทางานของผังงาน
ตัวอย่างที่ 1.15 แสดงการใช้งานสัญลักษณ์ flow line and arrowheads
12. สัญลักษณ์ Punched Card
ความหมายของสัญลักษณ์คือการรับข้อมูลหรือแสดงผลลัพธ์บนบัตรเจาะรู
ตัวอย่างที่ 1.16 แสดงการใช้งานสัญลักษณ์ Punched Card
1.1.2.4 หลักการเขียนผังงานโปรแกรม
การเขียนผังงานโปรแกรม มีหลักการเขียนดังนี้
1) เขียนผังงานจากด้านบนลงด้านล่าง
2) ใช้สัญลักษณ์ให้ตรงกับความหมายของผังงาน
3) ใช้เส้น flow line และ arrowheads แสดงทิศทางการทางานของผังงาน
4) ใส่คาอธิบายลงในสัญลักษณ์สั้น ๆ แต่เข้าใจง่าย จะใช้ภาษาไทยหรืออังกฤษก็ได้
5) หลีกเลี่ยงการโยงเส้นทิศทางของผังงานให้ตัดกันเพราะจะทาให้สับสน ควรใช้จุดเชื่อมต่อ
(connector) หน้าเดียวกันแทน จะเข้าใจได้ง่ายและเป็นระเบียบ
6) พยายามเขียนผังงานให้จบในหน้ากระดาษเดียวกัน แต่ถ้าไม่จบในหน้าเดียวกัน ควรใช้จุดเชื่อม
ต่อต่างหน้ากระดาษ (off page connector)
1.1.2.5 ขั้นตอนการเขียนผังงานโปรแกรม
เพื่อความเข้าใจเกี่ยวกับขั้นตอนการเขียนผังงานโปรแกรมได้ถูกต้องให้ศึกษาจากตัวอย่างดังต่อไปนี้
ตัวอย่างที่ 1.17 จงเขียนผังงานโปรแกรมที่ได้วิเคราะห์งานมาแล้วในตัวอย่าง
ที่ 1.2
วิธีทา
จากการวิเคราะห์งานในตัวอย่างที่ 1.2 จะได้ว่า
ขั้นตอนวิธีการทางานของโปรแกรม มีดังนี้
1) เริ่มต้นทางาน
2) รับข้อมูลค่าความยาว และความกว้างของสี่เหลี่ยมผืนผ้าผ่านทางคีย์บอร์ด
3) คานวณพื้นที่สี่เหลี่ยมผืนผ้าตามสูตร Area = Width * Length
4) พิมพ์ค่าความยาว ความกว้าง และพื้นที่สี่เหลี่ยมผืนผ้าออกทาง จอภาพ
5) จบการทางาน
การเขียนผังงานโปรแกรม จะนาขั้นตอนวิธีการทางานของโปรแกรม ที่ได้จากการวิเคราะห์งาน มา
เขียนผังงานได้ดังนี้
รูปที่ 1.3 แสดงผังงานขั้นตอนวิธีการทางานของโปรแกรม
1.1.3 การเขียนโปรแกรม (programming)
ในหัวข้อเรื่องการเขียนโปรแกรมจะกล่าวถึงเนื้อหา 2 ส่วน คือความหมายของโปรแกรมคอมพิวเตอร์ และ
ภาษาคอมพิวเตอร์ดังมีรายละเอียดต่อไปนี้
1.1.3.1 ความหมายของโปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์ (computer program) หมายถึง ชุดของคาสั่งที่เขียนขึ้นเพื่อสั่งให้คอมพิวเตอร์
ทางานตามที่ต้องการ ส่วนการเขียนโปรแกรม (programming) หมายถึง การเขียนชุดคาสั่งด้วย
ภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง เพื่อให้คอมพิวเตอร์ทางานตามโปรแกรมที่เราเขียนขึ้น
ดังนั้น ผู้เขียนโปรแกรม (programmer) จึงจาเป็นต้องเรียนรู้ภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง
หรือหลายภาษา แล้วฝึกฝนทักษะการเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ที่ต้องการใช้งานให้เกิดความ
ชานาญจึงจะสามารถเขียนโปรแกรมคอมพิวเตอร์ได้อย่างมีประสิทธิภาพ
1.1.3.2 ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ (computer language) หมายถึง ภาษาที่สามารถนามาใช้เขียนโปรแกรมคอมพิวเตอร์
ได้ ซึ่งแต่ละภาษามีรายละเอียดดังต่อไปนี้
1) ภาษาเครื่อง (machine language)
ภาษาเครื่องจัดเป็นภาษาคอมพิวเตอร์ภาษาเดียวที่สามารถติดต่อกับคอมพิวเตอร์ได้
โดยตรง เพราะว่าการเขียนคาสั่งและข้อมูลในภาษาเครื่องใช้ระบบเลขฐานสอง (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) เป็นภาษาที่พัฒนาขึ้นโดยมีจุดประสงค์เพื่อให้ผู้เริ่มต้นพัฒนา
โปรแกรมสามารถเรียนรู้และเข้าใจการพัฒนาโปรแกรมอย่างง่าย ภาษาเบสิกเป็นภาษาคอมพิวเตอร์ภาษาแรก
ที่ใช้เครื่องไมโครคอมพิวเตอร์
ภาษาคอมพิวเตอร์ที่พัฒนาขึ้นในยุคแรก ยังมีข้อจากัดในการที่จะพัฒนาโปรแกรมขนาดใหญ่ ทั้งนี้
เนื่องจากภาษาคอมพิวเตอร์เหล่านั้นขาดโครงสร้างที่ดี ทาให้การพัฒนาโปรแกรมที่มีขนาดใหญ่และมีความ
ซับซ้อนเป็นไปได้ยาก ในช่วงต้นปี ค.ศ.1970 จึงมีภาษาคอมพิวเตอร์ที่เป็นภาษาเชิงกระบวนการ
(Procedural หรือ Structural Language) เกิดขึ้น ภาษาคอมพิวเตอร์ประเภทนี้จะมีความยืดหยุ่นในการ
พัฒนาโปรแกรม ทาให้สามารถแก้ไขและบารุงรักษาได้ง่าย เนื่องจากโปรแกรมถูกแยกออกเป็นส่วน ๆ
ภาษาคอมพิวเตอร์ที่เป็นภาษาเชิงกระบวนการที่สาคัญคือ
ภาษาปาสคาล (Pascal) พัฒนาโดย Niclaus Wirth ในปี ค.ศ.1971 โดยมีจุดประสงค์เพื่อใช้ใน
การสอนการเขียนโปรแกรมภาษาเชิงกระบวนการ ในมหาวิทยาลัย แต่เนื่องจากภาษาปาสคาลไม่มี
คุณลักษณะที่จะสนับสนุนการพัฒนาโปรแกรมด้านธุรกิจและอุตสาหกรรมจึงไม่ได้รับความนิยมมากนัก
ภาษาซี (C) พัฒนาขึ้นในช่วงเดียวกับภาษาปาสคาล โดยนักวิจัยที่ห้องปฏิบัติการ AT&T Bell ซึ่ง
ได้นาเอาจุดเด่นของภาษา BCPL และภาษา B มาใช้และได้เพิ่มคุณลักษณะและชนิดข้อมูลอื่นเข้ามา
ด้วย เดิมภาษาซีถือว่าเป็นภาษาคอมพิวเตอร์ที่สาคัญในการพัฒนาโปรแกรมบนระบบปฏิบัติการยู
นิกส์ (Unix) ซึ่งเป็นภาษาคอมพิวเตอร์ที่สามารถสร้างโปรแกรมประยุกต์ที่ทางานได้รวดเร็วมาก เมื่อเทียบ
กับภาษาคอมพิวเตอร์อื่น ๆ
4) ภาษาระดับสูงมาก (very high level language)
ภาษาระดับสูงมาก บางครั้งเรียกว่า 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)
1.1.4 การทดสอบ และแก้ไขโปรแกรม (testing and editing program)
หลังจากที่เราเขียนโปรแกรมเสร็จแล้ว ขั้นตอนต่อไป คือ การทดสอบโปรแกรมที่เขียนขึ้นซึ่งอาจ
พบความผิดพลาดได้ 2 ชนิด ดังนี้
1) ความผิดพลาดทางไวยากรณ์ภาษา (syntax error) เป็นความผิดพลาดที่เกิดจากการเขียน
คาสั่งของภาษาคอมพิวเตอร์ผิด ตัวอย่างเช่น คาสั่ง printf( ) ในภาษา C ต้องเขียนด้วยตัวอักษรตัว
เล็ก แต่เขียนเป็น PRINTF( ) เป็นต้น โดยส่วนมากความผิดพลาดทางไวยากรณ์ จะถูกตรวจสอบพบ
เมื่อมีการแปลโปรแกรม (compile) ให้เป็นภาษาเครื่อง ซึ่งเราสามารถแก้ไขโดยการเขียนคาสั่งให้ถูกต้อง
ตามไวยากรณ์ของภาษานั้น ๆ
2) ความผิดพลาดทางตรรกะ (logical error) เป็นความผิดพลาดที่เกิดจากการลาดับการทางาน
ผิดหรือป้อนสูตรคานวณผิด ตัวอย่างเช่น ต้องการหาค่า X = X + Y แต่ป้อนสูตรเป็น X = X * Y อย่าง
นี้ เป็นต้น วิธีการตรวจหาความผิดพลาดแบบนี้ คือ ตรวจสอบการคานวณผลลัพธ์ของโปรแกรมว่าตรง
กับผลลัพธ์ที่คานวณด้วยมือหรือเครื่องคิดเลขหรือไม่ ถ้าไม่ตรงกันแสดงว่าเกิดความผิดพลาดทางตรรกะ
ขึ้น วิธีการแก้ไขก็คือ การแก้ไขสูตรให้ถูกต้อง หรือแก้ไขลาดับการทางานให้ถูกต้อง
ดังนั้น จะเห็นได้ว่าผู้เขียนโปรแกรมจะต้องทาการทดสอบโปรแกรมและแก้ไขโปรแกรมให้สามารถทางานได้
ตามที่ต้องการ
1.1.5 การจัดทาเอกสารประกอบ และการบารุงรักษาโปรแกรม
(documentation and maintenance program)
เมื่อผู้เขียนโปรแกรมได้ทาการทดสอบโปรแกรมและแก้ไขความผิดพลาดที่เกิดขึ้นเรียบร้อยแล้ว
ขั้นตอนต่อไปก็ควรจัดทาคู่มือการใช้โปรแกรม เพราะจะทาให้ผู้ใช้โปรแกรมสามารถใช้งานได้ถูกต้อง โดย
คู่มือการใช้โปรแกรมที่ดีควรจัดทาในลักษณะที่แสดงการทางานเป็นขั้นตอน ผู้ใช้โปรแกรมสามารถปฏิบัติ
ตามได้จริง ส่วนการบารุงรักษาโปรแกรมที่พัฒนาขึ้นก็ต้องมีคาแนะนาให้ผู้ใช้โปรแกรม
ปฏิบัติ ตัวอย่างเช่น การเก็บโปรแกรมต้นฉบับ ควรเก็บไว้ในกล่องที่มิดชิด ป้องกันฝุ่นได้ ไม่ควร
เก็บไว้บนโต๊ะทางาน ไม่ควรเก็บไว้ในรถยนต์เพราะอาจถูกอากาศร้อนทาให้เสียได้ นอกจากนี้ต้องมี
การสาเนาโปรแกรมต้นฉบับเอาไว้ อย่างน้อย 1 ชุด แล้วนาชุดที่สาเนาไปใช้ ไม่ควรใช้โปรแกรมต้นฉบับ
โดยตรง ควรเก็บเอาไว้สาหรับกรณีที่โปรแกรมสาเนาเกิดปัญหาจะได้นาโปรแกรมต้นฉบับมาทาสาเนาและใช้
งานได้ทันที
ใบงานที่ 3
เรื่อง แนวคิดและหลักการเขียนโปรแกรม
คาชี้แจง ให้นักเรียนตอบคาถามต่อไปนี้ให้ถูกต้อง
1. โครงสร้างแบบเลือกกระทาตามเงื่อนไขมีลักษณะอย่างไร
.................................................................................................................................................................
.................................................................................................................................................................
.................................................................................................................................................................
2. ลักษณะของเงื่อนไขในโครงสร้างแบบการเลือกทาตามเงื่อนไขเป็นอย่างไร
.................................................................................................................................................................
.................................................................................................................................................................
.................................................................................................................................................................
3. เมื่อนักเรียนมาถึงโรงเรียน ถ้าหากเป็นเวรทาความสะอาดจะต้องขึ้นอาคารเรียนเพื่อ
ทาความสะอาด หากไม่ใช่เวรทาความสะอาดนักเรียนอ่านหนังสือที่ห้องสมุด จากโจทย์
สามารถเขียนเป็นผังงานได้อย่างไร

More Related Content

What's hot

โครงงานเรื่อง ระบบปฎิบัติการ
โครงงานเรื่อง ระบบปฎิบัติการโครงงานเรื่อง ระบบปฎิบัติการ
โครงงานเรื่อง ระบบปฎิบัติการpeepee kullabut
 
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่อง ระบบปฏิบัติการ .
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่อง ระบบปฏิบัติการ .โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่อง ระบบปฏิบัติการ .
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่อง ระบบปฏิบัติการ .jamiezaa123
 
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ jamiezaa123
 
โครงงานระบบปฏิบัติการ
โครงงานระบบปฏิบัติการโครงงานระบบปฏิบัติการ
โครงงานระบบปฏิบัติการThanapon Seadthaisong
 
การสร้างงานด้วยภาษาคอมพิวเตอร์
การสร้างงานด้วยภาษาคอมพิวเตอร์การสร้างงานด้วยภาษาคอมพิวเตอร์
การสร้างงานด้วยภาษาคอมพิวเตอร์Phans Chatch
 
ใบความรู้ที่2 การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหา
ใบความรู้ที่2 การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหาใบความรู้ที่2 การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหา
ใบความรู้ที่2 การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหาคีตะบลู รักคำภีร์
 
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ Peem Jirayut
 
01 บทที่ 1-บทนำ
01 บทที่ 1-บทนำ01 บทที่ 1-บทนำ
01 บทที่ 1-บทนำChi Cha Pui Fai
 
โครงงาน ระบบปฏิบัติการ266
โครงงาน ระบบปฏิบัติการ266โครงงาน ระบบปฏิบัติการ266
โครงงาน ระบบปฏิบัติการ266karakas14
 
การเขียนรายงานโครงงานคอมพิวเตอร์
การเขียนรายงานโครงงานคอมพิวเตอร์การเขียนรายงานโครงงานคอมพิวเตอร์
การเขียนรายงานโครงงานคอมพิวเตอร์kamonrat5626
 
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์Peem Jirayut
 
การเขียนรายงานโครงงานคอมพิวเตอร์
การเขียนรายงานโครงงานคอมพิวเตอร์การเขียนรายงานโครงงานคอมพิวเตอร์
การเขียนรายงานโครงงานคอมพิวเตอร์Thanakon504
 
การเขียนรายงานโครงงานคอมพิวเตอร์
การเขียนรายงานโครงงานคอมพิวเตอร์การเขียนรายงานโครงงานคอมพิวเตอร์
การเขียนรายงานโครงงานคอมพิวเตอร์jakkirt504
 

What's hot (19)

K8
K8K8
K8
 
โครงงานเรื่อง ระบบปฎิบัติการ
โครงงานเรื่อง ระบบปฎิบัติการโครงงานเรื่อง ระบบปฎิบัติการ
โครงงานเรื่อง ระบบปฎิบัติการ
 
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่อง ระบบปฏิบัติการ .
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่อง ระบบปฏิบัติการ .โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่อง ระบบปฏิบัติการ .
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่อง ระบบปฏิบัติการ .
 
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์
 
Worksheet 2-8
Worksheet 2-8Worksheet 2-8
Worksheet 2-8
 
โครงงานระบบปฏิบัติการ
โครงงานระบบปฏิบัติการโครงงานระบบปฏิบัติการ
โครงงานระบบปฏิบัติการ
 
การสร้างงานด้วยภาษาคอมพิวเตอร์
การสร้างงานด้วยภาษาคอมพิวเตอร์การสร้างงานด้วยภาษาคอมพิวเตอร์
การสร้างงานด้วยภาษาคอมพิวเตอร์
 
ใบความรู้ที่2 การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหา
ใบความรู้ที่2 การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหาใบความรู้ที่2 การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหา
ใบความรู้ที่2 การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหา
 
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์
 
01 บทที่ 1-บทนำ
01 บทที่ 1-บทนำ01 บทที่ 1-บทนำ
01 บทที่ 1-บทนำ
 
โครงงาน ระบบปฏิบัติการ266
โครงงาน ระบบปฏิบัติการ266โครงงาน ระบบปฏิบัติการ266
โครงงาน ระบบปฏิบัติการ266
 
08
0808
08
 
08
0808
08
 
การเขียนรายงานโครงงานคอมพิวเตอร์
การเขียนรายงานโครงงานคอมพิวเตอร์การเขียนรายงานโครงงานคอมพิวเตอร์
การเขียนรายงานโครงงานคอมพิวเตอร์
 
เส็ดแล้ว
เส็ดแล้วเส็ดแล้ว
เส็ดแล้ว
 
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์
 
การเขียนรายงานโครงงานคอมพิวเตอร์
การเขียนรายงานโครงงานคอมพิวเตอร์การเขียนรายงานโครงงานคอมพิวเตอร์
การเขียนรายงานโครงงานคอมพิวเตอร์
 
03 14-2562-presentation3
03 14-2562-presentation303 14-2562-presentation3
03 14-2562-presentation3
 
การเขียนรายงานโครงงานคอมพิวเตอร์
การเขียนรายงานโครงงานคอมพิวเตอร์การเขียนรายงานโครงงานคอมพิวเตอร์
การเขียนรายงานโครงงานคอมพิวเตอร์
 

Similar to ใบความรู้เขียนโปรแกรม

การเขียนผังงาน
การเขียนผังงานการเขียนผังงาน
การเขียนผังงานSomporn Boonrin
 
C:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้น
C:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้นC:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้น
C:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้น-
 
โปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์โปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์Worapod Khomkham
 
หลักการเขียนโปรแกรม
หลักการเขียนโปรแกรมหลักการเขียนโปรแกรม
หลักการเขียนโปรแกรมPhijittra Klintan
 
โปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์โปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์Worapod Khomkham
 
ผังงาน (Flowchart)3
ผังงาน (Flowchart)3ผังงาน (Flowchart)3
ผังงาน (Flowchart)3Game33
 
ผังงาน (Flowchart)1
ผังงาน (Flowchart)1ผังงาน (Flowchart)1
ผังงาน (Flowchart)1Game33
 
ภาษาซี
ภาษาซีภาษาซี
ภาษาซีMorn Suwanno
 
การเขียนโปรแกรมเบื้องต้น
การเขียนโปรแกรมเบื้องต้นการเขียนโปรแกรมเบื้องต้น
การเขียนโปรแกรมเบื้องต้นเสย ๆๆๆๆ
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7Know Mastikate
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานF'olk Worawoot
 
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธีการแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธีSaranyu Srisrontong
 
คอมพิวเตอร์และเทคโนโลยี
คอมพิวเตอร์และเทคโนโลยีคอมพิวเตอร์และเทคโนโลยี
คอมพิวเตอร์และเทคโนโลยีtee0533
 
แบบทดสอบ O-net
แบบทดสอบ O-net แบบทดสอบ O-net
แบบทดสอบ O-net Saharat Yimpakdee
 
องค์ประกอบของระบบคอมพิวเตอร์
องค์ประกอบของระบบคอมพิวเตอร์องค์ประกอบของระบบคอมพิวเตอร์
องค์ประกอบของระบบคอมพิวเตอร์Tonkaw Napassorn
 
องค์ประกอบของระบบคอมพิวเตอร์
องค์ประกอบของระบบคอมพิวเตอร์องค์ประกอบของระบบคอมพิวเตอร์
องค์ประกอบของระบบคอมพิวเตอร์Tonkaw Napassorn
 

Similar to ใบความรู้เขียนโปรแกรม (20)

การเขียนผังงาน
การเขียนผังงานการเขียนผังงาน
การเขียนผังงาน
 
C:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้น
C:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้นC:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้น
C:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้น
 
โปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์โปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์
 
หลักการเขียนโปรแกรม
หลักการเขียนโปรแกรมหลักการเขียนโปรแกรม
หลักการเขียนโปรแกรม
 
โปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์โปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์
 
ใบความรู้ การเขียนโปรแกรม
ใบความรู้ การเขียนโปรแกรมใบความรู้ การเขียนโปรแกรม
ใบความรู้ การเขียนโปรแกรม
 
ผังงาน (Flowchart)3
ผังงาน (Flowchart)3ผังงาน (Flowchart)3
ผังงาน (Flowchart)3
 
ผังงาน (Flowchart)1
ผังงาน (Flowchart)1ผังงาน (Flowchart)1
ผังงาน (Flowchart)1
 
ภาษาซี
ภาษาซีภาษาซี
ภาษาซี
 
การเขียนโปรแกรมเบื้องต้น
การเขียนโปรแกรมเบื้องต้นการเขียนโปรแกรมเบื้องต้น
การเขียนโปรแกรมเบื้องต้น
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7
 
อาชีพ (1)
อาชีพ (1)อาชีพ (1)
อาชีพ (1)
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธีการแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
 
B3
B3B3
B3
 
คอมพิวเตอร์และเทคโนโลยี
คอมพิวเตอร์และเทคโนโลยีคอมพิวเตอร์และเทคโนโลยี
คอมพิวเตอร์และเทคโนโลยี
 
Flowchart
FlowchartFlowchart
Flowchart
 
แบบทดสอบ O-net
แบบทดสอบ O-net แบบทดสอบ O-net
แบบทดสอบ O-net
 
องค์ประกอบของระบบคอมพิวเตอร์
องค์ประกอบของระบบคอมพิวเตอร์องค์ประกอบของระบบคอมพิวเตอร์
องค์ประกอบของระบบคอมพิวเตอร์
 
องค์ประกอบของระบบคอมพิวเตอร์
องค์ประกอบของระบบคอมพิวเตอร์องค์ประกอบของระบบคอมพิวเตอร์
องค์ประกอบของระบบคอมพิวเตอร์
 

ใบความรู้เขียนโปรแกรม

  • 1. ใบความรู้ เรื่อง หลักการเขียนโปรแกรม หน่วยการเรียนรู้ที่ 2 การเขียนโปรแกรม เวลา 2 ชั่วโมง -------------------------------------------------------------------------------------------------------------------------- ตัวชี้วัด ม.3/2 เขียนโปรแกรมภาษาขั้นพื้นฐาน หลักการเขียนโปรแกรม เนื้อหาในบทนี้จะกล่าวถึงขั้นตอนวิธีการทางคอมพิวเตอร์ (computer algorithms) เพื่อ เป็นการให้ความรู้พื้นฐานก่อนการเขียนโปรแกรมคอมพิวเตอร์ รวมถึงเนื้อหาเกี่ยวกับโครงสร้างภายใน โปรแกรมซึ่งจะประกอบด้วยเนื้อหาเกี่ยวกับลักษณะของโปรแกรมแบบโครงสร้าง และรูปแบบโครงสร้าง ภายในโปรแกรม เพื่อช่วยให้ผู้เขียนโปรแกรมสามารถเลือกใช้คาสั่งให้สอดคล้องกับโครงสร้างภายในโปรแกรม ได้ ซึ่งรายละเอียดของแต่ละเนื้อหามีดังต่อไปนี้ 1.1 ขั้นตอนวิธีการทางคอมพิวเตอร์ (computer algorithms) ก่อนที่เราจะเขียนโปรแกรมคอมพิวเตอร์ภาษาใดภาษาหนึ่งเพื่อแก้ปัญหาทาง คอมพิวเตอร์ เราควรศึกษาขั้นตอนวิธีการทางคอมพิวเตอร์ เพื่อให้เกิดความรู้ความเข้าใจที่ถูกต้องตาม ขั้นตอนวิธีดังนี้ 1) การวิเคราะห์งาน (job analysis) 2) การเขียนผังงานโปรแกรม (program flowcharting) 3) การเขียนโปรแกรม (programming) 4) การทดสอบ และแก้ไขโปรแกรม (testing and editing program) 5) การจัดทาเอกสารประกอบ และการบารุงรักษาโปรแกรม (documentation and maintenance program) 1.1.1 การวิเคราะห์งาน (job analysis) ในการวิเคราะห์งานเราจะต้องกาหนดจุดประสงค์ของการวิเคราะห์งาน และขั้นตอน วิธีการวิเคราะห์งานแต่ละอย่างให้ได้ ซึ่งงานแต่ละอย่างมีรายละเอียดดังนี้ 1.1.1.1 จุดประสงค์ของการวิเคราะห์งาน ในการวิเคราะห์งานแต่ละอย่างมีจุดประสงค์ของการวิเคราะห์งานที่สาคัญดังนี้ 1. เพื่อหาวัตถุประสงค์ของการเขียนโปรแกรม 2. เพื่อหารูปแบบผลลัพธ์ที่ต้องการ 3. เพื่อหาข้อมูลนาเข้าที่ต้องใส่เข้าไปในโปรแกรม 4. เพื่อหาตัวแปรที่จาเป็นต้องใช้ในโปรแกรม 5. เพื่อหาขั้นตอนวิธีการทางานของโปรแกรม
  • 2. 1.1.1.2 ขั้นตอนวิธีการวิเคราะห์งาน ในการวิเคราะห์งานแต่ละอย่างมีขั้นตอนวิธีการวิเคราะห์งานที่สาคัญดังนี้ 1) การหาวัตถุประสงค์ของการเขียนโปรแกรม ผู้เขียนโปรแกรมจะต้องหาวัตถุประสงค์จากงานที่จะเขียนโปรแกรมว่า ต้องการเขียนโปรแกรมเพื่อแก้ปัญหา อะไรบ้างซึ่งจะทาให้เขียนโปรแกรมได้ตรงกับความต้องการหรือวัตถุประสงค์ของงานนั้น ๆ 2) การหารูปแบบผลลัพธ์ที่ต้องการ เมื่อผู้เขียนโปรแกรมหาวัตถุประสงค์ของการเขียนโปรแกรมได้แล้ว ขั้นตอนต่อมาคือการกาหนดรูปแบบ ผลลัพธ์ที่ต้องการจากโปรแกรม ซึ่งรูปแบบผลลัพธ์อาจอยู่ในลักษณะของข้อความหรือตัวเลข หรือ ตาราง หรือแผนภูมิ หรืออาจใช้ผสมกันระหว่างตัวเลขกับข้อความ หรือข้อความกับตัวเลข และตารางก็ ได้ ขึ้นอยู่กับผู้เขียนโปรแกรมเป็นผู้กาหนดเอง แต่โดยส่วนมากนิยมแสดงผลลัพธ์ของโปรแกรมให้อยู่ใน รูปแบบที่เข้าใจง่ายมากกว่ารูปแบบที่ซับซ้อน 3) การหาข้อมูลนาเข้าที่ต้องใส่เข้าไปในโปรแกรม ผู้เขียนโปรแกรมจะต้องหาข้อมูลนาเข้าจากผลลัพธ์ที่ได้จากโปรแกรม โดยคานึงถึงขั้นตอนวิธีการคานวณ และ ข้อมูลที่จาเป็นต้องใส่เข้าไปเพื่อให้ได้ผลลัพธ์ที่ต้องการ ตัวอย่างที่ 1.1 ผลลัพธ์ที่ต้องการ คือ พื้นที่สามเหลี่ยมมุมฉากข้อมูลนาเข้าที่ต้องใส่เข้าไปใน โปรแกรมคือ 1 สูตรคานวณพื้นที่สามเหลี่ยมมุมฉาก พื้นที่สามเหลี่ยมมุมฉาก = ? x ฐาน x สูง 2 ความยาวของฐานและความสูงของรูปสามเหลี่ยม 4) การหาตัวแปรที่จาเป็นต้องใช้ในโปรแกรม ตัวแปร หมายถึง ชื่อที่ผู้เขียนโปรแกรมสามารถตั้งขึ้นเองตามหลักการตั้งชื่อตัวแปรของ ภาษาคอมพิวเตอร์ที่นามาเขียนโปรแกรม (หลักเกณฑ์การตั้งชื่อตัวแปรกล่าวไว้ในหัวข้อ 2.5.3.1) เพื่อใช้ใน การอ้างอิงการเก็บข้อมูลและเรียกใช้ข้อมูลภายในตัวแปร ดังนั้นผู้เขียนโปรแกรมจะต้องตั้งชื่อตัวแปรที่ใช้ใน การเก็บข้อมูลทั้งหมดภายในโปรแกรม รวมถึงตัวแปรบางตัวที่ใช้ในการนับจานวนรอบของการทางานใน โปรแกรมอีกด้วย จากตัวอย่างที่ 1.1 สามารถแสดงการวิเคราะห์งานตั้งแต่ขั้นตอนที่ 1 ถึง 4 ได้ดังนี้ 1) วัตถุประสงค์ของการเขียนโปรแกรม เพื่อคานวณหาค่าพื้นที่สามเหลี่ยมมุมฉาก 2) รูปแบบผลลัพธ์ที่ต้องการ พิมพ์ผลลัพธ์ที่ต้องการออกทางภาพดังนี้ * ** output *** Base = 5 High = 4
  • 3. Area = 10 3) ข้อมูลนาเข้า คือ ความยาวฐานและความสูง 4) ตัวแปรที่ใช้ B = ตัวแปรที่เก็บความยาวของสามเหลี่ยมมุมฉาก H = ตัวแปรที่เก็บความสูงของสามเหลี่ยมมุมฉาก Area = ตัวแปรที่เก็บผลลัพธ์ที่ได้จากการคานวณตามสูตร Area = 1/2*B*H หรือ Area = 0.5*B*H 5) การหาขั้นตอนวิธีการทางานของโปรแกรม การหาขั้นตอนวิธีการทางานของโปรแกรมจะขึ้นอยู่กับลักษณะของการแก้ปัญหา ดังนั้นนักเขียนโปรแกรมที่มี ความชานาญในระดับหนึ่งแล้วจะสามารถหาขั้นตอนวิธีการทางานของโปรแกรมได้โดยไม่ยาก แต่สาหรับผู้ที่ เริ่มต้นศึกษาการเขียนโปรแกรม ควรหาขั้นตอนวิธีการทางานของโปรแกรมตามคาแนะนาโดยเรียงตามลาดับ ดังนี้ ขั้นตอนวิธีการทางานของโปรแกรมที่แนะนา 5.1) เริ่มต้นทางาน 5.2) กาหนดค่าเริ่มต้นให้กับตัวแปร 5.3) พิมพ์หัวรายงาน (ถ้ามีรายงาน) 5.4) รับข้อมูลเข้าทีละเรคอร์ด 5.5) ตรวจสอบข้อมูลว่าเป็นชุดสุดท้ายหรือไม่ 5.5.1 ถ้าเป็นข้อมูลชุดสุดท้าย ให้ไปทางานข้อ 5.11 5.5.2 ถ้าไม่ใช่ข้อมูลชุดสุดท้าย ให้ทางานข้อต่อมา (ข้อ 5.6) 5.6) คานวณผลลัพธ์ 5.7) เปรียบเทียบผลลัพธ์ (ถ้ามี) 5.8) เพิ่มค่าตัวแปรสะสม (ถ้ามี) 5.9) พิมพ์ค่าผลลัพธ์ทีละเรคอร์ด 5.10) ย้อนกลับไปทางานข้อ 5.4 5.11) พิมพ์สรุป (ถ้ามี) 5.12) จบการทางาน ทั้งนี้การวิเคราะห์งานเพื่อแก้ปัญหาแต่ละอย่างอาจมีบางขั้นตอนแตกต่างกันไป ดังนั้นคาแนะนา ข้างต้นจึงเป็นเพียงแนวทางของการหาขั้นตอนวิธีการทางานของโปรแกรมเท่านั้น ซึ่งเวลาใช้งานจริงผู้ วิเคราะห์งานต้องประยุกต์ให้เข้ากับปัญหาที่ต้องการแก้ไขต่อไป เพื่อความเข้าใจเกี่ยวกับขั้นตอนวิธีการวิเคราะห์งานมากยิ่งขึ้น ให้ศึกษาจากตัวอย่างการวิเคราะห์ งานดังต่อไปนี้
  • 4. ตัวอย่างที่ 1.2 จงเขียนวิเคราะห์งาน เพื่อเขียนโปรแกรมคานวณ พื้นที่สี่เหลี่ยมผืนผ้า จานวน 1 รูป โดยที่ผู้ใช้โปรแกรม จะต้องป้อนความกว้าง และความยาวของสี่เหลี่ยมผืนผ้า เข้าไปในโปรแกรม วิธีทา ขั้นตอนการวิเคราะห์งานทั้ง 5 ขั้นตอน สามารถแสดงได้ดังนี้ 1) วัตถุประสงค์ของการเขียนโปรแกรม เพื่อคานวณพื้นที่สี่เหลี่ยมผืนผ้าจานวน 1 รูป 2) รูปแบบผลลัพธ์ที่ต้องการ พิมพ์ผลลัพธ์ออกทางจอภาพ ดังนี้ 3) ข้อมูลนาเข้า 3.1) สูตรคานวณพื้นที่สี่เหลี่ยมผืนผ้า Area = Width*Length 3.2) รับค่าความกว้างและความยาวของสี่เหลี่ยมผืนผ้าผ่านทางคีย์บอร์ด 4) ตัวแปรที่ตั้งขึ้นเพื่อใช้ในโปรแกรม Width = ตัวแปรที่ใช้เก็บความกว้างของสี่เหลี่ยมผืนผ้า Length = ตัวแปรที่ใช้เก็บความยาวของสี่เหลี่ยมผืนผ้า Area = ตัวแปรที่ใช้เก็บพื้นที่ของสี่เหลี่ยมผืนผ้า โดยคานวณได้จากสูตร Area = Width*Length 5) ขั้นตอนวิธีการทางานของโปรแกรมมีดังนี้ 5.1) เริ่มต้นทางาน 5.2) รับข้อมูลค่าความยาวและความกว้างของสี่เหลี่ยมผืนผ้าผ่านทางคีย์บอร์ด 5.3) คานวณพื้นที่สี่เหลี่ยมผืนผ้าตามสูตร Area = Width*Length 5.4) พิมพ์ค่าความยาว ความกว้าง และพื้นที่สี่เหลี่ยมผืนผ้าออกทางจอภาพ 5.5) จบการทางาน 1.1.2 การเขียนผังงานโปรแกรม (program flowcharting) สาหรับหัวข้อการเขียนผังงานโปรแกรมจะประกอบด้วยเนื้อหาที่สาคัญดังนี้คือ ความหมายของผัง
  • 5. งาน ประเภทของผังงาน สัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรม หลักการเขียนผังงาน โปรแกรม และขั้นตอนการเขียนผังงานโปรแกรม ดังรายละเอียดต่อไปนี้ 1.1.2.1 ความหมายของผังงาน “ผังงาน” (flowchart) ทางคอมพิวเตอร์ หมายถึง แผนภาพที่เขียนขึ้นโดยใช้ สัญลักษณ์มาตรฐาน เพื่อแสดงขั้นตอนวิธีการทางานของโปรแกรม หรือระบบงานที่ต้องการ 1.1.2.2 ประเภทของผังงาน ผังงานสามารถจาแนกออกได้ 2 ประเภท คือ 1) ผังงานระบบ (system flowchart) หมายถึง ผังงานที่แสดงถึงขั้นตอนวิธีการทางานของ ระบบงานใดระบบหนึ่ง ซึ่งในผังงานระบบจะแสดงให้เห็นถึงสื่อที่ใช้รับข้อมูล บันทึกข้อมูล วิธีการ ประมวลผล ขั้นตอนการทางานและความสัมพันธ์ของส่วนต่าง ๆ ในระบบงานอย่างกว้าง ๆ เพื่อให้เห็น ภาพรวมของระบบงานใดระบบงานหนึ่ง เช่น รูปที่ 1.1 ผังงานระบบแสดงการตัดเกรด 2) ผังงานโปรแกรม (program flowchart) หมายถึงผังงานที่แสดงขั้นตอน วิธีการทางานของ โปรแกรมที่ต้องการเขียนขึ้น ภายในผังงานโปรแกรม จะแสดงให้เห็นขั้นตอน วิธีการทางาน ของโปรแกรม อย่างละเอียด เพื่อให้คอมพิวเตอร์สามารถทางานตามที่เขียนไว้ในผังงานโปรแกรม ได้อย่างถูกต้อง โดยเรา สามารถนาขั้นตอน วิธีการทางานของโปรแกรมในขั้นการวิเคราะห์งาน มาเขียนเป็นผังงานโปรแกรมได้ ทันที จากนั้นก็สามารถนาผังงานโปรแกรม ไปเขียนโปรแกรมตามที่ต้องการได้ ดังนั้นในเรื่องของการเขียน ผังงาน ที่จะกล่าวต่อไปนี้จะเกี่ยวข้องกับผังงานโปรแกรมทั้งสิ้น เช่น
  • 6. รูปที่ 1.2 ผังงานโปรแกรมแสดงรายละเอียดการทางานของโปรแกรมสาหรับตัดเกรด 1.2.1.3 สัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรม สถาบันมาตรฐานแห่งชาติของสหรัฐอเมริกา (American National Standard Institute) และองค์การ ระหว่างประเทศว่าด้วยการมาตรฐาน (International Organization for Standardization) ได้ร่วมกัน กาหนดสัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรม โดยในเอกสารเล่มนี้จะนาเสนอสัญลักษณ์ที่นิยมนามาใช้เขียนผังงานโปรแกรม ดังต่อไปนี้ 1. สัญลักษณ์ Process Process ความหมายของ Process คือ การกาหนดค่าหรือการคานวณค่า ตัวอย่างที่ 1.3 แสดงการกาหนดค่าให้ตัวแปร Total
  • 7. ตัวอย่างที่ 1.4 แสดงการคานวณค่าผลรวมของตัวแปร Total 2. สัญลักษณ์ Decision ความหมายของ Decision คือ การทดสอบเงื่อนไขหรือเปรียบเทียบเงื่อนไข เพื่อตัดสินใจทางาน อย่างใดอย่างหนึ่งตามที่ต้องการ ตัวอย่างที่ 1.5 แสดงการเปรียบเทียบเงื่อนไข 1 ทางเลือก ตัวอย่างที่ 1.6 แสดงการเปรียบเทียบเงื่อนไข 2 ทางเลือก
  • 8. 3. สัญลักษณ์ Start/ Stop program หรือ Terminal Interrupt ความหมายของสัญลักษณ์ คือ การเริ่มต้นโปรแกรม หรือการสิ้นสุดการทางานของ โปรแกรม หรือหยุดการทางานชั่วคราว ตัวอย่างที่ 1.7 แสดงการใช้งานสัญลักษณ์ Start/ Stop program หรือ Terminal Interrupt
  • 9. 4. สัญลักษณ์ Input / Output ความหมายของสัญลักษณ์ คือ การรับข้อมูล (input) หรือการแสดงผลลัพธ์ (output) โดยไม่ได้ ระบุสื่อที่ใช้ ตัวอย่างที่ 1.8 แสดงการใช้งานสัญลักษณ์ Input/ Output 5. สัญลักษณ์ Display ความหมายของสัญลักษณ์ คือ การแสดงผลลัพธ์ทางจอภาพ ตัวอย่างที่ 1.9 แสดงการใช้งานสัญลักษณ์ display 6. สัญลักษณ์ Document
  • 10. ความหมายของสัญลักษณ์ คือ การพิมพ์ผลลัพธ์ออกทางกระดาษพิมพ์ ตัวอย่างที่ 1.10 แสดงการใช้งานสัญลักษณ์ Document 7. สัญลักษณ์ Manual Input ความหมายของสัญลักษณ์ คือ การรับข้อมูลหรือคาสั่งผ่านทางคีย์บอร์ด ตัวอย่างที่ 1.11 แสดงการใช้งานสัญลักษณ์ Manual Input 8. สัญลักษณ์ Manual Operation ความหมายของสัญลักษณ์คือการรับข้อมูลหรือแสดงผลลัพธ์โดยไม่ระบุสื่อ ตัวอย่างที่ 1.12 แสดงการใช้งานสัญลักษณ์ Manual Operation
  • 11. 9. สัญลักษณ์ Connector Connector ความหมายของสัญลักษณ์ คือ แสดงจุดเชื่อมต่อจากที่หนึ่งไปยังอีกที่หนึ่งของผังงาน โดยที่จุด เชื่อมต่อนี้อยู่ในหน้าเดียวกัน ตัวอย่างที่ 1.13 แสดงการใช้งานสัญลักษณ์ Connector 10. สัญลักษณ์ Off page Connector Off page Connector ความหมายของสัญลักษณ์ คือ แสดงจุดเชื่อมต่อจากที่หนึ่งไปยังอีกที่หนึ่งของผังงาน โดยที่จุด เชื่อมต่อนี้อยู่ต่างหน้ากัน ตัวอย่างที่ 1.14 แสดงการใช้งานสัญลักษณ์ Off page Connector
  • 12. คานวณค่า Avg = Total + N เสร็จแล้ว ไปทางานต่อไปที่จุด B โดยที่จุด B อยู่ต่างหน้ากัน 11. สัญลักษณ์ flow line and arrowheads ความหมายของสัญลักษณ์ คือ แสดงทิศทาง การทางานของผังงาน โดยใช้ลูกศร เป็นตัวกาหนด ทิศทาง การทางานของผังงาน ตัวอย่างที่ 1.15 แสดงการใช้งานสัญลักษณ์ flow line and arrowheads 12. สัญลักษณ์ Punched Card ความหมายของสัญลักษณ์คือการรับข้อมูลหรือแสดงผลลัพธ์บนบัตรเจาะรู ตัวอย่างที่ 1.16 แสดงการใช้งานสัญลักษณ์ Punched Card
  • 13. 1.1.2.4 หลักการเขียนผังงานโปรแกรม การเขียนผังงานโปรแกรม มีหลักการเขียนดังนี้ 1) เขียนผังงานจากด้านบนลงด้านล่าง 2) ใช้สัญลักษณ์ให้ตรงกับความหมายของผังงาน 3) ใช้เส้น flow line และ arrowheads แสดงทิศทางการทางานของผังงาน 4) ใส่คาอธิบายลงในสัญลักษณ์สั้น ๆ แต่เข้าใจง่าย จะใช้ภาษาไทยหรืออังกฤษก็ได้ 5) หลีกเลี่ยงการโยงเส้นทิศทางของผังงานให้ตัดกันเพราะจะทาให้สับสน ควรใช้จุดเชื่อมต่อ (connector) หน้าเดียวกันแทน จะเข้าใจได้ง่ายและเป็นระเบียบ 6) พยายามเขียนผังงานให้จบในหน้ากระดาษเดียวกัน แต่ถ้าไม่จบในหน้าเดียวกัน ควรใช้จุดเชื่อม ต่อต่างหน้ากระดาษ (off page connector) 1.1.2.5 ขั้นตอนการเขียนผังงานโปรแกรม เพื่อความเข้าใจเกี่ยวกับขั้นตอนการเขียนผังงานโปรแกรมได้ถูกต้องให้ศึกษาจากตัวอย่างดังต่อไปนี้ ตัวอย่างที่ 1.17 จงเขียนผังงานโปรแกรมที่ได้วิเคราะห์งานมาแล้วในตัวอย่าง ที่ 1.2 วิธีทา จากการวิเคราะห์งานในตัวอย่างที่ 1.2 จะได้ว่า ขั้นตอนวิธีการทางานของโปรแกรม มีดังนี้ 1) เริ่มต้นทางาน 2) รับข้อมูลค่าความยาว และความกว้างของสี่เหลี่ยมผืนผ้าผ่านทางคีย์บอร์ด 3) คานวณพื้นที่สี่เหลี่ยมผืนผ้าตามสูตร Area = Width * Length 4) พิมพ์ค่าความยาว ความกว้าง และพื้นที่สี่เหลี่ยมผืนผ้าออกทาง จอภาพ 5) จบการทางาน การเขียนผังงานโปรแกรม จะนาขั้นตอนวิธีการทางานของโปรแกรม ที่ได้จากการวิเคราะห์งาน มา เขียนผังงานได้ดังนี้
  • 14. รูปที่ 1.3 แสดงผังงานขั้นตอนวิธีการทางานของโปรแกรม 1.1.3 การเขียนโปรแกรม (programming) ในหัวข้อเรื่องการเขียนโปรแกรมจะกล่าวถึงเนื้อหา 2 ส่วน คือความหมายของโปรแกรมคอมพิวเตอร์ และ ภาษาคอมพิวเตอร์ดังมีรายละเอียดต่อไปนี้ 1.1.3.1 ความหมายของโปรแกรมคอมพิวเตอร์ โปรแกรมคอมพิวเตอร์ (computer program) หมายถึง ชุดของคาสั่งที่เขียนขึ้นเพื่อสั่งให้คอมพิวเตอร์ ทางานตามที่ต้องการ ส่วนการเขียนโปรแกรม (programming) หมายถึง การเขียนชุดคาสั่งด้วย ภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง เพื่อให้คอมพิวเตอร์ทางานตามโปรแกรมที่เราเขียนขึ้น ดังนั้น ผู้เขียนโปรแกรม (programmer) จึงจาเป็นต้องเรียนรู้ภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง หรือหลายภาษา แล้วฝึกฝนทักษะการเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ที่ต้องการใช้งานให้เกิดความ ชานาญจึงจะสามารถเขียนโปรแกรมคอมพิวเตอร์ได้อย่างมีประสิทธิภาพ 1.1.3.2 ภาษาคอมพิวเตอร์ ภาษาคอมพิวเตอร์ (computer language) หมายถึง ภาษาที่สามารถนามาใช้เขียนโปรแกรมคอมพิวเตอร์ ได้ ซึ่งแต่ละภาษามีรายละเอียดดังต่อไปนี้ 1) ภาษาเครื่อง (machine language) ภาษาเครื่องจัดเป็นภาษาคอมพิวเตอร์ภาษาเดียวที่สามารถติดต่อกับคอมพิวเตอร์ได้ โดยตรง เพราะว่าการเขียนคาสั่งและข้อมูลในภาษาเครื่องใช้ระบบเลขฐานสอง (binary number system) คือใช้ตัวเลข 0 และ 1 เท่านั้น ทาให้เครื่องคอมพิวเตอร์สามารถทางานได้รวดเร็ว ส่วนข้อเสียของ
  • 15. ภาษาเครื่อง คือ เครื่องคอมพิวเตอร์ต่างชนิดกันมีลักษณะการเขียนภาษาเครื่องที่แตกต่างกันไป และเกิด ความยุ่งยากในการปรับปรุงแก้ไข ทาให้เกิดความไม่สะดวกในการใช้งาน ดังนั้นภาษานี้จึงไม่เหมาะกับผู้ เริ่มต้นเขียนโปรแกรม ตัวอย่างที่ 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 ภาษานี้ใช้สาหรับการพัฒนาโปรแกรมประยุกต์ด้าน วิทยาศาสตร์และวิศวกรรมศาสตร์ ที่ต้องใช้ในการคานวณสมการคณิตศาสตร์ที่ซับซ้อน ปัจจุบันภาษาฟอร์ แทรนยังเป็นที่นิยมใช้ ในการพัฒนาโปรแกรมด้านวิทยาศาสตร์และวิศวกรรมศาสตร์
  • 16. ภาษาโคบอล (COBOL ย่อมาจาก Common Business Oriented Language) พัฒนาขึ้นใน ปี ค.ศ.1959 เป็นภาษาที่พัฒนาขึ้นมาเพื่อใช้ในการพัฒนาโปรแกรมประยุกต์ด้านธุรกิจและการค้า ปัจจุบัน โปรแกรมที่ใช้ในด้านธุรกิจจานวนมากยังเป็นโปรแกรมที่พัฒนามาจากภาษาโคบอล ภาษาเบสิก (BASIC ย่อมาจาก Beginners All- purpose Symbolic Instructional Code) เป็นภาษาที่พัฒนาขึ้นโดยมีจุดประสงค์เพื่อให้ผู้เริ่มต้นพัฒนา โปรแกรมสามารถเรียนรู้และเข้าใจการพัฒนาโปรแกรมอย่างง่าย ภาษาเบสิกเป็นภาษาคอมพิวเตอร์ภาษาแรก ที่ใช้เครื่องไมโครคอมพิวเตอร์ ภาษาคอมพิวเตอร์ที่พัฒนาขึ้นในยุคแรก ยังมีข้อจากัดในการที่จะพัฒนาโปรแกรมขนาดใหญ่ ทั้งนี้ เนื่องจากภาษาคอมพิวเตอร์เหล่านั้นขาดโครงสร้างที่ดี ทาให้การพัฒนาโปรแกรมที่มีขนาดใหญ่และมีความ ซับซ้อนเป็นไปได้ยาก ในช่วงต้นปี ค.ศ.1970 จึงมีภาษาคอมพิวเตอร์ที่เป็นภาษาเชิงกระบวนการ (Procedural หรือ Structural Language) เกิดขึ้น ภาษาคอมพิวเตอร์ประเภทนี้จะมีความยืดหยุ่นในการ พัฒนาโปรแกรม ทาให้สามารถแก้ไขและบารุงรักษาได้ง่าย เนื่องจากโปรแกรมถูกแยกออกเป็นส่วน ๆ ภาษาคอมพิวเตอร์ที่เป็นภาษาเชิงกระบวนการที่สาคัญคือ ภาษาปาสคาล (Pascal) พัฒนาโดย Niclaus Wirth ในปี ค.ศ.1971 โดยมีจุดประสงค์เพื่อใช้ใน การสอนการเขียนโปรแกรมภาษาเชิงกระบวนการ ในมหาวิทยาลัย แต่เนื่องจากภาษาปาสคาลไม่มี คุณลักษณะที่จะสนับสนุนการพัฒนาโปรแกรมด้านธุรกิจและอุตสาหกรรมจึงไม่ได้รับความนิยมมากนัก ภาษาซี (C) พัฒนาขึ้นในช่วงเดียวกับภาษาปาสคาล โดยนักวิจัยที่ห้องปฏิบัติการ AT&T Bell ซึ่ง ได้นาเอาจุดเด่นของภาษา BCPL และภาษา B มาใช้และได้เพิ่มคุณลักษณะและชนิดข้อมูลอื่นเข้ามา ด้วย เดิมภาษาซีถือว่าเป็นภาษาคอมพิวเตอร์ที่สาคัญในการพัฒนาโปรแกรมบนระบบปฏิบัติการยู นิกส์ (Unix) ซึ่งเป็นภาษาคอมพิวเตอร์ที่สามารถสร้างโปรแกรมประยุกต์ที่ทางานได้รวดเร็วมาก เมื่อเทียบ กับภาษาคอมพิวเตอร์อื่น ๆ 4) ภาษาระดับสูงมาก (very high level language) ภาษาระดับสูงมาก บางครั้งเรียกว่า 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)
  • 17. 1.1.4 การทดสอบ และแก้ไขโปรแกรม (testing and editing program) หลังจากที่เราเขียนโปรแกรมเสร็จแล้ว ขั้นตอนต่อไป คือ การทดสอบโปรแกรมที่เขียนขึ้นซึ่งอาจ พบความผิดพลาดได้ 2 ชนิด ดังนี้ 1) ความผิดพลาดทางไวยากรณ์ภาษา (syntax error) เป็นความผิดพลาดที่เกิดจากการเขียน คาสั่งของภาษาคอมพิวเตอร์ผิด ตัวอย่างเช่น คาสั่ง printf( ) ในภาษา C ต้องเขียนด้วยตัวอักษรตัว เล็ก แต่เขียนเป็น PRINTF( ) เป็นต้น โดยส่วนมากความผิดพลาดทางไวยากรณ์ จะถูกตรวจสอบพบ เมื่อมีการแปลโปรแกรม (compile) ให้เป็นภาษาเครื่อง ซึ่งเราสามารถแก้ไขโดยการเขียนคาสั่งให้ถูกต้อง ตามไวยากรณ์ของภาษานั้น ๆ 2) ความผิดพลาดทางตรรกะ (logical error) เป็นความผิดพลาดที่เกิดจากการลาดับการทางาน ผิดหรือป้อนสูตรคานวณผิด ตัวอย่างเช่น ต้องการหาค่า X = X + Y แต่ป้อนสูตรเป็น X = X * Y อย่าง นี้ เป็นต้น วิธีการตรวจหาความผิดพลาดแบบนี้ คือ ตรวจสอบการคานวณผลลัพธ์ของโปรแกรมว่าตรง กับผลลัพธ์ที่คานวณด้วยมือหรือเครื่องคิดเลขหรือไม่ ถ้าไม่ตรงกันแสดงว่าเกิดความผิดพลาดทางตรรกะ ขึ้น วิธีการแก้ไขก็คือ การแก้ไขสูตรให้ถูกต้อง หรือแก้ไขลาดับการทางานให้ถูกต้อง ดังนั้น จะเห็นได้ว่าผู้เขียนโปรแกรมจะต้องทาการทดสอบโปรแกรมและแก้ไขโปรแกรมให้สามารถทางานได้ ตามที่ต้องการ 1.1.5 การจัดทาเอกสารประกอบ และการบารุงรักษาโปรแกรม (documentation and maintenance program) เมื่อผู้เขียนโปรแกรมได้ทาการทดสอบโปรแกรมและแก้ไขความผิดพลาดที่เกิดขึ้นเรียบร้อยแล้ว ขั้นตอนต่อไปก็ควรจัดทาคู่มือการใช้โปรแกรม เพราะจะทาให้ผู้ใช้โปรแกรมสามารถใช้งานได้ถูกต้อง โดย คู่มือการใช้โปรแกรมที่ดีควรจัดทาในลักษณะที่แสดงการทางานเป็นขั้นตอน ผู้ใช้โปรแกรมสามารถปฏิบัติ ตามได้จริง ส่วนการบารุงรักษาโปรแกรมที่พัฒนาขึ้นก็ต้องมีคาแนะนาให้ผู้ใช้โปรแกรม ปฏิบัติ ตัวอย่างเช่น การเก็บโปรแกรมต้นฉบับ ควรเก็บไว้ในกล่องที่มิดชิด ป้องกันฝุ่นได้ ไม่ควร เก็บไว้บนโต๊ะทางาน ไม่ควรเก็บไว้ในรถยนต์เพราะอาจถูกอากาศร้อนทาให้เสียได้ นอกจากนี้ต้องมี การสาเนาโปรแกรมต้นฉบับเอาไว้ อย่างน้อย 1 ชุด แล้วนาชุดที่สาเนาไปใช้ ไม่ควรใช้โปรแกรมต้นฉบับ โดยตรง ควรเก็บเอาไว้สาหรับกรณีที่โปรแกรมสาเนาเกิดปัญหาจะได้นาโปรแกรมต้นฉบับมาทาสาเนาและใช้ งานได้ทันที
  • 18. ใบงานที่ 3 เรื่อง แนวคิดและหลักการเขียนโปรแกรม คาชี้แจง ให้นักเรียนตอบคาถามต่อไปนี้ให้ถูกต้อง 1. โครงสร้างแบบเลือกกระทาตามเงื่อนไขมีลักษณะอย่างไร ................................................................................................................................................................. ................................................................................................................................................................. ................................................................................................................................................................. 2. ลักษณะของเงื่อนไขในโครงสร้างแบบการเลือกทาตามเงื่อนไขเป็นอย่างไร ................................................................................................................................................................. ................................................................................................................................................................. ................................................................................................................................................................. 3. เมื่อนักเรียนมาถึงโรงเรียน ถ้าหากเป็นเวรทาความสะอาดจะต้องขึ้นอาคารเรียนเพื่อ ทาความสะอาด หากไม่ใช่เวรทาความสะอาดนักเรียนอ่านหนังสือที่ห้องสมุด จากโจทย์ สามารถเขียนเป็นผังงานได้อย่างไร