จุดประสงค์การเรียนรู้ :

1. อธิบายโครงสร้างการเขียนโปรแกรมแบบวนซ้ำได้

2. เขียนโปรแกรมแบบวนซ้ำ (for) ได้

3. เขียนโปรแกรมแบบวนซ้ำ (while) ได้

4. เขียนโปรแกรมแบบวนซ้ำ (do…while) ได้

5. อธิบายโครงสร้างตัวแปรแถวลำดับได้

6. เขียนโปรแกรมแบบวนซ้ำโดยใช้ตัวแปรแถวลำดับได้

 

 

1. การเขียนโปรแกรมแบบวนซ้ำ (Loop)

        การเขียนโปรแกรมแบบวนซ้ำ (Loop) เป็นการเขียนโปรแกรมที่มีลักษณะการทำงานซ้ำๆ เมื่อเขียนโปรแกรมแบบวนซ้ำจะช่วยให้การเขียนโปรแกรมสั้นลง ซึ่งการเขียนโปรแกรมแบบวนซ้ำมีรูปแบบการเขียนหลายแบบ ขึ้นอยู่กับความเหมาะสมและสถานการณ์ที่แตกต่างกัน  ในการโปรแกรมแบบวนซ้ำนี้มักจะใช้ตัวแปรแบบแถวลำดับ (Array) มาช่วยในการเก็บข้อมูล เพราะตัวแปรแบบแถวลำดับจะมีการเก็บข้อมูลเป็นชุดและมีชนิดข้อมูลเดียวกันทั้งชุด ในหนึ่งชุดก็สามารถเก็บข้อมูลได้มากกว่าหนึ่งตัว เช่น ชุดข้อมูลวันที่ 31 วัน ตัวเลขจำนวน 50 ตัว เป็นต้น การเรียกใช้ตัวแปรแถวลำดับจำเป็นจะต้องอาศัยการเขียนโปรแกรมแบบวนซ้ำมาช่วยในการเข้าถึงชุดข้อมูลนั้นๆ

 

1.1. คำสั่ง for

          เป็นคำสั่งวนซ้ำ ซึ่งจะใช้ในกรณีที่รู้จำนวนรอบการวนซ้ำที่แน่นอน

จากรูปแบบการใช้คำสั่ง for มีขั้นตอนการทำงาน ดังนี้       

หมายเลข 1      กำหนดค่าเริ่มต้นให้ตัวแปรที่ใช้เป็นดัชนี

หมายเลข 2      ตรวจสอบเงื่อนไขให้โปรแกรมหยุดวนซ้ำ

หมายเลข 3      ถ้าเงื่อนไขเป็นจริงทำงานคำสั่งที่อยู่ภายในคำสั่ง For

หมายเลข 4      เปลี่ยนแปลงค่าดัชนี  จากนั้นจะวนซ้ำกลับไปที่ หมายเลข 2

อธิบาย

          จากตัวอย่างการใช้คำสั่ง For มีขั้นตอนการทำงาน ดังนี้      

ลำดับที่ 1        กำหนดค่าเริ่มต้นให้ตัวแปร i มีค่าเท่ากับ 1

               ลำดับที่ 2        ตรวจสอบเงื่อนไข i ต้องมีค่าน้อยกว่าหรือเท่ากับ 5

               ลำดับที่ 3        ถ้าเงื่อนไขเป็นจริง แสดงคำว่า LOVE YOU แล้วขึ้นบรรทัดใหม่

ลำดับที่ 4        เพิ่มค่าให้ i ทีละ 1  จากนั้นจะวนซ้ำกลับไปที่ ลำดับที่ 2

ลำดับที่ 5        เมื่อวนทำงานครบ 5 รอบ ก็จะหยุดการทำงาน และแสดงผลลัพธ์ ดังนี้

