งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

บทที่ 9 การทำซ้ำ (Loop).

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "บทที่ 9 การทำซ้ำ (Loop)."— ใบสำเนางานนำเสนอ:

1 บทที่ 9 การทำซ้ำ (Loop)

2 จุดประสงค์การเรียนรู้
เข้าใจการทำงานแบบวนซ้ำ เข้าใจการทำงานแบบวนซ้ำและมีเงื่อนไข สามารถเขียนผังงานแบบมีการทำงานวนซ้ำได้ สามารถเขียนผังงานแบบมีการวนซ้ำและมีเงื่อนไขได้

3 หัวข้อเรื่อง การทำซ้ำคืออะไร รูปแบบของการทำซ้ำ ผังงานแบบการทำซ้ำ
ตัวอย่าง

4 การทำซ้ำคืออะไร การทำซ้ำ หรือ Loop คือการทำงานแบบวนซ้ำ เช่น เครื่องเล่นเพลง MP3 หากเราเรียกใช้ฟังก์ชั่นเล่นเพลงซ้ำซึ่งอาจเลือกเฉพาะเพลงหรือเลือกเล่นซ้ำ ทั้งหมดก็ได้ เมื่อเราเลือกการใช้งานดังกล่าว เปรียบได้กับเราเรียกใช้ฟังก์ชั่น Loop จะทำให้เล่นเพลงซ้ำรอบใหม่หลังจากที่เล่นเพลงสุดท้าย หรือเล่นซ้ำเพลง เดิม ส่วนในการเขียนโปรแกรม Loop จะเป็นการทำขั้นตอนต่างๆ ซ้ำตามที่ ผู้เขียนโปรแกรมต้องการ

5 รูปแบบของการทำซ้ำ การทำซ้ำแบบจำนวนรอบที่แน่นอน เป็นการทำซ้ำที่มีการกำหนดรอบไว้ชัดเจน เช่นการคัดลายมือจำนวน 10 คำ การทำซ้ำแบบจำนวนรอบไม่แน่นอน เป็นการทำซ้ำแบบมีเงื่อนไข ซึ่งรูปแบบนี้จะกำหนดรอบในการทำซ้ำตายตัวไม่ได้ โปรแกรมจะทำการทำซ้ำจนกว่าเงื่อนไขจะไม่เป็นจริง เช่น การวิ่งรอบสนามจนกว่าจะเหนื่อย การทำซ้ำแบบไม่รู้จบ เป็นการทำซ้ำไปเรื่อย ๆ แบบไม่รู้จบ เช่น โลกหมุนรอบตัวเอง

6 ผังงานแบบการทำซ้ำ เป็นรูปแบบที่มีการกระทำกระบวนการหนึ่งหลายครั้ง โดยมีเงื่อนไขในการควบคุม การทำซ้ำเป็นหลักการที่ทำความเข้าใจยากกว่า 2 รูปแบบแรก คือ 1) การทำงานตามลำดับ (sequence) และ 2) การทำงานแบบมีเงื่อนไข (conditional statement หรือ if…else) ที่ได้ศึกษาผ่านมา

7 ตัวอย่างผังงานการทำซ้ำ
ในวิชา Exercise for health จะต้อง วิ่งรอบสวนนันทนาการเป็นจำนวน 5 รอบ จึงจะสามารถหยุดวิ่งได้ เริ่มต้น รอบ = 0 วิ่งเพิ่ม 1 รอบ รอบ >= 5 เท็จ จริง สิ้นสุด

8 2, 4, 90, 52 ตัวอย่างที่ 1 ผลรวม จากตัวเลขต่อไปนี้
จงแสดงวิธีคิดผลรวม โดยใช้วิธีการทำซ้ำและเก็บค่าผลบวกในตัวแปร sum โดยกำหนดให้ค่า sum เริ่มต้นมีค่าเท่ากับ 0 และ กำหนดให้ตัวแปร count เป็นตัวแปรสำหรับนับรอบการทำงาน

9 รอบที่ 1 2 4 90 52 sum = sum + 2 sum = 0 + 2 sum = 2

10 รอบที่ 2 2 4 90 52 sum = sum + 4 sum = 2 + 4 sum = 6

