ኮምፒውተሮችፕሮግራም

ዘንዶ የፕሮግራም ቋንቋ: ቀለበቶች

የ ዘንዶ የፕሮግራም ቋንቋ ( "ዘንዶ" ወይም "ዘንዶ" አድርጎ) ሉፕ በርካታ መንገዶች አንዳንድ እርምጃ አሉ. ፓይዘን ውስጥ ማንኛውም ተደጋጋሚነት አፈፃፀም ዋነኛው መሳሪያዎች - ቀለበቶች ሳለ እና ለ. የ ሳለ ምልልስ ይልቅ ይበልጥ ሁለንተናዊ ነው, ስለዚህ ቀርፋፋ ነው. ሆኖም, ይህ የተሻለ ነው ማለት አይደለም! ይህ ባለብዙ-ደረጃ እና mnogouslovnyh ፕሮግራሞች ፍጥረት በጣም አስቸጋሪ ተግባራት ተገነዘብኩ ጋር ምክንያቱም ስለ ሉፕ, ይበልጥ ብዙ ጊዜ ጥቅም ላይ ይውላል.

ዘንዶ: postcondition ጋር ዑደት

postcondition ጋር ዑደቶች - ይህ ቀለበቶች ውስጥ በጣም ሁለንተናዊ ድርጅታዊ መዋቅሮች ናቸው; ሳለ የፕሮግራም አካባቢ. የ ሳለ ምልልስ "እንደ ረጅም 'መርህ ላይ ነው የሚሰራው. ይህ የሚከተለውን ማለት: አንድ ሁኔታ አንድ እውነተኛ እሴት ይመለሳል ሳለ, ይሠራል! ይህ ንድፍ "ዑደት" ተብሎ ነው; ምክንያቱም cyclically የመጀመሪያ እሴት ጀምሮ, ተደጋጋሚ ያለውን ተግባራዊ አስተዳደር. ዑደት ውስጥ ዘንዶ ዋጋ የሐሰት በሚሆንበት ጊዜ ተግባራዊ ሊሆን ሳለ. በዚህ ነጥብ ላይ, ወደ አስተርጓሚ postcondition ሳለ ጋር የማገጃ በኋላ የሚገኝበት አዲስ መስመር, ማለትም, የሚከተሉትን ተግባራዊ-የፍቺ ክፍል ወደ ፕሮግራሙ ያስተላልፋል.

የፕሮግራም ማድረጊያ ቋንቋዎች ውስጥ, ፓይዘን ዑደቶች postcondition የሚከተለውን አገባብ ያላቸው ሳለ:

1. ሳለ (ሁኔታ):

2. መግለጫ

መግለጫ ነጠላ መግለጫ ወይም በርካታ ወይ ሊሆን ይችላል. ሁኔታ ምንጊዜም ማንኛውንም ያልሆኑ ዜሮ አንድ እውነተኛ ትርጉም ነው. ይህ ንድፍ የተገለጸው ሁኔታ እውነት እንደ ረጅም ይሰራል.

ለምሳሌ ያህል በ "ዘንዶ" ውስጥ ሳለ ዑደት መጠቀም

ከድግግሞሽ ሳለ Rassmotirim. ዘንዶ በጣም ሳቢ መዋቅሮች በውስጡ ድግግሞሾች ነው:

ሀ = 0
ሳለ አንድ <7:
ማተም ( "A")
የ = የ + 1

እኛ ተለዋዋጭ "አንድ" እና ዜሮ ጠየቃት ተናገርሁ. ከዚያም ሁኔታ ለማዘጋጀት ያለውን ተለዋዋጭ "አንድ" ያነሰ ነው ሳለ "አንድ <7 ሳለ", ማለት, ቁጥር "7", ከዚያም የእኛን ሉፕ እንደ ረጅም ሐሰት ነው እንደ ተፈጻሚ ይሆናል.

