SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
Iteration Statements - 04                                                  Computer Programming using Java                   41
  CHAPTER                                                  คําสังวนซํ้า
                                                                ่
       04                                            (Iteration Statements)
1. คําสั่งวนซําแบบเบืองต้ นด้ วยคําสั่ง while
              ้      ้
1. นิยามและข้ อกําหนดของคําสั่งวนซําหรือทําซํา
                                            ้         ้
   1) คําสังวนซํ ้าหรื อทําซํ ้า (Iteration/Repetition) คือ คําสังที่ใช้ สําหรับวนรอบเพื่อทํางานอย่างใดอย่างหนึ่ง
             ่                                                   ่
       ตามเงื่อนไข (Condition) ที่กําหนดขึ ้น และจะวนทํางานแบบนันไปเรื่ อยๆ ตราบใดที่เงื่อนไขยังเป็ นจริง
                                                                          ้
   2) คําสังวนซํ ้าในภาษาจาวา ประกอบไปด้ วย 3 ชุดคําสังได้ แก่ [1] while, [2] do-while และ [3] for
           ่                                                 ่

2. คําสั่งวนซําด้ วยคําสั่ง while มี 3 ส่วนหลักดังรูปแบบคําสังต่อไปนี ้
              ้                                              ่
      1    Initial;                              1   ค่าตังต้ น (Initial) เป็ นการกําหนดค่าเริ่มต้ นสําหรับการวนซํ ้า
                                                          ้
      2    while(Condition) {
      3      Statement(s);                       2   เงื่อนไข (Condition) จะเป็ นนิพจน์ตรรกะ (Boolean Expression)
      4      Update;
      5    }                                         ที่แสดงถึงค่าความจริงว่าเมื่อไรจะวนซํ ้า เมื่อไรจะสิ ้นสุดการวนซํ ้า

                     ผังงาน                      3   การเปลี่ยนรอบ (Update) เป็ นการเปลี่ยนรอบการวนซํ ้า (ถ้ าไม่ระบุ
                                                     ส่วนนี ้จะเกิดการวนซํ ้าแบบไม่ รู้จบ หรื อ Infinite Loop)
                        Initial
                                                     ภายในคําสัง while ถ้ ามีเพียง 1 คําสังไม่ต้องมีเครื่ องหมายปี ก
                                                                  ่                       ่
                                                     กาเปิ ดปิ ดก็ได้
                                     False
          Update
                      Condition                      พิจารณาเงื่อนไขของคําสัง while ว่าเป็ นจริงหรื อไม่ ถ้ าเป็ นจริง
                                                                                 ่
                       True                          จะเข้ าทําคําสังทุกๆ คําสัง ภายในคําสัง while และจะวนทํางาน
                                                                     ่         ่           ่
                       Statement
                                                     แบบนี ้ไปเรื่ อยๆ จนกว่าเงื่อนไขของคําสัง while จะเป็ นเท็จ ก็จะ
                                                                                             ่
                                                     สิ ้นสุดการวนซํ ้า

     ตัวอย่ าง                                       กําหนดค่าเริ่ มต้ นให้ ตวแปร i เท่ากับ 1 แล้ วทําการวนซํ ้าเพื่อ
                                                                             ั
           int i = 1;
      1
      2    while(i <= 5) {
                                                     แสดงค่า i ตังแต่ 1 ถึง 5 โดยในแต่ละรอบการวนซํ ้าจะเพิ่มจํา
                                                                     ้
      3      System.out.print(i);                    นวนรอบ (เพิ่มค่า i) ขึ ้นทีละ 1 (โดยใช้ คําสัง i++) ดังนัน
                                                                                                   ่            ้
      4      i++;
      5    }                                         ผลลัพธ์ที่ได้ คือ 12345

โจทย์ ข้อที่ 1 [ระดับง่ าย] จงแสดงผลลัพธ์ จากส่ วนของโปรแกรมตามค่ า n ที่กาหนดให้ ต่อไปนี ้ (5 คะแนน)
                                                                          ํ
 1     int i = 0, j = 5;                             n = 1          n = 0          n = -1            n = 3          n = -2
 2     while (i <= n) {
 3       System.out.println(n++);
 4     i = i + 2; }
 5     while (j > n) {
 6       System.out.println(--j);
 7       j--;
 8     }


© สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                            ้
42     Computer Programming using Java                                                           04 - Iteration Statements


     โจทย์ ข้อที่ 2 [ระดับง่ าย] จงเขียนเฉพาะคําสั่ง while ตามเงื่อนไขต่ อไปนี ้ (10 คะแนน)
     1) แสดงคําว่ า "Java" ขึนบนจอภาพ 100 ครัง (5 คะแนน)
                                  ้                   ้




     2) แสดงเลขค่ ู 10 ตัวแรกออกทางจอภาพ โดยเริ่มต้ นที่ตวเลข 2 (5 คะแนน)
                                                         ั




     3. คําสั่งวนซําด้ วยคําสั่ง while (true) มีรูปแบบดังต่อไปนี ้
                   ้
          1    while(true) {
          2      Statement(s);
                                                      คําสัง while(true) มีเงื่อนไข (Condition) เป็ นจริง
                                                           ่
          3      if(Condition) break;                 ตลอดกาล ดังนันจะวนซํ ้าแบบไม่ร้ ูจบ
                                                                   ้
          4    }

                                                       การออกจากคําสัง while(true) ทําได้ เพียงวิธีเดียวเท่านัน คือ
                                                                        ่                                       ้
                          ผังงาน
                                                       ใช้ คําสัง if(…) break; โดยเมื่อเงื่อนไขของคําสัง if เป็ นจริง
                                                                ่                                      ่
                                                       ก็จะสิ ้นสุดการวนซํ ้า

                           True
                                                       เข้ าทําคําสังทุกๆ คําสัง ภายในคําสัง while ทันทีเพราะว่าเงื่อนไข
                                                                    ่          ่           ่
                         Statement                     เป็ นจริงตลอดกาล และจะวนทํางานแบบนี ้ไปเรื่ อยๆ จนกว่าเงื่อนไข
                True                      False
                                                       ของคําสัง if ซึงอยูภายในคําสัง while เป็ นจริง ก็จะ break
                                                                 ่      ่ ่            ่
                         Condition                     การทํางาน และสิ ้นสุดการวนซํ ้า

         ตัวอย่ าง                                     วนรับค่าตัวเลขจํานวนเต็ม 1 จํานวนทางแป้ นพิมพ์ แล้ วตรวจสอบ
          1    Scanner kb = new ...;                   ว่าตัวเลขที่รับเข้ ามานันเท่ากับ 0 หรื อไม่ ถ้ าใช่ก็จะสิ ้นสุดการวนซํ ้า
                                                                               ้
          2    while(true) {
          3      int x = kb.nextInt();                 แต่ถ้าไม่เช่นนันก็จะวนรับค่าตัวเลขจํานวนเต็มจากแปนพิมพ์ไป
                                                                       ้                                           ้
          4      if(x == 0) break;
          5    }                                       เรื่ อยๆ

     © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                                 ้
Iteration Statements - 04                                          Computer Programming using Java              43
โจทย์ ข้อที่ 3 [ระดับง่ าย] จงเขียนเฉพาะคําสั่ง while(true) ตามเงื่อนไขต่ อไปนี ้ (10 คะแนน)
1) แสดงคําว่ า “เกรี ยน” ขึนบนจอภาพ 1000 ครั ง (5 คะแนน)
                             ้                    ้




2) สุ่มตัวเลขตังแต่ 0-10 แล้ วแสดงผลขึนบนจอภาพไปเรื่อยๆ จะจบเมื่อสุ่มได้ เลข 5 (5 คะแนน)
               ้                      ้




โจทย์ ข้อที่ 4 [ระดับง่ าย] จงเขียนโปรแกรมภาษาจาวาที่สมบรณ์ เพื่อรั บค่ าตัวเลขจํานวนเต็มหนึ่งจํานวน
                                                        ู
