คำสั่ง for | คำสั่ง while | คำสั่ง do-while

———————————————————————————————————————————

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

1.
คำสั่ง for
2.
คำสั่ง while
3.
คำสั่ง do-while

(แหล่งข้อมูล...  คู่มือเรียนรู้ภาษาซีด้วยตนเอง / ผศ.รุ่งทิวา เสาร์สิงห์)

———————————————————————————————————————————

สื่อวีดิทัศน์การสอน เรื่อง :: คำสั่งในการวนรอบ for ::

———————————————————————————————————————————

1. คำสั่ง for 1
         คำสั่ง for เป็นคำสั่งที่ใช้ในการวนรอบ เมื่อต้องการวนรอบตามจานวนรอบที่ต้องการ เช่น
ต้องการวน 10 รอบ เป็นต้น มักจะใช้กับการเขียนโปรแกรมที่รู้จำนวนรอบที่แน่นอน คำสั่ง for มีรูปแบบ
การทำงานและรูปแบบคำสั่ง ดังภาพที่ 1      

     รูปแบบการทำงาน

   
ภาพที่ 1 ผังงาน Flowchart รูปแบบการทำงานของคำสั่ง for

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

 for (Initial; Condition; Step)
      Statement;

          หรือหากต้องการให้การวนรอบหนึ่งรอบสามารถทำงานได้หลายคำสั่งพร้อม ๆ กันในแต่ละรอบ
     สามารถที่จะใช้เครื่องหมาย { } เข้ามากำหนดส่วนของการทำงานเกี่ยวกับคำสั่งหรือ statement
     หลาย ๆ ชุดได้

for (Initial; Condition; Step)
      {
         Statement1;
         Statement2;
         Statement3;
         StatementN;
       }

          อธิบาย

for
คือ เป็นคำสั่งมาตรฐานที่อยู่ในภาษา C เพื่อใช้ในการวนรอบ
Initial  
คือ ตัวแปรที่ใช้กำหนดค่าเริ่มต้นในการวนรอบ
Condition
คือ เงื่อนไขของตัวแปรที่ใช้ในการกำหนดการวนรอบ
Step
คือ ตัวแปรที่ใช้ในการเพิ่มค่าเพื่อการวนรอบในแต่ละรอบ
Statement1-N
คือ คำสั่ง หรือชุดคำสั่งที่ใช้ทำงานในแต่ละรอบ

        ตัวอย่างโปรแกรมที่ 1
                คุณครูต้องการให้นักเรียนแสดงผลลัพธ์การคูณกันของแม่สูตรคูณ โดยให้นักเรียนกรอกเลข
        แม่สูตรคูณลงไป แล้วให้ทำการคูณกันจากเลข 1 จนถึงเลข 12 เช่น นักเรียนกรอกเลขแม่สูตรคูณแม่ 5
        จะต้องแสดงผล 5 x 1 = 5  ไปจนถึง 5 x 12 = 60 เป็นต้น  จึงให้นักเรียนเขียนโปรแกรมเพื่อแสดงผล
        ข้อมูลดังนี้
                “ให้นักเรียนเขียนโปรแกรมโดยใช้คำสั่ง for แสดงผลลัพธ์การคูณกันของแม่สูตรคูณ โดยให้
        นักเรียนกรอกเลขแม่สูตรคูณลงไป แล้วให้ทำการคูณกันจากเลข 1 จนถึงเลข 12 เช่น  นักเรียนกรอก
        เลขแม่สูตรคูณแม่ 5  จะต้องแสดงผล 5 x 1 = 5   ไปจนถึง 5 x 12 = 60  เป็นต้น บนจอภาพ”


        วิเคราะห์ปัญหา (Analysis)
                สิ่งที่โจทย์กำหนด :: กำหนดตัวแปร a ที่เก็บค่าแม่สูตรคูณ และ b ที่เก็บค่าจำนวนครั้งในการคูณ
        โดยใช้ Format Code ชนิด Integer กำหนดการวนรอบด้วยตัวแปร b เริ่มที่ 1 เงื่อนไขคือ b น้อยกว่า
        เท่ากับ 12 และกำหนดจุดสิ้นสุดของการวนรอบของตัวแปร b
                สิ่งที่โจทย์ต้องการ :: รับค่าของตัวแปร a ที่เก็บค่าแม่สูตรคูณ แสดงค่าตัวแปร a ตามด้วย
        เครื่องหมาย x ตามด้วยตัวแปร b ที่เก็บค่าจำนวนครั้งในการคูณ และผลลัพธ์ตัวแปร a คูณกับ b
        ในแต่ละรอบ แล้วขึ้นบรรทัดใหม่บนจอภาพ   และแสดงข้อความ Thank you บนจอภาพ เมื่อออก
        จากการวนรอบแล้ว


        การแก้ปัญหา (Problem Solving) ตามแนวทางการคิดเชิงคำนวณ โดยการคิดแบบ "ขั้นตอนวิธี" (Algorithm) ดังนี้