ወደ ተለዋዋጭ ቁጥር "7" የበለጠ ይሆናል ጊዜ ይሆናል (ማለትም, ዑደት ከ ይወጣሉ ነው) አንድ ሐሰተኛ. ይህ እንዲከሰት ለማግኘት, እኛ በ "ሀ = ሀ + 1» ውስጥ የሚያመለክቱ: 1 በ የተጨመሩ በእያንዳንዱ ጊዜ ነው.

እርስዎ, ደብዳቤውን ይህን ግንባታ አሂድ ከሆነ "አንድ" አንድ አምድ ውስጥ 7 ጊዜ ይታያል!

አንድ
አንድ
አንድ
አንድ
አንድ
አንድ
አንድ

ማለቂያ የሌለው ምልልስ ፓይዘን ውስጥ ሳለ

ሳለ እንዴት ፓይዘን ውስጥ ማለቂያ ሉፕ ለማድረግ? ዑደት አንድ የሐሰት ዋጋ ይቀበላል ድረስ ድረስ ስለማይሰራ, እና በዚህ ዋጋ በዚያ ብቻ አይደለም ከሆነ አስቸጋሪ አይደለም እገምታለሁ? ወደ ጥያቄ መልስ ምናልባት አስቀድሞ ሁሉም ነገር ግልጽ ነው; እንዲህ ነው. በአንዳንድ ሁኔታዎች, አንድ የሌለው ሉፕ ችግር መፍታት ያስፈልጋል? ይህ ምሳሌ እንደ እንደዚህ ያለ ፕሮግራም አንድ እውን ሆኖ ያገለግላል "ሰዓት." እዚህ እርግጥ, በቋሚነት ይዘምናል ይህም የሌለው ሉፕ, መጠቀም እና ጊዜ ማሳየት ይኖርብናል.

የትየሌለ ምልልስ ብዙውን ለውጥ ኡደት ሁኔታ ለማከል መርሳት አንድ ስህተት ተነፍቶ ፈርጋሚዎች ነው.

የአምላክ ዘንዶ ኮድ የሚከተሉትን ቁራጭ ላይ እንመልከት. ያለገደብ iterated በዚህ ጉዳይ ላይ ያለው ዑደቶች (የ "#" ቁምፊ በኋላ አስተያየት ነው):

ቁጥር = 1 # ተለዋዋጭ ቁጥር አውጃለሁ እና 1 እሴት ለመመደብ

ቁጥር <10 ሳለ: # ከ 10 ቁጥር ያለውን postcondition, ይፍጠሩ

የህትመት 'ጤና ይስጥልኝ' # ሁኔታ (የህትመት «ሠላም» መልዕክት)

ይህም ለዘላለም የሚሄዱ ምክንያቱም እንዲህ ያለ ፕሮግራም, ያጠናቅራል ለማድረግ አትቸኩል አይገባም. ሄሎ "መልዕክቶች" ወደ ተደጋጋሚነት ሁልጊዜ ስለ N-ኛ ቁጥር በማምጣት እንዲሁ ይሆናል; በዚህ ሁኔታ ውስጥ ሁልጊዜ እውነት "እኛ የሐሰት እሴቶች ሁኔታ« ቁጥር <10 ለመሆን ፈጽሞ እንዲህ ያሉ ሁኔታዎች ጠየቀ. ወደ ዘላለማዊ በሚዘግቡበት ሂደት ለማስቆም እንዲቻል, እናንተ ከቀፎው ውስጥ ቁልፍ ጥምር Ctrl + C ይጫኑ ይኖርብዎታል.

ዘንዶ: አገባብ. ቢሆንም, እና ቀለበቶች ለ

