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

Slides:



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

บทที่ 5 การควบคุมทิศทางการทำงานของโปรแกรม
คอมพิวเตอร์ช่วยสอน (CAI)
การใช้งานโปรแกรม SPSS
คณิตศาสตร์พื้นฐาน ค ชั้นมัธยมศึกษาปีที่ 3 โดย ครูชำนาญ ยันต์ทอง
สื่อการสอนด้วยโปรมแกรม “Microsoft Multipoint”
ภาวะ โลก ร้อน.  ภาวะโลกร้อน (Global Warming) หรือ ภาวะ ภูมิอากาศเปลี่ยนแปลง (Climate Change) เป็น ปัญหาใหญ่ของโลกเราในปัจจุบัน สังเกตได้จาก อุณหภูมิ
หน่วยการเรียนรู้ที่ 2 หลักการแก้ปัญหาด้วยคอมพิวเตอร์
การเขียนโปรแกรมภาษาปาสคาล โดยใช้โครงสร้างหลักทั้ง 3 โครงสร้าง
การทดลองในวิชาฟิสิกส์
การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหา
การเขียนผังงานเบื้องต้น (Flow chart)
การใช้งาน Microsoft Excel
การใช้งาน Microsoft Excel
หลักการโปรแกรม 1 Lecture 8: การทำซ้ำ (while, do-while)
MEE 231 Computer Programming สัปดาห์ที่ 6 ภาษา C หลักการของโปรแกรม ชนิดของตัวแปร การดำเนินการ คำสั่งการรับค่าตัวแปร และการแสดงผล.
เรื่อง หลักการเขียนโปรแกรม เบื้องต้น จัดทำโดย นางสาวชาดา ศักดิ์บุญญารัตน์
ITERATION (LOOP) สาขางานคอมพิวเตอร์ธุรกิจอาจารย์จิรา ภรณ์ เขตกุฎี
Adaptive Software Development. วงจรชีวิตของการพัฒนาซอฟแวร์ หรือ Software Development Life Cycle (SDLC) เป็นโครง ร่างหรือแนวทางวิธีการ เพื่อใช้ทำความเข้าใจและเพื่อ.
LOGO ภาษาซี 1.1 อ. กฤติเดช จินดาภัทร์. LOGO ตัวอย่างโค้ดภาษาซี
การจัดกิจกรรมการ เรียนรู้แบบการทำ โครงงานคอมพิวเตอร์ การจัดกิจกรรมการ เรียนรู้แบบการทำ โครงงานคอมพิวเตอร์ ครูชาญณรงค์ ปานเลิศ โรงเรียนพระบางวิทยา ครูชาญณรงค์
คำสั่งควบคุมการทำงาน
ระบบตัวแทนจำหน่าย/ ตัวแทนขายอิสระ
เกม คณิตคิดเร็ว.
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
หน่วยที่ 5 โปรแกรมแบบวนรอบทำซ้ำ
การเขียนโปรแกรมแบบวนซ้ำ
Number system (Review)
หน่วยการเรียนที่ 6 เรื่อง การจัดการฐานข้อมูลด้วย PHP Function
อนุกรมอนันต์และการลู่เข้า
START INPUT R = 1 R = R Yes R*R <=2 No R = R PROCESS
Multistage Cluster Sampling
หน่วยการเรียนที่ 4 เรื่อง การควบคุมทิศทางการทำงาน
บทที่ 7 การเขียนโปรแกรม แบบวนรอบทำซ้ำ (Loop)
Control Statement เงื่อนไขคำสั่งในโปรแกรม ภาษา C
บทที่ 8 เงื่อนไขตัดสินใจ
เซต (SET) ประวัติย่อของวิชาเซต ความหมายของเซต การเขียนแทนเซต
รายวิชา ไมโครโปรเซสเซอร์ในงานอุตสาหกรรม
กรอบอัตรากำลังของบุคลากรทางการศึกษาอื่นตามมาตรา 38 ค. (2)
บทที่ 2 อัลกอริธึมและการวิเคราะห์ปัญหา
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
ขั้นตอนการออกแบบ ผังงาน (Flow Chart)
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
กำหนดกรอบระยะเวลาการขึ้นทะเบียนปี2556/57 1. ข้าว
กลุ่มเกษตรกร.
การติดตามผลงาน OKRs ปีงบประมาณ 2562 (ไตรมาส 1)
Data storage II Introduction to Computer Science ( )
บริษัท พัฒนาวิชาการ (2535) จำกัด
อาจารย์อภิพงศ์ ปิงยศ Lab 06 : Microsoft Excel (Part2) ทท101 เทคโนโลยีสารสนเทศและนวัตกรรมการสื่อสารทางการท่องเที่ยว อาจารย์อภิพงศ์
SMS News Distribute Service
ผู้ช่วยศาสตราจารย์จุฑาวุฒิ จันทรมาลี
คณิตศาสตร์ 1 รหัสวิชา
คำสั่งวนรอบ (Loop).
Data storage II Introduction to Computer Science ( )
หน่วยที่ 6 อะเรย์ของอักขระ
บทที่ 9 การเรียงลำดับข้อมูล (Sorting)
การเขียนโปรแกรม ด้วยภาษาคอมพิวเตอร์
บทที่ 7 การประมวลผลอาร์เรย์
งานนำเสนอสำหรับโครงการ นิทรรศการวิทยาศาสตร์
ค่ารูรับแสง - F/Stop ค่ารูรับแสงที่มีค่าตัวเลขต่ำใกล้เคียง 1 มากเท่าไหร่ ค่าของรูรับแสงนั้นก็ยิ่งมีความกว้างมาก เพราะเราเปรียบเทียบค่าความสว่างที่ 1:1.
ตัวแบบมาร์คอฟ (Markov Model)
บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็นปัญหาย่อยและการสร้างลำดับขั้นตอนย่อย
กิจกรรมที่ 7 นายปรีชา ขอวางกลาง
การเขียนโปรแกรมด้วยภาษาไพทอน การเขียนโปรแกรมแบบวนซ้ำ
Chapter 3 : Array.
Array: One Dimension Programming I 9.
มหาวิทยาลัยราชภัฏสวนสุนันทา
การเขียนโปรแกรมด้วยภาษาไพทอน การเขียนโปรแกรมแบบทางเลือก
Decision: Single and Double Selection (if and if-else statement)
กระดาษทำการ (หลักการและภาคปฏิบัติ)
ใบสำเนางานนำเสนอ:

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

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

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

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

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

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

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

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

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

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

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

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

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

เริ่มต้น 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 สิ้นสุด

เริ่มต้น 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 สิ้นสุด

เริ่มต้น 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 สิ้นสุด

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

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

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

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

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

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

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

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

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

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

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

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

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

เริ่มต้น 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

เริ่มต้น 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

เริ่มต้น 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

เริ่มต้น 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

เริ่มต้น 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

เริ่มต้น 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

เริ่มต้น 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

เริ่มต้น 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

เริ่มต้น 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

เริ่มต้น 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

แหล่งอ้างอิง https://scratch.mit.edu