Pseudo Code
Flowchart
Algorithm for
  1. Start
  2. int a,b
  3. Print Enter multiple number :
  4. Input a

  5. for(b=1; b<=12; b++)
     5.1 Print a x b = a*b
  6. Print Thank you.
  7. End

       เขียนโปรแกรม (Coding)  

บรรทัดที่
โปรแกรม
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
int a,b;
int main( )
{
     printf("Enter multiple number : ");
     scanf("%d",&a);
     for(b=1; b<=12; b++)
          {
               printf("%d x %d = %d \n",a,b,b*a);
          }
     printf("Thank you.");
}

อธิบายโปรแกรม

บรรทัดที่ 1
เรียกใช้งานไลบรารี stdio.h
บรรทัดที่ 2
กำหนดตัวแปร a และ b ให้เป็นแบบ Integer
บรรทัดที่ 3
กำหนดคำสั่ง int main( ) เริ่มการทำงาน
บรรทัดที่ 4
ใช้เครื่องหมาย { เพื่อบอกจุดเริ่มต้นของคำสั่ง int main( )
บรรทัดที่ 5
แสดงข้อความ Enter multiple number: บนจอภาพ
บรรทัดที่ 6 
รับค่าของตัวแปร a เข้ามาในระบบ
บรรทัดที่ 7
ทำการวนรอบด้วยตัวแปร b เริ่มที่ 1 เงื่อนไขคือ b น้อยกว่าหรือเท่ากับ 12
บรรทัดที่ 8
ใช้เครื่องหมาย { กำหนดจุดเริ่มต้นของการวนรอบของตัวแปร b
บรรทัดที่ 9
แสดงค่าตัวแปร a ตามด้วยเครื่องหมาย x ตามด้วยตัวแปร b และผลลัพธ์ตัวแปร a คูณกับ b ในแต่ละรอบ แล้วขึ้นบรรทัดใหม่
บรรทัดที่ 10
ใช้เครื่องหมาย } กำหนดจุดสิ้นสุดของการวนรอบของตัวแปร b
บรรทัดที่ 11
แสดงข้อความ Thank you เมื่อออกจากการวนรอบแล้ว
บรรทัดที่ 12
ใช้เครื่องหมาย } เพื่อบอกจุดสิ้นสุดของคำสั่ง int main( ) 

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

Enter multiple number : 5       (ผู้ใช้งานกรอกหมายเลข 5 เข้ามาในระบบ)
5 x 1 = 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10 = 50
5 x 11 = 55
5 x 12 = 60
Thank you.

