รายการบล็อก

วันอังคารที่ 27 กุมภาพันธ์ พ.ศ. 2561

จุดประสงค์รายวิชา

พื้นฐานการเขียนโปรแกรมคอมพิวเตอร์รหัสวิชา 2204-2006

จุดประสงค์รายวิชา เพื่อให้  

1.มีความรู้ความเข้าใจเกี่ยวกับหลักการเขียนโปรแกรม     
2.วิเคราะห์งาน ใช้ผังงานและรหัสเทียม เพื่อลำดับขั้นตอนการทำงาน    
3.ออกแบบโปรแกรมประยุกต์ทาวงงธุรกิจอย่างง่าย     
4.ใช้ภาษาคอมพิวเตอร์เขียนคำสั่งควบคุมการทำงานเบื้องต้น     
5.มีคุณธรรม จริยธรรม และค่านิยมที่ดีในการใช้คอมพิวเตอร์

สมรรถนะรายวิชา


 1.แสดงความรู้สึกเกี่ยวกับหลักการเขียนโปรแกรมและการวิเคราะห์งาน      
 2. ออกแบบเขียนผังงาน รหัสเทียม ขั้นตอนการแก้ไขปัญหา (Algorithm)
 3.เขียนโปรแกรมธุรกิจอย่างง่าย
 พื้นฐานการเขียนโปรแกรมคอมพิวเตอร์
รหัสวิชา 2204-2006




ระบบคอมพิวเตอร์
1.ฮาร์ดแวร์ อุปการณ์และชิ้นส่วนของคอมพิวเตอร์
2.ซอร์ฟแวร์ โปรแกรมหรือชุดคำสั่ง
3.บุคลากร บุคลากรใช้งานด้านคอมพิวเตอร์
4.ข้อมูล ตัวของข้อเท็จจริงที่ป้อนให้คอมพิวเตอร์ทำงาน

 ฮาร์ดแวร์ หมายถึง อุปกรณ์ต่างๆ ที่ประกอบขึ้นเป็นเครื่องคอมพิวเตอร์ มีลักษณะเป็นโครงร่างสามารถมองเห็นด้วยตาและสัมผัสได้ (รูปธรรม) เช่น จอภาพ คีย์บอร์ด เครื่องพิมพ์ เมาส์ เป็นต้น ซึ่งสามารถแบ่งออกเป็นส่วนต่างๆ ตามลักษณะการทำงาน ได้ หน่วย คือ หน่วยรับข้อมูล (Input Unit) หน่วยประมวลผลกลาง (Central Processing Unit : CPU) หน่วยแสดงผล (Output Unit) หน่วยเก็บข้อมูลสำรอง (Secondary Storage) โดยอุปกรณ์แต่ละหน่วยมีหน้าที่การทำงานแตกต่างกัน

ซอฟต์แวร์ (software) หมายถึง ชุดคำสั่งหรือโปรแกรมที่ใช้สั่งงานให้คอมพิวเตอร์ทำงาน ซอฟต์แวร์จึงหมายถึงลำดับขั้นตอนการทำงานที่เขียนขึ้นด้วยคำสั่งของคอมพิวเตอร์ คำสั่งเหล่านี้เรียงกันเป็นโปรแกรมคอมพิวเตอร์ซอฟต์แวร์จึงเป็นส่วนสำคัญของระบบคอมพิวเตอร์ หากขาดซอฟต์แวร์คอมพิวเตอร์ก็ไม่สามารถทำงานได้

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



ข้อมูล หมายถึง ข่าวสาร เอกสาร ข้อเท็จจริงเกี่ยวกับบุคคล สิ่งของหรือเหตุการณ์ที่มีอยู่ในรูปของตัวเลข ภาษา ภาพ สัญลักษณ์ต่างๆ ที่มีความหมายเฉพาะตัว ซึ่งยังไม่มีการประมวลไม่เกี่ยวกับการนำไปใช้ได้อย่างมีประสิทธิภาพ


ใบมอบหมายงานเขียนโปรแกรมอย่างง่ายเพื่อประยุกต์ในงานธุรกิจ

ใบมอบหมายงานเขียนโปรแกรมอย่างง่ายเพื่อประยุกต์ในงานธุรกิจ

