Skip to main content

പാഠം 2: ഫോർ ലൂപ്പുള്ള ഒരു പ്രോജക്റ്റിന്റെ ഒഴുക്ക്

ഒരു പ്രോജക്റ്റ് ലൂപ്പിന് ഉപയോഗിക്കുമ്പോൾ, കമാൻഡുകൾ എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ അത് ഇപ്പോഴും അതേ ലോജിക് പിന്തുടരുന്നു. ഉദാഹരണത്തിന്, ഈ രണ്ട് കോഡ് സാമ്പിളുകളും VR റോബോട്ടിനെ അതേ രീതിയിൽ ചലിപ്പിക്കും. എന്നിരുന്നാലും,forലൂപ്പ് ഉള്ള പ്രോജക്റ്റ്, അങ്ങനെ ചെയ്യുന്നതിനായി രണ്ട് ഡ്രൈവ്‌ട്രെയിൻ കമാൻഡുകൾ നാല് തവണ ആവർത്തിക്കുന്നു.

ഫോർ ലൂപ്പ് ഉപയോഗിക്കുന്നതും ഉപയോഗിക്കാത്തതും തമ്മിലുള്ള വ്യത്യാസം വ്യക്തമാക്കുന്നതിന്, വശങ്ങളിലായി കാണിച്ചിരിക്കുന്ന ഒരു ചതുരത്തിൽ ഡ്രൈവ് ചെയ്യുന്നതിനുള്ള രണ്ട് കോഡ് സ്‌നിപ്പെറ്റുകൾ. ഇടതുവശത്തുള്ളതിൽ ഫോർ ലൂപ്പ് ഇല്ല, കൂടാതെ കമാൻഡുകൾക്കായുള്ള ഡ്രൈവ് ഫോർ, ടേൺ എന്നിവ ഓരോന്നും നാല് തവണ ആവർത്തിക്കുന്നു. വലതുവശത്തുള്ളതിൽ ഒരു ഫോർ ലൂപ്പും ചുവന്ന അമ്പടയാളങ്ങളും വൃത്താകൃതിയിൽ 4 തവണ വാക്കുകളും ഉണ്ട്, ഇത് ഫോർ ലൂപ്പ് ഡ്രൈവ് ഫോർ, ടേൺ ഫോർ കമാൻഡുകൾ നാല് തവണ ആവർത്തിക്കാൻ കാരണമാകുന്നുവെന്ന് സൂചിപ്പിക്കുന്നു.

ഒരു നിശ്ചിത എണ്ണം കമാൻഡുകളുടെ ഒരു പരമ്പര ആവർത്തിക്കാൻ ലൂപ്പിന് ഉപയോഗിക്കുന്നു. അതിനുള്ളിലെ കമാൻഡുകളുടെ ശ്രേണിയിൽ ഫോർ ലൂപ്പ് ആവർത്തിക്കുന്നു (ഇറ്ററേറ്റുകൾ എന്നും അറിയപ്പെടുന്നു). ഒരു പൈത്തൺ ഫോർ ലൂപ്പിൽ, നിലവിലെ ആവർത്തനം ട്രാക്ക് ചെയ്യാൻ 'മൂല്യം' എന്ന വേരിയബിൾ ഉപയോഗിക്കുന്നു, കൂടാതെ 'in' എന്ന കീവേഡ് ആവർത്തനങ്ങളുടെ എണ്ണം വ്യക്തമാക്കാൻ ശ്രേണിഫംഗ്ഷൻ ഉപയോഗിക്കുന്നു. കമാൻഡിലെ ഓരോ വാക്കിനും മുകളിലുള്ള വാചകം ഉപയോഗിച്ച് അതിന്റെ പ്രവർത്തനം തിരിച്ചറിയുന്നതിനായി ഒരു ഫോർ ലൂപ്പിന്റെ വാക്യഘടനയുടെ വിശകലന വിശകലനം. ആദ്യത്തെ വാക്കായ for ന് മുകളിൽ "ഐഡന്റിഫൈസ് ദി ലൂപ്പ്" എന്ന വാചകമുണ്ട്. രണ്ടാമത്തെ പദമായ value-ൽ "വേരിയബിളിനെ തിരിച്ചറിയുന്നു (ലൂപ്പിലൂടെ എത്ര തവണ ഇത് ആവർത്തിച്ചിട്ടുണ്ട്?)" എന്ന വാചകമുണ്ട്. മൂന്നാമത്തെ വാക്ക്, in, "വേരിയബിളിനെ ലിസ്റ്റുമായി (ശ്രേണി) ബന്ധിപ്പിക്കുന്നു" എന്ന വാചകം ഉൾക്കൊള്ളുന്നു. പരാൻതീസിസിൽ 10 എന്ന പാരാമീറ്ററുള്ള അവസാന വാക്ക് range ആണ്. മുകളിലുള്ള വാചകം ഇങ്ങനെയാണ്, "പട്ടിക തിരിച്ചറിയുന്നു (ലൂപ്പിലൂടെ എത്ര തവണ ഇത് ആവർത്തിക്കും?).

