कम्प्युटरकार्यक्रम

अजगर कार्यक्रम भाषा: लूपहरूको

यो अजिङ्गर कार्यक्रम भाषा ( "अजिङ्गर" वा "अजिङ्गर" को रूपमा) दोहोर्याउन धेरै तरिकामा केही कार्य गर्दै छन्। अजिङ्गर कुनै पनि पुनरावृत्ति को कार्यान्वयन लागि मुख्य उपकरण - लूपहरूको गर्दा र लागि। यो बेला पाश लागि भन्दा बढी विश्वव्यापी छ, त्यसैले यसलाई ढिलो छ। तर, यो यो राम्रो छ भनेर होइन! यो बहु-स्तर र mnogouslovnyh कार्यक्रम सिर्जना लागि सबैभन्दा कठिन कार्यहरू बुझे किनभने संग लागि पाश, प्राय प्रयोग गरिन्छ।

अजगर: अवस्थाअपेक्षागरियो संग चक्र

अवस्थाअपेक्षागरियो संग चक्र - यो loops गर्दा, जो सबैभन्दा विश्वव्यापी संगठनात्मक संरचना हो कार्यक्रम वातावरण। यो बेला पाश "रूपमा लामो" को सिद्धान्त मा संचालित छ। यो निम्न मतलब: एक निश्चित अवस्था साँचो मूल्य फिर्ता, यो काम गर्नेछ! यो डिजाइन एक "चक्र" भनिएको छ किनभने cyclically प्रारम्भिक मूल्य सुरु हुने, बारम्बार को कार्यात्मक व्यवस्थापन। चक्र बाहिर अजिङ्गर समयमा कार्यान्वयन हुन जबकि मूल्य गलत हुँदा। यो बिन्दु मा, दोभासे नयाँ लाइन, को अवस्थाअपेक्षागरियो गर्दा संग ब्लक पछि स्थित छ जो अर्थात्, निम्न कार्यात्मक-जनक खण्ड गर्न कार्यक्रम पहुंचाता।

कार्यक्रम भाषामा, अजिङ्गर चक्र अवस्थाअपेक्षागरियो निम्न विन्यास छ, जबकि:

1 जबकि (हालत):

2. अभिव्यक्ति

अभिव्यक्ति एकल कथन वा धेरै त हुन सक्छ। अवस्था सधैं कुनै पनि गैर-शून्य एक साँचो महत्त्व छ। यो डिजाइन निर्दिष्ट अवस्था सत्य हो जस्तो लामो काम गर्दछ।

उदाहरणका लागि "अजिङ्गर" हुँदा चक्र प्रयोग

पाश गर्दा Rassmotirim। अजगर एकदम रोचक संरचना यसको पुनरावृत्ति छ:

एक = 0
जबकि एक <7:
प्रिन्ट ( "एक")
एक = एक + 1

हामी चर "एक" र उनको शून्य गर्न आग्रह घोषणा गरेका छन्। त्यसपछि अवस्था सेट "गर्दा एक <7", त्यो छ, चर "एक" भन्दा कम छ, जबकि संख्या "7", त्यसपछि हाम्रो पाश रूपमा लामो त्यहाँ गलत छ रूपमा कार्यान्वयन गरिनेछ।

गलत (कि छ, चक्र देखि बाहिर निस्कन हुनेछ) चर संख्या "7" भन्दा ठूलो हुनेछ जब यो हुनेछ। यो हुन, यो हामी "एक = एक + 1" संकेत कि, 1 द्वारा वृद्धि प्रत्येक समय छ।

तपाईं पत्र यस निर्माण चलाउन भने "एक" एक स्तम्भ मा देखाइने 7 पटक!

एक
एक
एक
एक
एक
एक
एक

अनन्त लुपमा गर्दा अजिङ्गर मा