เข้ ามาทางแปนพิมพ์ แล้ วทําการแสดงค่ าตัวเลขจํานวนเต็มตังแต่ 0 จนถึงตัวเลขที่รับเข้ ามานันออกทาง
               ้                                          ้                               ้
จอภาพทีละบรรทัดให้ สวยงาม (10 คะแนน)
 1     2     3     4




© สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                            ้
44     Computer Programming using Java                                                 04 - Iteration Statements


     โจทย์ ข้อที่ 5 [ระดับง่ าย] จงเขียนโปรแกรมภาษาจาวาที่สมบรณ์ เพื่อรั บค่ าตัวเลขจํานวนเต็มหนึ่งจํานวน
                                                               ู
     เข้ ามาทางแปนพิมพ์ แล้ ววนรอบแสดงเครื่ องหมายดอกจัน "*" ให้ มีจํานวนเท่ ากับค่ าของตัวเลขที่
                    ้
     รั บเข้ ามานัน และแสดงผลลัพธ์ ส่วนอื่นๆ ให้ เหมือนกับตัวอย่ างต่ อไปนี ้ (10 คะแนน)
                  ้
      1     2     3     4                                                                Enter number: -1
                                                                                         -1

                                                                                         Enter number: 4
                                                                                         4 ****

                                                                                         Enter number: 6
                                                                                         6 ******




     โจทย์ ข้อที่ 6 [ระดับปานกลาง] จงเขียนโปรแกรมภาษาจาวาที่สมบรณ์ เพื่อรั บตัวเลขจํานวนเต็มหนึ่งจํา
                                                                 ู
     นวนเข้ ามาเก็บไว้ ในตัวแปร n และหาผลบวกของตัวเลขตังแต่ 1 จนถึง n เก็บไว้ ในตัวแปร sum พร้ อมทัง
                                                         ้                                         ้
     แสดงค่ าของตัวแปร sum ที่เป็ นผลคําตอบสุดท้ ายออกทางจอภาพ (10 คะแนน)
      1     2     3     4




     © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                                 ้
Iteration Statements - 04                                          Computer Programming using Java              45
โจทย์ ข้อที่ 7 [ระดับปานกลาง] จงเขียนโปรแกรมภาษาจาวาที่สมบรณ์ เพื่อรั บตัวเลขจํานวนเต็มหนึ่งจํา
                                                                    ู
นวนเข้ ามาเก็บไว้ ในตัวแปร n และหาค่ าแฟคทอเรี ยล (Factorial) ของจํานวนนัน (ผลคณของตัวเลข 1
                                                                               ้     ู
จนถึง n) เช่ น 4! = 1 x 2 x 3 x 4 = 24 เป็ นต้ น พร้ อมทังแสดงผลลัพธ์ ออกทางจอภาพ (10 คะแนน)
                                                         ้
 1     2     3     4




โจทย์ ข้อที่ 8 [ระดับปานกลาง] จงเขียนโปรแกรมภาษาจาวาที่สมบรณ์ เพื่อรั บตัวเลขจํานวนเต็มสองจํา
                                                             ู
นวนเข้ ามาเก็บไว้ ในตัวแปร a และ b ตามลําดับ และคํานวณหาค่ าเลขยกกําลังของ ab โดย a เป็ นเลข
ฐานและ b เป็ นเลขชีกาลัง พร้ อมทังแสดงผลลัพธ์ ออกทางจอภาพให้ สวยงาม (10 คะแนน)
                     ้ํ          ้
 1     2     3     4
                                                                               ให้ b มีค่าตังแต่ 0 ขึนไป และ
                                                                                            ้        ้
                                                                               ห้ ามใช้ เมท็อดในคลาส Math
                                                                               ในการคํานวณ




© สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                            ้
46     Computer Programming using Java                                                 04 - Iteration Statements


     โจทย์ ข้อที่ 9 [ระดับปานกลาง] จงเขียนโปรแกรมภาษาจาวาที่สมบรณ์ เพื่อรั บตัวเลขจํานวนเต็มสองจํา
                                                                     ู
     นวนเข้ ามาเก็บไว้ ในตัวแปร a และ b ตามลําดับ และหาผลคณของตัวเลขสองจํานวนนัน โดยใช้ หลักการ
                                                              ู                       ้
     บวก (ห้ ามใช้ เครื่ องหมายคณ) เช่ น a x b มีความหมายเท่ ากับ a บวกกัน b ตัว พร้ อมทังแสดงผลลัพธ์
                                ู                                                        ้
     ออกทางจอภาพ (10 คะแนน)
      1     2     3     4




     โจทย์ ข้อที่ 10 [ระดับปานกลาง] จงเขียนโปรแกรมภาษาจาวาที่สมบรณ์ เพื่อรั บตัวเลขจํานวนเต็มหนึ่งจํา
                                                                  ู
     นวนเข้ ามาเก็บไว้ ในตัวแปร n และคํานวณหาผลบวกของตัวเลขคี่ตังแต่ 1 ถึง n ที่หาร 3 ลงตัว พร้ อมทัง
                                                                ้                                   ้
     แสดงผลลัพธ์ ออกทางจอภาพ (10 คะแนน)
      1     2     3     4     5




     © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                                 ้
Iteration Statements - 04                                           Computer Programming using Java                     47
โจทย์ ข้อที่ 11 [ระดับยาก] จงเขียนโปรแกรมภาษาจาวาที่สมบรณ์ เพื่อรั บตัวเลขจํานวนเต็มบวกหนึ่งจํา-
                                                          ู
นวนเข้ ามาทางแปนพิมพ์ แล้ วแสดงผลลัพธ์ ท่ ีได้ เป็ นเลขฐานสองที่มีค่าเท่ ากับจํานวนนั น ดังตัวอย่ าง
                   ้                                                                  ้
ต่ อไปนี ้ (10 คะแนน)                                         Decimal Number: 14
                                                                          Binary Number: 1110
 1       2    3      4     5
                                                                          Decimal Number: 345
                                                                          Binary Number: 101011001




2. คําสั่งวนซําแบบเบืองต้ นด้ วยคําสั่ง for
              ้      ้
1. คําสั่งวนซําด้ วยคําสั่ง for มี 3 ส่วนหลักเช่นเดียวกับคําสัง while ดังรูปแบบต่อไปนี ้
              ้                                               ่
     1       for(Initial;Condition;Update) {
     2         Statement(s);                                       [1] ค่าตังต้ น (Initial) [2] เงื่อนไข (Condition)
                                                                            ้
     3       }                                                     และ [3] การเปลี่ยนรอบ (Update) ทัง้ 3 ส่วนนี ้
                                                                   จะอยูภายในส่วนหัวของคําสัง for ทังหมด
                                                                         ่                           ่      ้
                               ผังงาน

                                                                   ภายในคําสัง for ถ้ ามีเพียง 1 คําสังไม่ต้องมี
                                                                               ่                      ่
                                Initial
                                                                   เครื่ องหมายปี กกาเปิ ดปิ ดก็ได้

                                                                   พิจารณาเงื่อนไขของคําสัง for ว่าเป็ นจริ ง
                                                                                                  ่
                                           False
                  Update
                               Condition                           หรื อไม่ ถ้ าเป็ นจริ งจะเข้ าทําคําสังทุกๆ คําสัง
                                                                                                         ่          ่
                               True                                ภายในคําสัง for และจะวนทํางานแบบนี ้ไป
                                                                                 ่
                               Statement
                                                                   เรื่ อยๆ จนกว่าเงื่อนไขของคําสัง for จะเป็ นเท็จ
                                                                                                       ่
                                                                   ก็จะจบการวนซํ ้า

© สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                            ้
48     Computer Programming using Java                                                         04 - Iteration Statements


          ตัวอย่ าง                                              กําหนดค่าเริ่ มต้ นให้ ตวแปร i เท่ากับ 1 แล้ วทําการวนซํ ้า
                                                                                         ั
           1
           2
                for(int i = 1; i <= 5; i++) {
                  System.out.print(i);
                                                                 เพื่อแสดงค่า i ตังแต่ 1 ถึง 5 โดยในแต่ละรอบการวนซํ ้า
                                                                                     ้
           3    }                                                จะเพิ่มค่า i ขึ ้นทีละ 1 ดังนันผลลัพธ์ที่ได้ คือ 12345
                                                                                               ้

     โจทย์ ข้อที่ 12 [ระดับง่ าย] จงแสดงผลลัพธ์ จากส่ วนของโปรแกรมตามค่ า n ที่กาหนดให้ ต่อไปนี ้ (4 คะแนน)
                                                                                ํ
      1     double c = 3.0;                                      n = 3            n = 0            n = 1             n = 4
      2     for(c = 1.0; c <= n; c += 0.1)
      3     System.out.println(c++);
      4     c++;
      5     for(int i = 6; i > n; i--) {
      6       System.out.print(i);
      7     System.out.print(n++);
      8     }



     โจทย์ ข้อที่ 13 [ระดับง่ าย] จงเขียนเฉพาะคําสั่ง for ตามเงื่อนไขต่ อไปนี ้ (10 คะแนน)
     1) แสดงคําว่ า "Get A" ขึนบนจอภาพ 1000 ครัง (5 คะแนน)
                                   ้                    ้




     2) แสดงเลขค่ ู 900 ตัวแรกออกทางจอภาพ (เริ่ มที่ 78) (5 คะแนน)




     2. เปรียบเทียบคําสั่ง while และคําสั่ง for
        1) คําสัง while และคําสัง for มีลกษณะการทํางานที่วนซํ ้าเหมือนกัน แต่มีรูปแบบขการเขียนที่แตกต่างกัน
                  ่                 ่         ั
        2) คําสัง while ใช้ วนซํ ้าเมื่อไม่ทราบจํานวนรอบที่แน่ชด แต่คําสัง for ใช้ วนซํ ้าเมื่อทราบจํานวนรอบที่แน่ชด
                ่                                              ั         ่                                         ั
        3) การแปลงคําสัง while ให้ เป็ นคําสัง for
                         ่                      ่
                                                             1


               1      int i = 1;                                       1   for(int i = 1; i <= 5; i++) {
               2      while(i <= 5) {                                  2     ...
               3        ...                                            3   }
                                                         2
               4        i++;
               5      }
                                                                   3


     © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                                 ้
Iteration Statements - 04                                          Computer Programming using Java              49
โจทย์ ข้อที่ 14 [ระดับง่ าย] จงเขียนส่ วนของโปรแกรมภาษาจาวาเพื่อเปลี่ยนคําสั่ง while ในโจทย์ ข้อที่ 6
ถึง 9 ให้ เป็ นคําสั่ง for โดยไม่ ต้องเขียนโปรแกรมในส่ วนของการรั บค่ าและแสดงผล และสามารถเรี ยก
ใช้ ตวแปรเดิมของการรั บค่ าได้ เลย แต่ ตวแปรอื่นๆ จะต้ องประกาศใหม่ ทงหมด (20 คะแนน)
     ั                                    ั                            ั้
1) แปลงเฉพาะคําสั่ง while ในโจทย์ ข้อที่ 6 ให้ เป็ นคําสั่ง for (5 คะแนน)




2) แปลงเฉพาะคําสั่ง while ในโจทย์ ข้อที่ 7 ให้ เป็ นคําสั่ง for (5 คะแนน)




3) แปลงเฉพาะคําสั่ง while ในโจทย์ ข้อที่ 8 ให้ เป็ นคําสั่ง for (5 คะแนน)




4) แปลงเฉพาะคําสั่ง while ในโจทย์ ข้อที่ 9 ให้ เป็ นคําสั่ง for (5 คะแนน)




© สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                            ้
50     Computer Programming using Java                                                 04 - Iteration Statements


     โจทย์ ข้อที่ 15 [ระดับง่ าย - ระดับยาก] จงเขียนเฉพาะคําสั่ง for เพื่อหาคําตอบของสมการต่ อไปนี ้ พร้ อม
     ทังประกาศตัวแปรทุกตัวที่เรี ยกใช้ งาน และห้ ามเรียกใช้ เมท็อดในคลาส Math (30 คะแนน)
       ้
     1) [ระดับง่ าย] 5 + 10 + 15 + ... + 40 (5 คะแนน)




     2) [ระดับง่ าย] 1   + 8 + 27 + ... + 20 3   (5 คะแนน)




     3) [ระดับปานกลาง] 1      + 3 + 7 + 15 + 31 + ... + (215 − 1)        (5 คะแนน)




                                  1   1   1   1         1
     4) [ระดับปานกลาง] 1      +     −   +   −   + ... +          (5 คะแนน)
                                  2   3   4   5         30




     © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                                 ้
Iteration Statements - 04                                          Computer Programming using Java              51
                       23   25   27   29   211         219
5) [ระดับยาก]    2 −      +    −    +    −     + ... −             (10 คะแนน)
                       3!   5!   7!   9!   11!         19!




โจทย์ ข้อที่ 16 [ระดับปานกลาง] จงเขียนโปรแกรมภาษาจาวาที่สมบรณ์ เพื่อรับตัวเลขจํานวนเต็ม 100 จํา-
                                                              ู
นวนทางแปนพิมพ์ แล้ วทําการหาค่ าสงสุด (Maximum) ค่ าตํ่าสุด (Minimum) และค่ าเฉลี่ย (Average) ของ
             ้                       ู
ตัวเลขทังหมด พร้ อมทังแสดงผลลัพธ์ ท่ ได้ ออกทางจอภาพ (10 คะแนน)
         ้              ้              ี
 1     2     3     4     5




© สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                            ้
52     Computer Programming using Java                                                 04 - Iteration Statements


     โจทย์ ข้อที่ 17 [ระดับยาก] จงเขียนโปรแกรมภาษาจาวาที่สมบรณ์ เพื่อรั บตัวเลขจํานวนเต็มเข้ ามาทาง
                                                                  ู
     แปนพิมพ์ หนึ่งจํานวน แล้ วแสดงผลลัพธ์ ตามรปทรงต่ อไปนี ้ (10 คะแนน)
       ้                                       ู                                  Number: 5
      1     2     3     4     5                                                               *
                                                                                              **
                                                                                              ***
                                                                                              ****
                                                                                              *****

                                                                                              Number: 10
                                                                                              *
                                                                                              **
                                                                                              ***
                                                                                              ****
                                                                                              *****
                                                                                              ******
                                                                                              *******
                                                                                              ********
                                                                                              *********
                                                                                              **********




     โจทย์ ข้อที่ 18 [ระดับยาก] จงเขียนโปรแกรมภาษาจาวาที่สมบรณ์ เพื่อรั บตัวเลขจํานวนเต็มหนึ่งจํานวน
                                                                   ู
     ทางแปนพิมพ์ และทําการตรวจสอบว่ าตัวเลขดังกล่ าวเป็ นจํานวนเฉพาะหรือไม่ พร้ อมทังแสดงผลลัพธ์ ท่ ี
            ้                                                                                ้
     ได้ ดงตัวอย่ าง ซึ่งจํานวนเฉพาะ คือ จํานวนที่ค่า 1 และตัวมันเองเท่ านันที่หารลงตัว (15 คะแนน)
          ั                                                                ้
      1     2     3     4     5
                                                                              Number: 17
                                                                              17 is a prime number

                                                                              Number: 45
                                                                              45 is not a prime number




     © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                                 ้

Mais conteúdo relacionado

Mais procurados

ม.3 รหัสจำลอง Pseudocode
ม.3 รหัสจำลอง Pseudocodeม.3 รหัสจำลอง Pseudocode
ม.3 รหัสจำลอง PseudocodeBansit Deelom
 
งานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือก
งานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือกงานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือก
งานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือกItslvle Parin
 
Java-Chapter 12 Classes and Objects
Java-Chapter 12 Classes and ObjectsJava-Chapter 12 Classes and Objects
Java-Chapter 12 Classes and ObjectsWongyos Keardsri
 
Java-Chapter 10 Two Dimensional Arrays
Java-Chapter 10 Two Dimensional ArraysJava-Chapter 10 Two Dimensional Arrays
Java-Chapter 10 Two Dimensional ArraysWongyos Keardsri
 
พื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวาพื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวาThanachart Numnonda
 
ค่าสูงสุดสัมบูรณ์และค่าต่ำสุดสัมบูรณ์ของฟังก์ชัน
ค่าสูงสุดสัมบูรณ์และค่าต่ำสุดสัมบูรณ์ของฟังก์ชันค่าสูงสุดสัมบูรณ์และค่าต่ำสุดสัมบูรณ์ของฟังก์ชัน
ค่าสูงสุดสัมบูรณ์และค่าต่ำสุดสัมบูรณ์ของฟังก์ชันsawed kodnara
 
คำยืมภาษาเขมรในภาษาไทย Khmer Loanwords in Thai
คำยืมภาษาเขมรในภาษาไทย Khmer Loanwords in Thaiคำยืมภาษาเขมรในภาษาไทย Khmer Loanwords in Thai
คำยืมภาษาเขมรในภาษาไทย Khmer Loanwords in Thaisnangwork
 
บทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Javaบทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา JavaItslvle Parin
 

Mais procurados (11)

Lesson3
Lesson3Lesson3
Lesson3
 
ม.3 รหัสจำลอง Pseudocode
ม.3 รหัสจำลอง Pseudocodeม.3 รหัสจำลอง Pseudocode
ม.3 รหัสจำลอง Pseudocode
 
งานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือก
งานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือกงานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือก
งานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือก
 
Tech30101 ch8
Tech30101 ch8Tech30101 ch8
Tech30101 ch8
 
Flowchart credit :
Flowchart credit : Flowchart credit :
Flowchart credit :
 
Java-Chapter 12 Classes and Objects
Java-Chapter 12 Classes and ObjectsJava-Chapter 12 Classes and Objects
Java-Chapter 12 Classes and Objects
 
Java-Chapter 10 Two Dimensional Arrays
Java-Chapter 10 Two Dimensional ArraysJava-Chapter 10 Two Dimensional Arrays
Java-Chapter 10 Two Dimensional Arrays
 
พื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวาพื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวา
 
ค่าสูงสุดสัมบูรณ์และค่าต่ำสุดสัมบูรณ์ของฟังก์ชัน
ค่าสูงสุดสัมบูรณ์และค่าต่ำสุดสัมบูรณ์ของฟังก์ชันค่าสูงสุดสัมบูรณ์และค่าต่ำสุดสัมบูรณ์ของฟังก์ชัน
ค่าสูงสุดสัมบูรณ์และค่าต่ำสุดสัมบูรณ์ของฟังก์ชัน
 
คำยืมภาษาเขมรในภาษาไทย Khmer Loanwords in Thai
คำยืมภาษาเขมรในภาษาไทย Khmer Loanwords in Thaiคำยืมภาษาเขมรในภาษาไทย Khmer Loanwords in Thai
คำยืมภาษาเขมรในภาษาไทย Khmer Loanwords in Thai
 
บทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Javaบทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Java
 

Destaque

Java Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and CollectionJava Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and CollectionIMC Institute
 
How to Study and Research in Computer-related Master Program
How to Study and Research in Computer-related Master ProgramHow to Study and Research in Computer-related Master Program
How to Study and Research in Computer-related Master ProgramWongyos Keardsri
 
Java-Chapter 06 File Operations
Java-Chapter 06 File OperationsJava-Chapter 06 File Operations
Java-Chapter 06 File OperationsWongyos Keardsri
 
Java-Chapter 11 Recursions
Java-Chapter 11 RecursionsJava-Chapter 11 Recursions
Java-Chapter 11 RecursionsWongyos Keardsri
 
Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)Wongyos Keardsri
 
Java-Answer Chapter 07 (For Print)
Java-Answer Chapter 07 (For Print)Java-Answer Chapter 07 (For Print)
Java-Answer Chapter 07 (For Print)Wongyos Keardsri
 
Java-Chapter 13 Advanced Classes and Objects
Java-Chapter 13 Advanced Classes and ObjectsJava-Chapter 13 Advanced Classes and Objects
Java-Chapter 13 Advanced Classes and ObjectsWongyos Keardsri
 
การควบคุมทิศทางการทำงานของโปรแกรม
การควบคุมทิศทางการทำงานของโปรแกรมการควบคุมทิศทางการทำงานของโปรแกรม
การควบคุมทิศทางการทำงานของโปรแกรมkorn27122540
 

Destaque (11)

Java Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and CollectionJava Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and Collection
 
Java-Answer Chapter 01-04
Java-Answer Chapter 01-04Java-Answer Chapter 01-04
Java-Answer Chapter 01-04
 
How to Study and Research in Computer-related Master Program
How to Study and Research in Computer-related Master ProgramHow to Study and Research in Computer-related Master Program
How to Study and Research in Computer-related Master Program
 
Java-Chapter 08 Methods
Java-Chapter 08 MethodsJava-Chapter 08 Methods
Java-Chapter 08 Methods
 
Java-Chapter 06 File Operations
Java-Chapter 06 File OperationsJava-Chapter 06 File Operations
Java-Chapter 06 File Operations
 
Java-Chapter 11 Recursions
Java-Chapter 11 RecursionsJava-Chapter 11 Recursions
Java-Chapter 11 Recursions
 
Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)
 
Java-Answer Chapter 07 (For Print)
Java-Answer Chapter 07 (For Print)Java-Answer Chapter 07 (For Print)
Java-Answer Chapter 07 (For Print)
 
Java-Chapter 13 Advanced Classes and Objects
Java-Chapter 13 Advanced Classes and ObjectsJava-Chapter 13 Advanced Classes and Objects
Java-Chapter 13 Advanced Classes and Objects
 
IP address anonymization
IP address anonymizationIP address anonymization
IP address anonymization
 
การควบคุมทิศทางการทำงานของโปรแกรม
การควบคุมทิศทางการทำงานของโปรแกรมการควบคุมทิศทางการทำงานของโปรแกรม
การควบคุมทิศทางการทำงานของโปรแกรม
 

Semelhante a Java-Chapter 04 Iteration Statements

บทที่3 การควบคุมโปรแกรม
บทที่3 การควบคุมโปรแกรมบทที่3 การควบคุมโปรแกรม
บทที่3 การควบคุมโปรแกรมpennapa34
 
กลุ่มที่4 ม.6/3 คำสั่ง For,While,Do while
กลุ่มที่4 ม.6/3 คำสั่ง For,While,Do while กลุ่มที่4 ม.6/3 คำสั่ง For,While,Do while
กลุ่มที่4 ม.6/3 คำสั่ง For,While,Do while Aeew Autaporn
 
หน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 express
หน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 expressหน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 express
หน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 expressครูสม ฟาร์มมะนาว
 
เงื่อนไข การตัดสินใจ
เงื่อนไข การตัดสินใจเงื่อนไข การตัดสินใจ
เงื่อนไข การตัดสินใจOraphan4
 
การเขียนคำสั่งควบคุมแบบวนซ้ำ
การเขียนคำสั่งควบคุมแบบวนซ้ำการเขียนคำสั่งควบคุมแบบวนซ้ำ
การเขียนคำสั่งควบคุมแบบวนซ้ำGatesiree G'ate
 
