Skip to main content

പാഠം 2: ആവർത്തിച്ചുള്ള പ്രവർത്തനങ്ങൾ

ഇപ്പോൾ VR റോബോട്ട് പെൻ ഉപയോഗിച്ച് ആർട്ട് ക്യാൻവാസ് പ്ലേഗ്രൗണ്ട് ൽ ഒരു ചതുരം വരച്ചുകഴിഞ്ഞു,ലൂപ്പുകൾക്ക് ഉപയോഗിക്കാനും നിങ്ങളുടെ പ്രോജക്റ്റ് ലളിതമാക്കാനും നിങ്ങൾ പഠിക്കും. ഫോർ ലൂപ്പ് ഉപയോഗിച്ച് ആർട്ട് ക്യാൻവാസ് പ്ലേഗ്രൗണ്ട് ൽ ഒരു ചതുരം വരയ്ക്കുന്നതിനുള്ള ഘട്ടങ്ങളിലൂടെ ഈ പാഠം നിങ്ങളെ നയിക്കും.

കറുത്ത ചതുരം വരച്ച ആർട്ട് കാൻവാസ് കളിസ്ഥലം. കളിസ്ഥലത്തിന്റെ മധ്യഭാഗത്ത്, സ്ക്വയറിന്റെ താഴെ ഇടത് മൂലയിലാണ് VR റോബോട്ട് സ്ഥാപിച്ചിരിക്കുന്നത്.

പഠന ഫലങ്ങൾ

  • ലൂപ്പിനുള്ളിലെ കമാൻഡുകൾ ഒരു നിശ്ചിത തവണ ആവർത്തിക്കുന്നതിന് എങ്ങനെ ഉപയോഗിക്കാമെന്ന് തിരിച്ചറിയുക.
  • ലൂപ്പിനുള്ള ഒരു 'മൂല്യം' വേരിയബിളും ആവർത്തനങ്ങളുടെ എണ്ണം തിരിച്ചറിയാൻ ഒരുശ്രേണിഫംഗ്ഷനും ഉൾപ്പെടുന്നുവെന്ന് തിരിച്ചറിയുക. 
  • ഫോർലൂപ്പിന്റെശ്രേണിഫംഗ്ഷൻ ലൂപ്പ് എത്ര തവണ ആവർത്തിക്കണമെന്ന് തിരിച്ചറിയുന്നുവെന്ന് തിരിച്ചറിയുക.
  • ലൂപ്പിനുള്ളന്റെശ്രേണിഫംഗ്ഷന് പൂർണ്ണസംഖ്യകളെ പാരാമീറ്ററുകളായി സ്വീകരിക്കാൻ കഴിയുമെന്ന് തിരിച്ചറിയുക.
  • ഒരു പ്രോജക്റ്റിൽ ലൂപ്പിന് ലൂപ്പ് ഉപയോഗിക്കുന്നത് എന്തുകൊണ്ടാണെന്ന് വിവരിക്കുക.
  • ഫോർ ലൂപ്പ് അടങ്ങിയിരിക്കുന്ന ഒരു പ്രോജക്റ്റിന്റെ ഒഴുക്ക് വിവരിക്കുക.

പ്രോജക്റ്റിന്റെ പേര് മാറ്റുക

  • മുൻ പാഠത്തിലെ പ്രോജക്റ്റ് ലോഡ് ചെയ്തിട്ടില്ലെങ്കിൽ, Unit3Lesson1 പ്രോജക്റ്റ് ലോഡ് ചെയ്യുക.
  • പ്രോജക്റ്റ് നെയിം ബോക്സ് തിരഞ്ഞെടുത്ത് പ്രോജക്റ്റിന്റെ പേര് മാറ്റുക.
    പ്രോജക്റ്റ് നെയിം ബോക്സ് ഹൈലൈറ്റ് ചെയ്തിരിക്കുന്ന VR ടൂൾബാർ. ബോക്സിലെ പേര് യൂണിറ്റ് 3 പാഠം 1 എന്നാണ്.
  • പുതിയ പ്രോജക്റ്റ് നാമം Unit3Lesson2നൽകുക, തുടർന്ന് “സേവ്” തിരഞ്ഞെടുക്കുക.
    പ്രോജക്റ്റ് നാമ ഡയലോഗ് തുറന്നിരിക്കുന്ന VR ടൂൾബാർ. പ്രോജക്റ്റ് യൂണിറ്റ് 3 പാഠം 2 എന്ന് പുനർനാമകരണം ചെയ്തിട്ടുണ്ട്, കൂടാതെ സേവ് ബട്ടൺ ഒരു ചുവന്ന ബോക്സ് ഉപയോഗിച്ച് ഹൈലൈറ്റ് ചെയ്തിരിക്കുന്നു.

