2009-10-03 33 views
6

नहीं हो सकता है मुझे पता है कि थोड़ी देर लूप लूप कैन के लिए कुछ भी कर सकता है, लेकिन लूप के लिए कुछ भी लूप कर सकता है?एक लूप लूप का उदाहरण जो फॉर लूप

कृपया एक उदाहरण प्रदान करें।

+2

पूरी तरह से प्रोग्रामिंग भाषा पर निर्भर करता है। एक असली फॉर-लूप नहीं कर सकता है। – jpfollenius

+1

असहज पूर्णांक वाली एक भाषा और "वास्तविक फॉर-लूप" के साथ एक भाषा मानते हुए, स्मैशर कहते हैं, और सी के बारे में बताए गए सभी लोगों के रूप में - बदतर, मुझे लगता है कि वे गंभीर हैं -, दिए गए पूर्णांक से पहले प्रमुख प्राइम की गणना करने पर विचार करें । मुझे पता है कि लूप्स के साथ इसे कैसे किया जाए। क्या आप इसे केवल लूप के साथ कर सकते हैं? –

+0

"असली फॉर लूप" वाक्यांश का उपयोग करके आप एक टॉटोलॉजी बनाते हैं। एक "असली फॉर लूप" लूप के दौरान एक अपंग है, और इस प्रकार कम सक्षम है, लेकिन आपने अभ्यास से कुछ भी नहीं सीखा है। – dmckee

उत्तर

16

हाँ, आसानी से।

while (cond) S; 

for(;cond;) S; 
+2

मैं यह भी जोड़ सकता हूं कि यह सी, सी ++, जावा, सी # और शायद अन्य भाषाओं में लागू होता है जो सी से भारी उधार लेते हैं, लेकिन उदाहरण में लागू नहीं होते हैं। पास्कल। – Steve314

+1

मुझे इस उत्तर के बारे में क्या पसंद है यह है कि यह एक साथ दिखाता है कि यह किया जा सकता है, और यह एक व्यर्थ बात क्यों है। –

0

सी जैसी भाषाओं में, आप इस जैसे छोरों के लिए घोषणा कर सकते हैं:

for(; true;) 
{ 
    if(someCondition) 
     break; 
} 

भाषाओं में जहां for अधिक सख्त है, अनंत छोरों एक मामला एक while पाश की आवश्यकता होती है हो जाएगा।

3

while पाश और शास्त्रीय for पाश विनिमेय हैं:

for (initializer; loop-test; counting-expression) { 
    … 
} 

initializer 
while (loop-test) { 
    … 
    counting-expression 
} 
1

आप एक निश्चित बाध्य कर दिया है और कदम और पाश के शरीर में पाश चर के संशोधन की अनुमति नहीं देते हैं, तो के लिए छोरों आदिम के अनुरूप रिकर्सिव फ़ंक्शन।

सैद्धांतिक दृष्टिकोण से ये सामान्य से कमजोर हैं जबकि लूप, उदाहरण के लिए आप केवल लूप के साथ एकरमेन फ़ंक्शन की गणना नहीं कर सकते हैं।

यदि आप थोड़ी देर में स्थिति के लिए ऊपरी बाउंड प्रदान कर सकते हैं तो आप इसे लूप के रूप में परिवर्तित कर सकते हैं। इससे पता चलता है कि व्यावहारिक अर्थ में कोई अंतर नहीं है, क्योंकि आप आसानी से खगोलीय रूप से उच्च बाध्य प्रदान कर सकते हैं, ब्रह्मांड के जीवन से अधिक लंबा कहें।

0

While loop में for loop के रूप में अधिक लचीलापन नहीं है और लूप के दौरान लूप अधिक पढ़ने योग्य हैं। मैं एक उदाहरण के साथ अपने बिंदु का प्रदर्शन करेंगे। पाश के लिए एक रूप हो सकता है के रूप में:

for(int i = 0, j = 0; i <= 10; i++, j++){ 
// Perform your operations here. 
} 

कुछ समय पाश पाश और आज के लिए ऊपर की तरह नहीं किया जा सकता सबसे आधुनिक भाषाओं के साथ-साथ एक for each loop अनुमति देते हैं।

मेरी राय में, मैं पक्षपाती हो सकता हूं कृपया इसके लिए क्षमा करें, किसी को while loop का उपयोग नहीं करना चाहिए जब तक कि for loop के साथ एक ही कोड लिखना संभव हो।