ലൂപ്പ് എത്ര തവണ ആവർത്തിക്കണം (അല്ലെങ്കിൽ ആവർത്തിക്കണം) എന്ന് ശ്രേണി ഫംഗ്ഷൻ തിരിച്ചറിയുന്നു. പെരുമാറ്റങ്ങൾ ആവശ്യമുള്ളത്ര തവണ ആവർത്തിക്കാൻ, ശ്രേണി ഫംഗ്‌ഷന്റെ പാരാമീറ്റർ സജ്ജമാക്കുക.

ശ്രേണി ഫംഗ്ഷൻ അടിസ്ഥാനപരമായി ഒരു താൽക്കാലിക ലിസ്റ്റ് സൃഷ്ടിക്കുന്നു, അത് ലൂപ്പ് പൂർത്തിയാക്കുന്നതിന് എന്തിലൂടെയാണ് ആവർത്തിക്കേണ്ടതെന്ന് വ്യക്തമാക്കുന്നു. ഒരു ചതുരത്തിന്റെ നാല് വശങ്ങൾ വരയ്ക്കുന്നത് പോലുള്ള ആവർത്തിച്ചുള്ള പെരുമാറ്റങ്ങളുടെ കാര്യത്തിൽ, ശ്രേണി ഫംഗ്ഷൻ (0, 1, 2, 3) ന്റെ ഒരു താൽക്കാലിക ലിസ്റ്റ് ഉപയോഗിക്കുന്നു, ഇത് VR റോബോട്ടിനെ ആ കമാൻഡുകൾ നാല് തവണ എക്സിക്യൂട്ട് ചെയ്യാൻ പ്രാപ്തമാക്കുന്നു. ഇവിടെ കാണിച്ചിരിക്കുന്നതുപോലെ, റേഞ്ച് ഫംഗ്ഷന്റെ പാരാമീറ്ററിനെ ആശ്രയിച്ച് VR റോബോട്ടിന്റെ ചലനം മാറും. 