ከላይ እንደተጠቀሰው, በ "ዘንዶ" የፕሮግራም ቋንቋ, አንድ ተደጋጋሚ ቡድን መግለጫዎች ለማደራጀት በርካታ መንገዶች አሉ. ይህም ማዳን የሚመጣ ስለ ሉፕ, በውስጡ ንድፍ ብቻ postcondition ይልቅ ትንሽ የበለጠ የተወሳሰበ ነው ምክንያቱም በውስጡ አቻ ጊዜ ጀምሮ ትንሽ የተለየ ነው. በቀላሉ ይሁን እንጂ, ሉፕ ለማግኘት አንድ ጊዜ ይልቅ በጣም ፈጣን ነው ሊባል አይችልም; ምክንያቱም ዎቹ ዑደት ዓለም አቀፋዊ ስለ አይመለስ. በተለያዩ መንገዶች postcondition ጋር ይህን ትንሽ outperform ዑደት ንድፍ እና አፈጻጸም ለመፍታት, ስለዚህ የበለጠ ብዙ ጥቃቅን ተግባራትን ለማከናወን ለመጠቀም አይቀርም.

ለ ዑደት የሚያጋጥሟቸው ፈተናዎች ምንድን ናቸው? ጥርጥር ወደ ጊዜ በዚያ ተመሳሳይ - ማንኛውም ሂደቶች ለመድገም. የ "ዘንዶ" ላይ አደረገ ፕሮግራሙ ማስታወሻዎች, በሰፊው ክፍሎች ውስጥ ማለፍን አስቀድሞ የብዙ ተግባራዊ ብቃት እና በእነሱ ላይ iterating የተለያዩ አካል ውስጥ ለማከናወን ይህም ስለ ሉፕ ጥቅም ነው. ይህ ንድፍ ገጽታዎች ሂደት መስመሮች ወይም ሌላ ማንኛውም ነገር iterated ልክ እንደ ዝርዝሮች ውስጥ ጥቅም ላይ ሊውል ይችላል.

ፓይዘን ውስጥ ዑደት ለ አጠቃቀም ምሳሌ

የአምላክ እኛ ቁጥሮች አንዳንድ ዝርዝር አለን, እና ሦስት ዩኒት ጨምሯል እያንዳንዱ አባል (ማለትም. ሠ ቁጥር) ያስፈልገናል ይላሉ እንመልከት. ሉፕ ዘዴዎች ለ, ማሳውቅ በኩል የምንችለውን እንዲህ ያለ ተግባር ለመተግበር.

የአምላክ እኛ ለዚህ የሚሆን ተገቢ ድርጊት ማከናወን (የ "#" ቁምፊ አስተያየት ነው በኋላ) የት ፈጣን ምሳሌ, ላይ ትኩረት እናድርግ:

spisok_chisel = [5, 15, 25, 35, 45, 55, 65, 75, 85, 95] የያዘ # ተብለው ድርድር 10 አሃዞች

ዜሮ ጋር = 0 # የተፈጠረ ግብረ ቆጠራ

spisok_chisel ውስጥ ክፍሎች: # በድርድሩ ላይ ለመድገም እና ንጥረ ነገሮች ውስጥ ይጻፉ

ሦስት spisok_chisel [መቁጠር] = ንጥረ + # 3 ቁጥር እየጨመረ ድርድር

+ COUNT = መቁጠር 1 # የኢንዴክሱን ላይ ወደሚቀጥለው ቁጥር ሂድ

ከላይ ግንባታ ውጤት ይሆናል:

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