ตัวอย่างโปรแกรมที่ใช้คำสั่ง for

        ตัวอย่างการใช้คำสั่ง for กับโปรแกรมบวกเลข 1-100 โดยผู้ใช้คลิกปุ่มแสดง โปรแกรมจะแสดงผลบวกของ 1-100 ในคอนโทรล textbox ซึ่งโปรแกรมมีการออกแบบหน้าจอ ดังนี้

1280px-YouTube_Logo.svg.png

: KRU BinaryIT

1.2 คำสั่ง do...while

เป็นคำสั่งวนซ้ำ ซึ่งจะใช้ในกรณีที่ไม่รู้จำนวนรอบการวนซ้ำที่แน่นอน คำสั่งนี้จะทำงานก่อน 1 รอบ แล้วตรวจสอบเงื่อนไขทีหลัง

จากรูปแบบการใช้คำสั่ง do…while มีขั้นตอนการทำงาน ดังนี้        

หมายเลข 1      ทำงานคำสั่งที่อยู่ภายในคำสั่ง do

หมายเลข 2      ตรวจสอบเงื่อนไขในคำสั่ง while

- หากตรวจสอบเงื่อนไขแล้วเป็นเท็จโปรแกรมจะหยุดวนซ้ำ

- หากตรวจสอบเงื่อนไขแล้วเป็นจริงจะวนกลับไปทำงานที่หมายเลข 1 อีกครั้ง

อธิบาย

          จากตัวอย่างการใช้คำสั่ง do…while มีขั้นตอนการทำงาน ดังนี้        

ลำดับที่ 1        ประกาศตัวแปร i ให้มีค่าเริ่มต้น เท่ากับ 1

ลำดับที่ 2        แสดงคำว่า LOVE YOU ใน textbox1 แล้วขึ้นบรรทัดใหม่

ลำดับที่ 3        เพิ่มค่าให้ i ทีละ 1 

ลำดับที่ 4        ตรวจสอบเงื่อนไขว่าตัวแปร i ต้องมีค่าน้อยกว่าหรือเท่ากับ 5 หรือไม่

- หากตรวจสอบเงื่อนไขแล้วเป็นเท็จโปรแกรมจะหยุดวนซ้ำ

- หากตรวจสอบเงื่อนไขแล้วเป็นจริงจะวนกลับไปทำงานลำดับที่ 2 อีกครั้ง

ลำดับที่ 5        เมื่อวนทำงานครบ 5 รอบ ก็จะหยุดการทำงาน และแสดงผลลัพธ์ ดังนี้

ตัวอย่างโปรแกรมที่ใช้คำสั่ง do…while

          ตัวอย่างการใช้คำสั่ง do…while กับโปรแกรมบวกเลข 1-100 โดยผู้ใช้คลิกปุ่มแสดง โปรแกรมจะแสดงผลบวกของ 1-100 ในคอนโทรล textbox ซึ่งโปรแกรมมีการออกแบบหน้าจอ ดังนี้

1280px-YouTube_Logo.svg.png

: KRU BinaryIT

1.3 คำสั่ง while

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

จากรูปแบบการใช้คำสั่ง while มีขั้นตอนการทำงาน ดังนี้    

หมายเลข 1      ตรวจสอบเงื่อนไขในคำสั่ง while

- หากตรวจสอบเงื่อนไขแล้วเป็นเท็จโปรแกรมไม่เข้าไปทำงานภายใต้คำสั่ง while

- หากตรวจสอบเงื่อนไขแล้วเป็นจริงจะทำงานคำสั่งตาม หมายเลข 2

อธิบาย

          จากตัวอย่างการใช้คำสั่ง while มีขั้นตอนการทำงาน ดังนี้    

ลำดับที่ 1        ประกาศตัวแปร i ให้มีค่าเริ่มต้น เท่ากับ 1

ลำดับที่ 2        ตรวจสอบเงื่อนไขว่าตัวแปร i ต้องมีค่าน้อยกว่าหรือเท่ากับ 5 หรือไม่

