ዝርዝር ሁኔታ:

የሚስብ የፕሮግራም መመሪያ ለዲዛይነር-የፕሮግራም ሂደት ቁጥጥር-የሉፕ መግለጫ-8 ደረጃዎች
የሚስብ የፕሮግራም መመሪያ ለዲዛይነር-የፕሮግራም ሂደት ቁጥጥር-የሉፕ መግለጫ-8 ደረጃዎች

ቪዲዮ: የሚስብ የፕሮግራም መመሪያ ለዲዛይነር-የፕሮግራም ሂደት ቁጥጥር-የሉፕ መግለጫ-8 ደረጃዎች

ቪዲዮ: የሚስብ የፕሮግራም መመሪያ ለዲዛይነር-የፕሮግራም ሂደት ቁጥጥር-የሉፕ መግለጫ-8 ደረጃዎች
ቪዲዮ: በ30 ቀን እራስን መለወጥ Change Yourself in 30 Days 2024, ሀምሌ
Anonim
የሚስብ የፕሮግራም መመሪያ ለዲዛይነር-የፕሮግራም ሂደት ቁጥጥር-የሉፕ መግለጫ
የሚስብ የፕሮግራም መመሪያ ለዲዛይነር-የፕሮግራም ሂደት ቁጥጥር-የሉፕ መግለጫ

የፕሮግራም ሂደት ቁጥጥር- የሉፕ መግለጫ

ከዚህ ምዕራፍ አንድ አስፈላጊ እና ኃይለኛ የእውቀት ነጥብ-ሉፕ መግለጫ ጋር ይገናኛሉ።

ይህንን ምዕራፍ ከማንበብዎ በፊት በፕሮግራሙ ውስጥ 10,000 ክበቦችን መሳል ከፈለጉ በአሰቃቂ ዘዴ ብቻ ማድረግ ይችላሉ። ያ ማለት የኤሊፕስ ኮድ 10, 000 መስመሮችን መጻፍ ነው። በሁሉም መንገድ ቅልጥፍናን ለማሻሻል የሚፈልጉ እነዚያ ሰነፍ ኮድ ዲዛይነሮች በእርግጠኝነት ይህ እንዲከሰት አይፈቅዱም። ስለዚህ ፣ የሉፕ መግለጫ ተፈጥሯል። በዚህ መግለጫ ፣ የኮምፒተር አውቶሜሽን ኃይልን በስሜታዊነት ሊሰማዎት ይችላል።

ደረጃ 1 ለ Loop

ብዙ የሉፕ መግለጫዎች አሉ ፣ ከእነዚህም ውስጥ በሰፊው ጥቅም ላይ የዋለው ለ Loop ነው። የተግባር ስዕል ቀጣይነት ባለው ስርጭት ውስጥ እንደሚሠራ ሁላችንም እናውቃለን። ከመጀመሪያው ዓረፍተ ነገር መጀመሪያ ላይ ፣ ከላይ እስከ ታች እስከ መጨረሻው ዓረፍተ -ነገር ድረስ ይተገበራል። ቀዶ ጥገናውን ከጨረሰ በኋላ ከመጀመሪያው ዓረፍተ ነገር እንደገና ይጀምራል። መግለጫው ከተግባራዊ ስዕል ትንሽ ጋር ተመሳሳይ ነው። በመግለጫው ውስጥ ያለው ኮድ በተደጋጋሚ ሊፈጸም ይችላል።

የሰዋስው አወቃቀሩ እዚህ አለ -

ለ (አገላለጽ 1 ፤ አገላለጽ 2 ፤ አገላለጽ 3) {

ሉፕ አካል

}

በግልጽ እንደሚታየው ፣ በሉፕ አካል ውስጥ ያሉ ዓረፍተ ነገሮች በተደጋጋሚ እንዲተገበሩ የጠበቅነው ነው። አገላለጽ 1 የመጀመሪያውን እሴት ወደ ተለዋዋጭ ዑደት ለመቀየር እና ለመመደብ ያገለግላል። መግለጫ 2 ለሉፕ ሁኔታ ነው። መግለጫ 3 የ loop ተለዋዋጭ እሴትን ያዘምናል።

የሉፕ ተለዋዋጭ ምንድነው? በእውነቱ ከአካባቢያዊ ተለዋዋጭ ጋር እኩል ነው። ምሉእ ብምሉእ ጽሒፉ እዩ።

ለ (int i = 0; i <10; i ++) {

ሉፕ አካል

}

የሉፕ ተግባርን ለመገንዘብ ፣ መግለጫው በዋነኝነት የሚወሰነው በአከባቢው ተለዋዋጭ ላይ ነው ፣ እሱም በሉፕ ማቋረጫው ላይ ጥቅም ላይ ይውላል። ከላይ ባለው ምሳሌ ውስጥ የአከባቢው ተለዋዋጭ እኔ ነው። አገላለጽ 1 የአካባቢያዊ ተለዋዋጭ አጀማመርን አጠናቋል። በኋላ ፣ loop ለአንድ ጊዜ በሚሠራ ቁጥር ይህ ተለዋዋጭ መዘመን አለበት። ከላይ ከተጠቀሰው ምሳሌ ውስጥ ፣ i ++ በአረፍተ ነገር 3 የማዘመን ተግባርን ለማሳካት ጥቅም ላይ ይውላል። በእሱ በኩል ፣ ተለዋዋጭው በተሻሻለ ቁጥር 1 ይጨምራል። በመጨረሻ ፣ በሉፕ አካል ውስጥ ያለው ኮድ ላልተወሰነ ጊዜ ሊሽከረከር አይችልም ፣ ሌሎች የኋለኛው መግለጫዎች ሊፈጸሙ አይችሉም። ስለዚህ እኛ ተርሚናል ሁኔታ ያስፈልገናል። ኤክስፕረስ 2 ለእሱ ብቻ ነው። እዚህ ፣ ፕሮግራሙ እኔ ከ 10 በታች መሆኔን ይፈርዳል ፣ ከሆነ ፣ ከዚያ ወደ ሥራ ይሂዱ። ካልሆነ ፣ ከዚያ ከምሽቱ ዘልለው ይውጡ።

