การเขียนโปรแกรมคอมพิวเตอร์ - ลูป

ลองพิจารณาสถานการณ์เมื่อคุณต้องการพิมพ์ Hello, World!ห้าครั้ง. นี่คือโปรแกรม C ง่ายๆที่จะทำเช่นเดียวกัน -

#include <stdio.h>

int main() {
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
}

เมื่อโปรแกรมด้านบนถูกเรียกใช้งานจะให้ผลลัพธ์ดังนี้ -

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

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

มาเขียนโปรแกรม C ด้านบนด้วยความช่วยเหลือของไฟล์ while loop และต่อไปเราจะพูดถึงวิธีการทำงานของลูปนี้

#include <stdio.h>

int main() {
   int i = 0;
   
   while ( i < 5 ) {
      printf( "Hello, World!\n");
      i = i + 1;
   }
}

เมื่อโปรแกรมด้านบนถูกเรียกใช้งานจะให้ผลลัพธ์ดังนี้ -

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

โปรแกรมข้างต้นใช้ประโยชน์จากไฟล์ while loopซึ่งถูกใช้เพื่อเรียกใช้ชุดคำสั่งการเขียนโปรแกรมที่อยู่ภายใน {.... } ขั้นแรกให้คอมพิวเตอร์ตรวจสอบว่าเงื่อนไขที่กำหนดเช่นตัวแปร "a" น้อยกว่า 5 หรือไม่และหากพบว่าเงื่อนไขเป็นจริงระบบจะป้อน loop body เพื่อดำเนินการตามคำสั่งที่กำหนด ที่นี่เรามีสองคำสั่งต่อไปนี้ในเนื้อวน -

  • คำสั่งแรกคือฟังก์ชัน printf ()ซึ่งพิมพ์ Hello World!

  • คำสั่งที่สองคือi = i + 1ซึ่งใช้เพื่อเพิ่มค่าของตัวแปรi

หลังจากดำเนินการคำสั่งทั้งหมดที่ระบุใน loop body แล้วคอมพิวเตอร์จะกลับไปที่ while (i <5) และเงื่อนไขที่กำหนด (i <5) จะถูกตรวจสอบอีกครั้งและลูปจะถูกดำเนินการอีกครั้งหากเงื่อนไขนั้นเป็นจริง กระบวนการนี้ซ้ำจนกว่าเงื่อนไขที่กำหนดจะยังคงเป็นจริงซึ่งหมายความว่าตัวแปร "a" มีค่าน้อยกว่า 5

สรุปได้ว่าคำสั่งแบบวนซ้ำช่วยให้เราดำเนินการคำสั่งหรือกลุ่มของคำสั่งได้หลายครั้ง ด้านล่างเป็นรูปแบบทั่วไปของคำสั่งวนซ้ำในภาษาโปรแกรมส่วนใหญ่ -

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

ในขณะที่วนซ้ำ

while loop ที่มีอยู่ในภาษา C Programming มีไวยากรณ์ต่อไปนี้ -

while ( condition ) {
   /*....while loop body ....*/
}

โค้ดด้านบนสามารถแสดงในรูปแบบของโฟลว์ไดอะแกรมดังที่แสดงด้านล่าง -

ประเด็นสำคัญต่อไปนี้ควรสังเกตเกี่ยวกับ while loop -

  • ห่วงขณะเริ่มต้นด้วยคำสำคัญ while ตามด้วย condition อยู่ใน ()

  • นอกเหนือไปจากคำสั่ง while () คุณจะมีเนื้อหาของลูปที่อยู่ในวงเล็บปีกกา {...}.

  • ร่างกายของลูปในขณะที่สามารถมีซอร์สโค้ดบรรทัดหนึ่งหรือหลายบรรทัดเพื่อดำเนินการซ้ำ ๆ

  • หากส่วนของห่วงขณะมีเส้นเดียวแสดงว่าเป็นทางเลือกในการใช้วงเล็บปีกกา {...}.

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

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

ทำ ... ในขณะที่ห่วง

ลูปในขณะที่ตรวจสอบเงื่อนไขที่กำหนดก่อนที่จะรันคำสั่งใด ๆ ที่ให้ไว้ในส่วนของร่างกาย การเขียนโปรแกรม C จัดให้มีการวนซ้ำอีกรูปแบบหนึ่งเรียกว่าdo...whileที่อนุญาตให้ดำเนินการวนรอบก่อนที่จะตรวจสอบเงื่อนไขที่กำหนด มีไวยากรณ์ต่อไปนี้ -

do {
   /*....do...while loop body ....*/
} 
while ( condition );

โค้ดด้านบนสามารถแสดงในรูปแบบของโฟลว์ไดอะแกรมดังที่แสดงด้านล่าง -

หากคุณจะเขียนตัวอย่างข้างต้นโดยใช้ do...while วนแล้ว Hello, World จะให้ผลลัพธ์เดียวกัน -

#include <stdio.h>

int main() {
   int i = 0;
   
   do {
      printf( "Hello, World!\n");
      i = i + 1;
   }
   while ( i < 5 );
}

เมื่อโปรแกรมด้านบนถูกเรียกใช้งานจะให้ผลลัพธ์ดังนี้ -

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

คำสั่งแบ่ง

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

break;

break คำสั่งสามารถแสดงในรูปแบบของแผนภาพการไหลดังที่แสดงด้านล่าง -

โปรแกรมต่อไปนี้เป็นโปรแกรมข้างต้น แต่จะออกมาหลังจากพิมพ์ Hello World! สามครั้งเท่านั้น -

#include <stdio.h>

int main() {
   int i = 0;
   do {
      printf( "Hello, World!\n");
      i = i + 1;
      
      if( i == 3 ) {
         break;
      }
   }
   while ( i < 5 );
}

เมื่อโปรแกรมด้านบนถูกเรียกใช้งานจะให้ผลลัพธ์ดังนี้ -

Hello, World!
Hello, World!
Hello, World!

คำสั่งดำเนินการต่อ

continue คำสั่งในการเขียนโปรแกรมภาษาซีทำงานคล้ายกับ breakคำให้การ. แทนที่จะบังคับให้เลิกจ้างcontinueบังคับให้การวนซ้ำครั้งต่อไปเกิดขึ้นโดยข้ามรหัสใด ๆ ที่อยู่ระหว่างนั้น ไวยากรณ์สำหรับcontinue คำสั่งใน C มีดังนี้ -

continue;

continue คำสั่งสามารถแสดงในรูปแบบของแผนภาพการไหลดังที่แสดงด้านล่าง -

ต่อไปนี้เป็นตัวแปรของโปรแกรมข้างต้น แต่จะข้ามการพิมพ์เมื่อตัวแปรมีค่าเท่ากับ 3 -

#include <stdio.h>

int main() {
   int i = 0;
   do {
      if( i == 3 ) {
         i = i + 1;
         continue;
      }
      printf( "Hello, World!\n");
      i = i + 1;
   }
   while ( i < 5 );
}

เมื่อโปรแกรมด้านบนถูกเรียกใช้งานจะให้ผลลัพธ์ดังนี้ -

Hello, World!
Hello, World!
Hello, World!
Hello, World!

ลูปใน Java

ต่อไปนี้เป็นโปรแกรมเทียบเท่าที่เขียนด้วย Java ที่รองรับเช่นกัน while และ do...whileลูป โปรแกรมต่อไปนี้จะพิมพ์ออกมาHello, World! ห้าเท่าในกรณีของการเขียนโปรแกรม C -

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

public class DemoJava {
   public static void main(String []args) {
      int i = 0;
   
      while ( i < 5 ) {
         System.out.println("Hello, World!");
         i = i + 1;
      }
   }
}

break และ continue คำสั่งในการเขียนโปรแกรม Java ทำงานในลักษณะเดียวกับที่ทำงานในการเขียนโปรแกรม C

ลูปใน Python

ต่อไปนี้เป็นโปรแกรมเทียบเท่าที่เขียนด้วย Python Python ก็รองรับเช่นกันwhile และ do...whileลูป โปรแกรมต่อไปนี้จะพิมพ์ออกมาHello, World!ห้าเท่าของเราในกรณีของการเขียนโปรแกรม C ที่นี่คุณต้องสังเกตว่า Python ไม่ได้ใช้วงเล็บปีกกาสำหรับตัวห่วง แต่เพียงแค่ระบุเนื้อความของลูปโดยใช้การเยื้องของคำสั่ง

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

i = 0

while (i < 5):
   print "Hello, World!"
   i = i + 1
print "Loop ends"

เมื่อโปรแกรมด้านบนถูกเรียกใช้งานจะให้ผลลัพธ์ดังนี้ -

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Loop ends

break และ continue คำสั่งใน Python ทำงานในลักษณะเดียวกับที่ทำในการเขียนโปรแกรม C