C++ ทำ...ในขณะที่วนซ้ำกับตัวอย่าง

do- while loop คืออะไร?

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

เมื่อใดจึงควรใช้ do- While loop?

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

วากยสัมพันธ์

ไวยากรณ์พื้นฐานของ C++ ทำ while วนซ้ำเป็นดังนี้:

do{    
//code 
}while(condition);  

เงื่อนไขคือนิพจน์ทดสอบ ต้องเป็นจริงจึงจะรันลูปได้ { และ } ทำเครื่องหมายเนื้อหาของ do while มันมาก่อนเงื่อนไข ดังนั้นจึงดำเนินการก่อนเงื่อนไข

do- While loop ทำงานอย่างไร?

ทำในขณะที่วนซ้ำ
C++ ทำในขณะที่แผนภูมิการไหล

คำอธิบายแผนภูมิการไหล:

  1. เริ่มต้นของ do while วนซ้ำ
  2. เนื้อความของ do while วนซ้ำ
  3. นิพจน์ทดสอบหรือเงื่อนไขที่จะประเมิน
  4. หากนิพจน์ทดสอบเป็นจริง แสดงว่า C++ คอมไพเลอร์ดำเนินการเนื้อหาของ do while loop
  5. ถ้านิพจน์การทดสอบเป็นเท็จ C++ คอมไพเลอร์ดำเนินการคำสั่งหลังเนื้อหาลูป
  6. ข้อความที่อยู่หลังเนื้อหาลูป

1 ตัวอย่าง

#include <iostream>
using namespace std;
int main() {
	// Local variable 
	int x = 1;
	do {
		cout << "X is: " << x << endl;
		x = x + 1;
	} while (x < 5);
	return 0;
}

Output:

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

นี่คือภาพหน้าจอของรหัส:

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

