ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
การทำซ้ำ (for)
2
โจทย์ จงเขียนโปรแกรมเพื่อแสดงข้อความ “Hello my student” จำนวน 10 บรรทัดทางหน้าจอ
3
วิเคราะห์ปัญหา Input ไม่มี Process การแสดงข้อความจำนวน 10 ครั้ง Output
ข้อความ Hello my student
4
ทำซ้ำๆ คอมพิวเตอร์จำได้มาก คำนวณได้รวดเร็ว และไม่บ่นเมื่อสั่งให้ทำงานซ้ำๆ การทำซ้ำทำได้ง่ายด้วยการ เขียนคำสั่งซ้ำตามจำนวนรอบที่ต้องการ ใช้ Loop มาครอบกลุ่มคำสั่งที่ต้องการให้ทำงานซ้ำๆ System.out.println(“Hello”); for(int i = 1 ; i<= 3; i++) { System.out.println(“Hello”); }
5
คำสั่งทำซ้ำในภาษาจาวา
คำสั่ง for คำสั่ง while คำสั่ง do… while โดยสัปดาห์นี้เราจะศึกษาที่คำสั่ง for กันก่อน
6
การใช้ for ภายในวงเล็บของ for แบ่งออกเป็น 3 ส่วน
for( x = 1 ; x <= 5 ; x++) แต่ละส่วนแยกจากกันด้วยเครื่องหมาย ; ส่วนแรก เป็นการตั้งค่าเริ่มต้นให้กับตัวแปร ส่วนสอง เป็นเงื่อนไขที่ทดสอบว่าถ้าเป็นจริงจะทำต่อ ส่วนสุดท้าย เป็นการเพิ่มค่าตัวแปรหลังทำงานเสร็จในแต่ละรอบ 1 2 3
7
for การเขียน loop ด้วย for นี้อ่านเข้าใจได้ว่า ให้ k เริ่มที่ 0
วนทำซ้ำตราบเท่าที่ k ยัง <= n หลังทำเสร็จในแต่ละรอบให้เพิ่มค่า k ไปหนึ่ง (เขียนได้เป็น k++) for(int k=0; k <= n ;k++){ System.out.println(k); }
8
คำสั่งทำซ้ำ ตัวอย่าง เช่น ต้องการเขียนโปรแกรมที่ทำกลุ่มคำสั่งหนึ่งเป็นจำนวน 100 รอบ เขียนได้ดังนี้ for(int i = 0 ; i < 100 ; i++) { //กลุ่มคำสั่งที่ต้องการทำซ้ำ 100 รอบ } ตัวแปร i ทำหน้าที่เป็นตัวนับจำนวนรอบที่ทำไปแล้ว i มีค่าเพิ่มขึ้นหนึ่งเสมอในแต่ละรอบ ดังนั้น (k == 100) หมายถึง เมื่อครบ 100 รอบแล้วให้ออกจาก loop เงื่อนไขเป็นเท็จ
9
เขียนโปรแกรม จงเขียนโปรแกรมเพื่อแสดงข้อความ “Hello my student” จำนวน 10 บรรทัดทางหน้าจอ for(int i = 1 ; i<= 10 ; i++) { System.out.println(“Hello my student”); }
10
โจทย์ เขียนโปรแกรมถามชื่อผู้ใช้ พร้อมกับรับเลข 1 จำนวน (n) จากนั้นแสดงชื่อดังกล่าวจำนวน n รอบทางหน้าจอ
11
วิเคราะห์ปัญหา Input เลข 1 จำนวน(n) ชื่อ Output แสดงชื่อจำนวน n รอบ
12
ออกแบบโปรแกรม แสดงข้อความ “What is your name?” รับชื่อจำไว้ใน name
Loop n ครั้ง แสดงค่าใน name
13
Loop รู้จบ กรณีต้องการให้วนทำซ้ำเป็นจำนวนตามค่าของตัวแปร n ก็แค่เปลี่ยนเลข 100 ใน code ก่อนหน้าเป็น n ดังนี้ for(int i = 0 ; i < 100 ; i++) { //กลุ่มคำสั่งที่ต้องการทำซ้ำ 100 รอบ } for(int i = 0 ; i < n ; i++) { //กลุ่มคำสั่งที่ต้องการทำซ้ำ 100 รอบ }
14
เขียนโปรแกรม เขียนโปรแกรมถามชื่อผู้ใช้ จากนั้นรับเลข 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); }
15
โจทย์ จงเขียนโปรแกรมหาค่าเฉลี่ยของชุดข้อมูลที่ผู้ใช้ป้อนทางแป้นพิมพ์
สมมุติเราต้องการหาค่าเฉลี่ยของข้อมูล 4 จำนวน เขียน code ได้อย่างไร
16
วิเคราะห์ปัญหา Input ตัวเลข 4 จำนวน Output ค่าเฉลี่ย
17
ออกแบบโปรแกรม กำหนดให้ sum = 0 Loop ทั้งหมด 4 รอบ 1.1 รับเลขจำไว้ใน x
1.2 คำนวณ sum = sum + x คำนวณ ans = sum / 4 แสดง ans
18
เขียนโปรแกรม 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);
19
ตัวอย่าง : โปรแกรมหาค่าเฉลี่ย
กรณีที่เราไม่อยากกำหนดจำนวนข้อมูลแบบตายตัว ถามผู้ใช้ก่อนว่าจะหาค่าเฉลี่ยกี่จำนวน แล้ววนรับข้อมูลเป็นจำนวนรอบตามนั้น สามารถเขียน 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));
20
สรุป : วงวน for ภายในวงเล็บของ for แบ่งออกเป็น 3 ส่วน แต่ละส่วนแยกจากกันด้วยเครื่องหมาย ; เราสามารถละส่วนที่ 1 และส่วนที่ 2 ได้ แต่ต้องมี ; คงไว้ให้รู้ว่าส่วนใดไม่มี กรณีที่ละส่วนที่สองไว้ จะเหมือนกับว่ามีคำว่า true อยู่ส่วนที่สอง เป็นจริงตลอดกาล ให้ทำซ้ำคำสั่งที่อยู่ใน loop ตลอดไป เราสามารถประกาศตัวแปรที่ใช้เฉพาะในวงวนตรงส่วนที่หนึ่งของ for ได้เลย for (int k =0; k < n; k++) { } การทำแบบนี้แสดงว่าเราต้องการใช้ตัวแปร k แค่ใน loopเท่านั้น พอออกนอก loop จะไม่สามารถใช้งานได้ หากเผลอไปใช้ตัวแปรโปรแกรมจะแจ้งข้อผิดพลาด
21
โจทย์ เขียนโปรแกรมรับเลข 1 จำนวน (n) จากนั้นรับเลขอีก n ตัว แล้วให้ทำการแสดงผลลัพธ์ว่าเลขแต่ละตัวเป็นเลขคู่ หรือ เลขคี่ ทางหน้าจอ
22
วิเคราะห์ปัญหา Input Output จำนวนครั้งการทำซ้ำ (n)
ตัวเลขที่ต้องการทดสอบ Output ถ้าเป็นเลขคู่ปริ้น “Even” ถ้าเป็นเลขคี่ปริ้น “Odd”
23
ออกแบบโปรแกรม แสดงข้อความ “How many number? : ” รับค่าตัวเลขจำใน n
Loop ทั้งหมด n รอบ 3.1 แสดง Number 3.2 รับเลขจำไว้ใน x 3.3 if( x เป็นเลขคู่ ) แสดง Even else แสดง Odd
24
เขียนโปรแกรม 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”); }
25
กิจกรรม จงหาผลลัพธ์ของโปรแกรม int sum = 0;
for(int i = 5; i<=10; i++) { sum = sum + i; } System.out.println(sum); ก. 35 ข. 45 ค. 55 ง จ. ไม่มีข้อใดถูก
26
กิจกรรม : หาผลลัพธ์ของโปรแกรม
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--)
27
กิจกรรม : เขียนโปรแกรม
เขียนโปรแกรมแสดงผลตัวเลขตั้งแต่ ( ) เขียนโปรแกรมแสดงผลตัวเลข ( ) เขียนโปรแกรมแสดงผลตัวเลข ( )
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.