1 / 43

บทที่ 6 การเขียนผังงาน (Flow Chart) และซูโดโค้ด (Pseudo Code)

บทที่ 6 การเขียนผังงาน (Flow Chart) และซูโดโค้ด (Pseudo Code). อ.เอกบดินทร์ เกตุขาว ( Eakbodin4_7@hotmail.com) สาขาวิชาคอมพิวเตอร์ธุรกิจ คณะวิทยาการจัดการ มหาวิทยาลัยราช ภัฏจันทร เกษม. วัตถุประสงค์. นักศึกษา สามารถ เขียนซูโดโค้ดได้

Download Presentation

บทที่ 6 การเขียนผังงาน (Flow Chart) และซูโดโค้ด (Pseudo Code)

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. บทที่6การเขียนผังงาน (Flow Chart)และซูโดโค้ด (Pseudo Code) อ.เอกบดินทร์ เกตุขาว (Eakbodin4_7@hotmail.com) สาขาวิชาคอมพิวเตอร์ธุรกิจ คณะวิทยาการจัดการ มหาวิทยาลัยราชภัฏจันทรเกษม

  2. วัตถุประสงค์ • นักศึกษาสามารถเขียนซูโดโค้ดได้ • นักศึกษาเข้าใจถึงความหมายของสัญลักษณ์ต่างๆที่ใช้ในผังงานและสามารถนำไปใช้ได้อย่างถูกต้อง • นักศึกษาสามารถเขียนผังงานแบบ if-else ได้อย่างถูกต้อง • นักศึกษาสามารถเขียนผังงานแบบวนซ้ำได้ • นักศึกษาสามารถอ่านและเข้าใจผังงานที่มีให้ได้อย่างถูกต้อง

  3. พัฒนาอัลกอริทึม • อัลกอริทึม (Algorithm) หมายถึง ขั้นตอนการทำงานที่เป็นลำดับ • คอมพิวเตอร์ทำงานทีละคำสั่งตามลำดับ • โปรแกรมคอมพิวเตอร์จะประกอบด้วยคำสั่งจำนวนมากที่ควบคุมให้คอมพิวเตอร์ทำงานไปตามขั้นตอนที่กำหนดไว้

  4. พัฒนาอัลกอริทึม • อัลกอริทึมจะช่วยอธิบายลำดับขั้นตอนที่สอดคล้องกับการทำงานของโปรแกรม • อาจใช้เครื่องมือต่างๆ ช่วยในการแสดงอัลกอริทึม เช่น • ผังงาน (FLOW CHART) • ซูโดโค้ด (PSEUDOCODE)

  5. การเขียนผังงานและซูโดโค้ดการเขียนผังงานและซูโดโค้ด • อยู่ในขั้นตอนการออกแบบโปรแกรมโดยคิดว่า • อะไรเป็นข้อมูลเข้า (Input) • อะไรเป็นข้อมูลออก (Output) • วิธีการประมวลผลที่จะนำมาซึ่งคำตอบ (Process) • ตัวอย่างเช่นต้องการหาค่าเฉลี่ยของคะแนนวิชา Introduction to Computer ของนักศึกษาจำนวน50 คน • INPUT:คะแนนของนักศึกษาแต่ละคน(จำนวน 50 คน) • PROCESS :ผลรวมของคะแนนนักศึกษาทุกคน/50 • OUTPUT: AVERAGE = ……

  6. การเขียนผังงานและซูโดโค้ดการเขียนผังงานและซูโดโค้ด • Pseudo Code • การอธิบายขั้นตอนการประมวลผลโดยใช้ “วลีภาษาอังกฤษ” ในการแสดง อธิบาย หรือกำหนดลำดับการทำงาน • Flow Chart • การอธิบายขั้นตอนการประมวลผลโดย ใช้สัญลักษณ์ ในการแสดงความหมาย หรือกำหนดลำดับการทำงาน

  7. ตัวอย่างคำสั่งซูโดโค้ดตัวอย่างคำสั่งซูโดโค้ด

  8. การเขียนซูโดโค้ด (Pseudocode) (1/2) • การปฏิบัติการของคอมพิวเตอร์แบ่งออกเป็น 6 แบบดังนี้ 1. คอมพิวเตอร์สามารถกำหนดค่าให้กับตัวเก็บข้อมูล 1.1 กำหนดค่าเริ่มต้น คำที่ใช้ Initializeหรือ Set เช่น Set x = 500 1.2 กำหนดค่าที่เกิดจากการประมวลผลไว้ที่ตัวเก็บ จะใช้เครื่องหมาย = เช่น x = 500 + 1 หรือ y = 100 หรือ z = y 2. รับข้อมูล คำที่ใช้ Read หรือ Get เช่น Read x หรือ Get y 3. ผลิตข้อมูลออก คำที่ใช้ Print ,Write ,Display , Outputเช่น Print “Hello Tony Jar” หรือ Write z

  9. การเขียนซูโดโค้ด(Pseudocode) (2/2) สมมุติให้ Set x = -1 Set y = 1 จะพิมพ์อะไรออกมา บ้าง?? 4. ปฏิบัติการทางคณิตศาสตร์+ , - , * , ( ) เช่น C = (F-32) * 5/9 5. เปรียบเทียบและทำการเลือก คำที่ใช้ IF, THEN, ELSE เช่น IF(x > y)THEN print “x is grater than y” ELSE print “x is less than y” END IF IF(x >0)THEN print “This is positive number” ELSE print “This is negative number” END IF

  10. ตัวอย่างซูโดโค้ด สมมุติให้ x = 1,2,3 MEAN จะมีค่าเท่าไร จะพิมพ์อะไรออกมา บ้าง?? FIND AVERAGE OF X • Set TOTAL=0, COUNT=1 • READ X • IF (COUNT <= 3) DO 3.1 3.1TOTAL = TOTAL + X 3.2 COUNT = COUNT +1 • IF (COUNT > 3) DO 5 • MEAN = TOTAL / COUNT • WRITE MEAN การหาค่าเฉลี่ยของตัวเลขที่รับเข้ามาทั้งหมด 3 ตัว

  11. ตัวอย่างการวิเคราะห์งานและออกแบบโปรแกรมตัวอย่างการวิเคราะห์งานและออกแบบโปรแกรม ตัวอย่างที่ 1 - ต้องการหาพื้นที่ของวงกลม 1. สิ่งที่ต้องการจากระบบ => พื้นที่วงกลม 2. รูปแบบผลลัพธ์ => The area of circle is ….... 3. ข้อมูลเข้า => รัศมีวงกลม 4. ตัวแปร => รัศมี (r)เป็นตัวเลขจำนวนเต็มหรือทศนิยมก็ได้ (ตัวแปร r อาจเป็นชื่ออื่นได้ เช่น radius หรือ R ) 5. วิธีการประมวลผล=> พื้นที่วงกลม(area) = (22/7)*r*r

  12. ตัวอย่างที่ 1 - ต้องการหาพื้นที่ของวงกลม(ต่อ) ตัวอย่างการวิเคราะห์งานและออกแบบโปรแกรม Programdesign -- วิธีการประมวลผล 5.1) รับข้อมูล r 5.2) ประมวลผล area = (22/7)*r*r 5.3) พิมพ์ “The area of circle is ”, area 5.4) จบการทำงาน

  13. แบบฝึกหัดเขียนซูโดโค้ดแบบฝึกหัดเขียนซูโดโค้ด • จากตัวอย่างที่ 1 จงเขียนซูโดโค้ดหาพื้นที่วงกลม • เฉลยตัวอย่างที่ 1 1. Read r 2. Set area = (22/7) * r * r 3. Write “The area of circle is ”, area

  14. แบบฝึกหัดซูโดโค้ด • ให้เขียนซูโดโค้ดเพื่อทำการหาค่าเฉลี่ยของเลข 1 ถึง 10 • ให้เขียนซูโดโค้ดเพื่อทำการหาค่าเฉลี่ยของเลขกี่จำนวนก็ได้ที่ผู้ใช้ input เข้ามา และหยุดรับข้อมูลเมื่อผู้ใช้ใส่เลข 0

  15. ผังงานโปรแกรม (Program Flowchart) (1) • ผังงาน (Flowchart) คือ แผนภาพที่แสดงลำดับขึ้นตอนของการทำงาน โดยใช้ลูกศรและสัญลักษณ์แบบต่างๆ เพื่อทำให้ง่ายต่อการทำความเข้าใจในการทำงานของโปรแกรม • หลักเกณฑ์ในการเขียนผังงาน 1. ทิศทางของลูกศรในผังงาน ควรจะมีทิศทางจากบนลงล่าง หรือจากซ้ายไปขวาเสมอ 2. พยายามหลีกเลี่ยงการเขียนลูกศรที่ทำให้เกิดจุดตัด เพราะจะทำให้ผังงานอ่านและทำความเข้าใจได้ยาก 3. เขียนข้อความให้สั้นกระทัดรัดและได้ใจความ

  16. แสดงถึงจุดเริ่มต้นหรือจุดสิ้นสุดการทำงานแสดงถึงจุดเริ่มต้นหรือจุดสิ้นสุดการทำงาน Start - แสดงถึงจุดเริ่มต้นการทำงาน Stop - แสดงถึงจุดสิ้นสุดการทำงาน ผังงาน (Flow chart)

  17. Process - แสดงถึงการประมวลผล ผังงาน (Flow chart) ตัวอย่าง นำ 5 คูณ hours ผลลัพธ์เก็บไว้ที่ pay pay=hours*5 ให้ตัวแปร m มีค่าเป็น 0 m = 0 x= 5 y=10 x = x+y

  18. แสดงถึงการรับหรือแสดงผลข้อมูล–ไม่ระบุสื่อแสดงถึงการรับหรือแสดงผลข้อมูล–ไม่ระบุสื่อ ผังงาน (Flow chart) Read X แสดงถึงการรับข้อมูล (Input)-ไม่ระบุสื่อ Write Sum แสดงถึงการแสดงผลข้อมูล (Output)-ไม่ระบุสื่อ

  19. ผังงาน (Flow chart) • การรับข้อมูลเข้าทางแป้นพิมพ์ แสดงถึงการรับข้อมูลสำหรับ x ทางคีย์บอร์ด x แสดงถึงการรับข้อมูลสำหรับ A, B ทางคีย์บอร์ด

  20. ผังงาน (Flow chart) • การแสดงผลข้อมูลออกทางจอภาพ • การแสดงผลข้อมูลออกทางเครื่องพิมพ์ x,y x,y

  21. ผังงาน (Flow chart) สัญลักษณ์สำหรับการเขียนผังงาน • การติดต่อกับอุปกรณ์ที่เป็นการเข้าถึงข้อมูลแบบลำดับ(sequential access )เช่น เทปแม่เหล็ก • การติดต่อกับอุปกรณ์ที่เป็นการเข้าถึงข้อมูลแบบตรง(direct or random access) เช่น ฮาร์ดดิสก์,CD

  22. Yes No Hours <= 40 Pay=Hours*200 Pay=Hours*100 ผังงาน (Flow chart) Decision – แสดงถึงการเลือก/ตัดสินใจ /เงื่อนไขการตัดสินใจ

  23. ผังงาน (Flow chart) Direction–แสดงถึงทิศทางการทำงานโดยทั่วไป ลูกศรจะมีทิศทางจาก บนลงล่าง และ จากซ้ายไปขวา Onpage Connector–แสดงถึงจุดเชื่อมต่อที่อยู่ภายในหน้าเดียวกัน A B Offpage Connector–แสดงถึงจุดเชื่อมต่อกับเอกสารหน้าอื่น 2

  24. A B ผังงาน (Flow chart) Onpage Connector

  25. Start 2 Stop 2 ผังงาน (Flow chart) Offpage Connector

  26. ลักษณะการเขียนผังงาน • ทุกผังงานต้องมีจุดเริ่มต้นและจุดสิ้นสุดเพียงอย่างละหนึ่งแห่งเท่านั้น • ทุกสัญลักษณ์ของผังงานต้องมีลูกศรชี้ทิศทางเข้า และลูกศรชี้ทิศทางออกอย่างละหนึ่งลูกศร ยกเว้นสัญลักษณ์จุดเริ่มต้น จุดสิ้นสุด การตัดสินใจ และ จุดต่อ • สัญลักษณ์จุดเริ่มต้นมีเฉพาะลูกศรชี้ทิศทางออก • สัญลักษณ์จุดสิ้นสุดมีเฉพาะลูกศรชี้ทิศทางเข้า • สัญลักษณ์การตัดสินใจมีลูกศรชี้ทิศทางเข้า 1 ทิศทาง มีลูกศรชี้ทิศทางออก 2 ทิศทางหรือมากกว่า

  27. m 0 ลักษณะการเขียนผังงาน • ทิศทางของลำดับขั้นตอนการทำงาน นิยมเขียนจากบนลงล่างหรือจากซ้ายไปขวา • เส้นของลูกศรที่ใช้บอกทิศทางของลำดับขั้นตอนวิธีการทำงาน ไม่ควรเขียนตัดกันหรือทับกัน • ไม่ควรเขียนเส้นของลูกศรเพื่อทำการเชื่อมโยงลำดับขั้นตอนที่อยู่ห่างกันมาก หากจำเป็นควรใช้สัญลักษณ์จุดต่อแทน • การเขียนผังงานส่วนของการกำหนดค่า หรือการคำนวณค่า นิยมใช้เครื่อง หมายลูกศร () แทนการใช้เครื่องหมายเท่ากับ แต่ใช้เท่ากับก็ไม่ผิด m = 0

  28. START TOTAL= 0 COUNT=0 READ X YES MEAN = TOTAL/COUNT END OF DATA NO TOTAL= TOTAL + X WRITE MEAN COUNT =COUNT+1 STOP WRITE X READ X ตัวอย่างผังงาน

  29. เอกสารอ้างอิง • โลกของคอมพิวเตอร์ สารสนเทศ และอินเทอร์เน็ต โดย ผศ. วาสนา สุขกระสานติ • เทคโนโลยีคอมพิวเตอร์และสารสนเทศ โดย ผศ. ลานนา ดวงสิงห์ • ความรู้ทั่วไปเกี่ยวกับคอมพิวเตอร์ รศ. ประศาสตร์ บุญสนอง

  30. START Read r • area = 22/7*r*r Write r, area STOP แบบฝึกหัดเขียนผังงาน • จากตัวอย่างที่ 1 จงเขียนผังงานของการหาพื้นที่วงกลม

  31. แบบฝึกหัดผังงานและซูโดโค้ดแบบฝึกหัดผังงานและซูโดโค้ด • ตัวอย่างที่ 1 จงเขียนซูโดโค้ดและผังงานเพื่อคำนวณหาผลรวมของเลข 5 ถึง 20 1. สิ่งที่ต้องการจากระบบ = 2. รูปแบบผลลัพธ์ = 3. ข้อมูลเข้า = 4. ตัวแปร= 5. วิธีการประมวลผล =

  32. แบบฝึกหัดผังงานและซูโดโค้ดแบบฝึกหัดผังงานและซูโดโค้ด • ตัวอย่างที่ 2 จงเขียนซูโดโค้ดและผังงานเพื่อ คำนวณหาความยาวของที่ดินแปลงหนึ่งซึ่งมีพื้นที่ 120 ตารางวา และกว้าง 10 วา 1. สิ่งที่ต้องการจากระบบ = 2. รูปแบบผลลัพธ์ = 3. ข้อมูลเข้า = 4. ตัวแปร= 5. วิธีการประมวลผล =

  33. แบบฝึกหัดผังงานและซูโดโค้ดแบบฝึกหัดผังงานและซูโดโค้ด • ตัวอย่างที่ 3 จงเขียนซูโดโค้ดและผังงานเพื่อรับข้อมูลราคาสินค้าต่อหนึ่งชิ้น และจำนวนชิ้นที่ซื้อสินค้านั้น โดยมีเงื่อนไข คือ • ถ้าซื้อน้อยกว่า 6 ชิ้น ลดราคา 10% • ถ้าซื้อตั้งแต่ 6 ชิ้น ขึ้นไป ลดราคา 15% แล้วพิมพ์ราคาสินค้ารวมออกมาแสดงบนหน้าจอ 1. สิ่งที่ต้องการจากระบบ = 2. รูปแบบผลลัพธ์ = 3. ข้อมูลเข้า = 4. ตัวแปร= 5. วิธีการประมวลผล =

  34. แบบฝึกหัดผังงานและซูโดโค้ดแบบฝึกหัดผังงานและซูโดโค้ด • ตัวอย่างที่ 4 จงเขียนซูโดโค้ดและผังงานเพื่อรับข้อมูลตัวเลข 3 จำนวน และพิมพ์เฉพาะเลขที่มีค่าน้อยกว่า 0 ออกมาแสดงบนจอภาพ 1. สิ่งที่ต้องการจากระบบ = 2. รูปแบบผลลัพธ์ = 3. ข้อมูลเข้า = 4. ตัวแปร= 5. วิธีการประมวลผล =

  35. แบบฝึกหัดผังงานและซูโดโค้ดแบบฝึกหัดผังงานและซูโดโค้ด • ตัวอย่างที่ 5 จงเขียนซูโดโค้ดและผังงานเพื่อรับข้อมูลรหัสสินค้าชุดหนึ่ง ไม่ระบุจำนวน แล้วคำนวณหาว่ารับสินค้ามากี่รายการ หากต้องการหยุด ให้ใส่รหัสสินค้าเป็น “xxxx” 1. สิ่งที่ต้องการจากระบบ = 2. รูปแบบผลลัพธ์ = 3. ข้อมูลเข้า = 4. ตัวแปร= 5. วิธีการประมวลผล =

  36. แบบฝึกหัดผังงานและซูโดโค้ดแบบฝึกหัดผังงานและซูโดโค้ด • ตัวอย่างที่ 6 จงเขียนซูโดโค้ดและผังงานเพื่อรับข้อมูลปริมาณน้ำที่มีอยู่ (ลิตร) ถ้าต้องการแบ่งน้ำนั้นใส่ขวด ขวดละ 800 มิลลิลิตร จงเขียนโปรแกรมคำนวณว่าจะเติมน้ำได้เต็มขวดจำนวนกี่ขวด และเหลือน้ำปริมาณเท่าใด 1. สิ่งที่ต้องการจากระบบ = 2. รูปแบบผลลัพธ์ = 3. ข้อมูลเข้า = 4. ตัวแปร= 5. วิธีการประมวลผล =

  37. แบบฝึกหัดผังงานและซูโดโค้ดแบบฝึกหัดผังงานและซูโดโค้ด • ตัวอย่างที่ 7 จงเขียนซูโดโค้ด และผังงานสำหรับอ่านค่าคะแนนสอบวิชาคณิตศาสตร์ของนักเรียน 10 คน ซึ่งมีคะแนนเต็ม 50 คะแนน แล้วคำนวณหาค่าเฉลี่ยของคะแนนสอบนั้น ๆ พร้อมทั้งนับด้วยว่ามีนักเรียนสอบตก (ได้คะแนนน้อยกว่า 25 คะแนน) กี่คน 1. สิ่งที่ต้องการจากระบบ = 2. รูปแบบผลลัพธ์ = 3. ข้อมูลเข้า = 4. ตัวแปร= 5. วิธีการประมวลผล =

  38. แบบฝึกหัดผังงานและซูโดโค้ดแบบฝึกหัดผังงานและซูโดโค้ด ตัวอย่างที่ 9 ถ้ากำหนดให้ a = 3 และ b = -2 ผลลัพธ์เป็นเท่าใด

  39. แบบฝึกหัดผังงานและซูโดโค้ดแบบฝึกหัดผังงานและซูโดโค้ด ตัวอย่างที่ 10 เมื่อพิมพ์ค่า C ทางจอภาพค่า C มีค่าเท่าใด

  40. แบบฝึกหัดผังงานและซูโดโค้ดแบบฝึกหัดผังงานและซูโดโค้ด ตัวอย่างที่ 11

  41. Start J = 0 >= J : 20 Start sum < J = J+2 sum = sum + J แบบฝึกหัดผังงานและซูโดโค้ด ตัวอย่างที่ 12 จงหาว่า Flowchart ต่อไปนี้มีข้อผิดพลาดอยู่กี่ที่

  42. start N I = 1, K = 1 yes I<=N K=1, I=I+2 no >N stop <=N K:N พิมพ์ N K = K+1 แบบฝึกหัดผังงานและซูโดโค้ด ตัวอย่างที่ 13เมื่อให้ค่า N = 5 จงวิเคราะห์ว่าจะมีการพิมพ์ค่าของ N กี่ครั้งจากผังงานต่อไปนี้

  43. Start M Ans = 0, Odd = 1 Odd<=M yes Ans = Ans + Odd Odd = Odd+2 no Ans Stop แบบฝึกหัดผังงานและซูโดโค้ด ตัวอย่างที่ 17Ans มีค่าเท่าไร

More Related