ስለዚህ የመግለጫው የአሠራር ቅደም ተከተል ልክ እንደዚህ ነው።

መግለጫ 1 (የአካባቢያዊ ተለዋዋጭ ማስነሻ)

መግለጫ 2 (ረክቷል ፣ ከዚያ መስራቱን ይቀጥሉ)

የሉፕ አካል (የመጀመሪያ ስርጭት)

መግለጫ 3 (ዝመና)

መግለጫ 2 (ረክቷል ፣ ከዚያ መስራቱን ይቀጥሉ)

የሉፕ አካል (ሁለተኛ ዙር)

መግለጫ 3 (ዝመና)

መግለጫ 2 (ረክቷል ፣ ከዚያ መስራቱን ይቀጥሉ)

ሉፕ አካል (ሦስተኛው ስርጭት)…

መግለጫ 3 (ዝመና)

አገላለጽ 2 (አልረካም ፣ ከዚያ ከሉፕው ዝለል)

ይህንን የማስፈጸሚያ ቅደም ተከተል በራስዎ ውስጥ ለበርካታ ጊዜያት ማስመሰል ይችላሉ። ግን አንድ ጊዜ በእጅዎ ሳይተይቡ ኮዱን በትክክል መረዳት አይቻልም። እንግዳ የሆነ ፅንሰ -ሀሳብ ለማወቅ ስንፈልግ በሕትመት መግለጫው በኩል እሴቱን በኮንሶሉ ውስጥ ማተም እንችላለን።

የኮድ ምሳሌ (5-1)-ባዶነት ማዋቀር () {

ለ (int i = 0; i <10; i ++) {

println ("ሩጫ");

}

}

በኮንሶል ውስጥ የሮጥ ውፅዓት ብዛት መቁጠር ይችላሉ። እዚህ ፣ እሱ በትክክል 10. ይህ በሉፕ አካል ውስጥ ያለው ኮድ ስንት ጊዜ እንደተገደለ ይነግርዎታል። ሆኖም ፣ አሁንም በሉፕ ውስጥ ምን ለውጦች እንደተከሰቱ ማወቅ አንችልም። ስለዚህ “ወደ ተለዋዋጭ” i”ገጸ -ባህሪን ለመለወጥ እና ምን እንደሚሆን ለማየት መሞከር እንችላለን።

የኮድ ምሳሌ (5-2)-ባዶነት ማዋቀር () {

ለ (int i = 0; i <10; i ++) {

println (i);

}

}

አሁን ፣ በሉፕ አካል ውስጥ ያለው እሴት ያለማቋረጥ እየጨመረ መሆኑን ማየት እንችላለን። በኋላ ፣ የሉፉን የአሁኑን ሂደት ለመረዳት ይህንን እሴት ልንጠቀምበት እንችላለን።

በኮድ ምሳሌ (5-2) ፣ የ i እሴት ከ 0 ወደ 9. ተቀይሯል ፣ ከትክክለኛው የሉፕ ጊዜዎች ጋር ሲነፃፀር ፣ ሁል ጊዜ 1 ያነሰ ይመስላል። እርስዎ ካልለመዱት ፣ በመግለጫው ቅንፍ ውስጥ ያለው አገላለጽ ለሚከተለው ሊፃፍ ይችላል-

ለ (int i = 1; i <= 10; i ++)

ስለዚህ ፣ እኔ ከሉፕ ጊዜዎች ጋር በቅንነት እዛመዳለሁ። የ «<=» ትርጉም ያንሳል እና እኩል ነው። ስለዚህ እኔ ከ 10 ጋር እኩል ስሆን አሁንም ሁኔታውን ያሟላል። ስለዚህ ፣ እሱ ከተፃፈበት ጋር ሲነጻጸር አንድ ጊዜ ይሠራል። <ከ 10. ቢጀምርም ፣ የሉፕ ጊዜዎቹ አሁንም 10 ናቸው። በእርግጥ ፣ ምንም አስፈላጊ ካልሆነ ፣ በፅሁፍ ውስጥ የአፃፃፍ ዘዴን እንዲወስዱ ሀሳብ እንዲያቀርቡልዎት እፈልጋለሁ። መጀመሪያ ላይ ምሳሌ። በኋላ እኛ ቬክተር ወይም ድርድርን እናስተዋውቅዎታለን ፣ ሁለቱም ንጥረ ነገሩን በንዑስ ጽሑፉ ያገኛሉ። እና ነባሪው የደንበኝነት ተመዝጋቢዎች ሁሉም ከ 0. ጀምሮ ይጀምራሉ። የመጀመሪያውን እሴት 0 መሆን ማለት በንፅፅር የተለመደ ልምምድ ነው።

ከላይ ባለው ምሳሌ ፣ እኔ ከ 0 በላይ ከሆንን ፣ ፖግራሙ ይሰናከላል። ተለዋዋጭው ኮንስታንት እየጨመረ ስለሚሄድ ይህንን ሁኔታ በጭራሽ አያረካውም። ፕሮግራሙ ማለቂያ በሌለው ዙር ውስጥ እንዲገባ ይህ በጭራሽ ሊቆም እንደማይችል ነው።

በመግለጫው ውስጥ የአከባቢ ተለዋዋጮች የፕላስቲክ ዓይነቶችን ብቻ ማወጅ ብቻ ሳይሆን ተንሳፋፊ ነጥብ ዓይነቶች ውስጥ ተለዋዋጮችን ማወጅ ይችላሉ። ለምሳሌ ፣ (float i = 0; i <10; i + = 0.02) ተብሎ ሊጻፍ ይችላል።

ደረጃ 2 - የሂሳብ ችግሮችን ለመፍታት ለ Loop ይጠቀሙ