วัตถุประสงค์ เพื่อให้ผู้เรียนสามารถ
     1. ออกแบบโปรแกรมขนาดเล็กได้ถูกต้อง
     2.เขียนโปรแกรมขนาดเล็กตามที่ออกแบบไว้ได้ถูกต้อง

วัสดุ/อุปกรณ์
     1.เครื่องคอมพิวเตอร์
     2.โปรแกรมภาษาซี(ตามที่ครูผู้สอนเลือกใช้)
     3.โปรแกรม Editor(ตามที่ครูผู้สอนเลือกใช้)
     4.อุปกรณ์บันทึกข้อมูล

ทักษะ
     พัฒนาโปรแกรมอย่างง่ายตามหลักการ

คำสั่ง
     ให้ผู้เรียนพัฒนาโปรแกรมตามโครงสร้างภาษาซีที่ประกอบด้วยขั้นตอนต่างๆ ดังนี้
     1.การวิเคราะห์ความต้องการ
        (1) สิ่งที่โจทย์ต้องการ หมายถุงการหาว่าโจทย์ต้องการให้หาอะไรหรือให้ทำอะไรบ้าง
        (2) รูปแบบผลลัพธ์ หมายถึงการออกแบบการแสดงผลข้อมูล
        (3) ข้อมูลนำเข้า หมายถึงการหาข้อมูลที่ต้องนำเข้าใช้ในการประมวลผล
        (4) ตัวแปรที่ใช้ หมายถึงตัวแปรที่ต้องใช้ในการพัฒณาโปรแกรม ตั้งแต่ตัวแปรข้อมูลนำเข้า ตัวแปรรับรองค่าที่เกิดจากการประมวลผล และตัวแปรที่ใช้แสดงผลลัพธ์
        (5) วิธีการประมวลผล

     2. การวางแผนแก้ไขปัญหา
        (1) เขียนอัลกอริทึม
        (2) เขียนผังงาน

        (3) เขียนรหัสเทียม

แบบทดสอบหลังเรียนหน่วยที่ 8 การออกแบบและเขียนโปรแกรมอย่างง่ายเพื่อประยุกต์ในงานธุรกิจ

แบบทดสอบหลังเรียนหน่วยที่ 8
การออกแบบและเขียนโปรแกรมอย่างง่ายเพื่อประยุกต์ในงานธุรกิจ

ชี้แจง ให้เลือกคำตอบที่ถูกต้องที่สุดเพียงคำตอบเดียว
1. ก่อนการเขียนโปรแกรมจะต้องทำข้อไดเป็นอันดับแรก
          ก.เตรียมเครื่องคอมพิวเตอร์
          ข.เตรียมโปรแกรมภาษาที่ใช้ในการพัฒนาโปรแกรม
          ค.วางแผนและศึกษาความเป็นไปได้ของการนำโปรแกรมมาใช้งาน
          ง.ศึกษาการทำงานของโปรแกรม

2. โปรแกรมขนาดเล็กใช้โปรแกร,
          ก.1 คน
          ข.2-3 คน
          ค.5-10 คน
          ง.15-20 คน

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

4. ตัวแปรที่ต้องใช้ในโปรแกรมพิจารณาจากข้อใด
          ก.สิ่งที่โจทย์ต้องการ เอกสารประกอบโปรแกรม ภาษาที่ใช้ในการเขียนโปรแกรม
          ข.รูปแบบผลลัพธ์ ข้อมูลนำเข้า การประมวลผล
          ค.ขนาดโปรแกรม จำนวนโปรแกรมเมอร์ ภาษาที่ใช้ในการเขียนโปรแกรม
          ง.ความต้องการของผู้ใช้ ความถนัดของโปรแกรมเมอร์ รหัสเทียม

5. ข้อใดคือการวางแผนแก้ไขปัญหา
          ก.Algorithm
          ข.Floechart
          ค.Pseudo Code
          ง.ถูกทุกข้อ

6. การเลือกภาษาคอมพิวเตอร์มาใช้ในการเขียนโปรแกรมพิจารณาจากข้อใด
          ก.ความถนัดของโปรแกรมเมอร์
          ข.ลักษณะและประเภทของงาน
          ค.ภาษาที่กำลังเป็นที่นิยม
          ง.ความต้องการของผู้ใช้โปรแกรม

7. การเขียนโปรแกรมแล้วเกิดข้อผิดพลาดทางไวยากรณ์ของภาษา เรียกว่าอะไร
          ก.Logic Error
          ข.Syntax Error
          ค.Runtime Error
          ง.Bugs