- หากตรวจสอบเงื่อนไขแล้วเป็นเท็จไม่เข้าไปทำงานภายใต้คำสั่ง while

- หากตรวจสอบเงื่อนไขแล้วเป็นจริงจะแสดงคำว่า LOVE YOU แล้วขึ้นบรรทัดใหม่

ลำดับที่ 3        เพิ่มค่าให้ i ทีละ 1 

ลำดับที่ 4        วนซ้ำกลับไปแสดง LOVE YOU แล้วขึ้นบรรทัดใหม่ ในลำดับที่ 2 และ 3

ลำดับที่ 5        เมื่อวนทำงานครบ 5 รอบ ก็จะหยุดการทำงาน และแสดงผลลัพธ์ ดังนี้

ตัวอย่างโปรแกรมที่ใช้คำสั่ง while

          ตัวอย่างการใช้ while กับโปรแกรมบวกเลข 1-100 โดยผู้ใช้คลิกปุ่มแสดง โปรแกรมจะแสดงผลบวกของ 1-100 ในคอนโทรล textbox ซึ่งโปรแกรมมีการออกแบบหน้าจอ ดังนี้

1280px-YouTube_Logo.svg.png

: KRU BinaryIT

2.ตัวแปรแถวลำดับ (Array)

          แถวลำดับ(array) เป็นโครงสร้างข้อมูลที่ประกอบไปด้วยสมาชิกหรือตัวแปรที่มีชนิดเดียวกันเรียงต่อกันเป็นชุด โดยสมาชิกแต่ละตัวจะมีหมายเลขอ้างอิงบอกลำดับของสมาชิก ที่เรียกว่า ดัชนี (Index)

          การเข้าถึงสมาชิกของแถวลำดับทำได้โดยการใช้ชื่อของแถวลำดับตามด้วยดัชนีเพื่อระบุสมาชิกที่ต้องการ เช่น x[1] ขอบเขตของดัชนีในภาษา C# สามารถกำหนดให้มีค่าได้เป็นช่วงตามความต้องการในรูปแบบ m…n  เมื่อ m เป็นค่าลำดับแรกของสมาชิก และ n เป็นค่าสุดท้ายของสมาชิก เช่น ต้องการให้ x เป็นแถวลำดับชนิดจำนวนเต็ม ที่มีสมาชิก 10 ตัว จะประกาศได้ดังนี้

2.1 แถวลำดับ 1 มิติ

 

แถวลำดับ 1 มิติ เป็นชุดของตัวแปรที่เรียงต่อกันเป็นแถวโดยที่สมาชิกแต่ละตัวของแถวลำดับจะมีดัชนีเพียง 1 ตัว เช่น 

นั่นคือ   - x และ num  เป็นชื่อของตัวแปร

          - เลขใน [ ] เป็นดัชนีบอกลำดับของสมาชิก

อธิบาย

        - int [ ] num1 = new int [4] { 2, 4, 6, 8}   คือ การประกาศตัวแปร num1 เป็นตัวแปรแถวลำดับที่มีชนิดข้อมูลเป็นจำนวนเต็ม มีสมาชิก 4 ตัวเท่านั้น คือ num1 [0] = 2 , num1 [1] = 4 ,  num1 [2] = 6 , num1 [3] = 8

- int [ ] num2 = new int [ ] { 2, 4, 6, 8}   คือ การประกาศตัวแปร num2 เป็นตัวแปรแถวลำดับที่มีชนิดข้อมูลเป็น

จำนวนเต็ม มีสมาชิก 4 ตัวแบบไม่จำกัดจำนวนสมาชิก คือ num2 [0] = 2 , num2 [1] = 4 , num2 [2] = 6 , num2 [3] = 8

- int [ ] num3 = { 2, 4, 6, 8}   คือ การประกาศตัวแปร num3 เป็นตัวแปรแถวลำดับที่มีชนิดข้อมูลเป็นจำนวนเต็ม มีสมาชิก