ገና በልጅነቱ የሒሳብ ሊቅ ጋውስ ታሪክን ያስታውሳሉ? በዚያን ጊዜ ጓሳ የ 10 ዓመት ልጅ ነበር። መምህሩ በክፍል ውስጥ አንድ ተግባር ለመመደብ ፈለገ እና ጥያቄው ነበር

1+2+3+4……+97+98+99+100=?

በእጆችዎ ካሰሉ ብዙ ጊዜ ይወስዳል። ግን ጓስ የሂሳብ ቅደም ተከተል የማጠቃለያ ዘዴን ቀድሞውኑ ያወቀ ይመስላል። ስለዚህ ጥያቄው ከተሰጠ በኋላ መልሱን በቀላሉ አስተናገደ ፣ ይህም መምህሩን በእጅጉ ያስገረመው።

አሁን ፣ የሒሳብ ቅደም ተከተል ማጠቃለያ ምን እንደሆነ አሁንም ላናስታውስ እንችላለን ፣ ግን መልሱን በጥንታዊ እና በአመፅ መንገድ ማግኘት እንችላለን። እና ያ ለሉፕ ነው። ኮምፒውተሮች የሚቆጥሩት ትንሽ ኬክ ብቻ ስለሆነ ጥያቄውን በኮምፒተር ሊታወቅ በሚችል ቋንቋ መግለፅ አለብን ፣ ከዚያ መልሳችንን በቀላሉ ማግኘት እንችላለን።

የኮድ ምሳሌ (5-3)

ባዶነት ማዋቀር () {

int መልስ = 0;

ለ (int i = 1; i <= 100; i ++) {

መልስ += i;

}

println (መልስ);

}

ያገኙት ውጤት ጓሳ ለዘገበው መልስ ተመሳሳይ ነው ብዬ አምናለሁ 5050 ነው!

ጠቃሚ ምክሮች - ለሉፕ ውስጥ የአከባቢ ተለዋዋጮች ስም በተለዋዋጭ የስያሜ ደንቦቹ በሚገዛበት ጊዜ እንደ ፈቃዱ ሊቀየር ይችላል። (Int k = 1; k <= 100; k ++) እንዲሆን ሊጽፉት ይችላሉ። ልዩ ሁኔታዎች ካልተከሰቱ ፣ እንደ ተለዋዋጩ ስም እኔ ነባሪ ይሆናል።

ደረጃ 3 ለሉፕ ስዕል

ከተከታታይ አሰልቺ ከሚመስሉ የአልጋ ልብስ በኋላ ፣ በመጨረሻ ወደ ይበልጥ አስደሳች ክፍል ልንገባ እንችላለን። ያ ስዕሎችን ለመሳል ለሉፕ መጠቀም ነው። እነዚያን አድካሚ የሂሳብ ስሌት አሁን ወደ ጎን ልናስቀምጥ እንችላለን። እኛ ንድፍ አውጪዎች ለግራፊክስ የበለጠ ተጋላጭ ነን።

የክበብ ድርድርን ለመሳል ለ Loop ይጠቀሙ

የተደጋገሙ አባላትን ቡድን ለመወከል ለሉፕ ለመጠቀም ስንፈልግ ፣ የእነዚህን ንጥረ ነገሮች የቁጥር ተዛማጅነት አስቀድመን ማረጋገጥ አለብን ፣ ከዚያ ግዙፍ ተደጋጋሚ ሥራን ከመስራት ይልቅ እሱን በምቾት ለመገንዘብ ለሉፕ መጠቀም እንችላለን። በአግድመት አቅጣጫ እኩል ተዘርግቶ አንድ ክበብ አንድ ረድፍ መሳል ከፈለግን እንበል። አግድም አስተባባሪው ሲቀየር የእሱ በጎነት አስተባባሪ አልተለወጠም። እና ከግራ ወደ ቀኝ ፣ አግድም አስተባባሪው ያለማቋረጥ እየጨመረ እና እየጨመረ ያለው ርቀት ተመሳሳይ ነው። በዚህ ጊዜ የእያንዳንዱን ክበብ አግድም አስተባባሪ ለማግኘት i in for loop ን መጠቀም እንችላለን።

የኮድ ምሳሌ (5-4) ባዶነት ማዋቀር () {

መጠን (700 ፣ 700);

ዳራ (83 ፣ 51 ፣ 194);

noStroke ();

}

ባዶ ባዶ ()

ለ (int i = 0; i <7; i ++) {

ellipse (50.0 + i * 100.0 ፣ ቁመት/2.0 ፣ 80.0 ፣ 80.0);

}

}

በግራ በኩል የመጀመሪያው ክበብ መጀመሪያ ቦታ 50 ይቆማል። 100 በ i * 100 ውስጥ እየጨመረ ያለውን ርቀት ይወክላል።

ደረጃ 4: የዘፈቀደ ዙር ነጥብ ለመሳል ለ Loop ይጠቀሙ

ከላይ ያለው ግራፊክ አቀማመጥ ሊገመት የሚችል ነው። ይህ ብዙ ፍላጎቶችን ይቀንሳል። በቀደመው ምዕራፍ ውስጥ የጠቀስነውን ተግባር በዘፈቀደ መጠቀም እና በስዕል ተግባር ውስጥ ለመፃፍ መሞከር እንችላለን።

የኮድ ምሳሌ (5-5)

ባዶነት ማዋቀር () {

መጠን (700 ፣ 700);

ዳራ (0);

noStroke ();

}

ባዶ ባዶ () {

ዳራ (0);

ለ (int i = 0; i <10; i ++) {

ተንሳፋፊ የዘፈቀደ ስፋት = የዘፈቀደ (60.0);

ellipse (የዘፈቀደ (ስፋት) ፣ የዘፈቀደ (ቁመት) ፣ የዘፈቀደ ስፋት ፣ የዘፈቀደ ስፋት);

}

}

