คำสั่ง ใด ไม่ใช่ คำสั่งวน รอบ การ ทำงาน ซ้ำ

1. ���㴵��仹�� �繤����㹡�����͡��Ẻ�ҧ���� ? �. if
�. if-else
�. if-else �ԧ��͹
�. switch
  2. ���㴵��仹�� ��ͻ���¤���͹䢡�˹� if ��͹ if ? �. if
�. if-else
�. if-else �ԧ��͹
�. switch
  3. ���㴵��仹�� ��ͤ���觷���ͧ����ش��÷ӫ������͡�ҡ�ٻ�ͧ������� ? �. continue
�. break
�. while
�. for
  4. ���㴵��仹���ͼŢͧ������������� break ��õ�Ǩ�ͺ���͹䢴��� switch ? �. ���������������ҹ
�. ���͹����� case �����ӧҹ
�. �е�Ǩ�ͺ case ��������ӴѺ�Ѵ�
�. ����Դ���â��
  5. ���㴵��仹�� ��ͤ�����ٻ��÷ӫ�ӷ���Һ�ӹǹ�ͺ�����͹ ? �. switch
�. while
�. do-while
�. for
  6. ���㴵��仹���� ������ٻ��÷ӫ�Ө��ա�õ�Ǩ�ͺ���͹䢡�͹���� ? �. switch
�. while
�. do-while
�. for
  7. ���㴵��仹�� ��� ���������ǹ��� while ���١��ͧ ? �. while(a > 10)
�. while(a = 10)
�. while(a => 10)
�. while(a > 10);
  8. ���㴵��仹�� ��� �ѡɳС�÷ӧҹ�ͧ�����ǹ��� do-while ? �. ��Ǩ�ͺ���͹��͹���� ���ͷӧҹ��͹����
�. �ӧҹ��е�Ǩ�ͺ���͹䢾�����ѹ
�. ��Ǩ�ͺ���͹䢡�͹���Ǩ֧�ӧҹ����
�. �ӧҹ�������觡�͹�֧��Ǩ�ͺ���͹�
  9. ���㴵��仹�� ��� �ӹǹ�ͺ�ͧ��÷ӧҹ�ҡ�ش����觷���˹���� ?for(x=1; x<=10; x+2)  printf(�%d�,x);

�Ԫҡ���͡Ẻ���෤�����2 (�����Ԫ� �32182) �дѺ �Ѹ���֡�һշ��5
����ͧ ����觷ӫ�� while , do while ,for �ӹǹ 10 ���
�� �.���������� �ҹ�Ӿѹ�� �ç���¹��᫿�ػ�����
����� ���͡ ���� ����ӵͺ���١��ͧ����ش
��ͷ�� 1)
����������÷ӧҹẺǹ�ͺ
   while
   do while
   for
   if...else

��ͷ�� 2)
loop while �Ծ��췴�ͺ��������˹��
   ǧ�����ѧ while
   ��͹�Դ loop while
   ���㹻ա�Ңͧ loop while
   ǧ�����ѧ�ա�һԴ loop while

��ͷ�� 3)
loop do while �Ծ��췴�ͺ��������˹��
   ǧ�����ѧ while
   ��͹�Դ loop while
   ���㹻ա�Ңͧ loop while
   ǧ�����ѧ�ա�һԴ loop while

��ͷ�� 4)
�ӧҹ� loop 1 �ͺ���� ���Ǥ��µ�Ǩ�ͺ���͹� �ʹ���ͧ�Ѻ����
   for
   while
   do while
   if...else

��ͷ�� 5)
while (c!='n') ���¤���������ҧ��
   ���º��º����ѡ��е�� c �����ҡѺ�ѡ��е�� n
   ���º��º��ҷ������㹵���� c �����ҡѺ��ҷ������㹵���� n
   ���º��º��ҷ������㹵���� c �����ҡѺ�ѡ��е�� n ��Ҩ�ԧ�Ш���çҹ
   ���º��º��ҷ������㹵���� c �����ҡѺ�ѡ��е�� n ��Ҩ�ԧ�зӧҹ����ա�ͺ