4 ตัวไม่จำกัดจำนวนสมาชิก คือ num3 [0] =2 , num3 [1] =4 ,  num3 [2] = 6 , num3 [3] =8

อธิบาย

          - string [ ] str1 = new string [3] { “John”, “Paul”, “Mary”}   คือ การประกาศตัวแปร str1 เป็นตัวแปรแถวลำดับที่มีชนิดข้อมูลเป็นข้อความ มีสมาชิก 3 ตัวเท่านั้น คือ str1 [0] = John , str1[1] = Paul , str1 [2] = Mary

- string [ ] str2 = new string [ ] { “John”, “Paul”, “Mary”}   คือ การประกาศตัวแปร str2 เป็นตัวแปรแถวลำดับที่มีชนิด

ข้อมูลเป็นข้อความ มีสมาชิก 3 ตัวแบบไม่จำกัดจำนวนสมาชิก คือ str2 [0]= John , str2 [1] = Paul , str2 [2] = Mary

- string [ ] str3 = { “John”, “Paul”, “Mary”}   คือ การประกาศตัวแปร str3 เป็นตัวแปรแถวลำดับที่มีชนิดข้อมูลเป็น

ข้อความ มีสมาชิก 3 ตัวแบบไม่จำกัดจำนวนสมาชิก คือ str3 [0] = John , str3 [1] = Paul , str3 [2] = Mary

 

ตัวอย่างโปรแกรมที่ใช้แถวลำดับ 1 มิติ

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

แสดงแผนผังลำดับงานของโปรแกรมได้ดังนี้

1280px-YouTube_Logo.svg.png

: KRU BinaryIT

2.2 แถวลำดับ 2 มิติ

แถวลำดับ 2 มิติ เป็นชุดของตัวแปรเหมือนการเก็บค่าในตารางที่มีแถวและคอลัมน์  ในการประกาศอาเรย์ 2 มิตินั้น จะคล้ายกับ

อาเรย์ 1 มิติ แต่มันจะใช้เครื่องหมาย [ , ] โดยแต่ละคู่นั้นแสดงแถวและคอลัมน์โดย ROW คือจำนวนของแถวของอาเรย์ และ COLUMN หรือขนาดคอลัมน์ของอาเรย์ ดังนั้นจำนวนสมาชิกของมันจึงเป็น ROW * COLUMN  เช่น 

นั่นคือ   - x และ num  เป็นชื่อของตัวแปร

          - เลขใน [ ] บอกตำแหน่งของแถวตามด้วยตำแหน่งของคอลัมน์

อธิบาย

          - int [ , ] number= new int [4,4] คือ การประกาศตัวแปร number เป็นตัวแปรแถวลำดับ 2 มิติ ที่มีชนิดข้อมูลเป็นจำนวนเต็ม มีจำนวน 4 แถว และ 4 คอลัมน์ ไม่ได้กำหนดค่าเริ่มต้น

- int [ , ] arr = new int [ , ] { {‘2’ , ‘4’} , { ‘6’ , ‘8’ } }  ; คือ การประกาศตัวแปร arr เป็นตัวแปรแถวลำดับที่มีชนิดข้อมูล

เป็นจำนวนเต็ม ซึ่งมีการกำหนดค่าเริ่มต้น ดังนี้ arr[0][0]  = 2 , arr[0][1]  = 4 ,  arr[1][0]  = 6 ,  arr[1][1]  = 8

 

 

ตัวอย่างโปรแกรมที่ใช้แถวลำดับ 2 มิติ

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

แสดงแผนผังลำดับงานของโปรแกรมได้ดังนี้

1280px-YouTube_Logo.svg.png

: KRU BinaryIT

ดาวโหลดเอกสารประกอบการเรียน

ดาวน์โหลดใบงาน