በእኛ ምሳሌ ውስጥ, እኛ ድርድር «spisok_chisel» ውስጥ ተለዋዋጭ እሴቶች ማክበር ዘንድ ያስፈልገናል አንድ ተለዋዋጭ ቆጠራ, አለ. ወደ ተለዋዋጭ ቆጠራ በድርድሩ ውስጥ እያንዳንዱ አባል (ዝርዝር ውስጥ ያለው እያንዳንዱ ቁጥር) አንድ ኢንዴክስ ዋጋ ተመዝግቧል. ተለዋዋጭ «አባሎችን» በዝርዝሩ ውስጥ ያለውን ምክንያት ዋጋ ያገናኛል. ሉፕ ለ ውስጥ, የቁጥር ዝርዝር ውስጥ ያለው እያንዳንዱ ነገር ያለውን ሂደት ለመተግበር እንዴት ማየት. ማሳውቅ ከውስጥ, ኢንዴክስ «ቆጠራ» ጋር እያንዳንዱ ቁጥራዊ ነገር የአሁኑን iterated ንጥረ ሦስት መጠን አክለዋል. ከዚያም የእኛን ኢንዴክስ «መቁጠር» አንድ ጨምሯል, እንዲሁም የፕሮግራሙ አፈጻጸም ፍሰት የሚሆን የግንባታ ማስታወቂያዎች መጀመሪያ ይመለሳል. በመሆኑም ሉፕ ይህ ሁኔታ የተሰጠው በድርድሩ ውስጥ እያንዳንዱ አባል, ከተሰራ ድረስ ድረስ ይሮጣሉ ይሆናል. ማንኛውም ኤለመንት የጠፋ ነው; ነገር ግን ሁኔታ ነው የተዘጋጀው ከሆነ, የ ዑደት ሙሉ ነው. እኛ አንድ ተጨማሪ ነገር ላይ ትኩረት መቅረብ: በተሳካ ሁኔታ ከተሰራ የነገሮች ስብስብ, ውጤቱ ምንጊዜም የመጀመሪያው የቁጥር ነገር ኢንዴክስ ዜሮ ሐ ይጨመራሉ እውነታ ቢሆንም "+ 1 መቁጠር =« ቆጠራ አንድ መስመር መጻፍ አይደለም ከሆነ.

አሁን ምልልስ ክወና መርሆዎች ሳለ ማሰብ እና (postcondition ጋር ዑደት ምክንያታዊ መስፈርት መሠረት ላይ ተሸክመው ነው ወደ ውጭ ፓይዘን ውስጥ ለማሳሰብ - እውነተኛ (ዑደት ይቀጥላል) ወይም ሐሰተኛ (ዑደት ማቆሚያዎችን)) ያለውን ልዩነት መለየት ይችላሉ.

እንዴት ነው ለ ዲዛይን በመጠቀም ፓይዘን ውስጥ ሕብረቁምፊ ለማከም?

ብቻ አገባብ ውስጥ የሚታይ ልዩነት, እያንዳንዱ ፕሮግራም ቋንቋ ዑደቶች አሉ, እነርሱም አብዛኛውን ጊዜ ተመሳሳይ መርህ ላይ እንሰራለን. በውስጡ የክወና መርህ አጸፋዊ ብቻ የተወሰነ አይደለም ምክንያቱም ይሁንና ቋንቋ "ዘንዶ" ውስጥ ቅየራ ምልልስ ምክንያት, ተራ እና የሚታይ የሆነ አይደለም. ይህ ንድፍ በተናጠል ለእያንዳንዱ ንጥል ይዘረዝራል. ይህ ሁሉ በቀላሉ ሕብረ ጋር መስራት ምሳሌ ማብራሪያ, ነገር ግን መጀመሪያ ዎቹ ዑደት ለ ስብጥር ለመቋቋም ይሁን ይቻላል:

ተለዋዋጭ

ይህ ተለዋዋጭ ዑደት ክንውን ውጤት ውስጥ የሚከማች ነው

peremennaya_2 ውስጥ

«በ» ቁልፍ ቃል - ዑደት «ለ» ጋር በመስራት ጊዜ ያለ ቅድመ ሁኔታ ነው. peremennoy_2 ጀምሮ እኛ iterated ይሆናል ዘንድ ዋጋ አዙረው. ለጥራት እና ግልጽነትን ያህል, የአምላክ ሥራ እና ፓይዘን ውስጥ ያሉ ህብረቁምፊዎችን ለመደርደር እንዴት አንድ ትንሽ ምሳሌ እንመልከት:

ቁምፊ = 'ፕሮግራም' # አንድ ተለዋዋጭ አውጃለሁ እና ሕብረቁምፊ እሴት ለመመደብ