जबकि कसरी अनन्त लुपमा अजिङ्गर मा बनाउने? चक्र सम्म यो गलत मूल्य प्राप्त नभएसम्म चल्छ, र यो मूल्य छैन बस छ भने किनभने, अनुमान गाह्रो छैन? यस प्रश्नको जवाफ शायद पहिले नै सबै कुरा स्पष्ट छ त छ। केही अवस्थामा, असीमित पाश समस्या समाधान गर्न आवश्यक छ? यो उदाहरणले रूपमा, एक कार्यक्रम जस्तै एक बोध रूपमा सेवा गर्नेछन् "घडी।" यहाँ, को पाठ्यक्रम, तपाईं स्थायी रूपमा अद्यावधिक हुनेछ जो असीमित पाश, प्रयोग र समय देखाउन आवश्यक छ।

अनन्त लुपमा अक्सर एक चक्र परिवर्तन अवस्थामा थप गर्न भूल गर्ने गल्ती साईट प्रोग्रामर छ।

गरेको अजिङ्गर कोड को निम्न टुक्रा मा एक हेरौं। अनिश्चितकालीन दोहोरिएको यो मामला मा चक्र (को "#" वर्ण पछि एक टिप्पणी छ):

नम्बर = 1 # चल नम्बर घोषणा र यसलाई 1 को मान नियुक्त

जबकि नम्बर <10: # जो 10 भन्दा कम नम्बर अवस्थाअपेक्षागरियो, सिर्जना

मुद्रण 'नमस्कार' # अवस्था (मुद्रण «नमस्कार» सन्देश)

किनभने यो अनिश्चितकालीन चल्नेछ यस्तो कार्यक्रम, सङ्कलन गर्न हतार गर्नु हुँदैन। नमस्कार "सन्देशहरू" को पुनरावृत्ति निरन्तर एन-औं नम्बर ल्याउन हुनेछ त्यसैले, यो मामला मा र सधैं साँचो "हामी झूटो मान अवस्था« नम्बर <10 कहिल्यै हुनेछ कि यस्तो अवस्था सोधे। अनन्त कम्पाइल प्रक्रिया रोक्न आदेश, तपाईं खोल मा कुञ्जी संयोजन Ctrl + C प्रेस गर्न आवश्यक हुनेछ।

अजगर: विन्यास। जबकि, र लूपहरूको लागि

माथि उल्लेख रूप मा, "अजिङ्गर" कार्यक्रम भाषामा, त्यहाँ एक दोहोरिने समूह अभिव्यक्ति व्यवस्थित गर्न धेरै तरिकाहरू छन्। यो उद्धार गर्न आउँछ लागि, पाश किनभने यसको डिजाइन बस अवस्थाअपेक्षागरियो भन्दा अलि बढी जटिल छ, यसको समकक्ष गर्दा एक बिट फरक छ। यो बस तथापि, पाश लागि एक समय भन्दा धेरै छिटो छ कि उल्लेख छैन किनभने गर्न गरेको, चक्र को universality बारेमा कुरा गरौं। अवस्थाअपेक्षागरियो यो सानो outperform चक्रको डिजाइन र प्रदर्शन समाधान गर्न, त्यसैले यसलाई धेरै धेरै तुच्छ कार्यहरू प्रदर्शन गर्न प्रयोग संभावना छ तरिका को एक किसिम।

लागि चक्र सामना गर्ने चुनौतीहरू के के हुन्? निस्सन्देह, जबकि को कि जस्तै - कुनै पनि प्रक्रिया iterate। को "अजगर" मा गरिएका कार्यक्रम टिप्पणीहरू, व्यापक तत्व को ट्राभर्सल predetermined अधिकता लागू सक्षम छ र तिनीहरूलाई भन्दा iterating यसको विभिन्न शरीर मा प्रदर्शन गर्ने, लागि पाश प्रयोग गरिन्छ। यो डिजाइन को सुविधाहरू प्रक्रिया रेखा वा अन्य कुनै पनि वस्तु बस जस्तै दोहोरिएको सूची मा प्रयोग गर्न सकिन्छ।