እዚህ ፣ የክበብ አቀማመጥ ያለማቋረጥ ብልጭ ድርግም የሚልበት ምክንያት ተግባር በዘፈቀደ በአንድ ጊዜ በሚሠራበት እያንዳንዱ ጊዜ ውጤቱ በዘፈቀደ ነው። በሴኮንድ 60 ፍሬሞችን ለማስኬድ የተግባር መሳርያ ውድቅ ስለሆነ ፣ ስለዚህ በሰከንድ ውስጥ የተሳሉ እያንዳንዱ 10 ክበቦች ቦታውን ለ 60 ጊዜ ይለውጣሉ። ይህ ፈጣን ብልጭታ ስዕሉ ከ 10 ክበቦች በላይ ያለ ይመስላል። በፕሮግራሙ ውስጥ ቀለል ያለ ዋጋን መለወጥ ሙሉ በሙሉ የተለየ ውጤት ያመጣልዎታል። የተርሚናል ሁኔታን በመከለስ የሉፕ ጊዜዎችን መለወጥ እንችላለን። ከዚህ በታች ባለው ሥዕል ውስጥ ያለው የተርሚናል ሁኔታ i <100 ነው።

  1. የተርሚናል ሁኔታ i <1000:
  2. RandomSeed
  3. የክበቡ አቀማመጥ በዘፈቀደ እንዲሁም ብልጭታው እንዲፈጠር ካልፈለግኩ ምን ማድረግ እችላለሁ? አንዱ ዘዴ ለእያንዳንዱ ክበብ ገለልተኛ ተለዋዋጮችን መገንባት እና ማከማቸት እና እነዚህን ተለዋዋጮች በማዋቀር ውስጥ ማስጀመር ነው። እነዚህን ተለዋዋጮች በዘፈቀደ እሴት ይመድቡ። ስለዚህ ፣ በስዕል ውስጥ የስዕል ተግባርን ስንጠቀም ፣ የጠራነው በተለዋዋጮች ውስጥ የተከማቸ እሴት ነው። በማንኛውም ጊዜ አይለወጥም። 10 ክበቦችን ለመሳል እኛ ይህንን ዘዴ ብቻ መጠቀም እንችላለን። ግን 1000 ክበቦችን ፣ ወይም 10,000 ክበቦችን መሳል ብንፈልግስ? እነዚህን ተለዋዋጮች ለመገንባት እና ለመሰየም ይህንን ባህላዊ ዘዴ ከተጠቀምን በጣም ያስቸግራል። አዲስ ተለዋዋጭ የግንባታ ዘዴ መማር የለብንም። ይህንን ግብ ለማሳካት የሚረዳን ተጣጣፊ ዘዴ እዚህ አለ። ያ የዘፈቀደ ሰይድ መጠቀም ነው። አሁን ፣ ጥቅም ላይ ከዋለ በኋላ ውጤቱን እንመልከት። የኮድ ምሳሌ (5-6) ፦ [cceN_cpp ገጽታ = "ንጋት"] ባዶ ቅንብር () {መጠን (700 ፣ 700) ፤ ዳራ (0); noStroke ();}
  4. ባዶ ባዶ () {

    ዳራ (0);

    randomSeed (1);

    ለ (int i = 0; i <10; i ++) {

    ተንሳፋፊ በዘፈቀደ ስፋት = በዘፈቀደ (20.0 ፣ 60.0);

    ellipse (የዘፈቀደ (ስፋት) ፣ የዘፈቀደ (ቁመት) ፣ የዘፈቀደ ስፋት ፣ የዘፈቀደ ስፋት);

    }

    } [/cceN_cpp]

    ከዚህ በፊት ከኮዱ ጋር ሲነጻጸር ፣ በ ‹SeedRandom ›ዓረፍተ -ነገር ብቻ የክበብ ራዲየስ ክልል ከ 10 ወደ 30 ከመቀየር በስተቀር ምንም ለውጦች የሉትም። ይህን ዓረፍተ ነገር ከተጨመረ በኋላ ግራፊክ የማይንቀሳቀስ ይመስላል።

    የጥሪ ቅርጸት ፦

    randomSeed (ሀ);

    በዚህ ቅርጸት መካከል ፣ የአንድ ቅንብር ዘር ነው። አንድ ኢንቲጀር መሙላት አለብዎት (በ P5 ውስጥ የሚንሳፈፍ ነጥብ እሴት ይፃፉ ፣ አይሳሳትም ነገር ግን እንደ ኢንቲጀር አድርገው ይያዙት)። የዘፈቀደSeed ተግባር ዘሩን በዘፈቀደ እሴት ማዘጋጀት ነው። ከዚያ በተለያዩ ዘር መሠረት የተለያዩ የዘፈቀደ ድርድርን ያመነጫል። ከእሱ በኋላ የመመለሻ ውጤቱ የተወሰነ እንዲሆን ተግባርን በዘፈቀደ እንጠራለን። እዚህ ፣ ገላጭነቱ ለውጤቱ የተወሰነ እሴት አይደለም ፣ ግን ለተፈጠረው ድርድር ነው። ያ ማለት የመመለሻ ውጤቱ ከተጠራበት ጊዜ ጋር ሲነፃፀር የተወሰነ ነው።

    የኮድ ምሳሌ (5-7) ፦ [cceN_cpp ገጽታ = "ንጋት"] ባዶነት ማዋቀር () {

    randomSeed (0);

    ለ (int i = 0; i <5; i ++) {

    println (በዘፈቀደ (10));

    }

    } [/cceN_cpp]

    አሁን ሙከራ ለማድረግ println ን እንቀጥላለን። RandomSeed ን ከተጠቀሙ በኋላ ፕሮግራሙን ዘግተው ፕሮግራሙን እንደገና ባስጀመሩ ቁጥር ወደ ተመሳሳይ ውጤት ሕብረቁምፊ ይመለሳል። እሴቱ በቅደም ተከተል አንድ በአንድ ይዛመዳል። ከሰረዙት ፣ ከዚያ በእያንዳንዱ ጊዜ ወደተለየ እሴት ይመለሳል። ለምን ይህ ቅንብር አለው? በፕሮግራሙ ውስጥ ባለው የዘፈቀደ እሴት ምክንያት ሐሰተኛ የዘፈቀደ ነው። ውጤቱ የዘፈቀደ ይመስላል ፣ ግን በእውነቱ የሚመነጨው በቋሚ እና ሊደገም በሚችል የሂሳብ ዘዴ ነው። የዘፈቀደ ሴይድ የጥንታዊ እሴት ለመሰየም እኩል ነው ፣ ከዚያ የሚከተለው ውጤት በዚህ ዘር መሠረት ይሰላል። ሆኖም ፣ እኛ ዘርን ካልሰየምን ፣ ፕሮግራሙ የአሁኑን የሥርዓት ጊዜ ተጠቅሞ ዘር ለማፍራት ይጠፋል። ስለዚህ የእያንዳንዱ ቀዶ ጥገና ውጤት የተለየ ነው። ከዚህ በታች ያለው ምሳሌ የዘፈቀደ ሴድን በተሻለ ለመረዳት ይረዳዎታል።

    ምሳሌ ኮድ (5-8) ፦ [cceN_cpp ገጽታ = "ንጋት"] ባዶነት ማዋቀር () {

    መጠን (700 ፣ 700);

    ዳራ (0);

    noStroke ();

    }

    ባዶ ባዶ () {

    randomSeed (1);

    ለ (int i = 0; i <10; i ++) {

    ተንሳፋፊ randomWidth01 = የዘፈቀደ (10 ፣ 60);

    ellipse (የዘፈቀደ (ስፋት) ፣ የዘፈቀደ (ቁመት) ፣ የዘፈቀደ ወርድ 0 ፣ የዘፈቀደ ወርድ 01);

    println (randomWidth01);

    }

    randomSeed (1);

    ለ (int i = 0; i <10; i ++) {

    ተንሳፋፊ የዘፈቀደWidth02 = የዘፈቀደ (10 ፣ 60);

    ellipse (የዘፈቀደ (ስፋት) ፣ የዘፈቀደ (ቁመት) ፣ የዘፈቀደ ወርድ02 ፣ የዘፈቀደ ወርድ02);

    println (randomWidth02);

    }

    } [/cceN_cpp]

    ሁለተኛውን የዘፈቀደ ሰይድ (1) ወደ randomSeed (0) ለመከለስ እና የመጨረሻ ውጤቶችን ለማወዳደር ይሞክሩ።

    ጠቃሚ ምክሮች በ P5 ውስጥ እኛ ተመሳሳይ ውጤት ማግኘት እንድንችል በስዕሉ መጨረሻ ላይ noLoop የሚለውን ተግባር ብቻ መጥራት አለብን። የእሱ ተግባር ፕሮግራሙን ማቋረጥ ነው። በተፈጥሮ ውስጥ ከላይ ከተጠቀሱት የሥራ መርሆዎች በጣም የተለየ ነው።