คำอธิบายรหัส:

  1. รวมไฟล์ส่วนหัว iostream ไว้ในโค้ดของเรา มันจะช่วยให้เราอ่านและเขียนไปยังคอนโซลได้
  2. รวมเนมสเปซมาตรฐานเพื่อใช้คลาสและฟังก์ชันโดยไม่ต้องเรียกมัน
  3. การเรียกใช้ฟังก์ชัน main() ภายในที่ควรเพิ่มตรรกะของโปรแกรม { เป็นเครื่องหมายเริ่มต้นของเนื้อหาของฟังก์ชัน main()
  4. ความคิดเห็น ที่ C++ คอมไพเลอร์จะข้ามสิ่งนี้
  5. ประกาศตัวแปรจำนวนเต็ม x และกำหนดค่าเป็น 1
  6. การสร้างลูป do- While { ทำเครื่องหมายจุดเริ่มต้นของเนื้อหาวนซ้ำ
  7. เพื่อพิมพ์ค่าของตัวแปร x ควบคู่ไปกับข้อความอื่นบนคอนโซล จุดสิ้นสุดคือ a C++ คำสำคัญหมายถึงบรรทัดสิ้นสุด
  8. เพิ่มค่า x ขึ้น 1 หลังจากการวนซ้ำทุกครั้ง
  9. ส่วนท้ายของตัวห่วง เพิ่มนิพจน์การทดสอบที่ส่วนท้ายของเนื้อหาลูปแล้ว จะทดสอบว่าค่า x น้อยกว่า 5 หรือไม่
  10. ฟังก์ชัน main() ควรคืนค่าหากโปรแกรมทำงานได้ดี
  11. ส่วนท้ายของฟังก์ชัน main()

2 ตัวอย่าง

#include <iostream>
using namespace std;
int main()
{
	int num, sum = 0;
	do {

		cout << "Enter a number: ";

		cin >> num;

		sum += num;

	} while (num != 0);
	cout << "Sum is " << sum;

	return 0;
}

Output:

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

นี่คือภาพหน้าจอของรหัส:

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

คำอธิบายรหัส:

  1. รวมไฟล์ส่วนหัว iostream ไว้ในโค้ดของเรา มันจะช่วยให้เราอ่านและเขียนไปยังคอนโซลได้
  2. รวมเนมสเปซมาตรฐานเพื่อใช้คลาสและฟังก์ชันโดยไม่ต้องเรียกมัน
  3. การเรียกใช้ฟังก์ชัน main() ภายในที่ควรเพิ่มตรรกะของโปรแกรม
  4. { เป็นเครื่องหมายเริ่มต้นของเนื้อหาของฟังก์ชัน main()
  5. การประกาศตัวแปรจำนวนเต็มสองตัว ได้แก่ num และ sum ผลรวมของตัวแปรถูกกำหนดค่าเริ่มต้นเป็น 0
  6. การสร้างลูป do- While { ทำเครื่องหมายจุดเริ่มต้นของเนื้อหาวนซ้ำ
  7. พิมพ์ข้อความ “ป้อนตัวเลข:” บนคอนโซล
  8. อ่านอินพุตของผู้ใช้จากคอนโซลและจัดเก็บค่าเป็นตัวแปร num cin (อินพุตคอนโซล) เป็นฟังก์ชันที่อ่านอินพุตของผู้ใช้
  9. การบวกค่า num เข้ากับค่าผลรวมและการจัดเก็บผลลัพธ์เป็นผลรวมตัวแปร
  10. } ทำเครื่องหมายจุดสิ้นสุดของตัววนซ้ำ นิพจน์ทดสอบได้ถูกเพิ่มไปที่จุดสิ้นสุดของตัววนซ้ำ นิพจน์ทดสอบจะทดสอบว่าค่าที่ผู้ใช้ป้อนเข้าไปนั้นไม่ใช่ 0 หรือไม่ != คือค่าไม่เท่ากับตัวดำเนินการ หากผู้ใช้ป้อน 0 ลูปจะสิ้นสุดลง
  11. การพิมพ์ค่าผลรวมของตัวแปรบนคอนโซลควบคู่ไปกับข้อความอื่นๆ
  12. ฟังก์ชัน main() ควรคืนค่าหากโปรแกรมทำงานได้ดี
  13. ส่วนท้ายของฟังก์ชัน main()

ซ้อน Do While Loop

In C++เป็นไปได้สำหรับเราที่จะสร้างหนึ่ง do- While loop ภายใน do-whole อีกวงหนึ่ง ซึ่งส่งผลให้เกิดการวนซ้ำ do- while แบบซ้อนกัน

วากยสัมพันธ์

do{
statement(s)
do{
statement(s)
}while(condition);
statement(s)
}while(condition);

คำสั่ง do แรกแสดงถึงส่วน do ของลูป do- while ภายนอก

คำสั่ง do ที่สองหมายถึงส่วน do ของลูป do- while ภายใน

คำสั่ง while แรกแสดงถึงเงื่อนไขการทดสอบสำหรับวงใน

คำสั่ง while ที่สองแสดงถึงเงื่อนไขการทดสอบสำหรับลูปภายนอก

Nested Do While Loop ทำงานอย่างไร

Nested do while loop ทำงานดังนี้:

ขั้นตอนที่ 1: การเริ่มต้นจะดำเนินการในครั้งแรกและครั้งเดียว

ขั้นตอนที่ 2: คำสั่ง (do) จะถูกดำเนินการเพียงครั้งเดียว

ขั้นตอนที่ 3: นิพจน์การทดสอบคือการประเมินโดยการควบคุมการไหล

ขั้นตอนที่ 4: ถ้าเป็นจริง วงในจะถูกดำเนินการ

ขั้นตอนที่ 5: การอัปเดตคำสั่งได้รับการอัปเดตแล้ว

ขั้นตอนที่ 6: กระบวนการทำงานซ้ำๆ จนกระทั่งนิพจน์ทดสอบกลายเป็นเท็จ

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

ขั้นตอนที่ 8: สภาวะการทดสอบได้รับการประเมินอีกครั้ง

ขั้นตอนที่ 9: หากเป็นจริง คำสั่งจะถูกดำเนินการเพื่อคืนค่าเท็จ

ขั้นตอนที่ 10: การดำเนินการหยุดลูปและควบคุมการข้ามไปยังคำสั่งหลังลูป

ตัวอย่าง

#include <iostream>  
using namespace std;
int main() {
	int a = 1;
	do {
		int b = 1;
		do {
			cout << a << "\n";
			b++;
		} while (b <= 3);
		a++;
	} while (a <= 3);
}

Output:

ซ้อน Do While Loop

นี่คือภาพหน้าจอของรหัส:

ซ้อน Do While Loop

คำอธิบายรหัส:

  1. รวมไฟล์ส่วนหัว iostream ไว้ในโค้ดของเรา มันจะช่วยให้เราอ่านและเขียนไปยังคอนโซลได้
  2. รวมเนมสเปซมาตรฐานเพื่อใช้คลาสและฟังก์ชันโดยไม่ต้องเรียกมัน
  3. การเรียกใช้ฟังก์ชัน main() ภายในที่ควรเพิ่มตรรกะของโปรแกรม { เป็นเครื่องหมายเริ่มต้นของเนื้อหาของฟังก์ชัน main()
  4. การประกาศตัวแปรจำนวนเต็ม a และกำหนดค่าเป็น 1
  5. การสร้างลูป do- while ภายนอก { ทำเครื่องหมายจุดเริ่มต้นของเนื้อหาวงนอก
  6. ประกาศตัวแปรจำนวนเต็ม b และกำหนดค่าเป็น 1
  7. การสร้างลูป do- while ภายใน { ทำเครื่องหมายจุดเริ่มต้นของเนื้อหาวงใน
  8. เพื่อพิมพ์ค่าของตัวแปร a บนคอนโซล “\n” คืออักขระบรรทัดใหม่ที่เลื่อนเคอร์เซอร์ของเมาส์ไปยังบรรทัดถัดไป
  9. เพิ่มค่า b ขึ้น 1 หลังจากการวนซ้ำทุกครั้ง
  10. ส่วนปลายของตัวห่วงด้านใน เพิ่มนิพจน์การทดสอบที่ส่วนท้ายของเนื้อหาลูปแล้ว จะทดสอบว่าค่าของ b น้อยกว่าหรือเท่ากับ 5
  11. เพิ่มค่า a ขึ้น 1 หลังจากการวนซ้ำทุกครั้ง
  12. ส่วนปลายของตัวห่วงด้านนอก เพิ่มนิพจน์การทดสอบที่ส่วนท้ายของเนื้อหาลูปแล้ว จะทดสอบว่าค่าของ a น้อยกว่าหรือเท่ากับ 3
  13. ส่วนท้ายของฟังก์ชัน main()

สรุป

  • do- While loop รันส่วนของโค้ดหลายครั้ง
  • ควรใช้เมื่อจำนวนการวนซ้ำไม่คงที่
  • ในลูป do- While ตัวลูปจะอยู่ก่อนนิพจน์การทดสอบ
  • เนื้อความของลูปจะดำเนินการอย่างน้อยหนึ่งครั้ง แม้ว่านิพจน์ทดสอบจะกลายเป็นเท็จก็ตาม
  • ควรใช้การวนซ้ำนี้เมื่อจำนวนการวนซ้ำไม่คงที่
  • Do while สามารถทำงานได้กี่ครั้งก็ได้ โดยที่เงื่อนไขเป็นจริง
  • เงื่อนไขจะได้รับการประเมินหนึ่งครั้งหลังจากการวนซ้ำทุกครั้ง
  • ผลลัพธ์ของการประเมินสภาพจะเป็นตัวกำหนดการดำเนินการที่จะต้องดำเนินการ
  • หากเงื่อนไขเป็นจริง ลูปจะดำเนินการกับเนื้อหา
  • การดำเนินการวนซ้ำจะหยุดทันทีที่เงื่อนไขประเมินเป็นเท็จ
  • เนื่องจากเนื้อหา do while ของลูปได้รับการดำเนินการแล้ว จึงจะต้องส่งคืนผลลัพธ์