��ͷ�� 6)
���㴵��仹�� ��� ���������ǹ��� while ���١��ͧ
    while(a > 10)
   while(a = 10)
   while(a => 10)
   while(a > 10);

��ͷ�� 7)
���㴵��仹�� ��� �ѡɳС�÷ӧҹ�ͧ�����ǹ��� do-while
   �ӧҹ��е�Ǩ�ͺ���͹䢾�����ѹ
   �ӧҹ�������觡�͹�֧��Ǩ�ͺ���͹�
   ��Ǩ�ͺ���͹䢡�͹���Ǩ֧�ӧҹ����
   ��Ǩ�ͺ���͹��͹���� ���ͷӧҹ��͹����

��ͷ�� 8)
for(x=1; x<=10; x+=2) ����觹��ӧҹ����ͺ
   1�ͺ
   5�ͺ
   8�ͺ
   10�ͺ

��ͷ�� 9)
for(x=1; x<=10; x+=2) �ҡ����觹���� cout<
   1
   1 3 5 7 9
   2 4 6 8 10
   1 2 3 4 5 6 7 8 9 10

��ͷ�� 10)
��ҵ�ͧ��� Save Souce Cofe File ��������� C++ ��ͧ Save ���ʡ����� �������
   .o
   .code block
   .c
   .cpp


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

  • การใช้งานคำสั่ง while loop
  • การใช้ลูปเพื่อนับตัวเลขถอยหลัง
  • การตรวจสอบจำนวนเฉพาะ
  • การใช้คำสั่ง while loop กับอาเรย์
  • การกำหนด loop ที่ซ้อนกัน
  • การแยกตัวประกอบของตัวเลข

การใช้งานคำสั่ง while loop

คำสั่ง while loop เป็นคำสั่งวนซ้ำที่เป็นพื้นฐานและเรียบง่ายที่สุดในภาษา C มันใช้สำหรับควบคุมเพื่อให้โปรแกรมทำงานบางอย่างซ้ำๆ จากเงื่อนไขที่กำหนด ซึ่งการทำงานในรูปแบบนี้เป็นเรื่องปกติในการเขียนโปรแกรม นี่เป็นรูปแบบการใช้งานคำสั่ง while loop ในภาษา C

while (condition) {
    // statements
}

ในการใช้งานคำสั่ง while loop นั้นจะประกอบไปด้วยสองส่วนคือ การกำหนดเงื่อนไข

while (n <= 10) {
    printf("%d\n", n);
    n++;
}
4 สำหรับลูปเพื่อทำงานและส่วนของคำสั่งที่ต้องการให้ทำงานในขณะที่เงื่อนไขเป็นจริง ซึ่งเราจะกำหนดภายในบล็อค
while (n <= 10) {
    printf("%d\n", n);
    n++;
}
5 ของคำสั่ง

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

สำหรับตัวอย่างแรกในบทนี้ เรามาเริ่มต้นด้วยการเขียนโปรแกรมนับเลขจาก 1-10 โดยการใช้งานคำสั่ง while loop ในภาษา C ซึ่งมันเป็นตัวอย่างที่เรียบง่ายที่สุดสำหรับแสดงการใช้งานลูป เป็นตัวอย่างของโปรแกรม

counting_numbers.c

#include <stdio.h>

int main()
{
    int n = 1;
    while (n <= 10) {
        printf("%d\n", n);
        n++;
    }
    printf("Loop ended\n", n);
    return 0;
}

นี่เป็นผลลัพธ์การทำงานของโปรแกรม

1
2
3
4
5
6
7
8
9
10
Loop ended

นี่เป็นตัวอย่างพื้นฐานสำหรับการใช้งานคำสั่ง while loop ลูป เราได้ใช้มันนับตัวเลขจาก 1-10 และแสดงค่าออกทางหน้าจอ ต่อไปมาดูคำอธิบายในแต่ละส่วนว่าโปรแกรมทำงานอย่างไร