การเขียนคำสั่งแบบวนซ้ำ
การเขียนคำสั่งแบบวนซ้ำการเขียนคำสั่งแบบวนซ้ำ
การเขียนคำสั่งแบบวนซ้ำGatesiree G'ate
 

Semelhante a Java-Chapter 04 Iteration Statements (13)

บทที่3 การควบคุมโปรแกรม
บทที่3 การควบคุมโปรแกรมบทที่3 การควบคุมโปรแกรม
บทที่3 การควบคุมโปรแกรม
 
Lesson4
Lesson4Lesson4
Lesson4
 
งานทำ Blog บทที่ 6
งานทำ Blog บทที่ 6งานทำ Blog บทที่ 6
งานทำ Blog บทที่ 6
 
4 การเขียนคำสั่งแบบวนซ้ำ
4 การเขียนคำสั่งแบบวนซ้ำ 4 การเขียนคำสั่งแบบวนซ้ำ
4 การเขียนคำสั่งแบบวนซ้ำ
 
กลุ่มที่4 ม.6/3 คำสั่ง For,While,Do while
กลุ่มที่4 ม.6/3 คำสั่ง For,While,Do while กลุ่มที่4 ม.6/3 คำสั่ง For,While,Do while
กลุ่มที่4 ม.6/3 คำสั่ง For,While,Do while
 
Know4 2
Know4 2Know4 2
Know4 2
 
ฟังก์ชั่น While
ฟังก์ชั่น Whileฟังก์ชั่น While
ฟังก์ชั่น While
 
ฟังก์ชั่น do_while
ฟังก์ชั่น do_whileฟังก์ชั่น do_while
ฟังก์ชั่น do_while
 
หน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 express
หน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 expressหน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 express
หน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 express
 
Presentation2
Presentation2Presentation2
Presentation2
 
เงื่อนไข การตัดสินใจ
เงื่อนไข การตัดสินใจเงื่อนไข การตัดสินใจ
เงื่อนไข การตัดสินใจ
 
การเขียนคำสั่งควบคุมแบบวนซ้ำ
การเขียนคำสั่งควบคุมแบบวนซ้ำการเขียนคำสั่งควบคุมแบบวนซ้ำ
การเขียนคำสั่งควบคุมแบบวนซ้ำ
 
การเขียนคำสั่งแบบวนซ้ำ
การเขียนคำสั่งแบบวนซ้ำการเขียนคำสั่งแบบวนซ้ำ
การเขียนคำสั่งแบบวนซ้ำ
 

Mais de Wongyos Keardsri

The next generation intelligent transport systems: standards and applications
The next generation intelligent transport systems: standards and applicationsThe next generation intelligent transport systems: standards and applications
The next generation intelligent transport systems: standards and applicationsWongyos Keardsri
 
SysProg-Tutor 03 Unix Shell Script Programming
SysProg-Tutor 03 Unix Shell Script ProgrammingSysProg-Tutor 03 Unix Shell Script Programming
SysProg-Tutor 03 Unix Shell Script ProgrammingWongyos Keardsri
 
SysProg-Tutor 02 Introduction to Unix Operating System
SysProg-Tutor 02 Introduction to Unix Operating SystemSysProg-Tutor 02 Introduction to Unix Operating System
SysProg-Tutor 02 Introduction to Unix Operating SystemWongyos Keardsri
 
SysProg-Tutor 01 Introduction to C Programming Language
SysProg-Tutor 01 Introduction to C Programming LanguageSysProg-Tutor 01 Introduction to C Programming Language
SysProg-Tutor 01 Introduction to C Programming LanguageWongyos Keardsri
 
Discrete-Chapter 11 Graphs Part III
Discrete-Chapter 11 Graphs Part IIIDiscrete-Chapter 11 Graphs Part III
Discrete-Chapter 11 Graphs Part IIIWongyos Keardsri
 
Discrete-Chapter 11 Graphs Part II
Discrete-Chapter 11 Graphs Part IIDiscrete-Chapter 11 Graphs Part II
Discrete-Chapter 11 Graphs Part IIWongyos Keardsri
 
Discrete-Chapter 11 Graphs Part I
Discrete-Chapter 11 Graphs Part IDiscrete-Chapter 11 Graphs Part I
Discrete-Chapter 11 Graphs Part IWongyos Keardsri
 
Discrete-Chapter 09 Algorithms
Discrete-Chapter 09 AlgorithmsDiscrete-Chapter 09 Algorithms
Discrete-Chapter 09 AlgorithmsWongyos Keardsri
 
Discrete-Chapter 08 Relations
Discrete-Chapter 08 RelationsDiscrete-Chapter 08 Relations
Discrete-Chapter 08 RelationsWongyos Keardsri
 
Discrete-Chapter 07 Probability
Discrete-Chapter 07 ProbabilityDiscrete-Chapter 07 Probability
Discrete-Chapter 07 ProbabilityWongyos Keardsri
 
Discrete-Chapter 06 Counting
Discrete-Chapter 06 CountingDiscrete-Chapter 06 Counting
Discrete-Chapter 06 CountingWongyos Keardsri
 
Discrete-Chapter 05 Inference and Proofs
Discrete-Chapter 05 Inference and ProofsDiscrete-Chapter 05 Inference and Proofs
Discrete-Chapter 05 Inference and ProofsWongyos Keardsri
 
Discrete-Chapter 04 Logic Part II
Discrete-Chapter 04 Logic Part IIDiscrete-Chapter 04 Logic Part II
Discrete-Chapter 04 Logic Part IIWongyos Keardsri
 
Discrete-Chapter 04 Logic Part I
Discrete-Chapter 04 Logic Part IDiscrete-Chapter 04 Logic Part I
Discrete-Chapter 04 Logic Part IWongyos Keardsri
 
Discrete-Chapter 03 Matrices
Discrete-Chapter 03 MatricesDiscrete-Chapter 03 Matrices
Discrete-Chapter 03 MatricesWongyos Keardsri
 
Discrete-Chapter 02 Functions and Sequences
Discrete-Chapter 02 Functions and SequencesDiscrete-Chapter 02 Functions and Sequences
Discrete-Chapter 02 Functions and SequencesWongyos Keardsri
 
Discrete-Chapter 12 Modeling Computation
Discrete-Chapter 12 Modeling ComputationDiscrete-Chapter 12 Modeling Computation
Discrete-Chapter 12 Modeling ComputationWongyos Keardsri
 
Java-Chapter 14 Creating Graphics with DWindow
Java-Chapter 14 Creating Graphics with DWindowJava-Chapter 14 Creating Graphics with DWindow
Java-Chapter 14 Creating Graphics with DWindowWongyos Keardsri
 

Mais de Wongyos Keardsri (20)

The next generation intelligent transport systems: standards and applications
The next generation intelligent transport systems: standards and applicationsThe next generation intelligent transport systems: standards and applications
The next generation intelligent transport systems: standards and applications
 
SysProg-Tutor 03 Unix Shell Script Programming
SysProg-Tutor 03 Unix Shell Script ProgrammingSysProg-Tutor 03 Unix Shell Script Programming
SysProg-Tutor 03 Unix Shell Script Programming
 
SysProg-Tutor 02 Introduction to Unix Operating System
SysProg-Tutor 02 Introduction to Unix Operating SystemSysProg-Tutor 02 Introduction to Unix Operating System
SysProg-Tutor 02 Introduction to Unix Operating System
 
SysProg-Tutor 01 Introduction to C Programming Language
SysProg-Tutor 01 Introduction to C Programming LanguageSysProg-Tutor 01 Introduction to C Programming Language
SysProg-Tutor 01 Introduction to C Programming Language
 
Discrete-Chapter 11 Graphs Part III
Discrete-Chapter 11 Graphs Part IIIDiscrete-Chapter 11 Graphs Part III
Discrete-Chapter 11 Graphs Part III
 
Discrete-Chapter 11 Graphs Part II
Discrete-Chapter 11 Graphs Part IIDiscrete-Chapter 11 Graphs Part II
Discrete-Chapter 11 Graphs Part II
 