अजिङ्गर मा चक्र लागि प्रयोग उदाहरण

गरेको हामी संख्या केही सूची छ, र हामी तीन एकाइहरु वृद्धि प्रत्येक तत्व (अर्थात्। ई नम्बर) आवश्यक भन्न गरौं। पाश विधिहरू लागि, लुपमा मार्फत हामी गर्न सक्छन् यस्तो कार्य कार्यान्वयन गर्न।

गरेको हामी (पछि "#" वर्ण एक टिप्पणी छ) यस को लागि उपयुक्त कार्य हुनेछ जहाँ द्रुत उदाहरण, हेरौं:

spisok_chisel = [5, 15, 25, 35, 45, 55, 65, 75, 85, 95] # घोषणा एरे समावेश 10 तथ्याङ्कले

गणना = 0 # शून्य सिर्जना काउन्टर

spisok_chisel मा तत्वहरूका लागि: # सरणी भन्दा iterate र तत्व मा लेख्न

spisok_chisel [गणना] = तत्व + # 3 नम्बर वृद्धि तीन ऐरे

गणना = गणना + 1 # सूचकांक मा अर्को नम्बर जाने

माथिको निर्माण को परिणाम हुनेछ:

spisok_chisel = [8, 18, 28, 38, 48, 58, 68, 78, 88, 98]

हाम्रो उदाहरण मा, त्यहाँ हामी मा एरे «spisok_chisel» को परिवर्तन मान मनाउन आवश्यक जो एक चर गणना छ। चर गणना एर्रेमा प्रत्येक तत्व (सूची मा प्रत्येक नम्बर) को एक सूचकांक मूल्य रेकर्ड गरिएको छ। चर «तत्व» सूचीमा परिणामस्वरूप मूल्य जडान। पाश लागि, हामी संख्यात्मक सूची मा प्रत्येक वस्तु को प्रक्रिया कसरी लागू गर्न हेर्नुहोस्। भित्र लुपमा, संग सूचकांक «गणना» प्रत्येक संख्यात्मक वस्तु हालको दोहोरिएको तत्व र तीन मात्रा थपियो। त्यसपछि हाम्रो सूचकांक «गणना» एक वृद्धि र कार्यक्रम को कार्यान्वयन को प्रवाह लागि निर्माण विज्ञापन सुरु गर्न फर्काउँछ। यसरी, लुपमा यो हालत दिएको एरे प्रत्येक तत्व, प्रशोधन नभएसम्म सम्म चल्नेछ। कुनै पनि तत्व हराएको छ, तर अवस्था द्वारा सेट गरिएको छ भने, चक्र पूरा हुन्छ। हामी थप एक कुरा ध्यान आकर्षित: तपाईं सफलतापूर्वक प्रसोधन वस्तुहरु को एक एरे, परिणाम सधैं पहिलो संख्यात्मक वस्तु सूचकांक शून्य ग थपिनेछ भन्ने तथ्यलाई बावजुद «गणना को एक लाइन लेख्न छैन = गणना + 1" यदि।

अब हामी गर्दा पाश सञ्चालन सिद्धान्तहरू विचार र (अवस्थाअपेक्षागरियो संग चक्र तार्किक मापदण्ड को आधार मा बाहिर छ बाहिर अजिङ्गर मा सम्झन कि - साँचो (चक्र जारी) वा गलत (चक्र रोक्छ)) फरक पहिचान गर्न सक्नुहुन्छ।

कसरी लागि डिजाइन प्रयोग अजिङ्गर एक स्ट्रिङ उपचार गर्न?