11 รอบที่ 3 2 4 90 52 sum = sum + 90 sum = sum = 96

12 รอบที่ 4 2 4 90 52 sum = sum + 52 sum = sum = 148

13 2, 4, 90, 52 ดังนั้น ผลรวมของ มีค่าเท่ากับ 148
โดยทำการบวกซ้ำทั้งหมด 4 รอบ

14 เริ่มต้น sum = 0, count = 1 sum=0, count=1 รับค่า num รับค่า num=2
sum = sum + num count = count + 1 count<=4 จริง 1<=4 เท็จ แสดงค่า sum count=1+1 สิ้นสุด

15 เริ่มต้น sum = 0, count = 1 sum=0, count=1 รับค่า num รับค่า num=4
sum = sum + num count = count + 1 count<=4 จริง 2<=4 เท็จ แสดงค่า sum count=2+1 สิ้นสุด

16 เริ่มต้น sum = 0, count = 1 sum=0, count=1 รับค่า num รับค่า num=90
sum = sum + num count = count + 1 count<=4 จริง 3<=4 เท็จ แสดงค่า sum count=3+1 สิ้นสุด

17 เริ่มต้น sum = 0, count = 1 sum=0, count=1 รับค่า num รับค่า num=52
sum = sum + num count = count + 1 count<=4 จริง 4<=4 เท็จ แสดงค่า sum แสดงค่า 148 สิ้นสุด

18 ตัวอย่างที่ 2 แสดงเฉพาะเลขคู่
จงแสดงผลเลขคู่ที่อยู่ในช่วง 1-10 โดยกำหนดให้ตัวแปร N เป็นตัวแปรสำหรับการนับจำนวนรอบการทำงาน และ มีค่าเริ่มต้นเท่ากับ 1 และตัวแปร n จะเพิ่มขึ้น 1 เมื่อผ่านทุก ๆ 1 รอบ

19 แสดงผล N = 1 N = 1 เลขคู่ เลขคี่ เลขคี่ แสดงผล N = N+1 N = N+1

20 2 N = 2 N = 2 เลขคู่ เลขคู่ เลขคี่ แสดงผล แสดงผล N = N+1 N = N+1

21 แสดงผล N = 3 N = 3 2 เลขคู่ เลขคี่ เลขคี่ แสดงผล N = N+1 N = N+1

22 2 4 N = 4 N = 4 เลขคู่ เลขคู่ เลขคี่ แสดงผล แสดงผล N = N+1 N = N+1

23 แสดงผล N = 5 N = 5 2 4 เลขคู่ เลขคี่ เลขคี่ แสดงผล N = N+1 N = N+1

24 2 4 6 N = 6 N = 6 เลขคู่ เลขคู่ เลขคี่ แสดงผล แสดงผล N = N+1 N = N+1

25 แสดงผล N = 7 N = 7 2 4 เลขคู่ เลขคี่ เลขคี่ 6 แสดงผล N = N+1 N = N+1

26 2 4 6 8 N = 8 N = 8 เลขคู่ เลขคู่ เลขคี่ แสดงผล แสดงผล N = N+1 N = N+1

27 แสดงผล N = 9 N = 9 2 4 เลขคู่ เลขคี่ เลขคี่ 6 แสดงผล 8 N = N+1 N = N+1

28 2 4 6 8 10 N = 10 N = 10 เลขคู่ เลขคู่ เลขคี่ แสดงผล แสดงผล N = N+1

29 1-10 ดังนั้น เลขคู่ที่อยู่ในช่วง คือ 2, 4, 6, 8, 10
และทำการวนซ้ำจำนวน 10 รอบ

30 เริ่มต้น N = 1 N = 1 N%2=0 1%2 = 0 แสดงค่า N N = N+1 N<=10
จริง แสดงค่า N เท็จ N = N+1 จริง N<=10 1 <= 10 เท็จ สิ้นสุด N = 1+1

31 เริ่มต้น N = 1 N = 1 N%2=0 2%2 = 0 แสดงค่า N N = N+1 แสดงค่า 2
จริง แสดงค่า N เท็จ N = N+1 แสดงค่า 2 จริง N<=10 2 <= 10 เท็จ สิ้นสุด N = 2+1