8. การเขียนโปรแกรมเสร็จและทำการรันแล้วได้ผลลัพธ์ไม่ถูกต้องเรียกว่าอะไร
          ก.Logic Error
          ข.Syntax Error
          ค.Runtime Error
          ง.Bugs

9. การทดสอบโปรแกรม ควรใช้ข้อมูลการทดสอบกี่ชุด
          ก.1 ชุด
          ข.10 ชุด
          ค.กี่ชุดก็ได้ให้ควบคุมความเป็นไปได้
          ง.แล้วแต่โปรแกรมเมอร์

10. เหตุการณ์ใดโปรแกรมเมอร์จะต้องทำการแก้ไข ปรับปรุง บำรุงรักษาโปรแกรมให้ถูกต้อง
          ก.เมื่อเปลี่ยนรัฐบาล
          ข.เปลี่ยนแปรภาษีมูลค่าเพิ่ม
          ค.เกิดปฏิวัติรัฐประหาร

          ง.โปรแกรมติดไวรัส

หน่วยที่ 8 การออกแบบและเขียนโปรแกรมอย่างง่ายเพื่อประยุกต์ในงานธุรกิจ

หน่วยที่ 8
การออกแบบและเขียนโปรแกรมอย่างง่ายเพื่อประยุกต์ในงานธุรกิจ

หัวข้อเรื่อง Topics
8.1  ขั้นตอนการออกเเบบและพัฒนาโปรเเกรม
8.2  ตัวอย่างการออกเเบบและพัฒนาโปรเเกรมงานคำนวณเงินเดือน

เเนวคิดสำคัญ Main idea
        การเขียนโปรเเกรมคอมพิวเตอร์ เป็นส่วนหนึ่งในการพัฒนาระบบที่ประกอบด้วยกลุ่มคำสั่งเพื่อสั่งให้คอมพิวเตอร์ทำการประมวลผล หรือกิจกรรมต่างๆ ซึ่งเกี่ยวข้องกับการเขียนคำสั่ง ในภาษาโปรเเกรมต่าง ๆ มีบางโปรเเกรมที่พัฒนาขึ้นได้รับความนิยมมีผู้ใช้อย่างเเพร่หลาย บางโปรเเกรมไม่ได้รับความนิยมส่วนใหญ่เป็นเนื่องจากโปรเเกรมนั้น ๆ ใช้งานยากหรือไม่สะดวกต่อการใช้งาน หรือเเก้ไขเปลี่ยนเเปลง บางโปรเเกรมล้มเหลวในการพัฒนาโปรเเกรมไม่สำเร็จตามกำหนดหรือตามเเผนที่วางไว้ เหล่านี้มีสาเหตูมาจากกระบวนการพัฒนาโปรเเกรม ทั้งสิ้น
        ดังนั้นเพื่อให้ได้โปรเเกรมคอมพิวเตอร์ที่ตรงกับความต้องการ มีคุณภาพ ควรดำเนินพัฒนาเป็นขั้นตอนเพื่อให้ง่ายต่อการเขียนโปรเเกรม การเเก้ไขโปรเเกรมรวมไปถึงการบำรุงรักษาโปรเเกรม จะกล่าวถึงในหน่วยต่อไปนี้

สมรรถนะย่อย Element Competency
ออกเเบบและเขียนโปรเเกรมอย่างง่ายเพื่อประยุกต์ในงานธุรกิจ

หน่วยที่ 8
การออกแบบและเขียนโปรแกรมอย่างง่ายเพื่อประยุกต์ในงานธุรกิจ

จุดประสงค์เชิงพฤติกรรม Behavioral Objectives
1.  อธิบายขั้นตอนการออกเเบบและพัฒนาโประเเกรมได้ถูกต้อง
2.  ออกเเบบโปรเเกรมขนาดเล็กได้ถูกต้อง
3.  เขียนโปรเเกรมขนาดเล็กตามที่ออกเเบบไว้ได้ถูก