हरेक कार्यक्रम भाषामा त्यहाँ चक्र हो, र तिनीहरूले सामान्यतया एउटै सिद्धान्त मा, काम, मात्र विन्यास देखिने मतभेद। तर, भाषा "अजिङ्गर" मा पाश लागि एक साधारण र तुच्छ, यसको सञ्चालनको सिद्धान्त प्रति सीमित छ किनभने छ। यो डिजाइन अलग प्रत्येक वस्तु enumerates। यो सबै सजिलै तार काम को उदाहरण द्वारा बताए गर्न सकिन्छ, तर पहिलो गरेको लागि चक्रको संरचना सामना गरौं:

चर लागि

यो एक चर चक्र सञ्चालन परिणाम भण्डारण गरिएको छ

peremennaya_2 मा

«मा» प्रमुख शब्द - यो एक जरूरी गर्दा चक्र «लागि» काम छ। peremennoy_2 हामी दोहोरिएको गरिने मूल्य पुल। स्पष्टता र स्पष्टताको लागि, गरेको कसरी काम गर्न र अजिङ्गर मा तार क्रमबद्ध गर्न एउटा सानो उदाहरण हेरौं:

अक्षर = 'कार्यक्रम' # एक चर घोषणा र एक स्ट्रिङ मूल्य नियुक्त

अक्षर मा slovo लागि: # चल अक्षर को busting कोड जारी हुनेछ जो, एक चर slovo सिर्जना

चरा - मुद्रण (slovo, अन्त = '^') # उत्पादन slovo र प्रत्येक पत्र पछि, एक प्रतीक सम्मिलित।

लिपि को परिणाम:

पी ^ पृ ^ ओ ^ आर ^ आर ^ एक ^ पु ^ पु ^ ^ र पी ^ ओ ^ एक ^ एक ^ N ^ र ^ ई

बयान जारी

अपरेटर, अवस्था दिएको अर्को चक्र को कार्यान्वयन गर्न संक्रमण, लागू लुपमा को ब्यालेन्स बिना जारी। र गर्दा - जारी कथन दुई चक्र मा हुन सक्छ प्रयोग गर्नुहोस्।

यो उदाहरण विचार गर्नुहोस्:

मा गणना लागि 'बाहेक, प्रत्येक पत्र बारम्बार'

यदि गणना == 'ओ':

जारी

मुद्रण (गणना * 2, अन्त = '')

परिणाम निम्न हुनेछ:

Ppvvttrriimm kkaazhzhdduuyuyu bbuukkvvuu ,, kkrrmmee

जब सञ्चालनकर्ता स्ट्रिङ मा एक पत्र "ओ" फेला कार्यक्रम को कार्यान्वयन तुरुन्तै जहाँ अवस्था प्रत्येक पत्र नक्कल सेट थियो शब्द '' जारी '', पछि लाइन फर्वार्ड थियो 'बाहेक, प्रत्येक पत्र बारम्बार'।

ब्रेक बयान

खोजशब्द «ब्रेक» जहाँ चक्र अवस्था द्वारा दिइएको थियो जो आफ्नो पूरा लागि प्रतीक्षा बिना अवरोध गर्न छ ठाउँमा सम्मिलित गरियो। तर्क र अवस्था धेरै संग कार्यक्रम लेखन जब यो डिजाइन अक्सर प्रयोग गरिन्छ।

काम ब्रेक कथन एउटा सानो उदाहरण विचार गर्नुहोस्:

मा गणना लागि 'बाहेक, प्रत्येक पत्र बारम्बार'

यदि गणना == 'ओ':

ब्रेक

मुद्रण (गणना * 2, अन्त = '')

परिणाम निम्न हुनेछ:

nN

जब सञ्चालनकर्ता स्ट्रिङ मा एक पत्र "ओ" पाइने अर्को लाइन चक्र लागि अवस्था केही समावेश भन्ने तथ्यलाई बावजुद, कार्यक्रम को कार्यान्वयन तुरुन्तै रोकिनेछ थियो 'बाहेक हरेक पत्र बारम्बार'।