ደረጃ 5 መስመርን ለመሳል ለ Loop ይጠቀሙ

የዘፈቀደ ሰይድ አጠቃቀምን በደንብ ከተማርን በኋላ የስዕል ተግባርን ለመለወጥ መሞከር እንችላለን። ለምሳሌ ፣ የክበብ ስዕልን ወደ መስመር ስዕል ይለውጡ። እኛ እስከ መስመሩ መጨረሻ ድረስ አንዳንድ የሚለወጡ ደንቦችን ዲዛይን ካደረግን ፣ ልዩ ዘይቤን ለመሥራት የተጠለፉ ብዙ መስመሮችን መጠቀም እንችላለን።

የኮድ ምሳሌ (5-9)

[cceN_cpp ገጽታ = "ንጋት"] ባዶነት ማዋቀር () {

መጠን (700 ፣ 700);

ዳራ (0);

}

ባዶ ባዶ ()

randomSeed (0);

ለ (int i = 0; i <2000; i ++) {

ተንሳፋፊ x1 = ስፋት/2.0;

ተንሳፋፊ x2 = የዘፈቀደ (50.0 ፣ 650.0);

ስትሮክ (255, 20);

መስመር (x1 ፣ 50 ፣ x2 ፣ 650);

}

} [/cceN_cpp]

ቀላል ብሩሽ ይፍጠሩ

ለሉፕ እንደገና ተመለስ። ከላይ ያሉት ምሳሌዎች በይነተገናኝ አይደሉም። ውጤቱ የበለጠ አስደሳች እንዲሆን ከፈለግን አይጤክስን እና አይጤን ወደ ኮዳችን ማዋሃድ መርሳት አንችልም።

የኮድ ምሳሌ (5-10)

[cceN_cpp ገጽታ = "ንጋት"] ባዶነት ማዋቀር () {

መጠን (700 ፣ 700);

ዳራ (255);

noStroke ();

}

ባዶ ባዶ () {

ለ (int i = 0; i <1000; i ++) {

መሙላት (0 ፣ 30);

ተንሳፋፊ x = mouseX + የዘፈቀደ (-50 ፣ 50);

ተንሳፋፊ y = mouseY + የዘፈቀደ (-50 ፣ 50);

ellipse (x, y, 2, 2);

}

} [/cceN_cpp]

“የተበታተኑ ነጥቦች” ብሩሽ ተፈጥሯል። እያንዳንዱ ኃይለኛ ጥቃቅን ክብ ነጥብ በመዳፊት አቀማመጥ ላይ የተመሠረተ ስለሆነ ፣ ከአራቱ አቅጣጫዎች ከግራ ፣ ከቀኝ ፣ ወደ ላይ እና ወደ ታች አቅጣጫዎችን ማንቀሳቀስ ይችላል። ስለዚህ የብሩሽ የመጨረሻው ቅርፅ መስፋፋት ከካሬ ጋር ይመሳሰላል።

የኮድ ምሳሌ (5-11)

[cceN_cpp ገጽታ = "ንጋት"] ባዶነት ማዋቀር () {

መጠን (700 ፣ 700);

ዳራ (255);

noStroke ();

}