ขั้นตอนการออกเเบบและพัฒนาโปรเเกรม 
      ในการเขียนโปรแกรมเพื่อแก้ปัญหาต่างๆจำเป็นต้องมีการวางแผน และออกแบบโปรแกรมไว้ล่วงหน้า โดยกำหนดขั้นตอนวิธีการทำงานให้ชัดเจน ซึ่งกระบวนการวิเคราะห์ และออกแบบโปรแกรมเรียกว่า วัฏจักรการพัฒนาระบบงาน System Development Lift Cycle ( SDLC) ซึ่งมีกระบวนการทำงานเริ่มต้นจากการวิเคราะห์ปัญหาไปจนถึงการนำโปรแกรมไปใช้งาน และปรับปรุงพัฒนาระบบให้ดีขึ้น มีขั้นตอนของ วัฏจักรการพัฒนาระบบงาน ดังต่อไปนี้ 
                
                    ขั้นตอนที่ 1 การวิเคราะห์ปัญหา (Problem Analysis)               
                    ขั้นตอนที่ 2 การออกแบบโปรแกรม (Program Design)
                    ขั้นตอนที่ 3 การเขียนโปรแกรม (Program Coding)
                    ขั้นตอนที่ 4 การทดสอบและแก้ไขโปรแกรม ( Program Testing & Verification)
                    ขั้นตอนที่ 5 การจัดทำเอกสารและคู่มือการใช้งาน (Program Documentation)
                    ขั้นตอนที่ 6 การใช้งานจริง (Program Implement)
                    ขั้นตอนที่ 7 การปรับปรุงและพัฒนาโปรแกรม (Program Maintenance)
ตัวอย่างการออกเเบบและพัฒนาโปรเเกรมงานคำนวณเงินเดือน
      ภาษาซีเป็นภาษาระดับกลาง ที่เหมาะสมสำหรับการเขียนโปรเเกรมเเบบโครงสร้าง เนื่องจากเป็นภาษาที่มีมีความยืดหยุ่นสูงมาก คือ สามารถใช้งานกับเครื่องต่าง ๆ เเละที่สำคัญในปัจจุบันมีโปรเเกรมรุ่นใหม่ เช่น C++, Perl, Java, C# ที่ใช้หลักการของภาษาซี เป็นพื้นฐานด้วยภาษาซีเป็นภาษาที่นิยมนำมาพัฒนาเป็นโปรเเกรมสำเร็จรูป



แบบทดสอบหลังเรียนที่ 7 โครงสร้างควบคุมแบบทำซ้ำ

ใบงานที่ 7
โครงสร้างควบคุมแบบทำซ้ำ

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

2. แนวคิด 
    การเขียนโปรเเกรมทำซ้ำหรือที่เรียกว่าลูป (Loop) เป็นการกระทำในหนึ่งกระบวนการหลายครั้งโดยมีเงื่อนไขความคุม ซึ่งในหน่วยนี้จะขอกล่าวถึงคำสั่งที่เป็นโครงสร้างแบบทำซ้ำ 4 รูปแบบ คือคำวั่งทำซ้ำเเบบ while คำสั่งทำซ้ำแบบ do-while คำสั่งทำแบบซ้ำ for และคำสั่งทำซ้ำเเบบซ้อน ซึ่งการเลือกใช้โครงสร้างแบบทำซ้ำแต่ล่ะรูปแบบขึ้นอยู่กับลักษณะของงานและผลลัพธ์ที่ต้องการ
    คำสั่ง for เป็นคำสั่งโครงสร้างแบบทำซ้ำที่จะมีการทดสอบเงื่อนไขก่อนการทำคำสั่งในลูป โดยหากเงื่อนไข เป็นจริง จะทำคำสั่งในลูปไปเรื่อย ๆ จนกว่าเงื่อนไขเป็นเท็จ จึงออกนอกลูปมีรูปแแบบการใช้
คำสั่งดังนี้

for (กำหนดค่าเริ่มต้น;เงื่อนไข;การเปลี่ยนค่าตัวเเปร)

{

                                 คำสั่งที่ 1;
                                   .........
                                 คำสั่งที่ n;

}
คำสั่งถัดไป;

3. วิธีการดำเนินการ
(1) ผู้สอนถึงหลักการเขียนโปรเเกรมโครงสร้างควบคุมแบบซ้ำด้วยคำสั่ง for
(2) ผู้เรียนศึกษาใบความรู้เรื่องการเขียนโปรเเกรมโครงสร้างควบคุมแบบซ้ำด้วยคำสั่ง for
(3) ผู้เรียนทำใบงานที่ 7 เรื่องการเขียนโปรเเกรมโครงสร้างควบคุมแบบซ้ำด้วยคำสั่ง for