int n = 1;

เราเริ่มต้นจากการประกาศตัวแปร

while (n <= 10) {
    printf("%d\n", n);
    n++;
}
6 ที่มีค่าเป็น
while (n <= 10) {
    printf("%d\n", n);
    n++;
}
7 สำหรับใช้ในการนับเลข นี่เป็นการกำหนดค่าเริ่มต้นสำหรับคำสั่ง while loop เพื่อทำงาน ซึ่งมักจะทำก่อนที่ลูปจะเริ่มทำงานหรือก่อนจะถึงบล็อคของคำสั่ง while loop

while (n <= 10) {
    printf("%d\n", n);
    n++;
}

จากนั้นเป็นการสร้างลูปโดยการกำหนดเงื่อนไขเป็น

while (n <= 10) {
    printf("%d\n", n);
    n++;
}
8 นี่หมายความว่าเราต้องการให้โปรแกรมทำงานในลูปในขณะตัวแปร
while (n <= 10) {
    printf("%d\n", n);
    n++;
}
6 มีค่าน้อยกว่าหรือเท่ากับ
n++;
0 และภายในบล็อคของคำสั่ง while loop เราได้แสดงค่าของตัวแปรออกทางหน้าจอ

n++;

ในตอนท้ายของลูป เราเพิ่มค่าในตัวแปร

while (n <= 10) {
    printf("%d\n", n);
    n++;
}
6 ขึ้นไปหนึ่งค่า นี่เป็นคำสั่งที่จะทำให้ค่าในตัวแปรเพิ่มขึ้นเรื่อยๆ สำหรับการทำงานแต่ละรอบของลูป จนกระทั่งค่าในตัวแปรมากว่า
n++;
0 ซึ่งนี่จะทำให้เงื่อนไขเป็นเท็จและลูปจบการทำงาน

คุณสามารถลองเปลี่ยนคำสั่งเพิ่มค่าในตัวแปร

while (n <= 10) {
    printf("%d\n", n);
    n++;
}
6 ให้เพิ่มค่าทีละสองได้ ยกตัวอย่างเช่น

n += 2;

จากนั้นรันโปรแกรมอีกครั้ง และนี่เป็นผลลัพธ์การทำงานของโปรแกรม

1
3
5
7
9
Loop ended

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

การใช้ลูปเพื่อนับตัวเลขถอยหลัง

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

count_down.c

#include <stdio.h>

int main()
{
    int n = 10;
    printf("Count down started\n", n);
    while (n >= 0) {
        printf("%d\n", n);
        n--;
    }
    printf("Now! Firing the Rocket\n", n);
    return 0;
}

นี่เป็นผลลัพธ์การทำงานของโปรแกรม

Count down started
10
9
8
7
6
5
4
3
2
1
0
Now! Firing the Rocket

นี่เป็นโปรแกรมนับถอยหลังโดยมันจะเริ่มจาก 10 สำหรับการปล่อยจรวด คุณสามารถจินตนาการได้ว่าคุณจะใช้มันทำอะไรก็ได้ ไม่ใช่เพียงแค่การปล่อยจรวด

#include <stdio.h>

int main()
{
    int n = 1;
    while (n <= 10) {
        printf("%d\n", n);
        n++;
    }
    printf("Loop ended\n", n);
    return 0;
}
0

คล้ายกับตัวอย่างก่อนหน้า เรากำหนดค่าเริ่มต้นในตัวแปร

while (n <= 10) {
    printf("%d\n", n);
    n++;
}
6 เป็น
n++;
0 เนื่องจากเราต้องการนับตัวเลขถอยหลังจาก 10 จากนั้นกำหนดเงื่อนไขในคำสั่ง while loop เป็น
n++;
6 ซึ่งหมายความว่าโปรแกรมจะทำงานในลูปในขณะที่ค่าในตัวแปรนั้นมากกว่าหรือเท่ากับ
n++;
7

#include <stdio.h>