റേഞ്ച് ഫംഗ്‌ഷൻ ചിത്രീകരിക്കുന്ന VEXcode പ്രോജക്റ്റ്. ഇത് വായിക്കുന്നു ഡെഫ് മെയിൻ ഓപ്പൺ പരാൻതീസിസ് ക്ലോസ് പരാൻതീസിസ് കോളൺ അടുത്ത വരി ഇൻഡന്റ് ചെയ്തിരിക്കുന്നു റീഡുകൾ പേന ഡോട്ട് നീക്കുക ഓപ്പൺ പരാൻതീസിസ് താഴേക്ക് അടയ്ക്കുക പരാൻതീസിസ് അടുത്ത വരി ശ്രേണിയിലെ മൂല്യത്തിനായി ഓപ്പൺ പരാൻതീസിസ് 0 അടയ്ക്കുക പരാൻതീസിസ് കോളൺ അടുത്ത വരി ഇൻഡന്റ് ചെയ്തിരിക്കുന്നു ഡ്രൈവ്‌ട്രെയിൻ ഡോട്ട് ഡ്രൈവ് അണ്ടർസ്‌കോർ ഓപ്പൺ പരാൻതീസിസ് ഫോർവേഡ്, 600, എംഎം അടയ്ക്കുക പരാൻതീസിസ് അടുത്ത വരി ഡ്രൈവ്‌ട്രെയിൻ ഡോട്ട് ഓപ്പൺ പരാൻതീസിസിനായി അണ്ടർസ്‌കോർ തിരിക്കുക വലത്, 90, ഡിഗ്രി അടയ്ക്കുക പരാൻതീസിസ് അടുത്ത വരി കാത്തിരിക്കുക ഓപ്പൺ പരാൻതീസിസ് അഞ്ച് കോമ MSEC). റോബോട്ടിനെ മധ്യത്തിൽ പ്രതിഷ്ഠിച്ചിരിക്കുന്ന ആർട്ട് കാൻവാസ് കളിസ്ഥലം. ഡ്രൈവ്ട്രെയിൻ കമാൻഡുകൾ 0 തവണ നടപ്പിലാക്കി.
മുകളിലുള്ള അതേ പ്രോജക്റ്റ്, പക്ഷേ ശ്രേണി ഫംഗ്ഷന്റെ പാരാമീറ്ററിൽ 1 ഉണ്ട്. ഒരു ചതുരത്തിന്റെ ഒരു വശം വരയ്ക്കുന്ന പ്രോജക്റ്റുള്ള ആർട്ട് കാൻവാസ് കളിസ്ഥലം പൂർത്തിയായി. ഡ്രൈവ്ട്രെയിൻ കമാൻഡുകൾ ഒരു തവണ നടപ്പിലാക്കി.
മുകളിലുള്ള അതേ പ്രോജക്റ്റ്, പക്ഷേ ശ്രേണി ഫംഗ്ഷന്റെ പാരാമീറ്ററിൽ 2 ഉണ്ട്. റോബോട്ട് ചതുരത്തിന്റെ ആദ്യ രണ്ട് വശങ്ങൾ വരച്ചതായി കാണിക്കുന്ന ആർട്ട് കാൻവാസ് കളിസ്ഥലം. ഡ്രൈവ്ട്രെയിൻ കമാൻഡുകൾ 2 തവണ നടപ്പിലാക്കി.
മുകളിലുള്ള അതേ പ്രോജക്റ്റ്, പക്ഷേ ശ്രേണി ഫംഗ്ഷന്റെ പാരാമീറ്ററിൽ 3 ഉണ്ട്. റോബോട്ട് ചതുരത്തിന്റെ മൂന്ന് വശങ്ങൾ വരച്ചതായി കാണിക്കുന്ന ആർട്ട് കാൻവാസ് കളിസ്ഥലം. ഡ്രൈവ്ട്രെയിൻ കമാൻഡുകൾ 3 തവണ നടപ്പിലാക്കി.
മുകളിലുള്ള അതേ പ്രോജക്റ്റ്, പക്ഷേ ശ്രേണി ഫംഗ്ഷന്റെ പാരാമീറ്ററിൽ 4 ഉണ്ട്. റോബോട്ട് ചതുരത്തിന്റെ നാല് വശങ്ങളും വരച്ചിട്ടുണ്ടെന്ന് കാണിക്കുന്ന ആർട്ട് കാൻവാസ് കളിസ്ഥലം. ഡ്രൈവ്‌ട്രെയിൻ കമാൻഡുകൾ 4 തവണ നടപ്പിലാക്കി, സ്ക്വയറിന്റെ 4 വശങ്ങളും പൂർത്തിയാക്കി.

 

മുകളിലുള്ള അതേ പ്രോജക്റ്റ്, പക്ഷേ ശ്രേണി ഫംഗ്ഷന്റെ പാരാമീറ്ററിൽ 5 ഉള്ളത്.

റോബോട്ട് ചതുരത്തിന്റെ നാല് വശങ്ങളും വരച്ചതായും പിന്നീട് ആദ്യത്തെ വശത്ത് വീണ്ടും വരച്ചതായും കാണിക്കുന്ന ആർട്ട് കാൻവാസ് കളിസ്ഥലം. ഡ്രൈവ്‌ട്രെയിൻ കമാൻഡുകൾ 5 തവണ നടപ്പിലാക്കി, ചതുരം പൂർത്തിയാക്കി, തുടർന്ന് ആദ്യ വശത്ത് വീണ്ടും ട്രെയ്‌സ് ചെയ്യുന്നു.

ശ്രേണിഫംഗ്ഷൻ നാലിൽ നിന്ന് അഞ്ചായി മാറിയപ്പോൾ ചതുരത്തിന്റെ വരച്ച ആകൃതി മാറിയില്ല എന്നത് ശ്രദ്ധിക്കുക; എന്നാൽ VR റോബോട്ടിന്റെ അവസാന സ്ഥാനം മാറി. അതിനാൽ, ഡിഫോൾട്ട്ശ്രേണിപത്തിന്റെ ഫംഗ്‌ഷനുള്ളലൂപ്പിന്ഉപയോഗിക്കുന്നത് അതേ ചതുരാകൃതി വരയ്ക്കുന്നതിന് കാരണമാകും, പക്ഷേ VR റോബോട്ട് പെരുമാറ്റങ്ങൾ ആറ് തവണ കൂടി ആവർത്തിക്കുന്നത് തുടരും. 