32 เริ่มต้น N = 1 N = 1 N%2=0 3%2 = 0 แสดงค่า N N = N+1 N<=10
จริง แสดงค่า N เท็จ N = N+1 จริง N<=10 3 <= 10 เท็จ สิ้นสุด N = 3+1

33 เริ่มต้น N = 1 N = 1 N%2=0 4%2 = 0 แสดงค่า N N = N+1 แสดงค่า 4
จริง แสดงค่า N เท็จ N = N+1 แสดงค่า 4 จริง N<=10 4 <= 10 เท็จ สิ้นสุด N = 4+1

34 เริ่มต้น N = 1 N = 1 N%2=0 5%2 = 0 แสดงค่า N N = N+1 N<=10
จริง แสดงค่า N เท็จ N = N+1 จริง N<=10 5 <= 10 เท็จ สิ้นสุด N = 5+1

35 เริ่มต้น N = 1 N = 1 N%2=0 6%2 = 0 แสดงค่า N N = N+1 แสดงค่า 6
จริง แสดงค่า N เท็จ N = N+1 แสดงค่า 6 จริง N<=10 6 <= 10 เท็จ สิ้นสุด N = 6+1

36 เริ่มต้น N = 1 N = 1 N%2=0 7%2 = 0 แสดงค่า N N = N+1 N<=10
จริง แสดงค่า N เท็จ N = N+1 จริง N<=10 7 <= 10 เท็จ สิ้นสุด N = 7+1

37 เริ่มต้น N = 1 N = 1 N%2=0 8%2 = 0 แสดงค่า N N = N+1 แสดงค่า 8
จริง แสดงค่า N เท็จ N = N+1 แสดงค่า 8 จริง N<=10 8 <= 10 เท็จ สิ้นสุด N = 8+1

38 เริ่มต้น N = 1 N = 1 N%2=0 9%2 = 0 แสดงค่า N N = N+1 N<=10
จริง แสดงค่า N เท็จ N = N+1 จริง N<=10 9 <= 10 เท็จ สิ้นสุด N = 9+1

39 เริ่มต้น N = 1 N = 1 N%2=0 10%2 = 0 แสดงค่า N N = N+1 แสดงค่า 10
จริง แสดงค่า N เท็จ N = N+1 แสดงค่า 10 จริง N<=10 10 <= 10 เท็จ สิ้นสุด N = 10+1

40 เริ่มต้น N = 1 N = 1 N%2=0 11%2 = 0 แสดงค่า N N = N+1 N<=10
จริง แสดงค่า N เท็จ N = N+1 จริง N<=10 11 <= 10 เท็จ สิ้นสุด

41 1-10 ดังนั้น เลขคู่ที่อยู่ในช่วง คือ 2, 4, 6, 8, 10
และทำการวนซ้ำจำนวน 11 รอบ

42

43 แนะนำบล็อคคำสั่งการวนซ้ำ
วนซ้ำโดยระบุจำนวนรอบแน่ชัด วนซ้ำตลอด จนกว่าผู้ใช้จะกดปุ่ม วนซ้ำ ถ้าเงื่อนไขเป็นเท็จ เมื่อเงื่อนไขเป็นจริง จะออกจากการวนซ้ำ

44 ตัวอย่าง Scratch ที่ 1 กำหนดให้ผู้ใช้สามารถป้อนตัวเลขเข้าโปรแกรมได้ 10 จำนวน โปรแกรมทำหน้าที่แสดงจำนวนจัวเลขคู่ทั้งหมดที่ผู้ใช้ป้อนเข้ามา ตัวอย่าง ผู้ใช้ป้อนตัวเลข 1, 0, 9, 12, 23, 10, 3, 8, 99, 11

45 “มีจำนวนคู่ทั้งหมด” + count
เริ่มต้น round = 1 , count = 0 number เท็จ number%2=0 จริง round = round+1 count = count+1 จริง round ≤ 10 เท็จ “มีจำนวนคู่ทั้งหมด” + count สิ้นสุด

