arduino
लूप्स
खोज…
वाक्य - विन्यास
- के लिए (घोषणा, स्थिति, पुनरावृत्ति) {}
- जबकि (स्थिति) {}
- {} करें जबकि (स्थिति)
टिप्पणियों
General Remark
यदि आप कुछ होने की प्रतीक्षा करने के लिए एक लूप बनाने का इरादा रखते हैं, तो आप शायद यहां गलत रास्ते पर हैं। बल्कि याद रखें कि सेटअप के बाद सभी कोड () लूप () नामक विधि से चलाए जाते हैं। इसलिए अगर आपको किसी चीज के लिए इंतजार करने की जरूरत है, तो कुछ भी नहीं करना आसान है (या केवल अन्य स्वतंत्र सामान) और हर बार प्रतीक्षा की स्थिति की जांच करने के लिए वापस आएं।
do { } while(condition)
पहले पुनरावृत्ति के बाद तक हालत बयान का मूल्यांकन नहीं करेगा। यह ध्यान रखना ज़रूरी है अगर हालत बयान के दुष्प्रभाव हैं।
जबकि
एक while
पाश अपनी स्थिति का मूल्यांकन करेंगे, और अगर true
है, यह कोड के अंदर निष्पादित और अधिक शुरू कर देंगे। यही है, जब तक इसकी स्थिति true
मूल्यांकन करती true
, while
लूप ओवर-ओवर निष्पादित करेगा।
यह लूप 100 बार निष्पादित होगा, हर बार चर num
1 जोड़कर:
int num = 0;
while (num < 100) {
// do something
num++;
}
ऊपर पाश एक के बराबर है for
पाश:
for (int i = 0; i < 100; i++) {
// do something
}
यह लूप हमेशा के लिए निष्पादित होगा:
while (true) {
// do something
}
ऊपर पाश एक के बराबर है for
पाश:
for (;;) {
// do something
}
के लिये
for
छोरों एक बहुत ही आम पाश पैटर्न है, जो एक साथ और अधिक लाइनों में पूरा किया जा सकता का वाक्य विन्यास को सरल बनाया जाता है while
पाश।
निम्नलिखित एक की एक सामान्य उदाहरण है for
पाश है, जो 100 बार निष्पादित करेंगे और फिर बंद।
for (int i = 0; i < 100; i++) {
// do something
}
यह while
लूप के बराबर है:
int num = 0;
while (num < 100) {
// do something
num++;
}
आप स्थिति को छोड़ कर एक अंतहीन लूप बना सकते हैं।
for (;;) {
// do something
}
यह while
लूप के बराबर है:
while (true) {
// do something
}
जबकि ऐसा
एक do while
पाश एक रूप में ही है while
, पाश सिवाय इसके कि यह कम से कम एक समय पर अमल करने की गारंटी है।
निम्नलिखित लूप 100 बार निष्पादित होगा।
int i = 0;
do {
i++;
} while (i < 100);
एक समान लूप, लेकिन एक अलग स्थिति के साथ, 1 बार निष्पादित होगा।
int i = 0;
do {
i++;
} while (i < 0);
यदि उपरोक्त लूप केवल while
लूप थे, तो यह 0 बार निष्पादित होगा, क्योंकि स्थिति पहले पुनरावृत्ति से पहले false
मूल्यांकन करेगी। लेकिन जब से यह लूप do while
होता है, यह एक बार निष्पादित होता है, फिर दोबारा निष्पादित करने से पहले इसकी स्थिति की जांच करता है।
प्रवाह नियंत्रण
लूप के प्रवाह को तोड़ने या बदलने के कुछ तरीके हैं।
break;
वर्तमान लूप से बाहर निकल जाएगा, और उस लूप के भीतर किसी भी अधिक लाइनों को निष्पादित नहीं करेगा।
continue;
लूप के वर्तमान पुनरावृत्ति के भीतर किसी भी अधिक कोड को निष्पादित नहीं करेगा, लेकिन लूप में रहेगा।
break
लूप के कारण निम्नलिखित लूप 1000 के बजाय 101 गुना (i = 0, 1, ..., 100) निष्पादित करेगा:
for (int i = 0; i < 1000; i++) {
// execute this repeatedly with i = 0, 1, 2, ...
if (i >= 100) {
break;
}
}
निम्नलिखित पाश में परिणाम होगा j
के मूल्य 100 के बजाय 50 जा रहा है, की वजह से continue
बयान:
int j=0;
for (int i = 0; i < 100; i++) {
if (i % 2 == 0) { // if `i` is even
continue;
}
j++;
}
// j has the value 50 now.