การทำซ้ำ (for).

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Suphot Sawattiwong Function ใน C# Suphot Sawattiwong
Advertisements

Lab Part Nattee Niparnan
Introduction to C Introduction to C.
อัลกอริทึ่มทำงานวนซ้ำ
คำสั่ง while และ คำสั่ง do..while
การเขียนโปรแกรม แบบมีโครงสร้าง (ต่อ)
Control Statement for while do-while.
การเขียนผังงาน.
ตัวอย่าง Flowchart.
ผังงานโปรแกรม (Program Flowchart)
การแสดงผลและ รับข้อมูล. คำสั่ง Write เป็นคำสั่งที่นำข้อมูลที่ ต้องการแสดงผลที่ จอภาพเมื่อตอนสั่งรัน โปรแกรมไม่ว่าจะ เป็นข้อมูลประเภทข้อความ ตัวเลข การ.
CE 112 บทที่ 5 การทำซ้ำในภาษา C
ความรู้เกี่ยวกับคอมพิวเตอร์
หน่วยที่ 1 ระบบคอมพิวเตอร์
เนื้อหา ประเภทของโปรแกรมภาษา ขั้นตอนการพัฒนาโปรแกรม
วิชา การออกแบบและพัฒนาซอฟต์แวร์
อ.อรวรรณ เชาวลิต For คำสั่งวนซ้ำ อ.อรวรรณ เชาวลิต
คำสั่งควบคุมการทำงาน
Surachai Wachirahatthapong
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
การเขียนโปรแกรมคอมพิวเตอร์และอัลกอริธึม
การเขียนโปรแกรมคอมพิวเตอร์และอัลกอริธึม
Looping การวนรอบ บทที่ 4.
การเขียนโปรแกรมแบบมีทางเลือก
รูปแบบ if-else if if (เงื่อนไข1) {
การเขียนโปรแกรมภาษาซี
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 15 มิถุนายน 2550 Structure Programming มหาวิทยาลัยเนชั่น.
ผังงาน (Flowchart) มหาวิทยาลัยเนชั่น หลักการภาษาชุดคำสั่ง
เริ่มต้นเขียนโปรแกรม Java
คำสั่ง for ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
โปรแกรมภาษาจาวาเบื้องต้น Basic Java Programming 3(2-2-5)
เรื่อง ซอฟต์แวร์ตัวเก่ง
Flow Chart INT1103 Computer Programming
Method of Class อ.สุพจน์ สิงหัษฐิต
การออกแบบโปรแกรม ขั้นตอนการแก้ปัญหา การนิยามปัญหา (Problem definition)
เครื่องมือและเครื่องทุ่นแรงในงานบัญชี
การเขียนโปรแกรมเบื้องต้น
คำสั่งควบคุมแบบวนซ้ำ
หลักการเขียนโปรแกรม ( )
หลักการเขียนโปรแกรม ( )
ใบงาน 1. ให้นักเรียนคัดลอกเนื้อหาและตัวอย่างเรื่อง การวิเคราะห์ปัญหาและการจำลองความคิดตั้งแต่สไลด์ที่ 2-11 ลงในสมุด (ถ้าไม่มีให้ทำในกระดาษสมุด1คู่) 2.
การเขียนผังงาน (Flowchart)
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
บทที่ 2 การแสดงผลและรับข้อมูล
LOOPLOOP. LOOP คืออะไร ? - วงรอบการทำงาน - ทำงานแบบซ้ำๆ ไปเรื่อยๆตามเงื่อนไข เช่น - การแพ๊คของ 50 ชิ้นใส่กล่อง ทำไปเรื่อยๆ จนกว่า ของจะหมด - ตีดอทไปเรื่อยๆ.
บทที่ 7 การวิเคราะห์งานและการโปรแกรม แบบมีโครงสร้าง
คำสั่งทำซ้ำ for คำสั่ง for เป็นคำสั่งทำซ้ำในลักษณะ Definite loop คือทราบจำนวนรอบที่แน่นอนในการทำงาน ซึ่งจะใช้ตัวแปร 1 ตัวในการนับจำนวนรอบว่าครบตามกำหนดหรือไม่
อัลกอริทึ่มทำงานวนซ้ำ
ตัวแปร Array แบบ 1 มิติ การเขียนโปรแกรมแบบวนซ้ำ
แบบทดสอบหลังเรียนวิชา เทคโนโลยีสารสนเทศ 2
Nested loop and its applications.
แนวคิดในการเขียนโปรแกรม
การแก้ปัญหาโปรแกรม (Flowchart)
โครงสร้าง ภาษาซี.
ระบบคอมพิวเตอร์ (computer system)
การเขียน แบบวนซ้ำ , วนลูป
โครงสร้างข้อมูลและอังกอลิทึม
หลักการเขียนโปรแกรมเบื้องต้น
การกระทำทางคณิตศาสตร์
การเขียนผังงาน ผังงาน (Flowchart)
การรับและแสดงผลข้อมูล (Input/Output)
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
การเขียนโปรแกรมบนเว็บ (Web Programming) บทที่ 2: ทบทวนการเขียน ภาษา Java ใช้ร่วมกับ Html และการรับข้อมูลจาก Form.
การทำซ้ำ Pisit Nakjai.
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
Computer Programming การเขียนโปรแกรม คอมพิวเตอร์ สัปดาห์ที่ 6 คำสั่งควบคุมการทำงานแบบ เงื่อนไขและคำสั่งควบคุมการ ทำงานแบบวนซ้ำ.
Computer Program คือ ขั้นตอนการทำงาน ของคอมพิวเตอร์
Nested loop.
ประชุมผู้อำนวยการสำนักงานเขตพื้นที่การศึกษา ณ โรงแรมเอวาน่า บางนา กทม
ประเด็นการขับเคลื่อนองค์การไปสู่ระบบราชการ 4.0
ใบสำเนางานนำเสนอ:

การทำซ้ำ (for)

โจทย์ จงเขียนโปรแกรมเพื่อแสดงข้อความ “Hello my student” จำนวน 10 บรรทัดทางหน้าจอ

วิเคราะห์ปัญหา Input ไม่มี Process การแสดงข้อความจำนวน 10 ครั้ง Output ข้อความ Hello my student

ทำซ้ำๆ คอมพิวเตอร์จำได้มาก คำนวณได้รวดเร็ว และไม่บ่นเมื่อสั่งให้ทำงานซ้ำๆ การทำซ้ำทำได้ง่ายด้วยการ เขียนคำสั่งซ้ำตามจำนวนรอบที่ต้องการ ใช้ Loop มาครอบกลุ่มคำสั่งที่ต้องการให้ทำงานซ้ำๆ System.out.println(“Hello”); for(int i = 1 ; i<= 3; i++) { System.out.println(“Hello”); }

คำสั่งทำซ้ำในภาษาจาวา คำสั่ง for คำสั่ง while คำสั่ง do… while โดยสัปดาห์นี้เราจะศึกษาที่คำสั่ง for กันก่อน

การใช้ for ภายในวงเล็บของ for แบ่งออกเป็น 3 ส่วน for( x = 1 ; x <= 5 ; x++) แต่ละส่วนแยกจากกันด้วยเครื่องหมาย ; ส่วนแรก เป็นการตั้งค่าเริ่มต้นให้กับตัวแปร ส่วนสอง เป็นเงื่อนไขที่ทดสอบว่าถ้าเป็นจริงจะทำต่อ ส่วนสุดท้าย เป็นการเพิ่มค่าตัวแปรหลังทำงานเสร็จในแต่ละรอบ 1 2 3

for การเขียน loop ด้วย for นี้อ่านเข้าใจได้ว่า ให้ k เริ่มที่ 0 วนทำซ้ำตราบเท่าที่ k ยัง <= n หลังทำเสร็จในแต่ละรอบให้เพิ่มค่า k ไปหนึ่ง (เขียนได้เป็น k++) for(int k=0; k <= n ;k++){ System.out.println(k); }

คำสั่งทำซ้ำ ตัวอย่าง เช่น ต้องการเขียนโปรแกรมที่ทำกลุ่มคำสั่งหนึ่งเป็นจำนวน 100 รอบ เขียนได้ดังนี้ for(int i = 0 ; i < 100 ; i++) { //กลุ่มคำสั่งที่ต้องการทำซ้ำ 100 รอบ } ตัวแปร i ทำหน้าที่เป็นตัวนับจำนวนรอบที่ทำไปแล้ว i มีค่าเพิ่มขึ้นหนึ่งเสมอในแต่ละรอบ ดังนั้น (k == 100) หมายถึง เมื่อครบ 100 รอบแล้วให้ออกจาก loop เงื่อนไขเป็นเท็จ

เขียนโปรแกรม จงเขียนโปรแกรมเพื่อแสดงข้อความ “Hello my student” จำนวน 10 บรรทัดทางหน้าจอ for(int i = 1 ; i<= 10 ; i++) { System.out.println(“Hello my student”); }

โจทย์ เขียนโปรแกรมถามชื่อผู้ใช้ พร้อมกับรับเลข 1 จำนวน (n) จากนั้นแสดงชื่อดังกล่าวจำนวน n รอบทางหน้าจอ

วิเคราะห์ปัญหา Input เลข 1 จำนวน(n) ชื่อ Output แสดงชื่อจำนวน n รอบ

ออกแบบโปรแกรม แสดงข้อความ “What is your name?” รับชื่อจำไว้ใน name Loop n ครั้ง แสดงค่าใน name

Loop รู้จบ กรณีต้องการให้วนทำซ้ำเป็นจำนวนตามค่าของตัวแปร n ก็แค่เปลี่ยนเลข 100 ใน code ก่อนหน้าเป็น n ดังนี้ for(int i = 0 ; i < 100 ; i++) { //กลุ่มคำสั่งที่ต้องการทำซ้ำ 100 รอบ } for(int i = 0 ; i < n ; i++) { //กลุ่มคำสั่งที่ต้องการทำซ้ำ 100 รอบ }

เขียนโปรแกรม เขียนโปรแกรมถามชื่อผู้ใช้ จากนั้นรับเลข 1 จำนวน (n) แล้วแสดงชื่อดังกล่าวจำนวน n รอบทางหน้าจอ Scanner kb = new Scanner(System.in); System.out.print(“What is your name? ”); String name = kb.next(); int n = kb.nextInt(); for(i=1 ; i<= n ;i++) { System.out.print(name); }

โจทย์ จงเขียนโปรแกรมหาค่าเฉลี่ยของชุดข้อมูลที่ผู้ใช้ป้อนทางแป้นพิมพ์ สมมุติเราต้องการหาค่าเฉลี่ยของข้อมูล 4 จำนวน เขียน code ได้อย่างไร

วิเคราะห์ปัญหา Input ตัวเลข 4 จำนวน Output ค่าเฉลี่ย

ออกแบบโปรแกรม กำหนดให้ sum = 0 Loop ทั้งหมด 4 รอบ 1.1 รับเลขจำไว้ใน x 1.2 คำนวณ sum = sum + x คำนวณ ans = sum / 4 แสดง ans

เขียนโปรแกรม int sum = 0; for(int i = 1 ; i <= 4 ; i++) { int x = kb.nextInt(); int sum = sum + x; } double ans = sum / 4.0; System.out.println(ans);

ตัวอย่าง : โปรแกรมหาค่าเฉลี่ย กรณีที่เราไม่อยากกำหนดจำนวนข้อมูลแบบตายตัว ถามผู้ใช้ก่อนว่าจะหาค่าเฉลี่ยกี่จำนวน แล้ววนรับข้อมูลเป็นจำนวนรอบตามนั้น สามารถเขียน code ได้ดังนี้ เพิ่ม/แก้ไขคำสั่ง Scanner kb = new Scanner(System.in); int n = kb.nextInt(); // ใช้ n เก็บจำนวนข้อมูลที่ผู้ใช้ต้องการหาค่าเฉลี่ย double sum = 0; //ตัวแปรเก็บผลรวมของข้อมูล for(int i = 0 ; i < n ;i++ ) { sum = sum + kb.nextDouble(); // อ่านข้อมูลแล้วเพิ่มค่าในตัวแปรเก็บผลรวม } System.out.println(“ค่าเฉลี่ย = “ + (sum/n));

สรุป : วงวน for ภายในวงเล็บของ for แบ่งออกเป็น 3 ส่วน แต่ละส่วนแยกจากกันด้วยเครื่องหมาย ; เราสามารถละส่วนที่ 1 และส่วนที่ 2 ได้ แต่ต้องมี ; คงไว้ให้รู้ว่าส่วนใดไม่มี กรณีที่ละส่วนที่สองไว้ จะเหมือนกับว่ามีคำว่า true อยู่ส่วนที่สอง เป็นจริงตลอดกาล ให้ทำซ้ำคำสั่งที่อยู่ใน loop ตลอดไป เราสามารถประกาศตัวแปรที่ใช้เฉพาะในวงวนตรงส่วนที่หนึ่งของ for ได้เลย for (int k =0; k < n; k++) { } การทำแบบนี้แสดงว่าเราต้องการใช้ตัวแปร k แค่ใน loopเท่านั้น พอออกนอก loop จะไม่สามารถใช้งานได้ หากเผลอไปใช้ตัวแปรโปรแกรมจะแจ้งข้อผิดพลาด

โจทย์ เขียนโปรแกรมรับเลข 1 จำนวน (n) จากนั้นรับเลขอีก n ตัว แล้วให้ทำการแสดงผลลัพธ์ว่าเลขแต่ละตัวเป็นเลขคู่ หรือ เลขคี่ ทางหน้าจอ

วิเคราะห์ปัญหา Input Output จำนวนครั้งการทำซ้ำ (n) ตัวเลขที่ต้องการทดสอบ Output ถ้าเป็นเลขคู่ปริ้น “Even” ถ้าเป็นเลขคี่ปริ้น “Odd”

ออกแบบโปรแกรม แสดงข้อความ “How many number? : ” รับค่าตัวเลขจำใน n Loop ทั้งหมด n รอบ 3.1 แสดง Number 3.2 รับเลขจำไว้ใน x 3.3 if( x เป็นเลขคู่ ) แสดง Even else แสดง Odd

เขียนโปรแกรม System.out.println(“How many number? :”) int n = kb.nextInt(); for(int i=1 ; i<=n ; i++) { System.out.println(“Number :”); int x = kb.nextInt(); if(x %2 == 0 ) { System.out.println(“Even”); } else { System.out.println(“Odd”); }

กิจกรรม จงหาผลลัพธ์ของโปรแกรม int sum = 0; for(int i = 5; i<=10; i++) { sum = sum + i; } System.out.println(sum); ก. 35 ข. 45 ค. 55 ง. 65 จ. ไม่มีข้อใดถูก

กิจกรรม : หาผลลัพธ์ของโปรแกรม for(int i = 0 ; i !=9 ; i = i + 2) System.out.println(i); for(int i = 1 ; i <= 20; i = i * 2) for(int i = 10 ; i >= 0 ; i--)

กิจกรรม : เขียนโปรแกรม เขียนโปรแกรมแสดงผลตัวเลขตั้งแต่ (0 1 2 3 4 5) เขียนโปรแกรมแสดงผลตัวเลข (5 4 3 2 1 0) เขียนโปรแกรมแสดงผลตัวเลข (0 2 4 6 8)