VR റോബോട്ട്, ഫോർ ലൂപ്പ് ഹെഡറിൽ നിന്ന് അവസാന ഇൻഡന്റ് ചെയ്ത കമാൻഡിലേക്ക് കമാൻഡുകളിലൂടെ നീങ്ങും. forലൂപ്പ് ഹെഡർ സൂചിപ്പിക്കുന്നത്, ഫോർ ലൂപ്പിന് പുറത്തുള്ള അടുത്ത കമാൻഡിലേക്ക് പോകുന്നതിന് മുമ്പ് VR റോബോട്ട് ലൂപ്പിനുള്ളിലെ പ്രവർത്തനങ്ങൾ നിർദ്ദിഷ്ട തവണ ആവർത്തിക്കണമെന്നാണ്. ഇൻഡന്റ് ചെയ്ത വരികൾ ഫോർ ലൂപ്പിനുള്ളിൽ ഏതൊക്കെ കമാൻഡുകളാണ് ഉള്ളതെന്നും അവ ആവർത്തിക്കണമെന്നും സൂചിപ്പിക്കുന്നു.

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

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

വെയിറ്റ് കമാൻഡുള്ള ഫോർ ലൂപ്പ്.

for ലൂപ്പ് എക്സിക്യൂട്ട് ചെയ്യാൻ സജ്ജമാക്കിയിരിക്കുന്ന നിർദ്ദിഷ്ട എണ്ണം, ആവശ്യമായ ആവർത്തനങ്ങൾ പൂർത്തിയാക്കുമ്പോൾ,forലൂപ്പിൽ നിന്ന് പ്രോജക്റ്റ് ഒഴുകാൻ പ്രാപ്തമാക്കുന്നു. ലൂപ്പിന് പുറത്തുള്ള അടുത്ത കമാൻഡിലേക്ക് പ്രോജക്റ്റ് നീങ്ങുന്നതിന് മുമ്പ്, ഫോർ ലൂപ്പിലെ റേഞ്ച്ഫംഗ്ഷന്റെ പാരാമീറ്ററിൽ എത്തിച്ചേരണം. താഴെയുള്ള കോഡ് സാമ്പിളിൽ,forലൂപ്പിലെ ഡ്രൈവ്‌ട്രെയിൻ കമാൻഡുകൾ നാല് തവണ എക്സിക്യൂട്ട് ചെയ്തുകഴിഞ്ഞാൽ, പ്രോജക്റ്റ്forലൂപ്പിൽ നിന്ന് പുറത്തേക്ക് നീങ്ങുകയും പേന നിറം ചുവപ്പായി സജ്ജമാക്കുകയും റിവേഴ്‌സ് ഡ്രൈവ് ചെയ്യുകയും ചെയ്യും. മുകളിൽ നിന്നുള്ള VEXcode പ്രോജക്റ്റ്, റേഞ്ച് പാരാമീറ്ററിൽ 4, ഫോർ ലൂപ്പിന് ചുറ്റും ചുവന്ന അമ്പടയാളങ്ങൾ കാണിച്ചിരിക്കുന്നു, കൂടാതെ പ്രോജക്റ്റ് ലൂപ്പിലൂടെ നാല് തവണ ആവർത്തിക്കുമെന്ന് 4x എന്ന നൊട്ടേഷൻ കാണിക്കുന്നു. താഴെ 2 അധിക കോഡ് വരികൾ ചേർത്തിരിക്കുന്നു. നാല് ആവർത്തനങ്ങളും പൂർത്തിയാകുമ്പോൾ ആ 2 വരികളും എക്സിക്യൂട്ട് ചെയ്യുമെന്ന് അമ്പടയാളങ്ങൾ കാണിക്കുന്നു. ആ വരികൾ ഇങ്ങനെയാണ്, പെൻ ഡോട്ട് സെറ്റ് കളർ ഓപ്പൺ പരാൻതീസിസ് റെഡ് ക്ലോസ് പരാൻതീസിസ് ആൻഡ് ഡ്രൈവ്ട്രെയിൻ ഡോട്ട് ഡ്രൈവ് അണ്ടർസ്കോർ ഫോർ ഓപ്പൺ പരാൻതീസിസ് റിവേഴ്സ് കോമ 600 കോമ എംഎം ക്ലോസ് പരാൻതീസിസ്. വലതുവശത്ത്, കളിസ്ഥലത്ത് പദ്ധതി നടത്തിക്കഴിഞ്ഞതിന് ശേഷമുള്ള ഒരു കറുത്ത ചതുരം കാണിക്കുന്നു, അതിൽ നിന്ന് VR റോബോട്ട് വരച്ച ചുവന്ന വര പുറത്തുവരുന്നു.