int main()
{
    int n = 1;
    while (n <= 10) {
        printf("%d\n", n);
        n++;
    }
    printf("Loop ended\n", n);
    return 0;
}
1

และสิ่งที่เราต้องทำกับ loop นี้เพื่อให้มันจบการทำงานก็คือลดค่าในตัวแปร

while (n <= 10) {
    printf("%d\n", n);
    n++;
}
6 ลงทีละ 1 ในแต่ละรอบของการทำงานในลูป นั่นจะทำให้เมื่อค่าในตัวแปรน้อยกว่า
n++;
7 โปรแกรมจบการทำงาน และจรวดถูกปล่อยในตอนท้ายของโปรแกรม

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

การตรวจสอบจำนวนเฉพาะ

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

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

prime_number.c

#include <stdio.h>

int main()
{
    int n = 1;
    while (n <= 10) {
        printf("%d\n", n);
        n++;
    }
    printf("Loop ended\n", n);
    return 0;
}
2

นี่เป็นผลลัพธ์การทำงานของโปรแกรมจากการรันโปรแกรมสองครั้ง และเรากรอกตัวเลขเป็น 5 และ 18 ตามลำดับ

#include <stdio.h>

int main()
{
    int n = 1;
    while (n <= 10) {
        printf("%d\n", n);
        n++;
    }
    printf("Loop ended\n", n);
    return 0;
}
3
#include <stdio.h>

int main()
{
    int n = 1;
    while (n <= 10) {
        printf("%d\n", n);
        n++;
    }
    printf("Loop ended\n", n);
    return 0;
}
4

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

#include <stdio.h>

int main()
{
    int n = 1;
    while (n <= 10) {
        printf("%d\n", n);
        n++;
    }
    printf("Loop ended\n", n);
    return 0;
}
5

ในตอนที่โปรแกรมเริ่มต้น เราได้ประกาศตัวแปร

while (n <= 10) {
    printf("%d\n", n);
    n++;
}
6 และรับค่ามาจากคีย์บอร์ด นี่เป็นตัวเลขที่จะนำมาตรวจสอบว่ามันเป็นจำนวนเฉพาะหรือไม่

#include <stdio.h>

int main()
{
    int n = 1;
    while (n <= 10) {
        printf("%d\n", n);
        n++;
    }
    printf("Loop ended\n", n);
    return 0;
}
6

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

n += 2;
1 เป็นตัวนับจาก 1-n เพื่อวนหาตัวเลขทั้งหมดที่หาร
while (n <= 10) {
    printf("%d\n", n);
    n++;
}
6 ลงตัว และถ้าหากมีการหารลงตัวเกิดขึ้น เรานับมันด้วยตัวแปร
n += 2;
3

#include <stdio.h>

int main()
{
    int n = 1;
    while (n <= 10) {
        printf("%d\n", n);
        n++;
    }
    printf("Loop ended\n", n);
    return 0;
}
7

ดังนั้นเราสร้าง while loop โดยกำหนดเงื่อนไขเป็น

n += 2;
4 เราจะค้นหาตัวเลขที่อยู่ระหว่าง 1 - n ว่ามีตัวเลขไหนที่หาร
while (n <= 10) {
    printf("%d\n", n);
    n++;
}
6 ลงตัวบ้าง ทุกครั้งที่มีการหารลงตัว เราใช้ตัวแปร
n += 2;
3 สำหรับนับ จากนั้นเพิ่มค่าค่าในตัวแปร
n += 2;
1 ขึ้นไป
while (n <= 10) {
    printf("%d\n", n);
    n++;
}
7 เพื่อตรวจสอบตัวเลขใหม่ในลูปถัดไป

#include <stdio.h>

int main()
{
    int n = 1;
    while (n <= 10) {
        printf("%d\n", n);
        n++;
    }
    printf("Loop ended\n", n);
    return 0;
}
8

และเมื่อลูปจบการทำงาน เราจะทราบว่ามีกี่จำนวนที่หาร

