หนว่ ยที่ 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ 2.1 ความรู้พนื้ ฐานเก่ียวกับกระบวนการและขัน้ ตอนวธิ ีทาง คอมพวิ เตอร์ เพอ่ื ชว่ ยให้การศกึ ษาการปฏิบตั ิงาน และการเขียนโปรแกรมมี ประสทิ ธิภาพยิ่งขนึ ้ ทกุ ภาษาทางคอมพิวเตอร์จะต้องรู้ถงึ หลกั การ เบือ้ งต้นของ Algorithm และ Flowchart
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ 2.2 เหตุผลในการศกึ ษาการะบวนการ และขนั้ ตอนวิธีทาง คอมพวิ เตอร์ 1. เพอ่ื เพิ่มความสามารถทาให้เรามีความคดิ ท่ีเดน่ ชดั ขนึ ้ 2. เพอื่ เป็ นพนื ้ ฐานให้เราเลอื กใช้ภาษาตรงกบั งานที่ทา 3. เพ่อื เพิม่ ความสามารถทาให้เรียนภาษาใหมไ่ ด้ง่าย 4. ทาให้เข้าใจถงึ ความเป็ นมาก่อนจะออกมาเป็ นผลลพั ธ์
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ 2.3 ประสทิ ธิภาพในกระบวนการทางานและขนั้ ตอนวิธีทาง คอมพวิ เตอร์ของโปรแกรมภาษาท่ดี ี 1. ความชดั เจน ความง่าย และแนวคดิ ท่ีรวมเป็ นหนว่ ยของภาษา 2. ความชดั เจนในรูปแบบโปรแกรม 3. ความเป็ นธรรมชาติสาหรับการประยกุ ต์ใช้ 4. ความถกู ต้องของข้อมลู และการประมวลผล
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ 2.4 กระบวนการและขนั้ ตอนวธิ ีทางคอมพวิ เตอร์ 1. การศกึ ษาปัญหาและความเป็ นไปได้ (Feasibility Study) 2. การวเิ คราะห์งาน (Job Analysis) การวเิ คราะห์ผลลพั ธ์ การวิเคราะห์ข้อมลู นาเข้า การกาหนดสญั ลกั ษณ์ การวเิ คราะห์วธิ ีการ
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ 2.4 กระบวนการและขนั้ ตอนวธิ ีทางคอมพวิ เตอร์ 3. ออกแบบโปรแกรม (Program Design) 4. การเขียนโปรแกรม (Programing) 5. การทดสอบและแก้ไขโปรแกรม (Program Testing and Maintenance)
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ ตัวอย่าง ต้องการป้ อนข้อมลู เป็นปี ค.ศ. แล้วต้องการแสดงผลเป็น ปี พ.ศ. เรามวี ธิ ีแก้ปัญหาอยา่ งไร 1. การศกึ ษาปัญหา:แปลงปี ค.ศ. เป็ นปี พ.ศ. 2. วิเคราะห์ปัญหา: Input: เลขจานวนเตม็ 4 หลกั แทนปี ค.ศ. Output: ตวั เลขจานวนเตม็ แทนปี พ.ศ. วิธีการคือนาปี ค.ศ. บวกเข้ากบั 543
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ 3. ออกแบบโปรแกรม:โดยการสร้างอลั กอริทมึ - อา่ นคา่ ปี ค.ศ. จากท่ีป้ อน - แปลงปี ค.ศ. เป็ น พ.ศ. (บวกด้วย 543) - แสดงผลลพั ธ์ท่ีได้เป็ นปี พ.ศ.
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ การจาลองความคิดจากความต้องการ - ออกแบบตวั แปร n = ตวั เลขแทน ปี ค.ศ. - ออกแบบตวั แปร y = ตวั เลขแทน ปี พ.ศ. - ออกแบบข้อมลู นาเข้า (input) คอื n - ออกแบบการประมวลผล (process) ได้จาก y=n+543 - ออกแบบผลลพั ธ์ (output) แสดงผล y - ออกแบบผงั งาน
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ - ออกแบบผงั งาน (Flowchart) เร่ิม Read n Y = n + 543 Display y จบ
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ 4. เขียนโปรแกรม 5. ทดสอบโปรแกรม
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ 2.5 เคร่ืองมอื ที่ใช้ในการออกแบบโปรแกรมและอลั กอริทมึ 1. ผังงาน (Flowchart) ก) หลกั และกระบวนการเขียนผงั งานทดี่ ี 1. วิเคราะห์และสงั เคราะห์ข้อมลู เลอื กสญั ลกั ษณ์ท่ีเหมาะสม 2. การออกแบบทิศทางเร่ิมจากบน-ลงลา่ ง 3. ภายในผงั งานเดยี วกนั เร่ิมและสนิ ้ สดุ เพียงทางเดยี ว 4. ควรเขียนหวั ลกู ศรบอกทิศทางเสมอ 5. ทกุ ผงั งานควรมีทางเข้า-ออกเพียงทางเดียว
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ 2.5 เคร่ืองมือท่ีใช้ในการออกแบบโปรแกรมและอลั กอริทมึ 1. ผังงาน (Flowchart) ก) หลกั และกระบวนการเขียนผงั งานทีด่ ี 6. ไมป่ ลอ่ ยเส้นทางการไหลให้วา่ ง 7. เขียนคาอธิบายสนั้ ชดั เจน กระชบั ไมก่ ากวม 8. ข้อความที่เขียนต้องบรรจไุ ว้ในสญั ลกั ษณ์เทา่ นนั้ 9. กรณีเขียนผงั งานไมจ่ บในหน้าเดียวต้องใช้สญั ลกั ษณ์เชือ่ มตอ่
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ 2.5 เครื่องมือที่ใช้ในการออกแบบโปรแกรมและอลั กอริทมึ 1. ผังงาน (Flowchart) ข) ประโยชน์ของการใช้ผงั งาน 1. ใช้แสดงความคิดเหน็ เป็ นภาพ 2. เป็ นส่ือประสานความคิดระหวา่ งนกั วเิ คราะห์กบั ผ้พู ฒั นาฯ 3. แก้ไขข้อผิดพลาดปรับปรุงพฒั นาได้ง่าย
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ 2.5 เคร่ืองมือท่ีใช้ในการออกแบบโปรแกรมและอลั กอริทมึ 1. ผังงาน (Flowchart) ข) ประเภทของผงั งาน เป็ น 3 โครงสร้าง 1. ผงั งานแบบลาดบั (Sequential) 2. ผงั งานแบบทางเลอื ก (Selection, Discision) 3. ผงั งานแบบทาซา้ (Iteration)
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ 2.5 เครื่องมอื ที่ใช้ในการออกแบบโปรแกรมและอลั กอริทมึ 2. อัลกอริทมึ /ขนั้ ตอนวธิ ี (Algorithm) ก) เทคนิคในการเขียนอลั กอริทมึ 1. วเิ คราะห์ ออกแบบ เพื่อกาหนดขนั้ ตอนการทางาน 2. เขียนอลั กอริทมึ ตามกระบวนการวเิ คราะห์ 3. ต้องมีจดุ เริ่มต้นและสนิ ้ สดุ เพียงทางเดยี ว
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ 2.5 เครื่องมอื ท่ีใช้ในการออกแบบโปรแกรมและอลั กอริทมึ 2. อัลกอริทมึ /ขนั้ ตอนวธิ ี (Algorithm) ข) หลกั ในการเขียน อลั กอริทมึ ประกอบด้วยโครงสร้างพืน้ ฐาน 3 โครงสร้ าง 1. โครงสร้างแบบลาดบั 2. โครงสร้างแบบเง่ือนไขการตดั สนิ ใจ 3. โครงสร้างแบบวงจรปิ ดหรือแบบวนซา้
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ 2.5 เครื่องมือที่ใช้ในการออกแบบโปรแกรมและอลั กอริทมึ 2. คาส่ังเทยี ม (Pseudo code) ก) ประโยชน์ของคาสง่ั เทียม 1. เป็ นเครื่องมอื ในการกาหนดโครงร่างในการเขียนโปรแกรม 2. เป็ นต้นแบบในการทบทวน ปรับปรุงแก้ไข 3. เป็ นตวั กาหนดงานเขียนโปรแกรมให้กบั โปรแกรมเมอร์ 4. เป็ นเครื่องมอื ประกอบในการออกแบบพฒั นา
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ 2.6 สิ่งท่ีจาเป็ นในกระบวนวิธีทางคอมพิวเตอร์ 1. การนาเข้าข้อมลู เชน่ Input A, B Get A, B Read A, B
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ 2.6 สิง่ ที่จาเป็ นในกระบวนวิธีทางคอมพิวเตอร์ 2. การประมวลผล เชน่ A=0 Add = A + B Multi = A x B Add = A + B B=0 Multi = A x B Add = 0 Multi = 0
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ 2.6 สิ่งที่จาเป็ นในกระบวนวิธีทางคอมพิวเตอร์ 1. การตดั สินใจ เชน่ A >= 100
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ 2.6 สิง่ ที่จาเป็ นในกระบวนวธิ ีทางคอมพวิ เตอร์ 3. การแสดงผลลัพธ์ Display Symbol Output Symbol List A,B Write A,B Display A,B Printer Symbol พิมพ์ใบสง่ั ซอื ้
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ 2.7 การเขียน Algorithm และ Flowchart โดยทวั่ ไปจะมี 3 แบบคอื ก. โครงสร้างควบคมุ แบบเรียงลาดบั (Sequential Structure) ตวั อย่าง 2.1 ตัวอยา่ งท่ี 2.2
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ 2.7 การเขียน Algorithm และ Flowchart ข. โครงสร้างควบคุมแบบเลือกทา (Selection Structure) เป็นโครงสร้างที่มีเง่ือนไขและการตรวจสอบคา่ ตวั แปรแล้ว ประมวลผลตามเง่ือนไขท่ีกาหนดวา่ เป็นไปตามเง่ือนไขหรือไม่ ซง่ึ การ ตรวจสอบจะเป็นการตรวจสอบทางตรรกะ เพือ่ หาคา่ จริงหรือเทจ็ อยา่ งใด อย่างหนงึ่ ซงึ่ สญั ลกั ษณ์ท่ีใช้ >, < , >=, <=, =, <>, และ Boolean:True-false
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ 2.7 การเขียน Algorithm และ Flowchart ข. โครงสร้างควบคุมแบบเลือกทา (Selection Structure) ทางเข้า TF เงื่อนไขการตดั สนิ ใจ (D) เป็ นจริงตามเงื่อนไขทา A ไมเ่ ป็ นจริงตามเง่ือนไขทา B ทางออก
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ ก. โครงสร้างควบคุมแบบเลือกทา (Selection Structure) ตวั อยา่ งท่ี 2.3 ตัวอย่างที่ 2.4
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ 2.7 การเขียน Algorithm และ Flowchart ค. โครงสร้างวงจรปิ ด หรือวนซา้ (Iteration Structure) เป็นโครงสร้างท่ีกาหนดให้มีการวนทาคาสงั่ ชดุ หน่ึงๆซา้ ตราบเท่าท่ีเงื่อนไขที่ใช้ ควบคมุ การวนซา้ เป็นเท็จได้กรณีใดกรณีหนงึ่ เทา่ นนั้ เราเรียกคา่ ความจริงลกั ษณะนีว้ า่ Boolean (True, False) ทางเข้า เง่ือนไข จริง คาสง่ั เท็จ ทางออก
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ ค. โครงสร้างวงจรปิ ด หรือวซา้ (Iteration Structure) Start อา่ นระเบียนข้อมลู No A Mod 2 = 0 End ทาการประมวลผลตามคาสง่ั อา่ น ระเบียนข้อมลู
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ ค. โครงสร้างวงจรปิ ด หรือวนซา้ (Iteration Structure) ตัวอยา่ งที่ 2.5 ตวั อยา่ งท่ี 2.6-2.7
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ 2.8 การเขยี นผังงาน (Flowchart) ท่ไี ม่ถูกต้อง 1. ไมใ่ ส่หวั ลกู ศรบอกทศิ ทางการไหลของงาน 2. ไม่ใสผ่ ลการตัดสินใจในการตรวจสอบว่าเป็นจรงิ หรือเท็จ (Yes, No) 3. ปล่อยผงั งานเอาไวเ้ ฉยๆโดยไมเ่ ชอ่ื มต่อ 4. ทิศทางการไหลของงานไมเ่ ชอ่ื มถงึ กนั (สังเกตหุ ัวลูกศรไม่ เชอื่ มตดิ ผังงาน)
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ 2.9 การจดั สรรพนื้ ท่หี น่วยความจาของนักเขียนโปรแกรม พ้ืนทหี่ นว่ ยความจาท่ีเราใช้เกบ็ ข้อมูล จะมโี ครงสรา้ งตา่ งกนั ขึ้นอยู่กบั ภาษาและผเู้ ขียนโปรแกรมจะเลอื กใช้โครงสรางแบบใด ขึ้นอยู่กับความเหมาะสมของแตล่ ะระบบงาน เชน่ โครงสรา้ งแบบ ลสิ ต์ (Lists) อาเรย์ (Array) คิว (Queue) ทรี (Tree) สแตก (Stack) โดย lists จะเปน็ พน้ื ฐานหนว่ ยความจาทง่ี ่ายทส่ี ดุ
หน่วยท่ี 2 กระบวนการและขัน้ ตอนวธิ ีทางคอมพวิ เตอร์ 2.9 การจดั สรรพนื้ ท่หี น่วยความจาของนักเขียนโปรแกรม การเขยี นโปรแกรมโครงสร้างทดี่ ี ต้องมีความชดั เจน อา่ น เขา้ ใจง่าย สามารถทดสอบโปรแกรมได้รวดเรว็ มีวิธกี ารเขียน โปรแกรมท่ีแน่นอน สามารถบารุงรักษาได้ สามารถแกไ้ ขพัฒนาได้ งา่ ย การเขยี นโปรแกรมภาษาใดก็ตอ้ งตอ้ งพจิ ารณาขอ้ จากดั 2 กรณี คอื ใช้เนือ้ ท่ีหน่วยความจามากน้อยแคไ่ หน และโปรแกรมน้ันใช้ อัลกอรทิ ึมท่ีเร็วเพยี งใด
THE END…….
Search
Read the Text Version
- 1 - 33
Pages: