14.रिकर्शन (प्रत्यावर्तन)
हमने प्रोसीजर बनाये. अब हम पैरामीटर के साथ प्रोसीजर बनायेंगे. पैरामीटर के साथ प्रोसीजर इस प्रकार होगा.
to नाम :क्ष fd :क्ष end
इसमें to से प्रोसीजर की शुरुआत और end से अंत होगा. नाम के जगह आप प्रोसीजर को दिया गया नाम लिखेंगे. :क्ष यह उसका पैरामीटर है जो की एक नंबर याने संख्या होगी जिसे आप प्रोसीजर के नाम के आगे लिखेंगे जब आप इस प्रोसीजर को रन करोगे
@ अब advance नाम का प्रोसीजर बनाएं जिसमे एक पैरामीटर हो. पैरामीटर को thesize नाम दो
हमने चौकोण का प्रोसीजर इस प्रकार बनाया
to square repeat 4 [ fd x rt 90] end
जिसमे x यह बाजू की लम्बाई है.
@ अब square का प्रोसीजर इस प्रकार बनाईये जिसमे हम बाजु की लम्बाई अलग से देंगे. इसमें एक पैरामीटर हो जसे size नाम दें
अब हमने square नाम का प्रोसीजर बना लिया. इसे हम अब square कमांड भी कह सकते हैं. आप इसे square 60 और square 80 ऐसे पैरामीटर लिख कर रन कर के देखें
@ square 100 रन कर के देखें
जब कोई कमांड (प्रोसीजर में) एक से जादा बार रन होता है, तो उसे रिकर्शन कहते हैं. ऐसे कोड में उस कमांड का या प्रोसीजर का नाम दो बार लिखा होता है. इसमें हमें stop कंडीशन का प्रयोग करना चाहिए. नहीं तो वह अंतहीन लूप में चलता रहेगा. अब हम यह प्रोसीजर बनाकर देखें
to square :size if :size > 90 [stop] repeat 4 [ fd :size rt 90] square :size + 20
@ ऊपर दिए हुए कोड का प्रोसीजर बना कर देखें
इस रिकर्शन वाले प्रोसीजर में
square - हमारे प्रोसीजर का नाम है.
:size - यह एक पैरामीटर है
if :size > 90 [stop]
यह एक कंडीशन है, जिससे size अगर 90 से ऊपर गयी तो प्रोग्राम रुक जाएगा
repeat 4 [ fd :size rt 90]
यह चौकोण बनाने वाला कोड है
square :size + 20
कोड के इस हिस्से में रिकर्शन है, यानी square को दुबारा उपयोग में लाया गया है. इसमें हम square की size 20 पॉइंट बढाकर उसे रन करते हैं
@ square 40 यह कमांड रन कर के देखें
अब हम रिकर्शन वाला स्पाइरल कमांड बनायेंगे. इसमें :size यह एक पैरामीटर हो. अगर size 30 के आगे बढे तो रुक जाओ. हम fd :size के साथ आगे बढ़ेंगे, और फिर rt 15 से राईट टर्न लेंगे. फिर रिकर्शन में हम उसे :size*1.02 से बढ़ाएंगे
प्रोसीजर पूरा होने के बाद spiral 1, spiral 2 ऐसे कोड रन कर के देखें
@ ऊपर की सूचनाओं का प्रयोग कर के स्पाइरल का प्रोसीजर बनाने की कोशिश करो