ባዶ ባዶ () {

ለ (int i = 0; i <1000; i ++) {

ተንሳፋፊ ጥምርታ = mouseX/(ተንሳፋፊ) ስፋት;

ተንሳፋፊ x = mouseX + የዘፈቀደ (-50 ፣ 50);

ተንሳፋፊ y = mouseY + የዘፈቀደ (-50 ፣ 50);

መሙላት (0 ፣ ጥምርታ * 255 ፣ 255 * (1 - ጥምርታ) ፣ 30);

ellipse (x, y, 2, 2);

}

}

[/cceN_cpp]

የመሙያ ቀለምን ለመንካት የመዳፊት ኤክስ ዋጋን የምንጠቀም ከሆነ ፣ ከዚያ በጣም ብዙ አስማታዊ የቀለም ቅልጥፍና እናገኛለን።

ደረጃ 6 - ለ Loop Nested

ሉፕ ጎጆ ሊሆን ይችላልና። ለሉፕ እንደገና ወደ loop መጻፍ ይችላሉ። ባለ ሁለት ልኬት ነጥብ ማትሪክስ መሳል ሲፈልጉ ይህንን ዘዴ መምረጥ ይችላሉ።

የኮድ ምሳሌ (5-12)

[cceN_cpp ገጽታ = "ንጋት"] ባዶነት ማዋቀር () {

መጠን (700 ፣ 700 ፣ P2 ዲ);

ዳራ (202 ፣ 240 ፣ 107);

}

ባዶ ባዶ () {

መሙላት (0);

ለ (int i = 0; i <5; i ++) {

ለ (int j = 0; j <5; j ++) {

ተንሳፋፊ x = 150 + i * 100;

ተንሳፋፊ y = 150 + j * 100;

ellipse (x, y, 60, 60);

println (i + ":" + j);

}

}

}

[/cceN_cpp]

የታጠፈውን loop ለመጀመሪያ ጊዜ ለመጠቀም ፣ የሎጂክ ግንኙነቱን ማወቅ አለብዎት። በፕሮግራሙ ውስጥ ያለው የኮድ ትግበራ ሁል ጊዜ ከላይ እስከ ታች ነው። ስለዚህ ፣ የመጀመሪያው የተተገበረው በእርግጠኝነት እጅግ በጣም ውጫዊ ዑደት ነው። የውጨኛው ሉፕ ለአንድ ጊዜ በሚሠራበት ጊዜ ሁሉ ሁኔታው ከእንግዲህ ሁኔታውን ለማርካት እስካልቻለ ድረስ የውስጠኛው ሉፕ ያለማቋረጥ ይሠራል። ከዚያ በኋላ ሁለተኛውን የውጭ ዑደት ሥራ ይጀምራል። ሁለተኛው ቀዶ ጥገና ከተጀመረ በኋላ ሁኔታውን ማሟላት እስካልቻለ ድረስ የውስጥ loop ተግባራዊ ይሆናል። እንደዚህ ያሉ ድግግሞሽ ሁሉም ሁኔታዎች እስኪያረኩ ድረስ እና ከዙፋኑ እስኪዘል ድረስ ያደርገዋል።

ከላይ ባለው ኮድ ፣ በውጫዊው ሉፕ ውስጥ ያለው የሉፕ አካል በአጠቃላይ 5 ጊዜ ሲሠራ ፣ በውስጠኛው ሉፕ ውስጥ ያለው የሉፕ አካል 25 ጊዜ ይሠራል። በ 25 ጊዜ ውስጥ ፣ በ i ፣ j እሴት ልዩነት መሠረት ፣ የክበቡን አግድም እና አቀባዊ ቅንጅት በተናጠል ማረጋገጥ እንችላለን። የሕትመት ክፍልን አካትቻለሁ ፣ የውሂብ ውፅዓቱን ማክበር እና ስለ ለውጡ ማሰብ ይችላሉ። በሁለት ጎጆ ቀለበቶች ብቻ ፣ ሁሉንም የ i ፣ j ውሂብ ጥምረቶችን ልናገኝ እንችላለን።

ጠቃሚ ምክሮች

ለሁለተኛው ንብርብር ብዙውን ጊዜ መጀመሪያ ላይ ከታብ ጋር ይጨናነቁ። ይህ የኮዱን አወቃቀር የበለጠ ግልፅ ሊያደርግ ይችላል። በተለያዩ ስሞች ላፕስ በሁለት ንብርብሮች ውስጥ አካባቢያዊ ተለዋዋጮችን መሰየም አለብዎት። ከሱ መካከል “i” ፣ “j” ፣ “k” በብዛት ጥቅም ላይ ውሏል።

ተጣጣፊ አጠቃቀም “i” ፣ “j”

የ “i” ፣ “j” ሁለት ተለዋዋጭ ስም የሁለት ንብርብሮችን አካባቢያዊ ተለዋዋጮችን ይወክላል። ከዚህ በታች ያለው ምሳሌ ለ “i” “j” ያለዎትን ግንዛቤ ያሰፋዋል። በ “i” ፣ “j” የተለየ እሴት መሠረት ፣ ንጥረ ነገሮቹን ለመሰብሰብ ግቤቶችን ማስገባት እንችላለን።

የኮድ ምሳሌ (5-13) ፦ [cceN_cpp ገጽታ = "ንጋት"] ባዶነት ማዋቀር () {

መጠን (700 ፣ 700);

ዳራ (0);

noStroke ();

}

ባዶ ባዶ ()

ዳራ (0);

መሙላት (250 ፣ 233 ፣ 77);