മിനി ചലഞ്ച്

ഈ പ്രോജക്റ്റിൽ, VR റോബോട്ട് ആർട്ട് കാൻവാസ് പ്ലേഗ്രൗണ്ട്, എന്നിവയിൽ ഒരു നീല ചതുരം വരയ്ക്കണം, പക്ഷേ പ്രോജക്റ്റിൽ പിശകുകളുണ്ട്. മിനി വെല്ലുവിളി പരിഹരിക്കാൻ പ്രോജക്റ്റ് എഡിറ്റ് ചെയ്യുക!

വിആർ റോബോട്ട് വരച്ച നീല ചതുരത്തോടുകൂടിയ ആർട്ട് കാൻവാസ് കളിസ്ഥലം.

മിനി ചലഞ്ച് പൂർത്തിയാക്കാൻ എന്തുചെയ്യണമെന്ന് താഴെയുള്ള വീഡിയോ കാണിക്കുന്നു. റോബോട്ട് കളിസ്ഥലത്തിന്റെ മധ്യത്തിൽ നിന്ന് ആരംഭിച്ച് ഒരു വലിയ നീല ചതുരത്തിന്റെ നാല് വശങ്ങളും വരയ്ക്കുന്നു. 

വീഡിയോ ഫയൽ
  • മിനി ചലഞ്ച് പൂർത്തിയാക്കാൻ VR റോബോട്ട് എങ്ങനെ നീങ്ങണമെന്ന് പരിഹാര വീഡിയോ കണ്ട് അവലോകനം ചെയ്യുക.
  • ഈ ചിത്രവുമായി പൊരുത്തപ്പെടുന്നതിന് Unit3Lesson2 പ്രോജക്റ്റ് പരിഷ്കരിക്കുക, അല്ലെങ്കിൽ താഴെയുള്ള കോഡ് പകർത്തുക.
     
def main():
	pen.move(DOWN)
	pen.set_pen_color(RED)
	drivetrain.drive_for(FORWARD, 600, MM)
	
	ശ്രേണിയിലെ മൂല്യത്തിന് (3):
		drivetrain.drive_for(FORWARD, 600, MM)
		drivetrain.turn_for(RIGHT, 90, DEGREES)
		കാത്തിരിക്കുക (5, MSEC)
  • പ്രോജക്റ്റ് ആരംഭിച്ച് VR റോബോട്ട് പ്രതീക്ഷിക്കുന്ന പെരുമാറ്റങ്ങൾ പൂർത്തിയാക്കാത്ത ഇടങ്ങൾ തിരിച്ചറിയുക.
  • പ്രോജക്റ്റ് പരിഷ്കരിച്ച് വീണ്ടും പ്രവർത്തിപ്പിക്കുക. പ്രതീക്ഷിക്കുന്ന സ്വഭാവരീതികൾ VR റോബോട്ട് പൂർത്തിയാക്കുന്നുണ്ടോ എന്ന് നോക്കുക.
  • VR റോബോട്ട് ഒരു നീല ചതുരം വരയ്ക്കുന്നില്ലെങ്കിൽ, മുമ്പത്തെ ഘട്ടം ആവർത്തിച്ച് വീണ്ടും ശ്രമിക്കുക. VR റോബോട്ട് ഒരു നീല ചതുരം വരയ്ക്കുന്നത് വരെ നിങ്ങളുടെ പ്രോജക്റ്റ് പരിഷ്കരിക്കുന്നതും പ്രവർത്തിപ്പിക്കുന്നതും തുടരുക.
  • ആർട്ട് കാൻവാസ് പ്ലേഗ്രൗണ്ട്ൽ VR റോബോട്ട് ഒരു നീല ചതുരം വിജയകരമായി വരച്ചുകഴിഞ്ഞാൽ, പ്രോജക്റ്റ് സേവ് ചെയ്യുക.

അഭിനന്ദനങ്ങൾ! നിങ്ങൾ മിനി ചലഞ്ച് പരിഹരിച്ചു!

ചോദ്യങ്ങൾ

പാഠ ക്വിസ് ആക്‌സസ് ചെയ്യുന്നതിന് താഴെയുള്ള ലിങ്ക് തിരഞ്ഞെടുക്കുക.

ഗൂഗിൾ ഡോക് / .ഡോക്സ് / .പിഡിഎഫ്