4. คำชี้เเจง ให้ผู้เรียนเขียนโปรเเกรมตามโครงสร้างภาษา C  1 - N (N หมายถึง ค่าตัวเลขที่รับเข้ามาทางแป้นพิมพ์) ด้วยคำสั่ง for

แบบทดสอบหลังเรียนที่ 7
โครงสร้างควบคุมแบบทำซ้ำ

1.ลูปประเภทใดต่อไปนี้ จะมีการตรวจสอบเงื่อนไขก่อนเสมอ     ก. for
    ข. do-while
    ค. while
    ง. ถูกทุกข้อ

2. จากโปรแกรม ถ้าเปลี่ยนส่วนของโปรแกรมจาก  while(x <= 10) เป็น while(x <= 15) ผลลัพธ์ที่ได้คืออะไร
#include<stdio.h>
main()
{
     int  x=1;
     int  sum=0;
     while(x <= 10)
          {     sum = sum+x;
               x++;
          }
     print f (“Sum of 1-10 = %d”,sum);
}
   ก. Sum of 1-15 = 78
   ข. Sum of 1-15 = 9
   ค. Sum of 1-15 = 105
   ง. Sum of 1-15 = 12

3.โครงสร้างแบบใดมีลักษณะการทำงานการวนรอบเพื่อทำงานซ้ำจะเริ่มต้นจากการทำงานตามคำสั่งของ do ก่อนหนึ่งรอบแล้วจึงเริ่มตรวจสอบเงื่อนไขที่คำสั่ง while
   ก. while
   ข. for
   ค. do while   
   ง. switch

4.  คำสั่งให้ออกจากวงจรการทำงานแบบวนซ้ำ คือ 

    ก. go to
    ข. switch
    ค. break
    ง. continue

5.  คำสั่งให้กลับไปทำงานยังคำสั่งแรกของคำสั่งควบคุม คือ
    ก. go to
    ข. switch
    ค.break
    ง.continue

6. คำสั่งแสดงการวนซ้ำเพื่อแสดงค่าจำนวนเต็ม a ที่มีค่าเป็น 5, 4, 3, 2 และ 1 คือ
    ก. for(a=1; a<=5; a++)
            print f(“%d”,a);    ข. for(a=1; a>5; a++)
            print f(“%d”,a);
    ค. for(a=5; a<=5; a--)
            print f(“%d”,a);
    ง. for(a=5; a>=1; a--)
            print f(“%d”,a);

7. จากชุดคำสั่งข้างต้น อยากทราบว่า การทำงานของลูปมีกี่รอบ 
for(k=0 ; k<=n ; k++)
   ก. 10 รอบ
   ข. n รอบ
   ค. n + 1 รอบ
   ง. 0 รอบ

8. จากคำสั่ง if ((num% 2)==0)
   ก. เอา 0 ไปเก็บไว้ใน num% 2
   ข. ถ้า num หารด้วย 2 เหลือเศษ 0 จริง
   ค. ถ้าค่าใน num เท่ากับ 0 จริง
   ง. ถ้าค่าใน num หารด้วย 2 จริง

 9. ข้อใดการเขียนรูปเเบบใช้คำสั่ง do...while
   ก. do...while{};
   ข. do...while()
   ค. do...while;
   ง. do...while();


 10. ข้อใดเขียนรูปแบบการใช้คำสั่ง while ได้ถูกต้อง
   ก. while (เงื่อนไข){}
   ข. while {}
   ค. while ();
   ง. while (){};

หน่วยที่ 7 โครงสร้างควบคุมแบบทำซ้ำ

หน่วยที่ 7
 โครงสร้างควบคุมแบบทำซ้ำ

หัวเรื่อง(Topics)
     7.1 คำสั่ง While
     7.2 คำสั่ง do...While
     7.3 คำสั่ง for
     7.4 การทำซ้ำแบบซอนกัน (Nested loop)