ቁምፊ ውስጥ slovo ለ: # ተለዋዋጭ ቁምፊ ጨማታ ኮዶች ይቀጥላል, ይህም አንድ ተለዋዋጭ slovo ፍጠር

አንድ ወፍ - የህትመት (slovo, መጨረሻ = '^') # የውጤት ወደ slovo እና እያንዳንዱ ፊደል በኋላ, ምልክት ያስገቡ.

ስክሪፕቱ ውጤት:

P ^ ገጽ ^ o ^ r ^ r ^ አንድ ^ ሜትር ^ ሜትር ^ ^ እና ገጽ ^ o ^ አንድ ^ አንድ ^ n ^ እና ^ ሠ

መግለጫ ይቀጥላል

ከዋኝ ምንም ይሁን ማሳውቅ ሚዛን ምክንያት ሁኔታ የሰጠው ቀጣዩ ዙር አፈፃፀም ወደ ሽግግር, ተግባራዊ ይቀጥላሉ. እና ሳለ - መግለጫ ሁለት ዑደቶች ውስጥ ሊሆን ይችላል መቀጠል ይጠቀሙ.

የሚከተለውን ምሳሌ እንመልከት:

ውስጥ ቆጠራ ለ 'በስተቀር, እያንዳንዱ ፊደል መድገም'

COUNT == 'O' ከሆነ:

ቀጥል

Print (ቆጠራ * 2, መጨረሻ = '')

ውጤቱ የሚከተለው ይሆናል:

Ppvvttrriimm kkaazhzhdduuyuyu bbuukkvvuu ,, kkrrmmee

የ ተቆጣጣሪ የ ሕብረቁምፊ ውስጥ አንድ ፊደል "o" አገኘ መቼ ፕሮግራም መገደል ወዲያውኑ ሁኔታ እያንዳንዱ ፊደል የተባዛ ከተዋቀረ የት ቃል '' 'ቀጥል », በኋላ ወደ መስመር እየተላለፈ ነበር' በስተቀር, እያንዳንዱ ፊደል መድገም '.

መግቻ መግለጫ

የቁልፍ «እረፍት» ዑደት ሁኔታ በ የተሰጠው በውስጡ ማጠናቀቅ, በመጠበቅ ያለ ተቋርጦ ዘንድ ነው ስፍራ ውስጥ ገብቷል. ሎጂክ እና ሁኔታዎች ብዙ ጋር ፕሮግራሞች በሚጽፉበት ጊዜ ይህ ንድፍ ብዙውን ጊዜ ጥቅም ላይ ነው.

ሥራ እረፍት መግለጫ አንድ ትንሽ ምሳሌ እንመልከት:

ውስጥ ቆጠራ ለ 'በስተቀር, እያንዳንዱ ፊደል መድገም'

COUNT == 'O' ከሆነ:

እረፍት

Print (ቆጠራ * 2, መጨረሻ = '')

ውጤቱ የሚከተለው ይሆናል:

nn

የ ተቆጣጣሪ የ ሕብረቁምፊ ውስጥ አንድ ፊደል "o" አገኘ ጊዜ በሚቀጥለው መስመር ዑደት ለ ሁኔታዎች መካከል አንዳንዶቹን የያዘ መሆኑን እውነታ ቢሆንም, ፕሮግራሙ መገደል ወዲያውኑ እንዲቆም ነበር 'በስተቀር እያንዳንዱ ደብዳቤ መድገም'.

ሌላ አስማት ቃል

ማንኛውም ዓይነት ተከታታይ ውስጥ ሌላ ከዋኝ ማመልከት ይችላሉ. ይህ ምን ያህል ነው? በተጨማሪም ማሳውቅ ውጭ አደራ ወደ ተሰጡበት መሆኑን ቼኮች እረፍት ወይም በተለመደው መንገድ ማለት ነው. ሌላ ሁኔታ ዑደት ውጤት መግቻ መዋቅር አጠቃቀም ያለ ተሸክመው እንደሆነ ብቻ ይጀምራሉ ትግበራ ውስጥ ወስኗል ደንቦች ጋር አግድ.

