การเขียนโปรแกรมคอมพิวเตอร์ เป็ นการพัฒนาโปรแกรมหรือ แอปพลิ เคชันต่างๆ ด้วยภาษาคอมพิวเตอร์ที่โครงสร้างของภาษาท่ี มี ความสลบั ซบั ซ้อน ผ้เู ขียนโปรแกรมจึงต้องมีความเข้าใจขนั้ ตอนการทางาน และปัญหาของระบบการทางานเพื่อนามาออกแบบการรบั ข้อมลู เข้าการประมวลผล และผลลพั ธท์ ี่ต้องการในการเขียนโปรแกรมให้ตรงและตอบสนองการทางาน ของผ้ใู ช้โปรแกรม ผเู้ ขียนโปรแกรมจึงต้องมีความเข้าใจขนั้ ตอนการออกแบบ โปรแกรม เพื่อลดปัญหาในการเขียนโค้ดของโปรแกรมท่ีมีความย่งุ ยากให้การ ออกแบบโปรแกรมได้อย่างมีระบบ โดยการเขียนโปรแกรมประกอบด้วย 6 ขนั้ ตอน ดงั นี้ 17
การบารงุ รกั ษา การวิเคราะหป์ ัญหา การออกแบบ (Problem analysis) โปรแกรม (Design) โปรแกรม 6 1 (Maintenance) 2 การเขียนโปรแกรม การทาเอกสาร 5 ด้วยภาษา 3 คอมพิวเตอร์ ประกอบโปรแกรม 4 (Programing) (Documentation) การทดสอบและแก้ไขโปรแกรม (Testing) 18
ผลลพั ธท์ ี่ต้องการ ข้อมูลนาเข้า การแก้ปัญหา - รปู แบบหน้าจอ ตรวจเอกสาร และ วิเคราะหข์ นั้ ตอน - รปู แบบการทางาน เส้นทางการเดิน การดาเนิ นการ - รปู แบบผลลพั ธ์ ของเอกสาร แก้ปัญหา การคานวณ วิเคราะหจ์ าก การเชื่อมโยง ผลลพั ธท์ ่ีต้องการ ข้อมลู การนาเข้า ว่าต้องการข้อมลู ข้อมลู เพ่ือให้ได้ อะไรบา้ ง ผลลพั ธท์ ี่ต้องการ 19
1 อลั กอริทึม (Algorithm) เป็นเครอ่ื งมือที่ช่วยในการออกแบบโปรแกรมโดยใช้ข้อความที่เป็น ภาษาพดู ในการอธิบายการทางานของโปรแกรมท่ีเป็นลาดบั ขนั้ ตอน 2 ผงั งาน (Flowchart) เป็นเครื่องมือที่ใช้รปู ภาพหรือสญั ลกั ษณ์ ที่แสดงถึงขนั้ ตอนการเขียน โปรแกรมหรือขนั้ ตอนในการแก้ปัญหาทีละขนั้ และมีเส้นท่ีแสดงทิศ ทางการไหลของข้อมลู ตงั้ แต่จดุ เริ่มต้นจนกระทงั่ ได้ผลลพั ธต์ ามท่ี ต้องการ 20
3 รหสั เทียม (Pseudo code) เป็นเครือ่ งมือการออกแบบโปรแกรมที่มีการใช้ข้อความท่ีเป็นภาษา องั กฤษหรอื ภาษาไทยกไ็ ด้ ในการแสดงขนั้ ตอนการแก้ปัญหา แต่จะ มีการใช้คาเฉพาะ (Reserve words) ท่ีมีอย่ใู นภาษาโปรแกรมมาช่วย ในการเขียนโครงของรหสั เทียมจึงมีส่วนที่คล้ายกบั การเขียนโปรแกรม มากที่สดุ ดงั นัน้ รหสั เทียมจึงเป็นเครื่องมืออีกแบบที่นิยมใช้กนั มาก ในการออกแบบโปรแกรม 4 แผนภมู ิโครงสร้าง (Structure chart) จะเป็นการแบ่งงานใหญ่ออกเป็นโมดลู ย่อยๆ ซ่ึงเรียกว่า การออกแบบ จากบนลงล่าง (Top-Down Design) และแต่ละโมดลู ย่อยกย็ งั สามารถ แยกย่อยได้อีกจนถึงระดบั ท่ีล่างสดุ ทาให้สามารถออกแบบโปรแกรม และเขียนโปรแกรมได้อย่างง่าย 21
อลั กอริทึม หมายถึง ขนั้ ตอนหรือลาดบั การประมวลผลในการ (Algorithm) แก้ปัญหาใดปัญหาหนึ่ งซึ่งจะช่วยให้พัฒนาโปรแกรมเห็น ขนั้ ตอนการเขียนโปรแกรมอย่างงา่ ยขึน้ หมายถึง แนวคิดอย่างมีเหตุผลท่ีผ้พู ฒั นาโปรแกรม โปรแกรมเมอร์ อลั กอริทึม หรือนักวิเคราะห์ระบบ ใช้ในการอธิบายวิธีการทางานอย่างเป็ นขนั้ ตอน (Algorithm) ตามลาดบั ในการท่ีจะพฒั นาโปรแกรมนัน้ ๆ ให้กบั ผู้ท่ีสนใจหรือผ้ทู ่ีเป็ น 22 เจ้าของงาน หรือผ้ทู ่ีรบั ผิดชอบได้ทราบถึงขนั้ ตอนต่างๆ ในการเขียนหรือ พฒั นาโปรแกรม ในขณะเดียวกนั กส็ ามารถช่วยให้ผ้ทู ่ีเป็ นเจ้าของงาน หรือ ผ้ทู ี่รบั ผิดชอบได้ตรวจสอบขนั้ ตอนต่างๆ ในการทางานและความถกู ต้องใน แต่ละขนั้ ตอนการทางาน โดยผ้ทู ี่เป็ นเจ้าของงาน หรือผ้ทู ี่รบั ผิดชอบนัน้ ๆ ไม่จาเป็ นต้องเขียนโปรแกรมเป็ น
การเขียนอลั กอริทึมมีหลายรปู แบบ โดยผเู้ ขียนสามารถใช้อลั กอริทึม หลายรปู แบบประกอบกนั ในการออกแบบอลั กอริทึมนัน้ เพ่ือใช้ในการแก้ ปัญหาการเขียนโปรแกรมได้ ตวั อย่างการเขียนอลั กอริทึมแบบลาดบั 1 แบบลาดบั (Sequential) อลั กอริทึม การทอดไข่เจียว 1. หยิบไข่ไก่ ขนั้ ตอนท่ี 1 2. ตอกไข่ไก่ใส่ภาชนะ 3. ปรงุ รสด้วยเครอ่ื งปรงุ 4. ตีไข่ด้วยช้อนส้อม ขนั้ ตอนท่ี 2 5. ตงั้ กระทะบนเตา 6. เปิ ดแกส๊ และติดไฟ ขนั้ ตอนท่ี 3 7. ใส่น้ามนั พืช 8. นาไข่ท่ีปรงุ รสแล้วใส่ลงในกระทะท่ีร้อน 9. ทอดจนสกุ ขนั้ ตอนที่...N 10. ตกั ขึ้นใส่จานที่เตรียมไว้ รปู แบบอลั กอริทึมแบบลำดบั ตวั อยำ่ งกำรเขียนอลั กอริทึมแบบลำดบั 23
2 แบบทางเลือก (Decision) เร่ิมต้น ภาพรปู แบบอลั กอริทึม ตรวจสอบ จริง แบบทางเลือก เง่ือนไข เทจ็ คาสงั ่ คาสงั ่ 24 จบการทางาน
ตวั อย่างการเขียนอลั กอริทึมแบบทางเลือก อลั กอริทึมการตดั เกรดวิชาคอมพิวเตอร์ 1. คะแนนสอบของนักเรียน 2. ตรวจสอบคะแนน (คะแนนที่สอบผา่ น 50 คะแนน) 2.1 ตงั้ แต่ 50 คะแนนขึน้ ไป สอบผา่ น 2.2 น้อยกว่า 50 คะแนน สอบตก 3. ประกาศผล 25
3 แบบทาซา้ (Repetition) จะมีลกั ษณะคล้ายกบั แบบทางเลือก คือ มีการตรวจสอบ เง่ือนไขแต่จะแตกต่างกนั ท่ีเม่ือการทางานตรงตามเง่ือนไขที่ กาหนดโปรแกรมจะกลบั ไป ทางานอีกครงั้ จะวนการทางาน แบบนี้เร่อื ยๆ จนกระทงั่ ไม่ตรงกบั เง่ือนไขที่กาหนดไว้จึงหยดุ การทางานหรอื ทางานใน ขนั้ ต่อไป 26
เริ่มต้น ตรวจสอบ จริง คาสงั ่ เง่ือนไข 27 เทจ็ คาสงั ่ จบการทางาน ภำพ รปู แบบอลั กอริทึมแบบทำซ้ำ
ตวั อย่างการเขียนอลั กอริทึมแบบทาซา้ อลั กอริทึมการซื้อมงั คดุ 1 กิโลกรมั 1. หยิบถงุ พลาสติก 2. หยิบมงั คดุ มาเลือก โดยกดที่เปลือกที่น่ิมๆ 3. ตรวจสอบเง่ือนไข (น้อยกว่า 1 กิโลกรมั ) 3.1 จริง เลือกมงั คดุ ต่อ 3.2 เทจ็ หยดุ เลือก 4. จ่ายเงินให้กบั ผทู้ ี่ขาย 28
เป็ น ขั้น ต อ น แ รก ข อ ง ก ร ะ บ ว น ก า ร แก้ปัญหาทางคอมพิวเตอร์ โดยวิเคราะห์จาก ปั ญหาหรือความต้ องการของผู้ใช้ กาหนด ขนั้ ตอนการทางานตัง้ แต่เร่ิมต้นจนสิ้นสุดการ ทางาน ข้อมูลต่าง ๆ ที่จาเป็ นต้องใช้ในการ คานวณหรือประมวลผล การวิเคราะห์งานมี ขนั้ ตอน 5 ขนั้ ตอนดงั นี้ 29
1 สิ่งที่โจทยต์ ้องการ หมายถึง เป้าหมายหรือผลลพั ธท์ ่ีต้องการ ต้องระบใุ ห้ชดั เจน เพื่อให้ การเขียนโปรแกรมได้ผลลพั ธ์ ท่ีถกู ต้อง สามารถนาไปใช้งานได้จริง 2 การแสดงผลลพั ธ์ หมายถึง การกาหนดผลลพั ธท์ ่ีต้องแสดงมีอะไรบา้ ง ต้องระบุให้ ครบถ้วนตามที่โจทยก์ าหนด หรือผใู้ ช้ต้องการ 3 ข้อมลู นาเข้า หมายถึง ข้อมลู ท่ีต้องใช้ในการคานวณหรือประมวลผล ต้องกาหนด ให้ชดั เจนและครบถ้วน เพราะหากนาเข้าข้อมลู ไม่ครบ อาจทาให้โปรแกรม คานวณหาผลลพั ธไ์ ม่ได้ 30
4 ตวั แปรท่ีใช้ หมายถึง ตวั แปรท่ีใช้เกบ็ ค่าต่าง ๆ หรือผลลพั ธท์ ่ีเกิดจากการคานวณ เพ่ือรอไปดาเนินการอื่น ๆ ต่อไป 5 วิธีการประมวลผล หมายถึง เป็ นการอธิบายขนั้ ตอนการ ทางานตัง้ แต่เริ่มต้นจนถึงขัน้ ตอนสุดท้าย เพ่ือให้เกิ ดความเข้าใจ สามารถตรวจสอบ ลาดบั การทางานได้ง่ายและรวดเรว็ 31
ผงั งาน (Flow chart) หมายถึง การเขียนอธิบายขนั้ ตอนวิธีการทางาน ในลกั ษณะของสญั ลกั ษณ์ ท่ีเป็ นรปู ภาพ ประโยชน์ของผงั งานใช้สาหรับช่วยใน การพฒั นาลาดบั ขนั้ ตอนการแก้ปัญหา เนื่องจากผงั งานเป็นการอธิบายขนั้ ตอน วิธีการทางานในลกั ษณะของรูปภาพ ทาให้สามารถเห็นลาดบั ของขนั้ ตอน วิธีการทางานได้ชดั เจนกว่าการอธิบายขนั้ ตอนวิธีการทางานในลกั ษณะข้อความ เมื่อลกั ษณะของปัญหาท่ีต้องการแก้ไขมีความซบั ซ้อนมากขึน้ ความยุ่งยากใน การเขียนอธิบายขนั้ ตอน หรือวิธีการทางานจะมีมากขึ้น การใช้ผงั งานเพ่ือช่วย สาหรบั การหาขนั้ ตอนวิธีการทางาน จะทาให้สามารถเขียนอธิบายขนั้ ตอน วิธีการทางานในลกั ษณะของข้อความได้สะดวกยิ่งขึน้ 32
สญั ลกั ษณ์ในการเขียนผงั งาน (Flowchart) มีหลายชนิด แต่ละชนิด จะมีความหมายในการใช้งานท่ีแตกต่างกนั สามารถอธิบายสญั ลกั ษณ์ต่างๆ ได้ดงั ต่อไปนี้ Terminator จดุ เร่ิมต้นและจดุ สิ้นสดุ ของโปรแกรม Decision การตรวจสอบเง่ือนไข การตดั สินใจ Process คาสงั่ ในการประมวลผล หรือ Flow Line การกาหนดตวั แปร เส้นทางการทางานของโปรแกรมและ การไหลของข้อมลู 33
Input / Output รบั ข้อมลู หรอื แสดงผลข้อมลู โดย ไม่ระบอุ ปุ กรณ์ Manual Input การรบั ข้อมลู จากทางแป้นพิมพ์ (Keyboard) Document การแสดงผลข้อมลู ทางเครอ่ื งพิมพ์ Display การแสดงผลข้อมลู ออกทางจอภาพ Preparation การกาหนดค่าต่างๆ ล่วงหน้าใน Predefined การทางานที่ซา้ ๆ กนั Process โปรแกรมย่อย หรอื โมดลู ที่ใช้ใน Connect การทางานของโปรแกรม การรวมจดุ หรอื การเช่ือมต่อจดุ 34
Off page การเชื่อมโยงไปยงั หน้ากระดาษถดั ไป Connector เน่ืองจากผงั งานยาว Sort การเรียงข้อมลู Magnetic Disk การนาเข้าข้อมลู หรอื บนั ทึกข้อมลู จาก Hard disk Comment ใช้ในการแสดงคาอธิบายโปรแกรม หรือหมายเหตุ 35
ตวั อย่าง การเขียนผงั งานที่ 1 36 START INPUT Num 1, num 2 sum = num1+num2 sum STOP
รหัสเทียม หรือซูโดโค้ด (Pseudo code) หมายถึง การเขียนโปรแกรมในรูปแบบ ภาษาองั กฤษที่มีขนั้ ตอนและรปู แบบแน่นอน มี ความกะทดั รดั และคล้ายภาษาระดบั สูงท่ีใช้กบั เคร่ืองคอมพิวเตอรซ์ ่ึงไม่เจาะจงให้เป็ นภาษาใด ภาษาหนึ่ ง รหัสเทียมจึงเหมาะท่ีจะใช้ในการ ออกแบบโปรแกรมก่อนที่โปรแกรมเมอร์จะทา การเขียนโปรแกรมด้วยภาษาคอมพิวเตอรจ์ ริง 37
1 2 3 เป็นเคร่อื งมอื ใน เป็ นต้นแบบในการ เป็นตวั กาหนดงาน การกาหนดโครงรา่ ง ทบทวน ปรบั ปรงุ แก้ไข เขียนโปรแกรม เพอ่ื ให้ กระบวนการทางานของ และพฒั นาโปรแกรม โปรแกรมเมอรน์ าไป การเขียนโปรแกรม ของโปรแกรมเมอร์ พฒั นาเป็นโปรแกรม แต่ละโปรแกรม และนักวิเคราะหร์ ะบบ คอมพิวเตอร์ เพื่อสงั ่ ให้ คอมพิวเตอรท์ างานตาม กระบวนการท่ีได้จาลอง กระบวนการจริงไว้ใน รหสั เทียม หรือซโู ดโค้ด 38
1 ประโยคคาสงั่ (Statement) จะอย่ใู นรปู แบบของภาษาองั กฤษอย่างง่าย 2 ในหน่ึงบรรทดั ให้เขียนประโยคคาสงั่ เพียงคาสงั่ เดียวเท่านัน้ 3 ควรใช้ย่อหน้าเพ่ือแยกคาเฉพาะ (Keywords) ได้ชดั เจน รวมถึงจดั โครงสร้างการควบคมุ ให้เป็นสดั ส่วน ซึ่งช่วยให้อ่านโค้ดได้ง่าย แต่ละประโยคคาสงั่ ให้เขียนลาดบั จากบนลงล่าง 4 โดยมีทางเข้าของข้อมลู เพียงทางเดียว และมีทางออกของข้อมลู ทางเดียวเท่านัน้ 5 กล่มุ ของประโยคคาสงั่ ต่างๆ อาจจดั รวมกล่มุ เข้าด้วยกนั ในรปู แบบของโมดลู แต่ต้องมีการกาหนด ชื่อของโมดลู ด้วย เพื่อให้สามารถเรียกใช้งานโมดลู นัน้ ได้ 39
START เริ่มต้นการทางาน START STOP สิ้นสดุ การทางาน STOP SET การกาหนดค่า SET X to 0 READ อ่านค่าที่มีอยแู่ ลว้ มาเกบ็ ไว้ในตวั แปร READ std_name GET รบั ค่าขอ้ มลู ทางแป้นพิมพ์ GET num1 INPUT รบั ค่าข้อมลู โดยไมร่ ะบอุ ปุ กรณ์ INPUT num1 OUTPUT แสดงค่าโดยไม่ระบอุ ปุ กรณ์ OUTPUT sum PRINT แสดงผลทางเครอื่ งพิมพ์ PRINT sum 40
WRITE บนั ทึกข้อมลู ลงในแฟ้มข้อมลู WRITE salary DISPLAY แสดงผลทางจอภาพ IF ตรวจสอบเงอ่ื นไข หาก DISPLAY avg เงอื่ นไขเป็นจริงจะทาคาสงั่ CASE หลงั THEN ถ้าเป็นเทจ็ IF sex = “M” THEN จะทาคาสงั่ หลงั ELSE male = male + 1 คาสงั่ ทางเลอื กแบบหลาย ELSE เงอื่ นไข female = female + 1 ENDIF CASE score OF >= 80 : grade = “A” >= 70 : grade = “B” >= 60 : grade = “C” < 60 : grade = “F” ENDCASE 41
WHILE คาสงั่ แบบทาซา้ โดย num = 1 DO ตรวจสอบเง่ือนไขก่อน WHILE num <= 20 FOR หากเป็นจริงจะทาตามคาสงั ่ ที่อย่ใู น WHILE PRINT num แต่ถา้ เป็นเทจ็ จะทาตาม num = num + 1 คาสงั่ ที่อย่หู ลงั ENDWHILE ENDWHILE PRINT “STOP RUN” คาสงั่ แบบทาซา้ โดยทาตาม num = 0 คาสงั่ หลงั DO ก่อนแล้วจงึ DO ตรวจสอบเงอื่ นไข หากเป็น PRINT “HELLO” จริง จึงจะหลดุ ออกจากคาสงั่ number = num + 1 DO UNTIL num > 20 คาสงั่ ทาซา้ แบบกาหนดรอบ FOR i=1 to 5 PRINT i 42
ตวั อย่าง การเขียนรหสั เทียมท่ี 1 จากตวั อย่างการวิเคราะหง์ านที่ 1 สามารถเขียนรหสั เทียมได้ดงั นี้ START INPUT num1, num2 sum = num1+num2 DISPLAY sum STOP 43
ตวั อย่าง การเขียนรหสั เทียมที่ 2 44 จากตวั อยา่ งการวิเคราะหง์ านท่ี 2 สามารถเขียนรหสั เทียมได้ดงั นี้ START GET base, high tri = 0.5*base*high DISPLAY tri STOP ตวั อย่าง การเขียนรหสั เทียมที่ 3 จากตวั อย่างการวิเคราะหง์ านที่ 3 สามารถเขยี นรหสั เทียมได้ดงั นี้ START GET bc ac = bc - 543 DISPLAY ac STOP
Search
Read the Text Version
- 1 - 29
Pages: