SlideShare una empresa de Scribd logo
1 de 28
บทที่ 1
กระบวนการเขียนโปรแกรม
คอมพิวเตอร์
การนิยามปัญหา
การเขียนอัลกอริทึม
การเขียนผังงานโปรแกรมคอมพิวเตอร์
การเขียนโปรแกรมคอมพิวเตอร์
การตรวจสอบแก้ไขข้อผิดพลาด และการทดสอบ
การจัดทำาเอกสาร
กระบวนการเขียนโปรแกรม
คอมพิวเตอร์
กระบวนการเขียนโปรแกรม
คอมพิวเตอร์
• ตัวอย่างที่ 1: การบวกเลข
•
กระบวนการเขียนโปรแกรม
คอมพิวเตอร์
• 1. การนิยามปัญหา
• การนิยามปัญหาเริ่มจากการกำาหนดว่าผลลัพธ์
ที่ต้องการคืออะไร ซึ่งต้องเขียนไว้อย่างชัดเจน
ดังนี้
กระบวนการเขียนโปรแกรม
คอมพิวเตอร์
• การเขียนอัลกอริทึม
• การเขียนอัลกอริทึม เป็นการเขียนขั้นตอนเพื่อ
สั่งคอมพิวเตอร์ทำางานให้ตามต้องการภายใต้
ข้อจำากัดของคอมพิวเตอร์ ดังนี้
– คอมพิวเตอร์สามารถคำานวณได้แค่บวก ลบ คูณ
และหาร
– คอมพิวเตอร์สามารถเปรียบเทียบค่าสองค่า โดยผล
ที่ได้ (จริงหรือเท็จ) จะเป็นทางเลือกในการทำาคำาสั่ง
อื่นต่อไป
– คอมพิวเตอร์สามารถเคลื่อนย้ายข้อมูลในหน่วย
ความจำาของมัน (หน่วยความจำาเป็นส่วนประกอบ
ส่วนหนึ่งของคอมพิวเตอร์ที่ใช้เก็บข้อมูลและคำาสั่ง)
กระบวนการเขียนโปรแกรม
คอมพิวเตอร์
• อัลกอริทึมเริ่มต้น
• ถ้าต้องการให้คอมพิวเตอร์ทำาการหาผลรวม
จากตัวเลข 3 ตัวต้องมีการใช้เนื้อที่ในหน่วย
ความจำาของคอมพิวเตอร์สำาหรับเก็บผลการ
คำานวณ เรียกว่า ผลรวม ไว้และทำาการหาผล
รวม โดย “บวก ตัวเลขทุกตัวเข้ากับผลรวม”
• ทุกครั้งที่ตัวเลขยังไม่หมด และต้องมี ตัวนับ
ไว้ทำาการนับว่าตัวเลขที่ป้อนเข้ามาครบ 3 ตัว
หรือยัง โดย “บวก 1 เข้ากับตัวนับ” ทุกครั้งที่
ตัวเลขยังไม่หมด
กระบวนการเขียนโปรแกรม
คอมพิวเตอร์
• อัลกอริทึม ดังนี้
• 1. ป้อนตัวเลข ถ้าตัวนับเท่ากับ 3 ให้ไปที่ขั้นตอน
ที่ 3
• 2. บวกตัวเลขเข้ากับผลรวม บวก 1 เข้ากับตัวนับ
และไปขั้นตอนที่ 1
• 3. พิมพ์ค่าผลรวม
กระบวนการเขียนโปรแกรม
คอมพิวเตอร์
• การปรับอัลกอริทึม
• เมื่อเริ่มต้นทำางาน ผลรวมและตัวนับอาจไม่เป็น
0 ก็ได้ ซึ่งจะทำาให้ผลลัพธ์ที่ได้ไม่ถูกต้องตามที่
ต้องการ ดังนั้นในปัญหานี้จึงต้องมีการกำาหนด
ค่าเริ่มต้นของผลรวมและตัวนับให้เป็น 0
กระบวนการเขียนโปรแกรม
คอมพิวเตอร์
• ปรับอัลกอริทึมใหม่ดังนี้
• 1. กำาหนดค่าผลรวมเป็น 0 และตัวนับเป็น 0
• 2. ป้อนตัวเลข ถ้าตัวนับเท่ากับ 3 ให้ไปที่ขั้นตอน
ที่ 4
• 3. บวกตัวเลขเข้ากับผลรวม บวก 1 เข้ากับตัวนับ
และไปขั้นตอนที่ 2
• 4. พิมพ์ค่าผลรวม
กระบวนการเขียนโปรแกรม
คอมพิวเตอร์
• นอกจากนี้ การทำางานในขั้นตอนที่ 2 และ 3 มี
การทำางานสองงาน คือ ในขั้นตอนที่ 2 มีการ
ป้อนตัวเลขและการตัดสินใจ และขั้นตอนที่ 3
มีการคำานวณ 2 งาน ซึ่งควรเขียนแยกขั้นตอน
เพราะการเขียนโปรแกรมคอมพิวเตอร์ควรแยก
จากทำางานแต่ละขั้นตอนให้ชัดเจนไม่ควรรวม
งานหลายขั้นตอนไว้ในขั้นตอนเดียวกัน
กระบวนการเขียนโปรแกรม
คอมพิวเตอร์
• ปรับอัลกอริทึมใหม่อีกครั้ง ดังนี้
• 1. กำาหนดค่าผลรวมเป็น 0 และตัวนับเป็น 0
• 2. ป้อนตัวเลข
• 3. ถ้าตัวนับเท่ากับ 3 ให้ไปที่ขั้นตอนที่ 6
• 4. บวกตัวเลขเข้ากับผลรวม
• 5. บวก 1 เข้ากับตัวนับ และไปขั้นตอนที่ 2
• 6. พิมพ์ค่าผลรวม
• 7. หยุด
กระบวนการเขียนโปรแกรม
คอมพิวเตอร์
• การตรวจสอบอัลกอริทึม
• สมมติตัวเลขที่ใช้ในการตรวจสอบ คือ
• 1 2 3
กระบวนการเขียนโปรแกรม
คอมพิวเตอร์
ลำาดับคำาสั่ง ตัวเลข ผลรวม ตัวนับ
1 - 0 0
2 1 0 0
3 1 0 0
4 1 1 0
5 1 1 1
2 2 1 1
3 2 1 1
4 2 3 1
5 2 3 2
2 3 3 2
3 3 3 2
4 3 6 2
5 3 6 3
2 4 6 3
3 4 6 3
6 4 6 3
กระบวนการเขียนโปรแกรม
คอมพิวเตอร์
• จากการตรวจสอบได้ผลดังตารางที่ 1.1 พบว่า
เราได้ค่าผลรวมเป็น 6 ซึ่งเป็นคำาตอบที่ถูกต้อง
นั่นคือ อัลกอริทึมของเราทำางานได้ถูกต้อง แต่
เรายังต้องป้อนตัวเลขที่ 4 เข้าไปซึ่งไม่ได้ใช้
ในการคำานวณเลยเพราะฉะนั้นเราควรย้ายขั้น
ตอนที่ 2 สลับกับขั้นตอนที่ 3 เพื่อให้โปรแกรม
ของเราถูกต้องมากยิ่งขึ้น
กระบวนการเขียนโปรแกรม
คอมพิวเตอร์
• ดังนี้
• 1. กำาหนดค่าผลรวมเป็น 0 และตัวนับเป็น 0
• 2. ถ้าตัวนับเท่ากับ 3 ให้ไปที่ขั้นตอนที่ 6
• 3. ป้อนตัวเลข
• 4. บวกตัวเลขเข้ากับผลรวม
• 5. บวก 1 เข้ากับตัวนับ และไปขั้นตอนที่ 2
• 6. พิมพ์ค่าผลรวม
• 7. หยุด
กระบวนการเขียนโปรแกรม
คอมพิวเตอร์
ลำาดับคำาสั่ง ตัวเลข ผลรวม ตัวนับ
1 - 0 0
2 - 0 0
3 1 0 0
4 1 1 0
5 1 1 1
2 1 1 1
3 2 1 1
4 2 3 1
5 2 3 2
2 2 3 2
3 3 3 2
4 3 6 2
5 3 6 3
2 3 6 3
6 3 6 3
กระบวนการเขียนโปรแกรม
คอมพิวเตอร์
• การเขียนผังงานโปรแกรมคอมพิวเตอร์
• ประมวลผล ใช้แทนการจัดการกับข้อมูล เช่น
การคำานวณทางคณิตศาสตร์หรือการเคลื่อน
ย้ายข้อมูลจากที่หนึ่งไปอีกที่หนึ่งเป็นต้น
กระบวนการเขียนโปรแกรม
คอมพิวเตอร์
• นำาเข้า/แสดงผล ใช้แทนการนำาข้อมูลเข้า
หรือแสดงผล
• การเตรียม ใช้แทนการจัดการที่ไม่ใช่การ
จัดการข้อมูล ตัวอย่างเช่น การกำาหนดค่าเริ่ม
ต้นให้ตัวนับ
กระบวนการเขียนโปรแกรม
คอมพิวเตอร์
• การตัดสินใจ ใช้แทนการเปรียบเทียบค่า 2
ค่า ผลจากการเปรียบเทียบ(จริงหรือเท็จ) จะได้
ทางเลือกที่จะทำาต่อไป
• ปลายทาง ใช้แทนจุดเริ่มต้นทำางานหรือสิ้น
สุดการทำางานของโปรแกรม
กระบวนการเขียนโปรแกรม
คอมพิวเตอร์
• จุดต่อ ใช้แทนการเข้าหรือออกจากจุดหนึ่ง
ของโปรแกรม
• เส้นไหล ใช้ชี้ลำาดับการทำางาน ปกติจะเขียน
จากบนลงล่าง และจากซ้ายไปขวา
กระบวนการเขียนโปรแกรม
คอมพิวเตอร์
• คำาอธิบาย ใช้อธิบายข้อสังเกตขั้นตอนการ
ประมวลผล เพื่อให้อ่านเข้าใจง่ายขึ้น
กระบวนการเขียนโปรแกรม
คอมพิวเตอร์
กระบวนการเขียนโปรแกรม
คอมพิวเตอร์
• การเขียนโปรแกรม
• โดยควรเขียนในรูปแบบที่ง่าย เพื่อให้ผู้อื่น
สามารถเข้าใจได้ การเขียนโปรแกรมจะใช้
ภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่งก็ได้ ขึ้น
อยู่กับความถนัดของผู้เขียนโปรแกรม
โปรแกรมที่เขียนขึ้นจะเรียกว่า โปรแกรม
ซอส (Source program) จากนั้นจะใช้
โปรแกรมแปล (Translation program) แปล
โปรแกรมซอสให้เป็นโปรแกรมออปเจค
(Object program) ซึ่งอยู่ในรูปเลขฐานสอง
(0 กับ 1) ที่คอมพิวเตอร์เข้าใจได้
กระบวนการเขียนโปรแกรม
คอมพิวเตอร์
• การตรวจสอบแก้ไขข้อผิดพลาดและการ
ทดสอบโปรแกรม
กระบวนการเขียนโปรแกรม
คอมพิวเตอร์
• การจัดทำาเอกสาร
•
แบบฝึกหัดท้ายบทที่ 1
•  คำาสั่ง จงตอบคำาถามต่อไปนี้ให้ถูกต้อง
• ถ้าปัญหาของเราคือต้องการหาค่าเฉลี่ยของเลข 3 ตัว
ดังตัวอย่างในบทเรียน
– จงเขียนอัลกอริธึมเพื่อแก้ปัญหานี้
– จงเขียนผังงานของโปรแกรมเพื่อแก้ปัญหานี้
•  จากโจทย์การป้อนตัวเลข 3 ตัว ถ้าต้องการแยกว่ามี
เลขคู่อย่างละกี่ตัว และเลขคี่อย่างละกี่ตัว
– จงเขียนอัลกอริธึมเพื่อแก้ปัญหานี้
– จงเขียนผังงานของโปรแกรมเพื่อแก้ปัญหานี้
C1white

Más contenido relacionado

Similar a C1white

บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1bpatra
 
อัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหาอัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหาsupatra178
 
อัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหาอัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหาskiats
 
ลักษณะโครงสร้างผังงาน
ลักษณะโครงสร้างผังงานลักษณะโครงสร้างผังงาน
ลักษณะโครงสร้างผังงานPannathat Champakul
 
Introduction to problem_solving
Introduction to problem_solvingIntroduction to problem_solving
Introduction to problem_solvingNunnaphat Chadajit
 
การเขียนขั้นตอนวิธีและผังงาน
การเขียนขั้นตอนวิธีและผังงานการเขียนขั้นตอนวิธีและผังงาน
การเขียนขั้นตอนวิธีและผังงานณัฐพล บัวพันธ์
 
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศการแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศMeaw Sukee
 
อุปกรณ์คอมพิวเตอร์
อุปกรณ์คอมพิวเตอร์อุปกรณ์คอมพิวเตอร์
อุปกรณ์คอมพิวเตอร์Nattaporn Bunmak
 
20140605ใบความรู้ การกำหนดและวิเคราะห์ปัญหา
20140605ใบความรู้ การกำหนดและวิเคราะห์ปัญหา20140605ใบความรู้ การกำหนดและวิเคราะห์ปัญหา
20140605ใบความรู้ การกำหนดและวิเคราะห์ปัญหาWarapang Plodplong
 