አንድ ትንሽ ምሳሌ እንመልከት:

'ሰላም ዓለም' ውስጥ ቆጠራ ለ:

ከሆነ ቆጠራ == 'እኔ';

እረፍት

ሌላ:

Print (እኔ '' 'የእርስዎ ዓረፍተ ነገር ምንም ደብዳቤ የለውም')

በስክሪፕቱ ውፅዓት:

የእርስዎ ዓረፍተ ነገር ደብዳቤውን "እኔ" አይደለም

በ ፓይዘን የፕሮግራም ቋንቋ በግልባጭ ቅደም ተከተል ዑደቶች ምሳሌዎች

ዘንዶ በግልባጭ ዑደት ውስጥ ተግባራዊ እንደ? የአምላክ ቁምፊ መስመር ለይተን እና በግልባጭ ቅደም ውስጥ ለማተም የሚያስፈልገው አንድ ፕሮግራም በመጻፍ እንደሆነ እናስብ. ይህን እንዴት ተግባራዊ ለማድረግ?

ከታች ያለውን ምሳሌ ተመልከት:

slovo = 'ፕሮግራም'

new_slovo = []

በክልል ውስጥ ቆጠራ ለ (ሌን (ዎች), 0, -1):

new_slovo.append (ዎች [i-1])

new_slovlo

[ 'P', 'p', 'o', 'g', 'p', 'አንድ', 'm', 'm', 'እና', 'p', 'o' 'ውስጥ' ' አንድ ',' n ',' u ',' ሠ ']

Print (new_slovo)

[ 'P', 'p', 'o', 'g', 'p', 'አንድ', 'm', 'm', 'u', 'p', 'o', 'አንድ', ' አንድ ',' n ',' u ',' ሠ ']

Print ( ''. መቀላቀል (new_slovo))

ስክሪፕቱ ውጤት:

einavorimmargorp

ድርብርብ ቀለበቶች

ፓይዘን ውስጥ, በሌላ አካል ላይ መቀመጡን መሆኑን ፕሮግራም እና ኢንቨስትመንቶች, ስለ ዑደቶች ደግሞ አሉ. በእያንዳንዱ ዑደት ውስጥ ድርብርብ ሉፕ መሆን, እና ስለዚህ ስፍር ቁጥር አንድ መሰላል መገንባት ይቻላል ይችላሉ. በውጨኛው ምልልስ የመጀመሪያ ተደጋጋሚነት ውስጥ ከዚያም ሁሉም ወደ ውጭው ሉፕ አካል ውስጥ ይዘዋወራሉ መቆጣጠር, የራሱ መጠናቀቅ በፊት የሚያስፈጽምበትን ያለውን ውስጣዊ ሉፕ, አንድ ጥሪ ጋር ሲሳል ነው. እያንዳንዱ ቋንቋ ድርብርብ ቀለበቶች ውስጥ የራሱ ባህሪያት እንዳሉት, ዎቹ እነርሱ "ዘንዶ" የፕሮግራም ቋንቋ እንዲሰራ እንዴት እንዳሟላ እንመለከታለን.

እናንተ ድርብርብ ቀለበቶች እየተጠቀሙ ከሆነ, ፓይዘን የሚከተለውን አገባብ ያቀርባል:

ተለዋዋጮች በቅደም ተለዋዋጭ ለ:

ተለዋዋጮች በቅደም ተለዋዋጭ

እርምጃ (ዎች)

እርምጃ (ዎች)

ድርብርብ ቀለበቶች ልዩ ባህሪያት ማንኛውም ዓይነት ዑደት ውስጥ ዑደት ማንኛውም ዓይነት ሆኖ ሊያገለግል የሚችል መሆኑ ነው! ይህ ዑደት ውስጥ (ወይም ለ) ሳሉ እና በተቃራኒው ይለውጡ እንደገና አንድ ዑደት ለ የተከተቱ ወይም ሊሆን ይችላል ማለት ነው.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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