ለ (int i = 0; i <7; i ++) {

ለ (int j = 0; j <7; j ++) {

pushMatrix ();

መተርጎም (50 + i * 100 ፣ 50 + j * 100);

// ቅንብር 1

// ተንሳፋፊ አንግል = ኃጢአት (ሚሊስ ()/1000.0) * PI/2;

// አቀማመጥ 2

// ተንሳፋፊ ጥምር = i/7.0;

// ተንሳፋፊ አንግል = ኃጢአት (ሚሊስ ()/1000.0 + ሬሾ * (PI/2)) * PI/2;

// አቀማመጥ 3

ተንሳፋፊ ጥምር = (i * 7 + j)/49.0;

ተንሳፋፊ አንግል = ኃጢአት (ሚሊስ ()/1000.0 + ሬሾ * (PI/2)) * PI/2;

ማሽከርከር (አንግል);

rectMode (ማዕከል);

// ስዕል ይሳሉ 1

ቀጥተኛ (0 ፣ 0 ፣ 80 ፣ 80);

// ስዕል ይሳሉ 2

// ቀጥተኛ (0 ፣ 0 ፣ 100 ፣ 20);

// ስዕል ይሳሉ 3

// ቀጥተኛ (0 ፣ 0 ፣ ጥምርታ * 50);

ፖፕ ማትሪክስ ();

}

}

} [/cceN_cpp]

የኮድ ማብራሪያ

rectMode (CENTER) የካሬውን የስዕል ዘዴ መለወጥ ይችላል። ኦርጅናሌ የቀደሙት ሁለት የሬክ መለኪያዎች የግራ የላይኛው ግራ ጥግ ቅንጅትን ለመግለጽ ያገለግላሉ። ይህንን ትእዛዝ ከጀመርን በኋላ ፣ እነዚህ ሁለት መለኪያዎች ለካሬው ማዕከላዊ ነጥብ አስተባባሪውን ለማዘጋጀት ያገለግላሉ።ምክንያቱም እዚህ እኛ የፓተሩን ሽክርክሪት በማዞሪያ እንሠራለን ፣ ስለሆነም የመካከለኛውን ነጥብ ወደ አስተባባሪው የመጀመሪያ ነጥብ ለመሳብ ይህንን ዘዴ መጠቀም አለብን።

millis () ከፕሮግራሙ ጅምር እስከ አሁን ጊዜውን ያገኛል። አሃዱ ms.ይህ እሴት በኃጢአት ውፅዓት እሴት የመለወጥ ፍጥነት ላይ ተጽዕኖ ያሳድራል። ሚሊስን በቀጥታ የምንጽፍ ከሆነ ፣ የመለወጫው ልኬት በጣም ትልቅ ነው። ስለዚህ በ 1000.0 መከፋፈል አለብን።

በዚህ የኮድ ክፍል ውስጥ በርካታ ቅንብሮችን ለመደበቅ የአስተያየት ምልክት “//” ን እንጠቀማለን። ውጤቶችን በመነሻ ወይም በመዝጋት መለወጥ ይችላሉ። ለምሳሌ ፣ ከ ‹Setting 3› በስተጀርባ ዓረፍተ -ነገሮችን ከጀመርን ፣ ‹Setting 1› ን እና ‹Setting 2› ን የኮድ ብሎኮችን ለመዝጋት የአስተያየት ምልክትን መጠቀም አለብን። ከተለያዩ የአካባቢ ተለዋዋጮች ጋር የዚህ ተመሳሳይ የፕሮግራም አወቃቀር ምሳሌዎች ፣ በዚህ ቅርጸት መጻፍ እንችላለን። ስለዚህ ብዙ የምህንድስና ሰነዶችን ለየብቻ ማከማቸት የለብንም። በተግባር እና በመፍጠር ወቅት ይህንን ችሎታ ብዙ ጊዜ ልንጠቀምበት እና አንዳንድ አጥጋቢ የግቤት ቅንብሮችን መጠበቅ እንችላለን።

በእሱ ውስጥ ፣ የ i ፣ j እሴት በፕሮግራሙ ላይ የሚያሳድረው ተጽዕኖ በዋናነት “ቅንብር 1 (ቅንብር 2) (ቅንብር 3)” ን በማዛወር ይወከላል። ከዚህ በታች የውጤት ውጤቶችን ማወዳደር ይችላሉ።

ስዕል 1 ይሳሉ - ቅንብር 1

ስዕል 1 ይሳሉ - ቅንብር 2

ስዕል 1 ይሳሉ - ቅንብር 3

ስዕል 2 ይሳሉ - ቅንብር 1

ስዕል 2 ይሳሉ - ቅንብር 2

ስዕል 2 ይሳሉ - ቅንብር 3

በቅንብር 1 ውስጥ የእያንዳንዱን ንጥረ ነገር በተዘዋዋሪ አንግል ላይ ተጽዕኖ ለማሳደር እኔ እና j ን አልተጠቀምንም። ስለዚህ የእያንዳንዱ ንጥረ ነገር እንቅስቃሴ አንድ ነው ብለን ማየት እንችላለን። በቅንብር 2 ውስጥ ፣ እኔ እሴት i እና ሁለቱንም እኔ እና j ን በቅንብር ውስጥ ተጠቀምን 3. በመጨረሻ እነሱ በተግባራዊ ኃጢአት ግቤት ግቤት ላይ ተጽዕኖ አሳድረዋል። ይህ የማዕዘን ወቅታዊ ለውጥን ቀይሯል። በተዋዋይ ግራፊክስ ውስጥ 2 ን በማቀናበር እና በማዋቀር 3 ላይ ባለው ተጨባጭ ውጤት ምክንያት ከሚከተለው ቅጽበታዊ ገጽ እይታ ማየት እንችላለን።

ስዕል 2 ይሳሉ (ግራ - ቅንብር 2 ፣ ቀኝ - ቅንብር 3)

ስዕል 3 ይሳሉ (ግራ - ቅንብር 2 ፣ ቀኝ - ቅንብር 3)

በመጀመሪያው ሥዕል ውስጥ ሬሾው በካሬው የማዞሪያ አንግል ላይ ተጽዕኖ ለማሳደር ያገለግላል። ሁለተኛው ሥዕል ሆኖ ፣ የክበቡን ራዲየስ በቀጥታ ለመቆጣጠር ised ነው። እኔ ዋጋ ያለውን ዓረፍተ ነገር እንደተጠቀመ ማየት እንችላለን-

