1 / 36

บทที่ 1 

บทที่ 1 . ผังงาน ( Flowchart). หัวข้อ. . โปรแกรมภาษา ขั้นตอนการพัฒนาโปรแกรม การวิเคราะห์โจทย์ปัญหา การเขียนผังงาน ประเภทของผังงาน สัญลักษณ์ ( พื้นฐาน ) ของผังงาน รูปแบบของผังงาน. 1 . 1 โปรแกรมภาษา. โปรแกรมภาษา ใช้ในการพัฒนาโปรแกรมประยุกต์สำหรับงานเฉพาะตามที่ผู้ใช้ต้องการ

aneko
Download Presentation

บทที่ 1 

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. บทที่1 ผังงาน(Flowchart)

  2. หัวข้อ  • โปรแกรมภาษา • ขั้นตอนการพัฒนาโปรแกรม • การวิเคราะห์โจทย์ปัญหา • การเขียนผังงาน • ประเภทของผังงาน • สัญลักษณ์(พื้นฐาน)ของผังงาน • รูปแบบของผังงาน

  3. 1.1 โปรแกรมภาษา • โปรแกรมภาษา ใช้ในการพัฒนาโปรแกรมประยุกต์สำหรับงานเฉพาะตามที่ผู้ใช้ต้องการ • ประเภทของโปรแกรมภาษา 1. ภาษาระดับต่ำ (Low-Level Language) เช่นภาษาเครื่อง (Machine language) 2. ภาษาระดับกลาง(Middle-Level Language) เช่น ภาษาแอสเซมบลี (Assembly Language) 3. ภาษาระดับสูง (High-Level Language) เช่น Pascal, Fortran, C, JAVA, ...

  4. 1.1.1ภาษาเครื่อง • ภาษาเครื่อง(Machine Language) เป็นภาษาที่คอมพิวเตอร์เข้าใจ ซึ่งเขียนเป็นรหัสเลขฐาน 2 (0/1) และคำสั่งมีความเกี่ยวข้องกับอุปกรณ์ของคอมพิวเตอร์โดยตรง • แต่มนุษย์เข้าใจภาษาเครื่องได้ยาก ดังนั้นการเขียนโปรแกรมด้วยภาษาเครื่องจึงยากมาก

  5. 1.1.2ภาษาแอสเซมบลี • ภาษาแอสเซมบลี (Assembly Language) เป็นภาษาที่เขียนโดยใช้คำสั่งที่มนุษย์เข้าใจ (English-like statements) แทนการใช้รหัสเลขฐาน 2 • แต่ออกแบบมาเฉพาะสำหรับคอมพิวเตอร์แต่ละแบบ • และผู้เขียนโปรแกรมยังต้องทราบข้อมูลที่เกี่ยวข้องกับอุปกรณ์ของคอมพิวเตอร์ • ใช้แอสเซมเบอร์(Assembler)ในการแปลภาษาแอสเซมบลีให้เป็นภาษาเครื่อง

  6. 1.1.3ภาษาระดับสูง • ภาษาระดับสูง (High-Level Languages) เป็นภาษาที่มนุษย์เข้าใจ (English-like language) เช่น Basic, Pascal, C, JAVA, ... • ใช้คอมไพเลอร์(Compiler)หรือ Interpreter ในการแปลภาษาระดับสูงให้เป็นภาษาเครื่อง • Compilerแปลทั้งโปรแกรม (เช่น Pascal, C, ...) • Interpreter แปลทีละบรรทัด (เช่น Basic, ...)

  7. #include <stdio.h> #include <math.h> void main() { const float pi = 3.1415926; float radius = 2.0, area, radius_check; printf("Input: Enter radius > "); scanf("%f", &area); area = pi * radius * radius; printf("Output: radius = %f\n", radius); printf(" area = %f\n", area); } C code Compiler

  8. 1.2 ขั้นตอนการพัฒนาโปรแกรม • การพัฒนาโปรแกรม ประกอบด้วย 5 ขั้นตอน 1. กำหนดและวิเคราะห์ปัญหา(State problem & Problem analysis) 2. เขียนผังงาน(Flowchart) 3. เขียนโปรแกรม(Program Development) 4. ทดสอบและแก้ไขโปรแกรม(Testing & debugging) 5. ทำเอกสารและบำรุงรักษาโปรแกรม(Document & maintenance)

  9. Analysis Flowchart Input Program Output Test การพัฒนาโปรแกรม • สรุป 5 ขั้นตอนในการพัฒนาโปรแกรม Problem

  10. 1.3 กำหนด-วิเคราะห์ปัญหา • กำหนดขอบเขตของปัญหาให้ชัดเจนว่า จะให้คอมพิวเตอร์ทำอะไร (What?) • วิเคราะห์ปัญหา(Problem analysis) กำหนด • Input: ลักษณะของข้อมูลเข้า • Process:วิธีการประมวลผล (How?) • Output: ลักษณะของผลลัพธ์ที่ต้องการ

  11. Memory … X Y sum ตัวอย่าง 1.1 • ออกแบบโปรแกรมให้คอมพิวเตอร์ทำงานเป็น เครื่องคิดเลขอย่างง่าย โดยรับข้อมูล 2 ค่า (X,Y) และแสดงผลบวกทางจอภาพ • Problem:คำนวณผลบวกของ 2 ค่า • Problem Analysis 1. Input:รับข้อมูล (X, Y) จากคีย์บอร์ด 2. Process: คำนวณ sum = X + Y 3. Output:แสดงผลบวก (sum) ทางจอภาพ

  12. Memory … X1 X2 X3 sum mean ตัวอย่าง 1.2 • ออกแบบโปรแกรมให้คอมพิวเตอร์รับข้อมูล 3 ค่า คำนวณค่าเฉลี่ยและแสดงค่าเฉลี่ย ทางจอภาพ • Problem:คำนวณค่าเฉลี่ยของ 3 ค่า((X1+X2+X3)/3) • Problem Analysis 1. Input:รับข้อมูล (X1, X2, X3) 2. Process: คำนวณ sum = X1 + X2 + X3 mean = sum/3 3. Output:แสดงค่าเฉลี่ย (mean) ทางจอภาพ

  13. Memory … X N sum mean ตัวอย่าง 1.3 • ออกแบบโปรแกรมให้คอมพิวเตอร์รับข้อมูล N ค่า คำนวณค่าเฉลี่ยและแสดงค่าเฉลี่ย ทางจอภาพ • Problem:คำนวณค่าเฉลี่ยของ N ค่า (iN Xi/N) • Problem Analysis 1. Input:รับข้อมูล N และ X (X1,..., XN) 2. Process:loop for (i=1 to N) read X sum = sum + X end for mean = sum/N 3. Output:แสดงค่าเฉลี่ย (mean) ทางจอภาพ

  14. 1.4 การเขียนผังงาน • ผังงาน (Flowchart) เป็นแผนภาพ ที่ใช้อธิบายลำดับการทำงานของโปรแกรมเป็นขั้นตอน • ประโยชน์ของ Flowchart 1. อธิบายลำดับขั้นตอนการทำงานของโปรแกรม 2.ทำให้ตรวจสอบข้อผิดพลาดของโปรแกรมได้ง่าย 3. ทำให้ผู้อื่นสามารถศึกษาการทำงานและแก้ไข โปรแกรมได้ง่าย

  15. 1.4.1ประเภทของผังงาน • ผังงานระบบ (System Flowchart) แสดงขั้นตอนการทำงานภายในระบบงาน โดยเป็นขั้นตอนที่กล่าวไว้อย่างกว้างๆ • ผังงานโปรแกรม (Program Flowchart) • แสดงขั้นตอนของคำสั่ง • ที่ใช้ในโปรแกรม

  16. 1.4.2สัญลักษณ์(พื้นฐาน) ของผังงาน การเริ่มต้น และการสิ้นสุดการทำงาน • สัญลักษณ์พื้นฐานที่นิยมใช้ใน Flowchart ลูกศรแสดงทิศทางการทำงาน และการไหลของข้อมูล การประมวลผล หรือการคำนวณ  การรับข้อมูล หรือแสดงผล (ไม่ระบุชนิดอุปกรณ์) การแสดงผลทางจอภาพ การแสดงผลทางเครื่องพิมพ์ (เป็นเอกสาร) การตรวจสอบเงื่อนไข (เพื่อการตัดสินใจเมื่อมีทางเลือก) จุดเชื่อมต่อของผังงาน

  17. 1.4.3 รูปแบบของผังงาน • แบบลำดับ(Sequence) • แบบมีทางเลือก(Selection) • แบบทำซ้ำ(Looping)

  18. Input statement output end 1.4.3.1 ผังงานแบบลำดับ • Flowchart แบบลำดับ(Sequence) start แสดงขั้นตอนการทำงานที่เรียงลำดับ(ไม่มีการข้ามขั้น หรือย้อนกลับ)

  19. Read X,Y Memory … X Y sum = X+Y sum Print sum end ตัวอย่าง 1.4 • แสดงการออกแบบFlowchartเพื่อให้โปรแกรมทำงานเป็นเครื่องคิดเลขอย่างง่าย โดยรับข้อมูล 2 ค่า (X,Y) คำนวณ การบวก(sum) พร้อมแสดงผลบวก start

  20. check condition no yes statement(s) 1.4.3.2 ผังงานแบบมีทางเลือก • แสดงการตรวจสอบเงื่อนไขให้โปรแกรมเลือกทำอย่างใดอย่างหนึ่ง ซึ่งมี3 กรณี 1.การเลือกแบบ 1 เส้นทาง จะทำงานเฉพาะเมื่อเงื่อนไขเป็นจริงเท่านั้น

  21. Read X X >= 60 เงื่อนไข Print “Pass” Memory yes คะแนน  60 ผ่าน (Pass) คะแนน < 60 ตก (Fail) … X end ตัวอย่าง 1.5 • แสดงการออกแบบFlowchartเพื่อให้โปรแกรมรับคะแนนนักศึกษา (X) ตรวจสอบและแสดงผล ถ้าผ่าน (Pass) โดยมีเงื่อนไขดังนี้ start no

  22. check condition yes no statement 1 statement2 ผังงาน-ทางเลือก 2.การเลือกแบบ 2 เส้นทาง เมื่อเงื่อนไขเป็นจริงจะทำอย่างหนึ่ง เมื่อเงื่อนไขเป็นเท็จจะทำอีกอย่างหนึ่ง

  23. หรือ statement1 yes no statement2 yes no statement3 yes no statement n-1 check condition yes Cond#1 Cond#n-1 Cond#3 Cond#2 no 1 2 3 n statement n ผังงาน-ทางเลือก 3.การเลือกแบบหลายเส้นทาง(n) . . . statement1 statement2 statement3 statementn เมื่อเงื่อนไขเท่ากับทางเลือกใดจะทำตามทางนั้น

  24. grade = ‘P’ grade = ‘G’ yes yes Read X X > 79 X > 49 เงื่อนไข Memory คะแนน 80-100 กลุ่ม G(Good)คะแนน 50-79 กลุ่ม P (Pass)คะแนน < 50 กลุ่ม F(Fail) no … X grade = ‘F’ grade no Print grade end ตัวอย่าง 1.6 • แสดงการออกแบบFlowchartเพื่อ ให้โปรแกรมรับคะแนนนักศึกษา (X) ตรวจสอบและจัดกลุ่มตามเงื่อนไข พร้อมแสดงผลลัพธ์ start

  25. grade = ‘B’ grade = ‘D’ grade = ‘A’ grade = ‘C’ yes yes yes yes no Read X X > 79 X > 69 X > 59 X > 49 no เงื่อนไข no คะแนน 80-100 เกรด Aคะแนน 70-79 เกรด B คะแนน 60-69 เกรด C คะแนน 50-59 เกรด D คะแนน < 50 เกรด F grade = ‘F’ no Print grade end start ตัวอย่าง 1.7 • แสดงการออกแบบFlowchartเพื่อ ให้โปรแกรมรับคะแนนนักศึกษา (X) ตรวจสอบและตัดเกรดตามเงื่อนไข พร้อมแสดงผลทางลัพธ์

  26. check condition exit loop no yes statement(s) 1.4.3.3 ผังงานแบบทำซ้ำ • การทำซ้ำ(Looping) แบ่งเป็น 3 กรณี • 1.การทำซ้ำเมื่อเงื่อนไขเป็นจริง ตรวจสอบเงื่อนไขก่อน จะทำงาน (Statement) ซ้ำเมื่อเงื่อนไขเป็นจริง (ออกจากทำงานซ้ำเมื่อเงื่อนไขเป็นเท็จ)

  27. 1 1 1 Memory … I I = 1 while I<=100 no yes I = I+1 end ตัวอย่าง 1.8 • แสดงการออกแบบFlowchartเพื่อให้โปรแกรมกำหนดและคำนวณค่าที่เพิ่มทีละ 1จาก 1 – 100 • กำหนดให้ I = 1, 2, 3, ..., 99, 100 1 100 start ค่าเริ่มต้น I=1 ค่าสุดท้าย I=100 ค่าเพิ่ม I=I+1 Print I

  28. I = 1 Memory … I no SUM while I<=100 Print SUM yes end ตัวอย่าง 1.9 • แสดงการออกแบบFlowchartเพื่อให้โปรแกรมคำนวณ การบวก 1+2+...+100 • กำหนดให้ I = 1, 2, 3, ..., 100 คำนวณ SUM = 1+2+3+...+100 start ค่าเริ่มต้น I=1 ค่าสุดท้าย I=100 SUM = 0 ค่าเพิ่ม I+1 ค่า SUMเริ่มต้น SUM=0 SUM = SUM+I ค่า SUMเพิ่ม SUM+I I = I+1

  29. statement(s) check condition exit loop no yes ผังงาน-ทำซ้ำ 2.การทำซ้ำในขณะเงื่อนไขเป็นจริง ทำงาน (Statement) ก่อน จึงทำการตรวจเงื่อนไข และทำซ้ำถ้าเงื่อนไขเป็นจริง (จนเมื่อเป็นเท็จจึงออกจากทำงานซ้ำ)

  30. for i=1 to N exit loop i > N i  N statement(s) ผังงาน-ทำซ้ำ 3.การทำซ้ำตามจำนวนที่ระบุ ทำงานตามรอบที่กำหนด โดยเริ่มจากรอบเริ่มต้น (i=1) ไปยังรอบสุดท้าย (i=N) (ปกติการนับรอบจะเพิ่มที่ละ 1 ค่า (i = i+1)) (ออกจากทำงานซ้ำเมื่อ i > N)

  31. SUM = 0 Memory … I no SUM for I=1 to 100 Print SUM yes end ตัวอย่าง 1.10 • แสดงการออกแบบFlowchartเพื่อให้โปรแกรมคำนวณ การบวก 1+2+...+100 • กำหนดให้ I = 1, 2, 3, ..., 100 คำนวณ SUM = 1+2+3+...+100 start SUM = SUM+I

  32. MUL = 1 Memory … I no MUL for I=1 to 10 Print MUL yes end ตัวอย่าง 1.11 • แสดงการออกแบบFlowchartเพื่อให้โปรแกรมคำนวณ การคูณ 1x2x...x10 • กำหนดให้ I = 1, 2, 3, ..., 10 คำนวณ MUL = 1x2x3x...x10 start MUL = MULxI

  33. T = 2 Memory … T i i > 12 R i <=12 R = i x T Print i, T, R end ตัวอย่าง 1.12 • แสดงการออกแบบFlowchartเพื่อให้โปรแกรมคำนวณตาราง สูตรคูณแม่ 2 • กำหนดให้ T = 2, i=1, 2, …, 12, และ R = i x T start i x T = R 1 x 2 = 2 2 x 2 = 4 3 x 2 = 6 4 x 2 = 8 5 x 2 = 10 6 x 2 = 12 7 x 2 = 14 8 x 2 = 16 9 x 2 = 18 10 x 2 = 20 11 x 2 = 22 12 x 2 = 24 for i=1 to 12

  34. sum = 0 Read X Read N Memory … N X i > N for i=1 to N sum=sum+X mean = sum/N mean sum i  N Print mean end ตัวอย่าง 1.13 • แสดงการออกแบบFlowchartให้โปรแกรมรับ ค่า N (จำนวนข้อมูล) และข้อมูลแต่ละค่า X (X1, X2, ..., XN) คำนวณค่าเฉลี่ย (iN Xi/N) และแสดงค่าเฉลี่ย start sum = 0 N = _ 5 60 x1 = _ 60 x2 = _ 50 110 x3 = _ 25 135 x4 = _ 30 165 x5 = _ 80 245 mean = 49

More Related