ആവർത്തിച്ചുള്ള പ്രവർത്തനങ്ങൾ

ലൂപ്പിനുള്ളിലെ കമാൻഡുകൾ ഒരു നിശ്ചിത എണ്ണം തവണ ആവർത്തിക്കാൻ ഉപയോഗിക്കുന്നു. കമാൻഡുകൾ ആവർത്തിക്കുന്ന പ്രോജക്റ്റുകൾ സൃഷ്ടിക്കുമ്പോൾ ഫോർ ലൂപ്പ് സമയവും പരിശ്രമവും ലാഭിക്കുന്നു. വർക്ക്‌സ്‌പെയ്‌സിൽ അധിക കമാൻഡുകൾ വലിച്ചിടാനോ ടൈപ്പ് ചെയ്യാനോ നിലവിലുള്ള കമാൻഡുകൾ പകർത്താനോ സമയമെടുക്കുന്നതിനുപകരം, സ്ഥലവും സമയവും ലാഭിക്കാൻ ഫോർലൂപ്പ് ഉപയോഗിക്കാം.

ഈ പ്രോജക്റ്റ്ന്എന്ന ലൂപ്പ് ഉപയോഗിച്ച്, ഒരു വശം വരയ്ക്കാനുള്ള കമാൻഡുകൾ നാല് തവണ ആവർത്തിച്ച് ഒരു ചതുരത്തിന്റെ നാല് വശങ്ങളും വരയ്ക്കാൻ VR റോബോട്ടിനെ നയിക്കും.

  • മുമ്പത്തെ പ്രോജക്റ്റ് പരിഷ്കരിച്ചോ, താഴെയുള്ള പ്രോജക്റ്റ് പകർത്തിയോ, അല്ലെങ്കിൽ ഈ അടിസ്ഥാന പ്രോജക്റ്റുമായി പൊരുത്തപ്പെടുന്ന ഒരു പുതിയ പ്രോജക്റ്റ് സൃഷ്ടിച്ചോ ആരംഭിക്കുക. 
def main():
	pen.move(DOWN)
	drivetrain.drive_for(FORWARD, 600, MM)
	drivetrain.turn_for(RIGHT, 90, DEGREES)
	drivetrain.drive_for(FORWARD, 600, MM)
	drivetrain.turn_for(RIGHT, 90, DEGREES)
	drivetrain.drive_for(FORWARD, 600, MM)
	drivetrain.turn_for(RIGHT, 90, DEGREES)
	drivetrain.drive_for(FORWARD, 600, MM)
	drivetrain.turn_for(RIGHT, 90, DEGREES)

 

  • ഈ പ്രോജക്റ്റിലെ ആവർത്തിച്ചുള്ള കമാൻഡുകൾdrive_forഉംturn_forകമാൻഡുകളുമാണ്. പ്രോജക്റ്റിലെ താഴെയുള്ള ആറ് കമാൻഡുകൾ നീക്കം ചെയ്യുക, അങ്ങനെmoveകമാൻഡിന് കീഴിൽ ഒരുdrive_forഉം ഒരു turn_forകമാൻഡും മാത്രമേ ശേഷിക്കുന്നുള്ളൂ, പ്രോജക്റ്റ് ഇതുപോലെ കാണപ്പെടുന്നു: 

    ഡെഫ് മെയിൻ():
        pen.move(DOWN)
        ഡ്രൈവ്‌ട്രെയിൻ.drive_for(FORWARD, 600, MM)
        ഡ്രൈവ്‌ട്രെയിൻ.turn_for(RIGHT, 90, DEGREES)
  • പ്രധാന ഫംഗ്ഷൻന്റെ അവസാനത്തിലേക്ക്ലൂപ്പിനുള്ളവലിച്ചിടുക, അങ്ങനെ നിങ്ങളുടെ പ്രോജക്റ്റ് ഇതുപോലെ കാണപ്പെടും. ശ്രദ്ധിക്കുക,forലൂപ്പ് ഉള്ളിൽ ഒരുwaitകമാൻഡ് ഓട്ടോമാറ്റിക്കായി പോപ്പുലേറ്റ് ചെയ്യും. waitകമാൻഡ്നീക്കം ചെയ്യരുത്, അത് VR റോബോട്ട് ശരിയായി പ്രവർത്തിക്കുന്നുവെന്ന് ഉറപ്പാക്കും.

    def main():
        pen.move(DOWN)
        drivetrain.drive_for(FORWARD, 600, MM)
        drivetrain.turn_for(RIGHT, 90, DEGREES)
    
        ശ്രേണിയിലെ ആവർത്തന എണ്ണത്തിന് (10):
            wait(5, MSEC)
  • ചതുരത്തിന്റെ ഒരു വശം വരയ്ക്കുന്നതിനുള്ള ഡ്രൈവ്‌ട്രെയിൻ കമാൻഡുകൾ ആവർത്തിക്കുന്നതിന്,ഫോർലൂപ്പിന്, ആ കമാൻഡുകൾ ഇൻഡന്റേഷൻ വഴി സൂചിപ്പിക്കുന്ന ഫോർലൂപ്പിനുള്ളിൽ ആയിരിക്കണം. ഡ്രൈവ്‌ട്രെയിൻ കമാൻഡുകൾക്കായി സ്ഥലം ശൂന്യമാക്കുന്നതിന്ഫോർലൂപ്പിനുംവെയിറ്റ്കമാൻഡിനും ഇടയിൽ രണ്ട് വരികൾ ചേർക്കുക. മുകളിലുള്ള അതേ പ്രോജക്റ്റ്, for കമാൻഡിനും wait കമാൻഡിനും ഇടയിൽ രണ്ട് വരികളുടെ ഇടം ചേർത്തിരിക്കുന്നു.
  • അടുത്തതായി, ഡ്രൈവ്‌ട്രെയിൻ കമാൻഡുകൾ for ലൂപ്പിനുള്ളിൽ നീക്കാൻ, for ലൂപ്പ് ഹെഡറിന് താഴെയുള്ള കമാൻഡുകൾ പകർത്തി ഒട്ടിക്കുക, കമാൻഡുകൾ ഹൈലൈറ്റ് ചെയ്‌ത് drive_for , turn_for കമാൻഡുകൾ ലൂപ്പ് ഹെഡറിനും waitകമാൻഡിനും ഇടയിൽ വലിച്ചിടുക, അല്ലെങ്കിൽ താഴെയുള്ള പ്രോജക്റ്റിൽ നിന്ന് പകർത്തി ഒട്ടിക്കുക.
def main():
	pen.move(DOWN)
	
	ശ്രേണിയിലെ മൂല്യത്തിന് (10):
		drivetrain.drive_for(FORWARD, 600, MM)
		drivetrain.turn_for(RIGHT, 90, DEGREES)
		കാത്തിരിക്കുക(5, MSEC)
  • for ലൂപ്പിനുള്ളിലെ കമാൻഡുകൾ ശരിയായി ഇൻഡന്റ് ചെയ്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക, ഇടതുവശത്തുള്ള ചാരനിറത്തിലുള്ള വര ഉപയോഗിച്ച് for ലൂപ്പിനുള്ളിൽ ഏതൊക്കെ കമാൻഡുകൾ ഉണ്ടെന്ന് സൂചിപ്പിക്കുന്നു.

നിങ്ങളുടെ അറിവിലേക്കായി

പൈത്തണിൽ ഇൻഡന്റേഷൻവളരെപ്രധാനമാണ്. കമാൻഡുകളുടെ ഇൻഡന്റേഷൻ ആണ് ഒരു പ്രോജക്റ്റ് എങ്ങനെ നിർവ്വഹിക്കണമെന്ന് നിർണ്ണയിക്കുന്നത്. ഫോർലൂപ്പിന്റെ കാര്യത്തിൽ, അതിനുള്ളിൽ ഇൻഡന്റ് ചെയ്തിരിക്കുന്ന കമാൻഡുകൾ ലൂപ്പിന്റെ ഭാഗമായി പ്രവർത്തിപ്പിക്കും. ഒരു ലൂപ്പിനുള്ളിൽ കമാൻഡുകൾ എങ്ങനെ ഗ്രൂപ്പ് ചെയ്യപ്പെടുന്നു എന്നതിനുള്ള വിഷ്വൽ ഗൈഡുകളായി, കമാൻഡുകളുടെ ഇടതുവശത്തുള്ള വരികൾ നിങ്ങൾക്ക് ഉപയോഗിക്കാം. 