while (n <= 10) {
    printf("%d\n", n);
    n++;
}
6 ลงตัว และเนื่องจากเราตรวจสอบตัวเลขทั้งหมดจาก
1
3
5
7
9
Loop ended
0 ถ้าหากมันเป็นจำนวนเฉพาะ นั่นหมายความว่าค่าที่นับได้จากตัวแปร
n += 2;
3 จะมีค่าเท่ากับ
1
3
5
7
9
Loop ended
2 และเราใช้มันเป็นเงื่อนไขในการตรวจสอบ

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

1
3
5
7
9
Loop ended
3 เนื่องจากเราต้องการมุ่งเน้นที่การใช้งานคำสั่ง while loop เป็นหลัก

การใช้คำสั่ง while loop กับอาเรย์

อาเรย์เป็นประเภทข้อมูลในภาษา C ที่เก็บข้อมูลในรูปแบบของลำดับ และแต่ละค่าในอาเรย์สามารถเข้าถึงได้จาก Index ที่เป็นลำดับต่อเนื่องกัน ดังนั้นการใช้งานลูปกับอาเรย์ ทำให้เราสามารถวนอ่านค่าทั้งหมดในอาเรย์ได้อย่างง่ายดาย

ในตัวอย่างนี้เป็นการใช้งานคำสั่ง while loop กับอาเรย์ เรามาเขียนโปรแกรมสำหรับหาผลรวมและค่าเฉลี่ยของตัวเลขในอาเรย์ นี่เป็นตัวอย่าง

sum_n_average.c

#include <stdio.h>

int main()
{
    int n = 1;
    while (n <= 10) {
        printf("%d\n", n);
        n++;
    }
    printf("Loop ended\n", n);
    return 0;
}
9

นี่เป็นผลลัพธ์การทำงานของโปรแกรม

1
2
3
4
5
6
7
8
9
10
Loop ended
0

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

1
2
3
4
5
6
7
8
9
10
Loop ended
1

นี่เป็นประกาศอาเรย์เริ่มต้นสำหรับหาผลรวมและค่าเฉลี่ย และเพื่อนับจำนวนสมาชิกในอาเรย์ ฟังก์ชัน

1
3
5
7
9
Loop ended
4 ส่งค่ากลับเป็นไบท์ของข้อมูล เมื่อเราหารขนาดของอาเรย์และขนาดของประเภทข้อมูลของอาเรย์
1
3
5
7
9
Loop ended
5 เราจะได้จำนวนของสมาชิกทั้งหมดในอาเรย์และเก็บในตัวแปร
1
3
5
7
9
Loop ended
6

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

1
2
3
4
5
6
7
8
9
10
Loop ended
2

จากนั้นเราประกาศตัวแปร

n += 2;
1 ที่จะใช้เป็น Index เพื่อวนอ่านค่าในอาเรย์ และตัวแปร
1
3
5
7
9
Loop ended
8 สำหรับเก็บผลรวมของตัวเลขในอาเรย์

1
2
3
4
5
6
7
8
9
10
Loop ended
3

และเริ่มต้น while loop ด้วยการกำหนดเงื่อนไขเป็น

1
3
5
7
9
Loop ended
9 นั่นเป็นเพราะ Index ของอาเรย์จะเริ่มจาก
n++;
7 ไปจนถึง
#include <stdio.h>

int main()
{
    int n = 10;
    printf("Count down started\n", n);
    while (n >= 0) {
        printf("%d\n", n);
        n--;
    }
    printf("Now! Firing the Rocket\n", n);
    return 0;
}
1 นัั่นเอง จากนั้นภายในลูปนำแต่ละค่าในอาเรย์
#include <stdio.h>

int main()
{
    int n = 10;
    printf("Count down started\n", n);
    while (n >= 0) {
        printf("%d\n", n);
        n--;
    }
    printf("Now! Firing the Rocket\n", n);
    return 0;
}
2 มาบวกเก็บไว้ในตัวแปร
1
3
5
7
9
Loop ended
8 และเพิ่มค่าในตัวแปร
n += 2;
1 ขึ้นไปหนึ่งสำหรับค่าต่อไปของอาเรย์