Discrete-Chapter 11 Graphs Part I
Discrete-Chapter 11 Graphs Part IDiscrete-Chapter 11 Graphs Part I
Discrete-Chapter 11 Graphs Part I
 
Discrete-Chapter 10 Trees
Discrete-Chapter 10 TreesDiscrete-Chapter 10 Trees
Discrete-Chapter 10 Trees
 
Discrete-Chapter 09 Algorithms
Discrete-Chapter 09 AlgorithmsDiscrete-Chapter 09 Algorithms
Discrete-Chapter 09 Algorithms
 
Discrete-Chapter 08 Relations
Discrete-Chapter 08 RelationsDiscrete-Chapter 08 Relations
Discrete-Chapter 08 Relations
 
Discrete-Chapter 07 Probability
Discrete-Chapter 07 ProbabilityDiscrete-Chapter 07 Probability
Discrete-Chapter 07 Probability
 
Discrete-Chapter 06 Counting
Discrete-Chapter 06 CountingDiscrete-Chapter 06 Counting
Discrete-Chapter 06 Counting
 
Discrete-Chapter 05 Inference and Proofs
Discrete-Chapter 05 Inference and ProofsDiscrete-Chapter 05 Inference and Proofs
Discrete-Chapter 05 Inference and Proofs
 
Discrete-Chapter 04 Logic Part II
Discrete-Chapter 04 Logic Part IIDiscrete-Chapter 04 Logic Part II
Discrete-Chapter 04 Logic Part II
 
Discrete-Chapter 04 Logic Part I
Discrete-Chapter 04 Logic Part IDiscrete-Chapter 04 Logic Part I
Discrete-Chapter 04 Logic Part I
 
Discrete-Chapter 03 Matrices
Discrete-Chapter 03 MatricesDiscrete-Chapter 03 Matrices
Discrete-Chapter 03 Matrices
 
Discrete-Chapter 02 Functions and Sequences
Discrete-Chapter 02 Functions and SequencesDiscrete-Chapter 02 Functions and Sequences
Discrete-Chapter 02 Functions and Sequences
 
Discrete-Chapter 01 Sets
Discrete-Chapter 01 SetsDiscrete-Chapter 01 Sets
Discrete-Chapter 01 Sets
 
Discrete-Chapter 12 Modeling Computation
Discrete-Chapter 12 Modeling ComputationDiscrete-Chapter 12 Modeling Computation
Discrete-Chapter 12 Modeling Computation
 
Java-Chapter 14 Creating Graphics with DWindow
Java-Chapter 14 Creating Graphics with DWindowJava-Chapter 14 Creating Graphics with DWindow
Java-Chapter 14 Creating Graphics with DWindow
 

Java-Chapter 04 Iteration Statements

  • 1. Iteration Statements - 04 Computer Programming using Java 41 CHAPTER คําสังวนซํ้า ่ 04 (Iteration Statements) 1. คําสั่งวนซําแบบเบืองต้ นด้ วยคําสั่ง while ้ ้ 1. นิยามและข้ อกําหนดของคําสั่งวนซําหรือทําซํา ้ ้ 1) คําสังวนซํ ้าหรื อทําซํ ้า (Iteration/Repetition) คือ คําสังที่ใช้ สําหรับวนรอบเพื่อทํางานอย่างใดอย่างหนึ่ง ่ ่ ตามเงื่อนไข (Condition) ที่กําหนดขึ ้น และจะวนทํางานแบบนันไปเรื่ อยๆ ตราบใดที่เงื่อนไขยังเป็ นจริง ้ 2) คําสังวนซํ ้าในภาษาจาวา ประกอบไปด้ วย 3 ชุดคําสังได้ แก่ [1] while, [2] do-while และ [3] for ่ ่ 2. คําสั่งวนซําด้ วยคําสั่ง while มี 3 ส่วนหลักดังรูปแบบคําสังต่อไปนี ้ ้ ่ 1 Initial; 1 ค่าตังต้ น (Initial) เป็ นการกําหนดค่าเริ่มต้ นสําหรับการวนซํ ้า ้ 2 while(Condition) { 3 Statement(s); 2 เงื่อนไข (Condition) จะเป็ นนิพจน์ตรรกะ (Boolean Expression) 4 Update; 5 } ที่แสดงถึงค่าความจริงว่าเมื่อไรจะวนซํ ้า เมื่อไรจะสิ ้นสุดการวนซํ ้า ผังงาน 3 การเปลี่ยนรอบ (Update) เป็ นการเปลี่ยนรอบการวนซํ ้า (ถ้ าไม่ระบุ ส่วนนี ้จะเกิดการวนซํ ้าแบบไม่ รู้จบ หรื อ Infinite Loop) Initial ภายในคําสัง while ถ้ ามีเพียง 1 คําสังไม่ต้องมีเครื่ องหมายปี ก ่ ่ กาเปิ ดปิ ดก็ได้ False Update Condition พิจารณาเงื่อนไขของคําสัง while ว่าเป็ นจริงหรื อไม่ ถ้ าเป็ นจริง ่ True จะเข้ าทําคําสังทุกๆ คําสัง ภายในคําสัง while และจะวนทํางาน ่ ่ ่ Statement แบบนี ้ไปเรื่ อยๆ จนกว่าเงื่อนไขของคําสัง while จะเป็ นเท็จ ก็จะ ่ สิ ้นสุดการวนซํ ้า ตัวอย่ าง กําหนดค่าเริ่ มต้ นให้ ตวแปร i เท่ากับ 1 แล้ วทําการวนซํ ้าเพื่อ ั int i = 1; 1 2 while(i <= 5) { แสดงค่า i ตังแต่ 1 ถึง 5 โดยในแต่ละรอบการวนซํ ้าจะเพิ่มจํา ้ 3 System.out.print(i); นวนรอบ (เพิ่มค่า i) ขึ ้นทีละ 1 (โดยใช้ คําสัง i++) ดังนัน ่ ้ 4 i++; 5 } ผลลัพธ์ที่ได้ คือ 12345 โจทย์ ข้อที่ 1 [ระดับง่ าย] จงแสดงผลลัพธ์ จากส่ วนของโปรแกรมตามค่ า n ที่กาหนดให้ ต่อไปนี ้ (5 คะแนน) ํ 1 int i = 0, j = 5; n = 1 n = 0 n = -1 n = 3 n = -2 2 while (i <= n) { 3 System.out.println(n++); 4 i = i + 2; } 5 while (j > n) { 6 System.out.println(--j); 7 j--; 8 } © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 2. 42 Computer Programming using Java 04 - Iteration Statements โจทย์ ข้อที่ 2 [ระดับง่ าย] จงเขียนเฉพาะคําสั่ง while ตามเงื่อนไขต่ อไปนี ้ (10 คะแนน) 1) แสดงคําว่ า "Java" ขึนบนจอภาพ 100 ครัง (5 คะแนน) ้ ้ 2) แสดงเลขค่ ู 10 ตัวแรกออกทางจอภาพ โดยเริ่มต้ นที่ตวเลข 2 (5 คะแนน) ั 3. คําสั่งวนซําด้ วยคําสั่ง while (true) มีรูปแบบดังต่อไปนี ้ ้ 1 while(true) { 2 Statement(s); คําสัง while(true) มีเงื่อนไข (Condition) เป็ นจริง ่ 3 if(Condition) break; ตลอดกาล ดังนันจะวนซํ ้าแบบไม่ร้ ูจบ ้ 4 } การออกจากคําสัง while(true) ทําได้ เพียงวิธีเดียวเท่านัน คือ ่ ้ ผังงาน ใช้ คําสัง if(…) break; โดยเมื่อเงื่อนไขของคําสัง if เป็ นจริง ่ ่ ก็จะสิ ้นสุดการวนซํ ้า True เข้ าทําคําสังทุกๆ คําสัง ภายในคําสัง while ทันทีเพราะว่าเงื่อนไข ่ ่ ่ Statement เป็ นจริงตลอดกาล และจะวนทํางานแบบนี ้ไปเรื่ อยๆ จนกว่าเงื่อนไข True False ของคําสัง if ซึงอยูภายในคําสัง while เป็ นจริง ก็จะ break ่ ่ ่ ่ Condition การทํางาน และสิ ้นสุดการวนซํ ้า ตัวอย่ าง วนรับค่าตัวเลขจํานวนเต็ม 1 จํานวนทางแป้ นพิมพ์ แล้ วตรวจสอบ 1 Scanner kb = new ...; ว่าตัวเลขที่รับเข้ ามานันเท่ากับ 0 หรื อไม่ ถ้ าใช่ก็จะสิ ้นสุดการวนซํ ้า ้ 2 while(true) { 3 int x = kb.nextInt(); แต่ถ้าไม่เช่นนันก็จะวนรับค่าตัวเลขจํานวนเต็มจากแปนพิมพ์ไป ้ ้ 4 if(x == 0) break; 5 } เรื่ อยๆ © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 3. Iteration Statements - 04 Computer Programming using Java 43 โจทย์ ข้อที่ 3 [ระดับง่ าย] จงเขียนเฉพาะคําสั่ง while(true) ตามเงื่อนไขต่ อไปนี ้ (10 คะแนน) 1) แสดงคําว่ า “เกรี ยน” ขึนบนจอภาพ 1000 ครั ง (5 คะแนน) ้ ้ 2) สุ่มตัวเลขตังแต่ 0-10 แล้ วแสดงผลขึนบนจอภาพไปเรื่อยๆ จะจบเมื่อสุ่มได้ เลข 5 (5 คะแนน) ้ ้ โจทย์ ข้อที่ 4 [ระดับง่ าย] จงเขียนโปรแกรมภาษาจาวาที่สมบรณ์ เพื่อรั บค่ าตัวเลขจํานวนเต็มหนึ่งจํานวน ู เข้ ามาทางแปนพิมพ์ แล้ วทําการแสดงค่ าตัวเลขจํานวนเต็มตังแต่ 0 จนถึงตัวเลขที่รับเข้ ามานันออกทาง ้ ้ ้ จอภาพทีละบรรทัดให้ สวยงาม (10 คะแนน) 1 2 3 4 © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 4. 44 Computer Programming using Java 04 - Iteration Statements โจทย์ ข้อที่ 5 [ระดับง่ าย] จงเขียนโปรแกรมภาษาจาวาที่สมบรณ์ เพื่อรั บค่ าตัวเลขจํานวนเต็มหนึ่งจํานวน ู เข้ ามาทางแปนพิมพ์ แล้ ววนรอบแสดงเครื่ องหมายดอกจัน "*" ให้ มีจํานวนเท่ ากับค่ าของตัวเลขที่ ้ รั บเข้ ามานัน และแสดงผลลัพธ์ ส่วนอื่นๆ ให้ เหมือนกับตัวอย่ างต่ อไปนี ้ (10 คะแนน) ้ 1 2 3 4 Enter number: -1 -1 Enter number: 4 4 **** Enter number: 6 6 ****** โจทย์ ข้อที่ 6 [ระดับปานกลาง] จงเขียนโปรแกรมภาษาจาวาที่สมบรณ์ เพื่อรั บตัวเลขจํานวนเต็มหนึ่งจํา ู นวนเข้ ามาเก็บไว้ ในตัวแปร n และหาผลบวกของตัวเลขตังแต่ 1 จนถึง n เก็บไว้ ในตัวแปร sum พร้ อมทัง ้ ้ แสดงค่ าของตัวแปร sum ที่เป็ นผลคําตอบสุดท้ ายออกทางจอภาพ (10 คะแนน) 1 2 3 4 © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 5. Iteration Statements - 04 Computer Programming using Java 45 โจทย์ ข้อที่ 7 [ระดับปานกลาง] จงเขียนโปรแกรมภาษาจาวาที่สมบรณ์ เพื่อรั บตัวเลขจํานวนเต็มหนึ่งจํา ู นวนเข้ ามาเก็บไว้ ในตัวแปร n และหาค่ าแฟคทอเรี ยล (Factorial) ของจํานวนนัน (ผลคณของตัวเลข 1 ้ ู จนถึง n) เช่ น 4! = 1 x 2 x 3 x 4 = 24 เป็ นต้ น พร้ อมทังแสดงผลลัพธ์ ออกทางจอภาพ (10 คะแนน) ้ 1 2 3 4 โจทย์ ข้อที่ 8 [ระดับปานกลาง] จงเขียนโปรแกรมภาษาจาวาที่สมบรณ์ เพื่อรั บตัวเลขจํานวนเต็มสองจํา ู นวนเข้ ามาเก็บไว้ ในตัวแปร a และ b ตามลําดับ และคํานวณหาค่ าเลขยกกําลังของ ab โดย a เป็ นเลข ฐานและ b เป็ นเลขชีกาลัง พร้ อมทังแสดงผลลัพธ์ ออกทางจอภาพให้ สวยงาม (10 คะแนน) ้ํ ้ 1 2 3 4 ให้ b มีค่าตังแต่ 0 ขึนไป และ ้ ้ ห้ ามใช้ เมท็อดในคลาส Math ในการคํานวณ © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 6. 46 Computer Programming using Java 04 - Iteration Statements โจทย์ ข้อที่ 9 [ระดับปานกลาง] จงเขียนโปรแกรมภาษาจาวาที่สมบรณ์ เพื่อรั บตัวเลขจํานวนเต็มสองจํา ู นวนเข้ ามาเก็บไว้ ในตัวแปร a และ b ตามลําดับ และหาผลคณของตัวเลขสองจํานวนนัน โดยใช้ หลักการ ู ้ บวก (ห้ ามใช้ เครื่ องหมายคณ) เช่ น a x b มีความหมายเท่ ากับ a บวกกัน b ตัว พร้ อมทังแสดงผลลัพธ์ ู ้ ออกทางจอภาพ (10 คะแนน) 1 2 3 4 โจทย์ ข้อที่ 10 [ระดับปานกลาง] จงเขียนโปรแกรมภาษาจาวาที่สมบรณ์ เพื่อรั บตัวเลขจํานวนเต็มหนึ่งจํา ู นวนเข้ ามาเก็บไว้ ในตัวแปร n และคํานวณหาผลบวกของตัวเลขคี่ตังแต่ 1 ถึง n ที่หาร 3 ลงตัว พร้ อมทัง ้ ้ แสดงผลลัพธ์ ออกทางจอภาพ (10 คะแนน) 1 2 3 4 5 © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 7. Iteration Statements - 04 Computer Programming using Java 47 โจทย์ ข้อที่ 11 [ระดับยาก] จงเขียนโปรแกรมภาษาจาวาที่สมบรณ์ เพื่อรั บตัวเลขจํานวนเต็มบวกหนึ่งจํา- ู นวนเข้ ามาทางแปนพิมพ์ แล้ วแสดงผลลัพธ์ ท่ ีได้ เป็ นเลขฐานสองที่มีค่าเท่ ากับจํานวนนั น ดังตัวอย่ าง ้ ้ ต่ อไปนี ้ (10 คะแนน) Decimal Number: 14 Binary Number: 1110 1 2 3 4 5 Decimal Number: 345 Binary Number: 101011001 2. คําสั่งวนซําแบบเบืองต้ นด้ วยคําสั่ง for ้ ้ 1. คําสั่งวนซําด้ วยคําสั่ง for มี 3 ส่วนหลักเช่นเดียวกับคําสัง while ดังรูปแบบต่อไปนี ้ ้ ่ 1 for(Initial;Condition;Update) { 2 Statement(s); [1] ค่าตังต้ น (Initial) [2] เงื่อนไข (Condition) ้ 3 } และ [3] การเปลี่ยนรอบ (Update) ทัง้ 3 ส่วนนี ้ จะอยูภายในส่วนหัวของคําสัง for ทังหมด ่ ่ ้ ผังงาน ภายในคําสัง for ถ้ ามีเพียง 1 คําสังไม่ต้องมี ่ ่ Initial เครื่ องหมายปี กกาเปิ ดปิ ดก็ได้ พิจารณาเงื่อนไขของคําสัง for ว่าเป็ นจริ ง ่ False Update Condition หรื อไม่ ถ้ าเป็ นจริ งจะเข้ าทําคําสังทุกๆ คําสัง ่ ่ True ภายในคําสัง for และจะวนทํางานแบบนี ้ไป ่ Statement เรื่ อยๆ จนกว่าเงื่อนไขของคําสัง for จะเป็ นเท็จ ่ ก็จะจบการวนซํ ้า © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 8. 48 Computer Programming using Java 04 - Iteration Statements ตัวอย่ าง กําหนดค่าเริ่ มต้ นให้ ตวแปร i เท่ากับ 1 แล้ วทําการวนซํ ้า ั 1 2 for(int i = 1; i <= 5; i++) { System.out.print(i); เพื่อแสดงค่า i ตังแต่ 1 ถึง 5 โดยในแต่ละรอบการวนซํ ้า ้ 3 } จะเพิ่มค่า i ขึ ้นทีละ 1 ดังนันผลลัพธ์ที่ได้ คือ 12345 ้ โจทย์ ข้อที่ 12 [ระดับง่ าย] จงแสดงผลลัพธ์ จากส่ วนของโปรแกรมตามค่ า n ที่กาหนดให้ ต่อไปนี ้ (4 คะแนน) ํ 1 double c = 3.0; n = 3 n = 0 n = 1 n = 4 2 for(c = 1.0; c <= n; c += 0.1) 3 System.out.println(c++); 4 c++; 5 for(int i = 6; i > n; i--) { 6 System.out.print(i); 7 System.out.print(n++); 8 } โจทย์ ข้อที่ 13 [ระดับง่ าย] จงเขียนเฉพาะคําสั่ง for ตามเงื่อนไขต่ อไปนี ้ (10 คะแนน) 1) แสดงคําว่ า "Get A" ขึนบนจอภาพ 1000 ครัง (5 คะแนน) ้ ้ 2) แสดงเลขค่ ู 900 ตัวแรกออกทางจอภาพ (เริ่ มที่ 78) (5 คะแนน) 2. เปรียบเทียบคําสั่ง while และคําสั่ง for 1) คําสัง while และคําสัง for มีลกษณะการทํางานที่วนซํ ้าเหมือนกัน แต่มีรูปแบบขการเขียนที่แตกต่างกัน ่ ่ ั 2) คําสัง while ใช้ วนซํ ้าเมื่อไม่ทราบจํานวนรอบที่แน่ชด แต่คําสัง for ใช้ วนซํ ้าเมื่อทราบจํานวนรอบที่แน่ชด ่ ั ่ ั 3) การแปลงคําสัง while ให้ เป็ นคําสัง for ่ ่ 1 1 int i = 1; 1 for(int i = 1; i <= 5; i++) { 2 while(i <= 5) { 2 ... 3 ... 3 } 2 4 i++; 5 } 3 © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 9. Iteration Statements - 04 Computer Programming using Java 49 โจทย์ ข้อที่ 14 [ระดับง่ าย] จงเขียนส่ วนของโปรแกรมภาษาจาวาเพื่อเปลี่ยนคําสั่ง while ในโจทย์ ข้อที่ 6 ถึง 9 ให้ เป็ นคําสั่ง for โดยไม่ ต้องเขียนโปรแกรมในส่ วนของการรั บค่ าและแสดงผล และสามารถเรี ยก ใช้ ตวแปรเดิมของการรั บค่ าได้ เลย แต่ ตวแปรอื่นๆ จะต้ องประกาศใหม่ ทงหมด (20 คะแนน) ั ั ั้ 1) แปลงเฉพาะคําสั่ง while ในโจทย์ ข้อที่ 6 ให้ เป็ นคําสั่ง for (5 คะแนน) 2) แปลงเฉพาะคําสั่ง while ในโจทย์ ข้อที่ 7 ให้ เป็ นคําสั่ง for (5 คะแนน) 3) แปลงเฉพาะคําสั่ง while ในโจทย์ ข้อที่ 8 ให้ เป็ นคําสั่ง for (5 คะแนน) 4) แปลงเฉพาะคําสั่ง while ในโจทย์ ข้อที่ 9 ให้ เป็ นคําสั่ง for (5 คะแนน) © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 10. 50 Computer Programming using Java 04 - Iteration Statements โจทย์ ข้อที่ 15 [ระดับง่ าย - ระดับยาก] จงเขียนเฉพาะคําสั่ง for เพื่อหาคําตอบของสมการต่ อไปนี ้ พร้ อม ทังประกาศตัวแปรทุกตัวที่เรี ยกใช้ งาน และห้ ามเรียกใช้ เมท็อดในคลาส Math (30 คะแนน) ้ 1) [ระดับง่ าย] 5 + 10 + 15 + ... + 40 (5 คะแนน) 2) [ระดับง่ าย] 1 + 8 + 27 + ... + 20 3 (5 คะแนน) 3) [ระดับปานกลาง] 1 + 3 + 7 + 15 + 31 + ... + (215 − 1) (5 คะแนน) 1 1 1 1 1 4) [ระดับปานกลาง] 1 + − + − + ... + (5 คะแนน) 2 3 4 5 30 © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 11. Iteration Statements - 04 Computer Programming using Java 51 23 25 27 29 211 219 5) [ระดับยาก] 2 − + − + − + ... − (10 คะแนน) 3! 5! 7! 9! 11! 19! โจทย์ ข้อที่ 16 [ระดับปานกลาง] จงเขียนโปรแกรมภาษาจาวาที่สมบรณ์ เพื่อรับตัวเลขจํานวนเต็ม 100 จํา- ู นวนทางแปนพิมพ์ แล้ วทําการหาค่ าสงสุด (Maximum) ค่ าตํ่าสุด (Minimum) และค่ าเฉลี่ย (Average) ของ ้ ู ตัวเลขทังหมด พร้ อมทังแสดงผลลัพธ์ ท่ ได้ ออกทางจอภาพ (10 คะแนน) ้ ้ ี 1 2 3 4 5 © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 12. 52 Computer Programming using Java 04 - Iteration Statements โจทย์ ข้อที่ 17 [ระดับยาก] จงเขียนโปรแกรมภาษาจาวาที่สมบรณ์ เพื่อรั บตัวเลขจํานวนเต็มเข้ ามาทาง ู แปนพิมพ์ หนึ่งจํานวน แล้ วแสดงผลลัพธ์ ตามรปทรงต่ อไปนี ้ (10 คะแนน) ้ ู Number: 5 1 2 3 4 5 * ** *** **** ***** Number: 10 * ** *** **** ***** ****** ******* ******** ********* ********** โจทย์ ข้อที่ 18 [ระดับยาก] จงเขียนโปรแกรมภาษาจาวาที่สมบรณ์ เพื่อรั บตัวเลขจํานวนเต็มหนึ่งจํานวน ู ทางแปนพิมพ์ และทําการตรวจสอบว่ าตัวเลขดังกล่ าวเป็ นจํานวนเฉพาะหรือไม่ พร้ อมทังแสดงผลลัพธ์ ท่ ี ้ ้ ได้ ดงตัวอย่ าง ซึ่งจํานวนเฉพาะ คือ จํานวนที่ค่า 1 และตัวมันเองเท่ านันที่หารลงตัว (15 คะแนน) ั ้ 1 2 3 4 5 Number: 17 17 is a prime number Number: 45 45 is not a prime number © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้