अरू जादु शब्द

कुनै पनि प्रकारको एक श्रृंखला मा अरू अपरेटर लागू गर्न सक्नुहुन्छ। यसको लागि के हो? उहाँले पनि लुपमा बाहिर प्रतिबद्ध गरिएको थियो चेकबाट अर्थ एक ब्रेक वा सामान्य तरिका हो। कार्यान्वयन मा predetermined नियम संग ब्लक अरू अवस्था चक्र को उत्पादन बाहिर ब्रेक संरचना प्रयोग बिना गरियो कि जब मात्र थाल्छन्।

एउटा सानो उदाहरण विचार गर्नुहोस्:

'नमस्ते विश्व' मा गणना लागि:

यदि गणना == 'म:

ब्रेक

अरू:

मुद्रण (म '' तपाईंको वाक्य कुनै पत्र छ ')

लिपि को उत्पादन:

आफ्नो वाक्य पत्र "म" छैन

को अजिङ्गर कार्यक्रम भाषा को उल्टो क्रममा चक्र को उदाहरण

अजिङ्गर उल्टो चक्र लागू रूपमा? का वर्ण लाइन पहिचान र उल्टो क्रममा यसलाई मुद्रण गर्न आवश्यक छ कि एक कार्यक्रम लेखन कि कल्पना गरौं। यो कसरी लागू गर्ने?

तलको उदाहरण विचार गर्नुहोस्:

slovo = 'कार्यक्रम'

new_slovo = []

लागि दायरामा गणना (लेन (हरू), 0, -1):

new_slovo.append (हरू [म-1])

new_slovlo

[ 'पी', 'पी', 'ओ', 'जी', 'पी', 'एक', 'एम', 'एम', 'यू', 'पी', 'ओ', 'एक', ' एक ',' एन ',' यू ',' ई ']

मुद्रण (new_slovo)

[ 'पी', 'पी', 'ओ', 'जी', 'पी', 'एक', 'एम', 'एम', 'यू', 'पी', 'ओ', 'एक', ' एक ',' एन ',' यू ',' ई ']

मुद्रण ( ''। सामेल (new_slovo))

लिपि को परिणाम:

einavorimmargorp

नेस्ट लूपहरूको

अजिङ्गर मा, त्यहाँ पनि कार्यक्रम र निवेश, अर्को को शरीर मा राखिएको छ को चक्र हो। प्रत्येक चक्र मा एक नेस्ट पाश हुन सक्छ, र त यो अनन्त एउटा सीढी निर्माण गर्न सम्भव छ। बाहिरी पाश को पहिलो पुनरावृत्ति मा त बाहिरी पाश को शरीर मा सबै पुनः निर्देशित नियन्त्रण, भित्री पाश, यसको आफ्नै पूरा अघि कार्यान्वयन छ जो एक कल कोरिएका छ। हरेक भाषा नेस्ट लूपहरूको को आफ्नै विशेषताहरु छन्, का तिनीहरूले "अजिङ्गर" कार्यक्रम भाषामा काम कसरी हेरौं।

तपाईं नेस्ट लूपहरूको प्रयोग गर्दै हुनुहुन्छ भने, अजिङ्गर निम्न विन्यास प्रदान गर्दछ:

चर को अनुक्रम मा चल लागि:

चर को अनुक्रम मा चल लागि

कार्य (हरू)

कार्य (हरू)

नेस्ट लूपहरूको को विशेष सुविधाहरू कुनै पनि प्रकारको चक्र चक्र कुनै पनि प्रकारको रूपमा प्रयोग गर्न सकिन्छ भन्ने तथ्यलाई छ! यो एक चक्र हुँदा (या) एक चक्र लागि गर्दा र विपरित सम्मिलित हुन वा गर्न सक्नुहुन्छ फेरि हो।

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ne.delachieve.com. Theme powered by WordPress.