1
2
3
4
5
6
7
8
9
10
Loop ended
4

เมื่อลูปจบการทำงาน เราจะได้รับผลรวมของตัวเลขในอาเรย์เก็บไว้ในตัวแปร

1
3
5
7
9
Loop ended
8 เราสามารถหาค่าเฉลี่ยได้จากนำผลรวมหารด้วยจำนวนสมาชิกทั้งหมดในอาเรย์ และแสดงผลสรุปออกทางหน้าจอ

การกำหนด loop ที่ซ้อนกัน

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

เราจะเริ่มจากตัวอย่างง่ายๆ เราคิดว่าคุณคงจะเคยเล่นหรือเห็นตารางของหมากรุกมาก่อน มาสร้างตารางของหมากรุกโดยการใช้คำสั่ง while loop แบบซ้อนกันในภาษา C นี่เป็นตัวอย่าง

chess_table.c

1
2
3
4
5
6
7
8
9
10
Loop ended
5

นี่เป็นผลลัพธ์การทำงานของโปรแกรม

1
2
3
4
5
6
7
8
9
10
Loop ended
6

ในตัวอย่างนี้เราได้สร้างตารางของหมากรุกด้วยคำสั่ง while loop แบบซ้อนกัน ที่มีขนาด 8 แถวและ 8 หลัก

1
2
3
4
5
6
7
8
9
10
Loop ended
7

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

1
2
3
4
5
6
7
8
9
10
Loop ended
8

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

เมื่อเราจัดตั้ง loop ด้านนอกให้สามารถทำงานได้ตามที่ต้องการแล้ว ต่อไปเป็นการกำหนดการทำงานให้กับ loop ด้านในเพื่อวาดตัวอักษรลงในตาราง ทุกอย่างที่คุณเขียนในลูปนี้จะถูกนำไปใช้สำหรับทุกแถวจากลูปด้านนอก

1
2
3
4
5
6
7
8
9
10
Loop ended
9

เราประกาศตัวแปร

#include <stdio.h>

int main()
{
    int n = 10;
    printf("Count down started\n", n);
    while (n >= 0) {
        printf("%d\n", n);
        n--;
    }
    printf("Now! Firing the Rocket\n", n);
    return 0;
}
6 สำหรับนับการทำงานของลูปด้านในเพื่อวนทำงาน
#include <stdio.h>

int main()
{
    int n = 10;
    printf("Count down started\n", n);
    while (n >= 0) {
        printf("%d\n", n);
        n--;
    }
    printf("Now! Firing the Rocket\n", n);
    return 0;
}
7 รอบสำหรับแสดงแต่ละหลักในแถว และสร้างเงื่อนไขเพื่อให้แสดงแบบสลับตารางตาข่าย โดยการนำแถวและหลักมาบวกกันและหารด้วย
1
3
5
7
9
Loop ended
2 ถ้าหากการหารลงตัวเราแสดงตัวอักษร
#include <stdio.h>

int main()
{
    int n = 10;
    printf("Count down started\n", n);
    while (n >= 0) {
        printf("%d\n", n);
        n--;
    }
    printf("Now! Firing the Rocket\n", n);
    return 0;
}
9 ไม่เช่นนั้นแสดงช่องว่างแทน

และในตอนท้ายเมื่อ loop ทั้งสองทำงานเสร็จสิ้น เราจะได้ตารางของหมากรุกขนาด 8 x 8 ที่แสดงผลออกทางหน้าจอ คุณสามารถลองเปลี่ยนขนาดของตารางในตัวแปร

Count down started
10
9
8
7
6
5
4
3
2
1
0
Now! Firing the Rocket
0 และ
#include <stdio.h>

int main()
{
    int n = 10;
    printf("Count down started\n", n);
    while (n >= 0) {
        printf("%d\n", n);
        n--;
    }
    printf("Now! Firing the Rocket\n", n);
    return 0;
}
7 และรันโปรแกรมเพื่อดูผลลัพธ์อีกครั้งได้