การทดสอบการทำงานของโปรแกรมจากเว็บ https://repl.it/languages/c
           คลิกเครื่องหมาย  เพื่อดูผลผลลัพธ์การทำงานของโปรแกรมด้านล่าง
        (ลิงค์สำรอง https://repl.it/repls/GargantuanNumbCylinder)



ตัวอย่างโปรแกรมที่ 2
          คุณครูต้องการให้นักเรียนแสดงตัวอักษรจากอักษรภาษาอังกฤษตัวพิมพ์เล็ก a จนถึง z เช่น a b c d e f g h i j k l m n o p q r s t u v w x z บนจอภาพ จึงให้นักเรียนเขียนโปรแกรมเพื่อแสดงผลข้อมูลดังนี้
          “ให้นักเรียนเขียนโปรแกรมโดยใช้คำสั่ง for แสดงตัวอักษรจากอักษรภาษาอังกฤษตัวพิมพ์เล็ก a จนถึง z โปรแกรมนี้ต้องการแสดงให้เห็นว่าตัวแปรที่ใช้ในวนรอบ นอกจากจะเป็นตัวเลขได้แล้ว ยังสามารถใช้ตัวแปรที่เป็นตัวอักษรประเภท character ได้อีกด้วย ซึ่งภาษาซีนั้นจะเรียงค่าของตัวอักษรจากน้อยไปหามาก (a-z) โดยยึดหลักค่าของตาราง ASCII”

วิเคราะห์ปัญหา (Analysis)
          สิ่งที่โจทย์กำหนด :: กำหนดตัวแปร alpha โดยใช้ Format Code Character และกำหนดการวนรอบ โดยใช้ตัวแปร alpha ที่เป็นตัวอักษร โดยเริ่มต้นจาก a ถึง z ซึ่งจะเพิ่มค่าขึ้นทีละ 1 ค่า ซึ่งจะวนรอบทั้งหมด 26 รอบ
          สิ่งที่โจทย์ต้องการ :: แสดงค่าของตัวอักษรในรอบนั้น ๆ จากตัวอักษร a จนถึง z

          การแก้ปัญหา (Problem Solving) ตามแนวทางการคิดเชิงคำนวณ โดยการคิดแบบ
"ขั้นตอนวิธี" (Algorithm) ดังนี้

Pseudo Code
Algorithm for
  1. Start
  2. char alpha;
  3.
for (alpha = 'a'; alpha<='z'; alpha++)
     3.1 Print a - z
  4. End

Flowchart

เขียนโปรแกรม (Coding)
 
 
บรรทัดที่
โปรแกรม
1
2
3
4
5
6
7
#include <stdio.h>
char alpha;
int main( )
{
     for (alpha = 'a'; alpha<='z'; alpha++)
     printf("%c ",alpha);
}

         อธิบายโปรแกรม

บรรทัดที่ 1
เรียกใช้งานไลบรารี stdio.h
บรรทัดที่ 2
กำหนดตัวแปร alpha ให้เป็นแบบ character
บรรทัดที่ 3
กำหนดคำสั่ง int main( ) เริ่มการทำงาน
บรรทัดที่ 4
ใช้เครื่องหมาย { เพื่อบอกจุดเริ่มต้นของคำสั่ง int main( )
บรรทัดที่ 5
กำหนดการวนรอบ โดยใช้ตัวแปร alpha ที่เป็นตัวอักษร โดยเริ่มต้นจาก a ถึง z ซึ่งจะเพิ่มค่าขึ้นทีละ 1 ค่า ซึ่งจะวนรอบทั้งหมด 26 รอบ
บรรทัดที่ 6
แสดงค่าของตัวอักษรในรอบนั้น ๆ จากตัวอักษร a จนถึง z
บรรทัดที่ 7
ใช้เครื่องหมาย } เพื่อบอกจุดสิ้นสุดของคำสั่ง int main()

         ผลลัพธ์บนจอภาพ
                  โปรแกรมจะแสดงตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก a จนถึง z บนจอภาพ

a b c d e f g h i j k l m n o p q r s t u v w x z

         การทดสอบการทำงานของโปรแกรมจากเว็บ https://repl.it/languages/c
                  คลิกเครื่องหมาย  เพื่อดูผลผลลัพธ์การทำงานของโปรแกรมด้านล่าง
        (ลิงค์สำรอง https://repl.it/repls/SecondAptTabs)



———————————————————————————————————————————