46 “มีจำนวนคู่ทั้งหมด” + count
เริ่มต้น round = 1 , count = 0 number เท็จ number%2=0 จริง round = round+1 count = count+1 จริง round ≤ 10 เท็จ “มีจำนวนคู่ทั้งหมด” + count สิ้นสุด

47 “มีจำนวนคู่ทั้งหมด” + count
เริ่มต้น round = 1 , count = 0 number เท็จ number%2=0 จริง round = round+1 count = count+1 จริง round ≤ 10 เท็จ “มีจำนวนคู่ทั้งหมด” + count สิ้นสุด

48 “มีจำนวนคู่ทั้งหมด” + count
เริ่มต้น round = 1 , count = 0 number เท็จ number%2=0 จริง round = round+1 count = count+1 จริง round ≤ 10 เท็จ “มีจำนวนคู่ทั้งหมด” + count สิ้นสุด

49 “มีจำนวนคู่ทั้งหมด” + count
เริ่มต้น round = 1 , count = 0 number เท็จ number%2=0 จริง round = round+1 count = count+1 จริง round ≤ 10 เท็จ “มีจำนวนคู่ทั้งหมด” + count สิ้นสุด

50 “มีจำนวนคู่ทั้งหมด” + count
เริ่มต้น round = 1 , count = 0 number เท็จ number%2=0 จริง round = round+1 count = count+1 จริง round ≤ 10 เท็จ “มีจำนวนคู่ทั้งหมด” + count สิ้นสุด

51 “มีจำนวนคู่ทั้งหมด” + count
เริ่มต้น round = 1 , count = 0 number เท็จ number%2=0 จริง round = round+1 count = count+1 จริง round ≤ 10 เท็จ “มีจำนวนคู่ทั้งหมด” + count สิ้นสุด

52 “มีจำนวนคู่ทั้งหมด” + count
เริ่มต้น round = 1 , count = 0 number เท็จ number%2=0 จริง round = round+1 count = count+1 จริง round ≤ 10 เท็จ “มีจำนวนคู่ทั้งหมด” + count สิ้นสุด

53 ชมตัวอย่างได้ที่ https://scratch.mit.edu/projects/132147193/

54 ตัวอย่าง Scratch ที่ 2 กำหนดให้ผู้ใช้ป้อนตัวเลข N
ตัวอย่าง ผู้ใช้ป้อน 5 และป้อน 0, 9, 10, 2, 5 ผลลัพธ์ที่แสดงคือ 26

55 เริ่มต้น n round = n , count = 1 , sum = 0 number count = count + 1
sum = sum + number จริง count < round เท็จ “ผลบวกคือ” sum สิ้นสุด

56 เริ่มต้น n round = n , count = 1 , sum = 0 number count = count + 1
sum = sum + number จริง count < round เท็จ “ผลบวกคือ” sum สิ้นสุด

57 เริ่มต้น n round = n , count = 1 , sum = 0 number count = count + 1
sum = sum + number จริง count < round เท็จ “ผลบวกคือ” sum สิ้นสุด

58 เริ่มต้น n round = n , count = 1 , sum = 0 number count = count + 1
sum = sum + number จริง count < round เท็จ “ผลบวกคือ” sum สิ้นสุด

59 เริ่มต้น n round = n , count = 1 , sum = 0 number count = count + 1
sum = sum + number จริง count < round เท็จ “ผลบวกคือ” sum สิ้นสุด

60 เริ่มต้น n round = n , count = 1 , sum = 0 number count = count + 1
sum = sum + number จริง count < round เท็จ “ผลบวกคือ” sum สิ้นสุด

61 เริ่มต้น n round = n , count = 1 , sum = 0 number count = count + 1
sum = sum + number จริง count < round เท็จ “ผลบวกคือ” sum สิ้นสุด

62 เริ่มต้น n round = n , count = 1 , sum = 0 number count = count + 1
sum = sum + number จริง count < round เท็จ “ผลบวกคือ” sum สิ้นสุด

63 ชมตัวอย่างได้ที่ https://scratch.mit.edu/projects/111933616/

64 แหล่งอ้างอิง

65


ดาวน์โหลด ppt บทที่ 9 การทำซ้ำ (Loop).

งานนำเสนอที่คล้ายกัน


Ads by Google