การทำงานกับ loop นั้นเป็นเรื่องที่สนุก จากตัวอย่างก่อนหน้าสำหรับการวาดตารางหมากรุก เราสามารถเปลี่ยนเงื่อนไขเพื่อให้วาดภาพอื่นได้ นี่เป็นตัวอย่างของการวาดกรอบสี่เหลี่ยมล้อมรอบตาราง

int n = 1;
0

คุณเพียงแค่เปลี่ยนโค้ดใน loop ด้านในและรันโปรแกรมอีกครั้ง นี่เป็นผลลัพธ์การทำงานของโปรแกรม

int n = 1;
1

จากนั้นลองเปลี่ยนเงื่อนไขเป็นนี่เพื่อวาดเส้นตามแนวแทยงจากมุมทั้งสองและลองรันโปรแกรมอีกครั้งเพื่อดูผลลัพธ์

int n = 1;
2

และนี่เป็นผลลัพธ์ของโปรแกรม

int n = 1;
3

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

การแยกตัวประกอบของตัวเลข

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

int n = 1;
4

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

number_factorization.c

int n = 1;
5

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

int n = 1;
6
int n = 1;
7

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

while (n <= 10) {
    printf("%d\n", n);
    n++;
}
6

int n = 1;
8

เราประกาศอารย์สำหรับเก็บค่าตัวประกอบจำนวนเฉพาะทั้งหมดที่สามารถแยกได้ และประกาศตัวแปร

Count down started
10
9
8
7
6
5
4
3
2
1
0
Now! Firing the Rocket
3 สำหรับนับจำนวนตัวประกอบที่พบและใช้สำหรับกำหนดค่าดังกล่าวให้กับอาเรย์

int n = 1;
9

เรากำหนดค่าเริ่มต้นสำหรับ while loop เพื่อทำงานโดยกำหนดค่าให้กับตัวแปร

n += 2;
1 โดยให้มีค่าเริ่มต้นเท่ากับ
while (n <= 10) {
    printf("%d\n", n);
    n++;
}
6 นั่นเป็นเพราะว่าค่านี้จะเปลี่ยนไปตลอดเวลาในขณะที่โปรแกรมทำงาน และเราต้องการรับษาค่าในตัวแปร
while (n <= 10) {
    printf("%d\n", n);
    n++;
}
6 เอาไว้

while (n <= 10) {
    printf("%d\n", n);
    n++;
}
0

จากนั้นเริ่มต้นการทำงานของ while loop นี่จะทำงานโดยการหาตัวเลขมาหาร

n += 2;
1 ในขณะที่ค่าในตัวแปรนั้นมากกว่า
n += 2;
1 และเมื่อค่าในตัวแปรน้อยกว่าหรือเท่ากับ
while (n <= 10) {
    printf("%d\n", n);
    n++;
}
7 ซึ่งจะทำให้เงื่อนไขเป็นเท็จ หมายความว่าการแยกตัวประกอบเสร็จสิ้นนั่นเอง

while (n <= 10) {
    printf("%d\n", n);
    n++;
}
1

ส่วน loop ด้านในนั้นทำหน้าที่สำหรับหาตัวเลขที่หาร

n += 2;
1 ลงตัวโดยวนจาก
1
3
5
7
9
Loop ended
2 ถึง
n += 2;
1 เราใช้ตัวแปร
#include <stdio.h>

int main()
{
    int n = 10;
    printf("Count down started\n", n);
    while (n >= 0) {
        printf("%d\n", n);
        n--;
    }
    printf("Now! Firing the Rocket\n", n);
    return 0;
}
6 สำหรับการวนที่ลูปนี้ หากพบกับตัวเลขที่สามารถหารลงตัว จะถือว่าตัวเลขดังกล่าวเป็นตัวประกอบของ
while (n <= 10) {
    printf("%d\n", n);
    n++;
}
6 และเราเก็บมันลงอาเรย์
#include <stdio.h>