മുകളിലുള്ള പ്രോജക്റ്റ്, "ഗൈഡിംഗ് ലൈൻ" എന്ന വാചകവും ഒരു ഫോർ ലൂപ്പിനുള്ളിലെ കമാൻഡുകളുടെ ശരിയായ ഇൻഡന്റേഷൻ സൂചിപ്പിക്കുന്ന ഇളം ചാരനിറത്തിലുള്ള വരയിലേക്ക് പോയിന്റ് ചെയ്യുന്ന അമ്പടയാളവും. അവസാന മൂന്ന് കമാൻഡുകൾക്ക് ചുറ്റുമുള്ള ഒരു ചുവന്ന ബ്രാക്കറ്റ്, അവ ഫോർ ലൂപ്പിനുള്ളിൽ തുല്യമായി ഇൻഡന്റ് ചെയ്‌ത് വിന്യസിച്ചിട്ടുണ്ടെന്ന് സൂചിപ്പിക്കുന്നു.

ഇൻഡന്റേഷനിലെ പിശകുകൾ നിങ്ങളുടെ പ്രോജക്റ്റ് ഫ്ലോയെ ബാധിക്കുകയും നിങ്ങളുടെ പ്രോജക്റ്റ് ഉദ്ദേശിച്ച രീതിയിൽ പ്രവർത്തിക്കാതിരിക്കാൻ കാരണമാവുകയും ചെയ്യും. നിങ്ങളുടെ കോഡ് ഫംഗ്‌ഷൻ ഉദ്ദേശിച്ച രീതിയിൽ ലഭിക്കുന്നതിന്, ഇവിടെ കാണിച്ചിരിക്കുന്നതുപോലെ ഇൻഡന്റേഷന്റെ അഭാവം അല്ലെങ്കിൽ അസമമായ ഇൻഡന്റേഷൻ ഒഴിവാക്കണം.

ഒരു ഫോർ ലൂപ്പിൽ വശങ്ങളിലായി തെറ്റായ ഇൻഡന്റേഷന് രണ്ട് സാധാരണ ഉദാഹരണങ്ങളുണ്ട്, അവ തെറ്റാണെന്ന് ഊന്നിപ്പറയാൻ അവയ്ക്ക് മുകളിൽ വലിയ ചുവന്ന x കൾ ഉണ്ട്. ഇടതുവശത്തുള്ള പ്രോജക്റ്റ് ഈ പാഠത്തിലെ പ്രോജക്റ്റ് ആണ്, പക്ഷേ ഫോർ ലൂപ്പിനുള്ളിൽ ഇൻഡന്റേഷൻ ഇല്ല. വലതുവശത്തുള്ള പ്രോജക്റ്റ് ഈ പാഠത്തിലെ പ്രോജക്റ്റാണ്, എന്നാൽ താഴെയുള്ള മൂന്ന് കമാൻഡുകൾ എല്ലാം വ്യത്യസ്ത ഡിഗ്രികളിലേക്ക് ഇൻഡന്റ് ചെയ്തിരിക്കുന്നു.