แนวคิดสำคัญ (Main Idea)
    การเขียนโปรแกมแบบทำซ้ำหรือที่เรียกว่าลูป (Loop)  เป็นการกระทำในหนึ่งกระบวนการหลายครั้งโดยมีเงื่อนไขควบคุม ซึ่งหน่วยนี้จะขอกล่าวถึงคำสั่งที่เป็นโครงสร้างแบบทำซ้ำ 4 รูปแบบ คื่อคำสั่งที่ทำซ้ำแบบ While คำสั่งทำซ้ำแบบ do...While คำสั่งทำซ้ำแบบ for และคำสั่งทำซ้ำแบบซ้อน ซึ่งการเลือกใช้โครงสร้างแบบทำซ้ำแต่ละรูปแบบขึ้นอยู่กับลักษณะของงานและผลลัพท์ที่ต้องการ
     คำสั่ง While เป็นคำสั่งโครงสร้างแบบทำซ้ำที่จะมีการทดสอบเงื่อนไขก่อนทำคำสั่งในลูป ซึ่งถ้าเงื่อนไขที่อยู่หลัง While เป็นจริง จะทำคำสั่งในลูปและย้อนกลับมาทดสอบเงื่อนไขที่อยู่หลัง While ไปเรื่อยๆ จนกว่าเงื่อนไขที่อยู่หลัง While เป็นเท็จ จึงจะออกนอนลูป
     คำสั่ง do...While เป็นคำสั่งโครงสร้างแบบทซ้ำที่จะมีการทำคำสั่งในลูปก่อนทดสอบเงื่อนไข โดยหากเงื่อนไขที่อยู่หลัง While เป็นจริงจะทำคำสั่งในลูป และวนรอบและตรวจสอบเงื่อนไขไปเรื่อยๆจนกว่าเงื่อนไขที่อยู่หลัง While จะเป็นเท็จ
     คำสั่ง for เป็นคำสั่งโครงสร้างแบบทำซ้ำที่จะมีการทดสอบเงื่อนไขก่อนทำคำสั่งในลูป โดยหากเงื่อนไขเป็นจริง จะทำคำสั่งในลูปไปเรื่อยๆ จนกว่าเงื่อนไขเป็นเท็จ จึงจะออกนอกรูป
     การทำซ้ำแบบซ้อนกัน (Nested loop) เป็นคำสั่งโครงสร้างแบบทำซ้ำแบบลูปซ้อนลูป โดยจะมีการทำงานเริ่มจากลูป for ที่อยู่ภายนอกก่อน จากนั้นจึงจะเข้าทำงานลูป for ที่อยู่ภายในโดยทุก ๆ ค่าของลูป for นอก จะทำซ้ำคำสั่งภายในลูป for ในให้ครบทุกรอบก่อน จึงจะออกมาทำลูป for นอก

สมรรถนะย่อย (Element of Competency)
     1. แสดงความรู้เกี่ยวกับโครงสร้างควบคุมแบบทำซ้ำ
     2. เขียนโปรแกรมโครงสร้างควบคุมแบบทำซ้ำ

จุดประสงค์เชิงพฤติกรรม (Behavioral Objectives)
     1. เขียนโปรแกรมโครงสร้างควบคุมแบบทำซ้ำด้วยคำสั่ง While ได้ถูกต้อง
     2. เขียนโปรแกรมโครงสร้างควบคุมแบบทำซ้ำด้วยคำสั่ง do...While ได้ถูกต้อง
     3. เขียนโปรแกรมโครงสร้างควบคุมแบบทำซ้ำด้วยคำสั่ง for ได้ถูกต้อง
     4. เขียนโปรแกรมโครงสร้างควบคุมแบบทำซ้ำแบบซ้อนกัน ได้ถูกต้อง