การคำนวณในตารางทำงาน
การคำนวณในตารางทำงานการคำนวณในตารางทำงาน
การคำนวณในตารางทำงานMeaw Sukee
 

Similar a C1white (20)

Chapter 04 Compare
Chapter 04 CompareChapter 04 Compare
Chapter 04 Compare
 
หลักการเขียนโปรแกรม
หลักการเขียนโปรแกรมหลักการเขียนโปรแกรม
หลักการเขียนโปรแกรม
 
บทที่ 5
บทที่ 5บทที่ 5
บทที่ 5
 
บทที่ 5
บทที่ 5บทที่ 5
บทที่ 5
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 
อัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหาอัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหา
 
Chapter1
Chapter1Chapter1
Chapter1
 
1
11
1
 
อัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหาอัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหา
 
ลักษณะโครงสร้างผังงาน
ลักษณะโครงสร้างผังงานลักษณะโครงสร้างผังงาน
ลักษณะโครงสร้างผังงาน
 
Introduction to problem_solving
Introduction to problem_solvingIntroduction to problem_solving
Introduction to problem_solving
 
การเขียนขั้นตอนวิธีและผังงาน
การเขียนขั้นตอนวิธีและผังงานการเขียนขั้นตอนวิธีและผังงาน
การเขียนขั้นตอนวิธีและผังงาน
 
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศการแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
 
การเขียนผังงาน (280653)
การเขียนผังงาน (280653)การเขียนผังงาน (280653)
การเขียนผังงาน (280653)
 
อุปกรณ์คอมพิวเตอร์
อุปกรณ์คอมพิวเตอร์อุปกรณ์คอมพิวเตอร์
อุปกรณ์คอมพิวเตอร์
 
Chapter 05 Loop
Chapter 05 LoopChapter 05 Loop
Chapter 05 Loop
 
Chapter 05 Loop
Chapter 05 LoopChapter 05 Loop
Chapter 05 Loop
 
20140605ใบความรู้ การกำหนดและวิเคราะห์ปัญหา
20140605ใบความรู้ การกำหนดและวิเคราะห์ปัญหา20140605ใบความรู้ การกำหนดและวิเคราะห์ปัญหา
20140605ใบความรู้ การกำหนดและวิเคราะห์ปัญหา
 
ผังงาน เจนนภา
ผังงาน เจนนภาผังงาน เจนนภา
ผังงาน เจนนภา
 
การคำนวณในตารางทำงาน
การคำนวณในตารางทำงานการคำนวณในตารางทำงาน
การคำนวณในตารางทำงาน
 

C1white