നിങ്ങളുടെ പ്രോജക്റ്റ് പ്രവർത്തിപ്പിക്കുന്നതിന് മുമ്പ് ഇൻഡന്റേഷൻ പിശകുകൾ പരിഹരിക്കാൻ VEXcode VR നിങ്ങളോട് ആവശ്യപ്പെട്ടേക്കാം. ഈ പിശകുകൾ പ്രിന്റ് കൺസോളിൽ തിരിച്ചറിയാൻ കഴിയും, അതുവഴി നിങ്ങൾക്ക് പ്രശ്നം എളുപ്പത്തിൽ പരിഹരിച്ച് നിങ്ങളുടെ പ്രോജക്റ്റ് പ്രവർത്തിപ്പിക്കാൻ കഴിയും.ഈ പാഠത്തിലെ പ്രോജക്റ്റ് ഇടതുവശത്ത് കാണിച്ചിരിക്കുന്നു. VEXcode VR-ലെ പ്രിന്റ് കൺസോൾ വലതുവശത്ത് കാണിച്ചിരിക്കുന്നു, വലതുവശത്ത് അപ്രതീക്ഷിതമായ ഒരു ഇൻഡന്റിനെ സൂചിപ്പിക്കുന്ന ഒരു ചുവന്ന പിശക് സന്ദേശം കാണിക്കുന്നു. പിശക് സന്ദേശത്തിൽ നിന്ന് പിശക് അടങ്ങിയിരിക്കുന്ന പ്രോജക്റ്റിലെ വരിയിലേക്ക് ഒരു വലിയ ചുവന്ന അമ്പടയാളം നീളുന്നു.

 

 

  • സ്ക്വയറിന്റെ ഒരു വശം വരയ്ക്കാനുള്ള ഡ്രൈവ്ട്രെയിൻ കമാൻഡുകൾ ഇപ്പോൾ ലൂപ്പിനുള്ളിൽ ആയതിനാൽ, ശ്രേണിഫംഗ്ഷന്റെ പാരാമീറ്റർ സജ്ജമാക്കാൻ കഴിയും. ഒരു ചതുരം വരയ്ക്കാൻ, നാല് വശങ്ങൾ വരയ്ക്കണം. കമാൻഡുകൾ നാല് തവണ ആവർത്തിക്കാൻ, ഫോർ ലൂപ്പ് ഹെഡറിലെ റേഞ്ച് ഫംഗ്ഷന്റെ പാരാമീറ്റർ “4” ആയി സജ്ജമാക്കുക, അങ്ങനെ ഒരു VR റോബോട്ട് ഒരു ചതുരത്തിന്റെ നാല് വശങ്ങളും വരയ്ക്കുന്നു.
    ഈ പാഠത്തിലെ പ്രോജക്റ്റ്, ഫോർ ലൂപ്പിലെ റേഞ്ച് ഫംഗ്ഷന്റെ പാരാമീറ്റർ 10 ൽ നിന്ന് 4 ആയി മാറ്റി.

നിങ്ങളുടെ അറിവിലേക്കായി

ഫോർ ലൂപ്പ് ഹെഡറിലെ ശ്രേണി ഫംഗ്ഷന് പൂർണ്ണസംഖ്യകൾ സ്വീകരിക്കാൻ കഴിയും. ഫോർ ലൂപ്പിന് ദശാംശങ്ങൾ (അല്ലെങ്കിൽ ഫ്ലോട്ടുകൾ) ഒരു പാരാമീറ്ററായി പ്രവർത്തിക്കില്ല. ശ്രേണിഫംഗ്ഷന്റെ ഡിഫോൾട്ട് പാരാമീറ്റർ '10' ആണ്. 

പാരാമീറ്ററിൽ പൂർണ്ണസംഖ്യ 10 ഉള്ള ലൂപ്പ് കമാൻഡിനായി.
  • ആർട്ട് കാൻവാസ് പ്ലേഗ്രൗണ്ട് തുറന്നിട്ടില്ലെങ്കിൽ അത് തുറക്കാൻ “ഓപ്പൺ പ്ലേഗ്രൗണ്ട്” ബട്ടൺ തിരഞ്ഞെടുത്ത് പ്രോജക്റ്റ് ആരംഭിക്കുക.
    മുകളിൽ വലതുവശത്ത് ചുവന്ന ബോക്സ് ഹൈലൈറ്റ് ചെയ്തിരിക്കുന്ന ഓപ്പൺ പ്ലേഗ്രൗണ്ട് ബട്ടണുള്ള VEXcode VR ടൂൾബാർ.
  • Art Canvas Playground ൽ VR Robot മുന്നോട്ട് പോകുന്നത് കണ്ട് നാല് തവണ വലത്തേക്ക് തിരിഞ്ഞ് പേന ഉപയോഗിച്ച് ഒരു ചതുരം വരയ്ക്കുക.

    കറുത്ത ചതുരം വരച്ച ആർട്ട് കാൻവാസ് കളിസ്ഥലം. കളിസ്ഥലത്തിന്റെ മധ്യഭാഗത്ത്, സ്ക്വയറിന്റെ താഴെ ഇടത് മൂലയിലാണ് VR റോബോട്ട് സ്ഥാപിച്ചിരിക്കുന്നത്.

ഈ പാഠത്തിന്റെ ബാക്കി ഭാഗം തുടരാൻ അടുത്തത് ബട്ടൺ തിരഞ്ഞെടുക്കുക.