คำสั่ง While
การใช้คำสั่ง While loop
คำสั่งวนซ้ำที่ง่ายที่สุดในภาษา Java คือ คำสั่ง While loop โดยมันมีรูปแบบในการใช้งานดังนี้
while ( expression ) {
    // statements
}
ในการใช้งานคำสั่ง while สำหรับการสร้าง while loop และ expression คือเงื่อนไขที่จะให้โปรแกรมทำงานใน loop ถ้าหากเงื่อนไขเป็นจริงโปรแกรมจะทำงานในบล็อคคำสั่งวงเล็บปีกกา { } เมื่อเงือนไขเป็นเท็จโปรแกรมจะออกจากลูปจะทำงานคำสั่งต่อไปหลัง while
มาดูตัวอย่างการใช้ While loop ในภาษา Java กับการนับเลขอย่างง่าย
public class WhileLoop {
    public static void main(String[] args) {      
        int i = 1;
       
        while ( i <= 10 ) {
            System.out.print (i  + ", ");
            ++i;
        }    
       
        System.out.println("End");
    }
}
ในโปรแกรม นั้นเราได้ประกาศตัวแปร i มาใช้ในการนับ ในเงือนไขของ while เราได้ตรวจสอบว่าถ้าหาก i น้อยกว่าหรือเท่ากับ 10 while ( i <= 10 ) โปรแกรมจะทำงานใน loop และแสดงค่า i ออกมา แต่ละรอบเราจะทำการเพิ่มค่าของ i ด้วยคำสั่ง ++i; เพื่อป้องกันไม่ให้ลูปทำงานตลอดไป (Infinity loop) จนกว่าเงือนไขไม่เป็นจริง โปรแกรมได้ออกนอกลูปและทำคำสั่งต่อมา
1,  2, 3, 4, 5, 6, 7, 8, 9, 10, End
ข้างล่างนี้เป็นผลลัพธ์ของโปรแกรม คุณจะเห็นว่ามันวิเศษไปเลย เราสามารถทำให้มันแสดงผลได้ 10 ครั้งเพียงแค่เขียนโปรแกรมไม่กี่บรรทัด แน่นอนคุณจะทำให้มันแสดงถึง 100 ก็ยังได้ เพียงแค่เปลี่ยนเงือนไขในเป็น while ( i <= 100 ) แค่นั้นเอง

คำสั่ง do...While
การใช้คำสั่ง Do-While loop
คำสั่งวนซ้ำอีกชนิดหนึ่งคือ คำสั่ง do-while loop ซึ่งคำสั่งนี้จะทำงานแตกต่างคำสั่ง while loop เล็กน้อยคือ มันจะทำงานก่อนอย่างน้อย 1 ครั้งหลังจากนั้นจะตรวจสอบเงื่อนไขอยู่ด้านท้ายของ loop มันมีรูปแบบการใช้งานดังนี้
do {
    // statements
} while ( expression );
ต่อไปมาดูตัวอย่างการใช้งานคำสั่ง do-while loop ในภาษา Java เราจะเขียนโปรแกรมในการตรวจสอบตัวเลข ว่าเป็นจำนวนคี่หรือคู่ (odd or even number)
import java.util.Scanner;

public class DoWhileLoop {
    public static void main(String[] args) {      
        Scanner reader  = new Scanner(System.in);
        int number;
       
        System.out.println("\tDetermine odd/even program");
       
        do {
            System.out.print("Enter odd number to exit loop: ");
            number = reader.nextInt();
           
            if (number % 2 == 0) {
                System.out.println("You entered " + number + ", it's even.");
            } else {
                System.out.println("You entered " + number + ", it's odd.");
            }
           
        } while (number % 2 == 0);
       
        System.out.println("Exited loop.");
       
    }
}
ในตัวอย่างโปรแกรมจะถามให้ผู้ใช้กรอกตัวเลขคี่ (odd number) เพื่ออกจากลูป โปรแกรมจะทำงานในลูปเรื่อยๆ ถ้าหากเขายังคงกรอกเลขคู่ (even number) โดย number % 2 == 0 เป็น expression เพื่อตรวจสอบว่าตัวเลขเป็นเลขคู่หรือไม่ โดยการใช้ตัวดำเนินการ Mod เลขคู่คือเลขที่หารด้วย 2 แล้วมีเศษเป็น 0
คุณอาจจะเห็นว่าโปรแกรมของเราอาจจะซับซ้อน เช่น การใช้คำสั่ง If ซ้อนข้างใน เพราะการทำเช่นนี้มันจะทำให้คุณจดจำและมองเห็นวิธีการนำไปประยุกต์ใช้ได้ดีขึ้น
 Determine odd/even program
Enter odd number to exit loop: 2
You entered 2, it's even.
Enter odd number to exit loop: 4
You entered 4, it's even.
Enter odd number to exit loop: 8
You entered 8, it's even.
Enter odd number to exit loop: 0
You entered 0, it's even.
Enter odd number to exit loop: 3
You entered 3, it's odd.
Exited loop.
และนี่คือผลลัพธ์ของโปรแกรม โปรแกรมจะออกจากลูปเมื่อผู้ใช้กรอกเลขคี่ ซึ่งก็คือ 3 สำหรับตัวอย่าง

 คำสั่ง for
การใช้คำสั่ง For loop
คุณได้เรียนรู้คำสั่งลูปพื้นฐานไปแล้ว ต่อไปเราจะให้คุณรู้จักกับ For loop ซึ่งเป็น loop ที่นิยมใช้กันเป็นจำนวนมาก เพราะว่า Foor loop มักจะใช้กับ Loop ที่ทราบจำนวนการวนซ้ำที่แน่นอน และมันอำนวยความสะดวกในการประกาศตัวแปรเริ่มต้น กำหนดเงือนไข และเพิ่มลดค่าไว้ที่เดียวกัน ซึ่งตัวแปรเหล่านี้สามารถใช้ได้เพียงแค่ใน Loop scope เท่านั้น
การใช้คำสั่ง For loop ในภาษา Java นั้นมีรูปแบบดังนี้
for (initial; condition; update) {
    // Statements
}
สำหรับรูปแบบของ for loop นั้นจะมีการกำหนดส่วนประกอบ 3 ส่วนคือ initial คือการประกาศส่วนเริ่มต้นของลูป เช่น กำหนดค่าให้กับตัวแปร condition คือการกำหนดเงือนไขที่จะให้ทำงานในลูป และ update เป็นการอัพเดทค่าหลังจากจบแต่ละลูป ซึ่งจะเห็นว่ามันรวมกันที่ส่วนหัวของ for ซึ่งง่ายต่อการใช้งาน
ต่อไปมาดูตัวอย่าง การใช้ For loop ในภาษา Java ตัวอย่างนี้ เราจะใช้ตัวอย่างเดียวกันกับ While loop คือแสดงเลข 1 - 10
public class ForLoop {
    public static void main(String[] args) {
        for (int i = 1; i <= 10; i++) {
            System.out.println("Loop " + i);
        }
        System.out.println("End of loop");
    }
}
จากตัวอย่างนั้นจะได้ผลลัพธ์เช่นกันกับ while loop ในตัวอย่างก่อนหน้า คุณจะเห็นว่ามันง่ายและสะดวกกว่าในการใช้ นอกจากนี้ For loop ยังนิยมใช้กับข้อมูลแบบอาเรย์ คุณจะได้เรียนในบทต่อไป

การทำซ้ำแบบซ้อนกัน (Nested loop)
Nested For loop
เช่นเดียวกัน คำสั่ง loop ทุกชนิดสามารถที่จะซ้อนกันได้ ซึ่งเราเรียกว่า Nested loop ต่อไปมาดูตัวอย่างการใช้คำสั่ง For loop ซ้อนกัน โดยเราจะสร้างแมทริกขนาด 2 มิติ ที่แต่ละค่าเป็นค่าของ i และ j คูณกัน
public class ForLoop {
    public static void main(String[] args) {
        int width = 6;
        int height = 6;
       
        System.out.println("\tMatrix program");
        for (int i = 1; i <= height ; i++) {
            for (int j = 1; j <= width ; j++) {
                System.out.print("\t" + (i * j));
            }
            System.out.println();
        }
    }
}
ในตัวอย่าง เราได้สร้าง For loop สองอันที่ซ้อนกันอยู่ โดยลูปข้างนอก (outer loop) จะทำการวนตามจำนวนในตัวแปร height และลูปข้างใน (inner loop) จะทำการวนตามจำนวน widthผลลัพธ์ตัวเลขที่ได้นั้นเกิดจาก ค่าของ i * j และเราใช้ Tab (\t) เพื่อทำให้มันสวยงาม
 Matrix program
 1 2 3 4 5 6
 2 4 6 8 10 12
 3 6 9 12 15 18
 4 8 12 16 20 24
 5 10 15 20 25 30
 6 12 18 24 30 36
และนี่เป็นผลลัพธ์ของโปรแกรม Nested for loop
ในการเขียนโปรแกรมทำงานกับ Loop นั้นจะมีคำสั่งสองชนิดที่คุณมักจะต้องใช้ควบคุมการทำงานของ Loop ในกรณีพิเศษ โดยคำสั่งเหล่านั้นคือ Continue และ Break


จุดประสงค์รายวิชา

พื้นฐานการเขียนโปรแกรมคอมพิวเตอร์รหัสวิชา  2204-200 6 จุดประสงค์รายวิชา เพื่อให้    1. มีความรู้ความเข้าใจเกี่ยวกับหลักการเขียนโปรแ...