int main()
{
    int n = 1;
    while (n <= 10) {
        printf("%d\n", n);
        n++;
    }
    printf("Loop ended\n", n);
    return 0;
}
05

while (n <= 10) {
    printf("%d\n", n);
    n++;
}
2

จากนั้นลดค่าในตัวแปร

n += 2;
1 ลงให้เท่ากับผลจากการหารตัวมันเองด้วย
#include <stdio.h>

int main()
{
    int n = 10;
    printf("Count down started\n", n);
    while (n >= 0) {
        printf("%d\n", n);
        n--;
    }
    printf("Now! Firing the Rocket\n", n);
    return 0;
}
6 และจบการทำงานของลูปภายในด้วยคำสั่ง
1
3
5
7
9
Loop ended
3 ที่จะส่งการทำงานกลับมายังลูปด้านนอก และลูปด้านนอกจะทำการตรวจสอบเงื่อนไขของมัน (
#include <stdio.h>

int main()
{
    int n = 1;
    while (n <= 10) {
        printf("%d\n", n);
        n++;
    }
    printf("Loop ended\n", n);
    return 0;
}
09) อีกครั้ง นี่แสดงว่าค่าในตัวแปร
n += 2;
1 ลดลงแล้ว

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

n += 2;
1 ที่ลดลงแล้ว และวนทำเช่นนี้ไปเรื่อยๆ จนกว่าค่าในตัวแปร
n += 2;
1 จะมีค่าน้อยกว่าหรือเท่ากับ
while (n <= 10) {
    printf("%d\n", n);
    n++;
}
7 เพื่อจบการทำงานของลูป และในตอนท้ายเราจะได้ตัวประกอบทั้งหมดที่แยกได้เก็บในตัวแปรอาเรย์
#include <stdio.h>

int main()
{
    int n = 1;
    while (n <= 10) {
        printf("%d\n", n);
        n++;
    }
    printf("Loop ended\n", n);
    return 0;
}
05

while (n <= 10) {
    printf("%d\n", n);
    n++;
}
3

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

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

คำสั่งที่ใช้ทำงานแบบวนซ้ำคือข้อใด

ความหมายของลูป(loop) ลูป(loop)ในที่นี้มีความหมายว่า การวนซ้ำซึ่งการวนซ้ำในทางภาษาคอมพิวเตอร์ คือ การทำคำสั่งหรือชุดคำสั่งนั้นซ้ำกันหลายๆครั้ง รูปแบบของลูป ในการตรวจสอบว่าจะให้ลูปนั้นจบการทำงานเมื่อไรนั้น จะมีรูปแบบของการตรวจสอบเงือนไขอยู่ 2 แบบ

ฟังก์ชั่น loop() ซึ่งมีการทํางานแบบใด

Loop คือการทำงานแบบวนซ้ำ เช่นเครื่องเล่นเพลง MP3 หากใช้ฟังก์ชั่น Loop. จะทำให้เล่นเพลงซ้ำรอบใหม่ หลังจากที่เล่นเพลงสุดท้าย แต่ในการเขียนโปรแกรม Loop จะเป็นการทำขั้นตอนต่างๆซ้ำตามที่ผู้เขียนโปรแกรมต้องการ เช่น หากต้องการเขียนโปรแกรมให้ พิมพ์ข้อความอะไรซักอย่างจำนวน 100 รอบ

คำสั่งในโปรแกรม Scratch ข้อใด คือการวนซ้ำ

การสั่งงานแบบวนซ้ำ เป็นการสั่งให้ตัวละครทำงานเหมือนเดิมหลายครั้ง ทำให้การเขียนสคริปต์สั้นลงแต่ทำงานเหมือนเดิม โดยใช้คำสั่ง repeat และ forever ซึ่งอยู่ในกลุ่มบล็อก Control. วนซ้ำกับ Repeat และ forever.

กลุ่มคำสั่งการวนซ้ำจะประกอบด้วยคำสั่งใด

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