ተንሳፋፊ ጥምርታ = i/7.0;

የእሱ የአከርካሪ አካል ለውጥ ቋሚ ነው። ምክንያቱም ሥዕሉን ለመቆጣጠር አግድም ቅንጅት በ i እሴት ላይ ብቻ የሚመረኮዝ ስለሆነ ፣ ስለዚህ ተመሳሳይ አግድም አስተባባሪ ያላቸው አባባሎች ተመሳሳይ ይሆናሉ። እና የውድር እሴት ፣ የማዞሪያ አንግል እና የክበብ ራዲየስ እንዲሁ ተመሳሳይ ነው።

በተመሳሳይ ጊዜ እኔ ፣ j ዓረፍተ -ነገር እንጠቀማለን-

ተንሳፋፊ ጥምር = (i * 7 + j)/49.0;

እሱ “ቀስ በቀስ” ሊገለጽ ይችላል። እዚህ ፣ አንድን ምክንያት በማባዛት ዘዴ ፣ የረድፎች እና የአምዶች ተፅእኖን አጣምሮታል። ስለዚህ እያንዳንዱ ንጥረ ነገር የተለየ ነው።

ደረጃ 7 - Loop እያለ

ለሉፕ የሚሆን ወንድም አለ። ያ loop እያለ ነው። ለሉፕ ምን ማድረግ ይችላል ፣ loop ደግሞ ሊያደርገው ይችላል። ነገር ግን በፈጠራ ኮድ ውስጥ የ loop ጊዜ ድግግሞሽ መጠቀሙ ለሉፕ ያህል ከፍ ያለ አይደለም።

የኮድ ምሳሌ (5-14) ፦ [cceN_cpp ገጽታ = "ንጋት"] ባዶነት ማዋቀር () {

int a = 0;

ሳለ (ሀ <10) {

println (ሀ);

ሀ ++;

}

} [/cceN_cpp]

የጊዜው ሰዋሰው አወቃቀር ከ ለመረዳት የበለጠ ቀላል ነው። መግለጫ በሚሰጥበት ጊዜ ከዚህ በፊት ተለዋዋጮችን መፍጠር እንችላለን። ከዚያ በካሬ ቅንፍ ውስጥ አንድ መግለጫ ይሙሉ። ሲረካ ፣ ከዚያ ዓረፍተ ነገሮቹን በሉፕ አካል ውስጥ ያካሂዱ። በመጨረሻም ተለዋዋጮችን ለማዘመን በሉፕ አካል ውስጥ አገላለጽ እናስቀምጣለን ፣ ከዚያ ሉፕ ሲጠናቀቅ። የተረጋገጠ የሉፕ ጊዜን በተመለከተ ፣ እኛ ብዙውን ጊዜ ለሉፕ እንጠቀማለን። ስለ የማይለዋወጥ ተለዋዋጭ እሴት ፣ በሚዞሩበት ጊዜ እንዲጠቀሙበት እንመክራለን።

አስብ

የተለያዩ የተለያዩ ብሩሾችን ለመፍጠር የስዕል አባሎችን ለሉፕ ለመተካት ሁሉንም ዓይነት መሠረታዊ አባሎችን ለመጠቀም ይሞክሩ።

በመጨረሻው ምዕራፍ ውስጥ ከተጠቀሰው የትሪግኖሜትሪክ ተግባር ጋር ያጣምሩ ፣ “የተበታተኑ ነጥቦችን” ብሩሽ ወደ ክብ ቅርፅ ብሩሽ ለመከለስ ይሞክሩ።

ለ ‹ሉፕ› ብቻ ባለ ሁለት ልኬት ነጥብ ማትሪክስ ለመሥራት ይሞክሩ።

የሚቀጥለው ምዕራፍ ቅድመ -እይታ በዚህ ኮርስ እርስዎ የሚማሩትን እያንዳንዱን አዲስ እውቀት ያገኛሉ ፣ የመጫወት እድሉ ወዲያውኑ ብዙ ይጨምራል። ፕሮግራሙ የፓንዶራ ሣጥን ነው። እርስዎ ሊገምቱት የሚችሉት ሁሉ ፣ ለእርስዎ ያደርግልዎታል። ስለዚህ እኛ ከኮምፒውተሮች ጋር መገናኘት የሚችል ይህንን ቋንቋ የማንማርበት ምንም ምክንያት የለም። በሚቀጥለው ምዕራፍዎ ውስጥ ለእርስዎ ከሆነ ሌላ የሂደት ቁጥጥር መግለጫን እናስተዋውቃለን። የሂደቱን ፍሰት መቆጣጠር እና የበለጠ የተወሳሰቡ እና ሊለወጡ የሚችሉ ውጤቶችን ማመንጨት ይችላል። በአረፍተ ነገር ፣ የራስዎን የጽሑፍ ጀብዱ ጨዋታዎችን በቀላሉ መፍጠር ይችላሉ! ይህ ጽሑፍ ከዲዛይነር ዌንዚ የመጣ ነው። ተዛማጅ ንባቦች-አስደሳች የፕሮግራም መመሪያ ለዲዛይነር-የመጀመሪያ ንክኪን ማስኬድ ለዲዛይነር አስደሳች የፕሮግራም አወጣጥ መመሪያ-የመጀመሪያዎን የማቀናበር ፕሮግራም ይፍጠሩ ለዲዛይነር ትኩረት የሚስብ የፕሮግራም መመሪያ። - ስዕልዎን አሂድ (ክፍል አንድ) ለዲዛይነር አስደሳች የፕሮግራም ዝግጅት መመሪያ – ስዕልዎን አሂድ (ክፍል ሁለት)

ደረጃ 8 ምንጭ

ይህ ጽሑፍ ከ: https://www.elecfreaks.com/11037.html ነው

ማንኛውም ጥያቄ ካለዎት : [email protected] ን ማነጋገር ይችላሉ።

የሚመከር: