Skip to main content

പാഠം 3: സോപാധിക പ്രസ്താവനകൾ

മുൻ പാഠത്തിൽ, ഒരു പ്രോജക്റ്റിൽ ഒപ്റ്റിക്കൽ സെൻസറിൽ നിന്നുള്ള ഡാറ്റ ഉപയോഗിച്ച് ഒരു ഡിസ്ക് നിറം അനുസരിച്ച് അടുക്കുന്നത് എങ്ങനെയെന്ന് നിങ്ങൾ പഠിച്ചു. ഈ പാഠത്തിൽ, ഒപ്റ്റിക്കൽ സെൻസർ ഏത് നിറം കണ്ടെത്തിയാലും തീരുമാനമെടുക്കാൻ പ്രോജക്റ്റിനെ പ്രാപ്തമാക്കുന്ന VEXcode-ലെ ഓപ്ഷനുകൾ പര്യവേക്ഷണം ചെയ്യാൻ നിങ്ങൾ പഠിച്ചതിനെ അടിസ്ഥാനമാക്കിയാണ് നിങ്ങൾ നിർമ്മിക്കുന്നത്. നിങ്ങൾ ഇതിനെക്കുറിച്ച് പഠിക്കും: 

  • ഒരു വ്യാവസായിക പശ്ചാത്തലത്തിൽ തീരുമാനമെടുക്കൽ ഒപ്റ്റിമൈസ് ചെയ്യുന്നത് എന്തുകൊണ്ട് പ്രധാനമാണ്.
  • if then,if then else,ifബ്ലോക്കുകൾ എന്നിവ തമ്മിലുള്ള വ്യത്യാസം.

ഒന്നിലധികം അവസ്ഥകൾ പരിശോധിക്കുന്നു

മുൻ പാഠത്തിൽ, ഒരു ഡിസ്കിനെ നിറം അനുസരിച്ച് ചുവന്ന പാലറ്റിലേക്കോ പച്ച പാലറ്റിലേക്കോ അടുക്കാൻ കഴിയുന്ന ഒരു പ്രോജക്റ്റ് നിങ്ങൾ സൃഷ്ടിച്ചു. ഇത് ഫലപ്രദമാണെങ്കിലും, ഒരു സമയം ഒരു ഡിസ്ക് മാത്രമേ സോർട്ട് ചെയ്യാൻ കഴിയൂ. ഒരു ഫാക്ടറി ക്രമീകരണത്തിൽ, പല വസ്തുക്കളും ആവർത്തിച്ച് തരംതിരിച്ച് പാലറ്റൈസ് ചെയ്യേണ്ടതുണ്ട്. ഇത് ഫലപ്രദമായി ചെയ്യുന്നതിന്, വസ്തുക്കളെ എങ്ങനെ നീക്കണം, അല്ലെങ്കിൽ മനുഷ്യന്റെ ഇടപെടൽ ആവശ്യമുണ്ടോ എന്നതിനെക്കുറിച്ച് 6-ആക്സിസ് ആം ആവർത്തിച്ച് തീരുമാനമെടുക്കാൻ കഴിയേണ്ടതുണ്ട്. 6-ആക്സിസ് ആം കോഴ്സിലേക്കുള്ള ആമുഖത്തിൽ നിങ്ങൾ നീക്കിയ ക്യൂബുകൾ പരിഗണിക്കുക.ഒപ്റ്റിക്കൽ സെൻസറിന് മുകളിൽ ഒരു നീല ക്യൂബ് പിടിച്ചിരിക്കുന്ന 6-ആക്സിസ് ആമിന്റെ ക്ലോസ് അപ്പ്.

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

ക്രമംഎങ്കിൽബ്ലോക്ക്

മുൻ പാഠത്തിൽ, പ്രോജക്റ്റിനുള്ളിൽ രണ്ട് വ്യത്യസ്ത വ്യവസ്ഥകൾ ഒന്നിനുപുറകെ ഒന്നായി പരിശോധിക്കുന്നതിന് നിങ്ങൾ രണ്ട്എങ്കിൽബ്ലോക്കുകൾ ക്രമത്തിൽ ഉപയോഗിച്ചു, അടിസ്ഥാനപരമായി രണ്ട് ചോദ്യങ്ങൾ ചോദിച്ചു.

ഉദാഹരണം മുൻ പാഠത്തിലെ വെല്ലുവിളി പൂർത്തിയാക്കുന്ന VEXcode പ്രോജക്റ്റ്. "Disk ശരിയായ പാലറ്റിലേക്ക് നീക്കുക" എന്ന കമന്റിൽ ചുവന്ന നിറത്തിൽ ഒരു ഹൈലൈറ്റ് ഉണ്ട്, ആ കമന്റിന് താഴെയുള്ള രണ്ട് "If then blocks" ഉം ഉണ്ട്. ചുവന്ന ഹൈലൈറ്റ് ബോക്സിലെ ബ്ലോക്കുകൾ ഇപ്രകാരമാണ്: ഒപ്റ്റിക്കൽ 5 ചുവപ്പ് കണ്ടെത്തുകയാണെങ്കിൽ, ആം 10 x 169 y 150 z 100 സ്ഥാനത്തേക്ക് നീക്കുക, ഒപ്റ്റിക്കൽ 5 പച്ച കണ്ടെത്തുകയാണെങ്കിൽ, ആം 10 x 172 y 1 z 100 സ്ഥാനത്തേക്ക് നീക്കുക.

ആദ്യം, വസ്തു ചുവപ്പാണോ?, പിന്നെ, വസ്തു പച്ചയാണോ?. ഒപ്റ്റിക്കൽ സെൻസർ എന്ത് കണ്ടെത്തിയാലും, പ്രോജക്റ്റ് പ്രവർത്തിപ്പിക്കുമ്പോഴെല്ലാം ഓരോ അവസ്ഥയും പരിശോധിക്കുന്നു. ഈ ഘടന ഒരു സമയം ഒരു ഡിസ്ക് ഫലപ്രദമായി അടുക്കാൻ നിങ്ങളെ പ്രാപ്തമാക്കിയിട്ടുണ്ടെങ്കിലും, അത് ചെയ്യാനുള്ള ഏറ്റവും കാര്യക്ഷമമായ മാർഗമല്ല ഇത്. ഒരു ചുവന്ന ഡിസ്ക് സോർട്ടുചെയ്യാൻ കഴിയും, പക്ഷേ ഒപ്റ്റിക്കൽ സെൻസറിന് പരിസ്ഥിതിയിലെ മറ്റെന്തെങ്കിലും നിന്ന് പച്ച കണ്ടെത്താനും കഴിയും, തിരിച്ചും. സുരക്ഷാ പ്രശ്‌നമുണ്ടാക്കുന്ന അപ്രതീക്ഷിത വസ്തുവിനെപ്പോലെ, ചുവപ്പോ പച്ചയോ അല്ലാത്ത ഒരു വസ്തുവിനും പരിഗണന നൽകുന്നില്ല.

പ്രോജക്റ്റ് ഫ്ലോ ചിത്രങ്ങൾ

ഈ പാഠത്തിലുടനീളം, VEXcode പ്രോജക്റ്റുകളുടെ ഒഴുക്ക് വിശദീകരിക്കുന്ന ചിത്രങ്ങൾ പങ്കിടുന്നു. പാഠഭാഗം പഠിക്കുന്നതിനോടൊപ്പം തന്നെ നിങ്ങളുടെ എഞ്ചിനീയറിംഗ് നോട്ട്ബുക്കിൽ ഈ ചിത്രങ്ങൾ പുനഃസൃഷ്ടിക്കാനും കഴിയും. 

നിങ്ങളുടെ നോട്ട്ബുക്കിൽ നിങ്ങൾക്ക് ഏറ്റവും അനുയോജ്യമായ ദൃശ്യവൽക്കരണങ്ങൾ സൃഷ്ടിക്കാൻ സഹായിക്കുന്നതിന് Google സ്ലൈഡുകളിലോ Microsoft PowerPoint-ലോ അമ്പടയാളങ്ങൾ, ബോക്സുകൾ അല്ലെങ്കിൽ ഫ്ലോചാർട്ടുകൾ പോലുള്ള ഉപകരണങ്ങൾ ഉപയോഗിക്കുക.

Google സ്ലൈഡിലെ ലൈൻ ടൂൾബോക്സ് തുറന്നു. ലൈൻ, ആരോ, എൽബോ കണക്റ്റർ, കർവ്ഡ് കണക്റ്റർ, കർവ്, പോളിലൈൻ, സ്ക്രിബിൾ എന്നിവയ്ക്കുള്ള ഓപ്ഷനുകൾ ടൂൾബോക്സ് കാണിക്കുന്നു.

 

അനുക്രമംഎങ്കിൽ അല്ലെങ്കിൽബ്ലോക്ക്

ചുവപ്പും പച്ചയും നിറങ്ങളുടെ അവസ്ഥ പരിശോധിക്കാനും വ്യത്യസ്തമായ നിറം കണക്കാക്കാനും നമ്മെ പ്രാപ്തരാക്കുന്ന മറ്റൊരു ബ്ലോക്ക് ഉണ്ട്. If then elseബ്ലോക്ക് എന്നത്ifബ്രാഞ്ചിനുള്ളിലോelseബ്രാഞ്ചിനുള്ളിലോ ഉള്ള ബ്ലോക്കുകൾ പ്രവർത്തിപ്പിക്കുന്ന ഒരു C ബ്ലോക്കാണ്, റിപ്പോർട്ട് ചെയ്ത ബൂളിയൻ മൂല്യത്തെ അടിസ്ഥാനമാക്കി.

പ്രോജക്റ്റ് ഫ്ലോയെ സൂചിപ്പിക്കുന്നതിന് ചുവപ്പ്, പച്ച അമ്പടയാളങ്ങളുള്ള if then else ബ്ലോക്ക് ഉപയോഗിച്ചുള്ള കോഡിന്റെ സ്നിപ്പറ്റ്. പ്രോജക്റ്റ് ഇപ്രകാരമാണ്: ഡിസ്ക് ശരിയായ പാലറ്റിലേക്ക് നീക്കുക, ഒപ്റ്റിക്കൽ 5 ചുവപ്പ് നിറം കണ്ടെത്തുകയാണെങ്കിൽ ആം 10 x 169 y 150 z 100 സ്ഥാനത്തേക്ക് നീക്കുക, അല്ലെങ്കിൽ സിഗ്നൽ ടവർ 6 നീലയും മിന്നലും ആക്കുക, ആം 10 നിയന്ത്രിത സ്റ്റോപ്പിലേക്ക് സജ്ജമാക്കുക. ശ്രദ്ധിക്കുക, else ന് ശേഷമുള്ള രണ്ട് കമാൻഡുകളും if then else ബ്ലോക്കിന്റെ else ബ്രാഞ്ചിലാണ്. ഒരു പച്ച അമ്പടയാളവും ടെക്സ്റ്റ് റീഡിംഗും ഒപ്റ്റിക്കൽ, If then മുതൽ move to position ബ്ലോക്കിലേക്കുള്ള ചുവന്ന ട്രൂ പോയിന്റുകൾ കണ്ടെത്തുന്നു. ടെക്സ്റ്റ് റീഡിംഗ് ഒപ്റ്റിക്കലുള്ള ഒരു ചുവന്ന അമ്പടയാളം, if then മുതൽ else ബ്രാഞ്ചിന്റെ തുടക്കത്തിലുള്ള സെറ്റ് സിഗ്നൽ ടവർ ബ്ലോക്കിലേക്കുള്ള ചുവന്ന തെറ്റായ പോയിന്റുകൾ കണ്ടെത്തുന്നു.

ifബ്രാഞ്ച് അല്ലെങ്കിൽ elseബ്രാഞ്ച് പ്രവർത്തിപ്പിച്ച ശേഷം, പ്രോജക്റ്റ് സ്റ്റാക്കിലെ അടുത്ത ബ്ലോക്കിലേക്ക് നീങ്ങും. ശാഖകൾ കൂടുതൽ ദൃശ്യമാക്കുന്നതിന്അല്ലെങ്കിൽബ്ലോക്കുകളുടെ പ്രോജക്റ്റ് ഫ്ലോ കാണിക്കാനും കഴിയും.

മുമ്പത്തെ അതേ പ്രോജക്റ്റ് ഫ്ലോ, പക്ഷേ വ്യക്തതയ്ക്കായി if ബ്രാഞ്ചും മറ്റേ ബ്രാഞ്ചും വേർതിരിച്ചിരിക്കുന്നു. ഇടതുവശത്ത് ചുവന്ന നിറത്തിലുള്ള ടെക്സ്റ്റ് ഉണ്ട്, അതിൽ ചുവപ്പ് not detected false else എന്ന് എഴുതിയിരിക്കുന്നു, അതിൽ സെറ്റ് സിഗ്നൽ ടവറിലേക്കും സെറ്റ് നിയന്ത്രിത സ്റ്റോപ്പ് ബ്ലോക്കുകളിലേക്കും ഒരു അമ്പടയാളം ചൂണ്ടിക്കാണിക്കുന്നു. വലതുവശത്ത് ചുവപ്പ് നിറത്തിൽ "true then" എന്ന് കണ്ടെത്തി, ഒരു അമ്പടയാളം move to position ബ്ലോക്കിലേക്ക് വിരൽ ചൂണ്ടുന്നു. ഇടതും വലതും രണ്ട് വശങ്ങളിലും താഴെ ഓറഞ്ച് അമ്പടയാളങ്ങളുണ്ട്, if then else ബ്ലോക്കിന് താഴെയുള്ള പ്രോജക്റ്റ് അവർ തുടരുമെന്ന് സൂചിപ്പിക്കുന്നു.

ഈ ഉദാഹരണങ്ങളിൽ, ചുവപ്പോ പച്ചയോ അല്ലാത്ത ഒരു വസ്തുവിന്റെ അവസ്ഥ കൈകാര്യം ചെയ്യാൻ elseബ്രാഞ്ച് ഉപയോഗിച്ചിരിക്കുന്നു എന്നത് ശ്രദ്ധിക്കുക. അങ്ങനെയെങ്കിൽ, മനുഷ്യ ഇടപെടൽ ആവശ്യമായി വരും. സിഗ്നൽ ടവറിലെ നീല വെളിച്ചം മനുഷ്യ ഇടപെടൽ ആവശ്യമാണെന്ന് സൂചിപ്പിക്കാൻ ഉപയോഗിക്കുന്നുണ്ടെന്ന് നിങ്ങൾ മുമ്പ് അറിഞ്ഞിരുന്നു. കൂടാതെ, ആളുകളെയും യന്ത്രങ്ങളെയും സുരക്ഷിതമായി സൂക്ഷിക്കുന്നതിന് ഒരു നിയന്ത്രിത സ്റ്റോപ്പ് 6-ആക്സിസ് ആം ചലനത്തെ നിർത്തും. ചുവപ്പോ പച്ചയോ അല്ലാത്ത ഒരു വസ്തു ഈ സുരക്ഷാ സവിശേഷതകൾ പ്രവർത്തനക്ഷമമാക്കുന്നതിന്,elseബ്രാഞ്ചിലേക്ക് ഒരു സെറ്റ് സിഗ്നൽ ടവർബ്ലോക്കുംസെറ്റ് കൺട്രോൾ സ്റ്റോപ്പ്ബ്ലോക്കും ചേർക്കാൻ കഴിയും.

If then else ബ്ലോക്കിന്റെ else ബ്രാഞ്ചിലെ ഉള്ളടക്കങ്ങൾ ഒരു ചുവന്ന ബോക്സ് ഉപയോഗിച്ച് വിളിച്ചു പറഞ്ഞു. ഇതിൽ സെറ്റ് സിഗ്നൽ ടവർ ബ്ലോക്കും ആം കൺട്രോൾഡ് സ്റ്റോപ്പ് ബ്ലോക്കും ഉൾപ്പെടുന്നു.

ഇതുവരെയുള്ള ചിത്രങ്ങൾ, വസ്തുവിന്റെ ചുവപ്പ് നിറത്തിന്റെ അവസ്ഥ എങ്ങനെ കൈകാര്യം ചെയ്യണമെന്ന് മാത്രമേ കാണിച്ചിട്ടുള്ളൂ. മറ്റൊരു വസ്തുവിന്റെ പച്ച നിറത്തിലുള്ള അവസ്ഥ പരിശോധിക്കാൻ മറ്റേതെങ്കിലുംആവശ്യമുണ്ടെങ്കിൽ.

ആദ്യത്തേതിന് തൊട്ടുപിന്നാലെ രണ്ടാമത്തേത് "if then else" ബ്ലോക്ക് ചേർത്ത അതേ വെക്സ്കോഡ് പ്രോജക്റ്റ്. ഈ ബ്ലോക്കും അതിൽ അടങ്ങിയിരിക്കുന്ന ബ്ലോക്കുകളും വായിക്കുക: ഒപ്റ്റിക്കൽ 5 പച്ച നിറം കണ്ടെത്തുകയാണെങ്കിൽ, ആം 10 x 172 y 1 z 100 സ്ഥാനത്തേക്ക് നീക്കുക, അല്ലെങ്കിൽ സിഗ്നൽ ടവർ 6 നീലയും മിന്നലും ആക്കുക, ആം 10 നിയന്ത്രണം നിർത്തിയതായി സജ്ജമാക്കുക.

ഈ ഘടനയിലുള്ള പ്രോജക്റ്റ് പ്രവാഹത്തെക്കുറിച്ച് നമുക്ക് ചിന്തിക്കാം. ഓരോ തവണ പ്രോജക്റ്റ് പ്രവർത്തിപ്പിക്കുമ്പോഴും, ഒപ്റ്റിക്കൽ സെൻസർ ഏത് നിറം കണ്ടെത്തിയാലും, ഒന്നിലധികം ശാഖകൾ പ്രവർത്തിപ്പിക്കപ്പെടും.

രണ്ടെണ്ണത്തിനുള്ള പ്രോജക്റ്റ് ഫ്ലോ ഇമേജ്, അല്ലെങ്കിൽ ബ്ലോക്കുകൾ. മുകളിലെ പകുതി മുമ്പത്തെ അതേ പ്രോജക്റ്റ് ഫ്ലോ കാണിക്കുന്നു, തുടർന്ന് ഒരു ഓറഞ്ച് അമ്പടയാളം ആദ്യത്തേതിൽ നിന്ന് രണ്ടാമത്തേതിലേക്ക് നീങ്ങുന്നത് കാണാം. രണ്ടാമത്തെ if then else ബ്ലോക്കിൽ പച്ച അമ്പടയാളങ്ങളും വശത്ത് "optical detects green true" എന്ന് എഴുതിയിരിക്കുന്ന വാചകവുമുണ്ട്. if then ൽ നിന്ന് if then ബ്രാഞ്ചിനുള്ളിലെ move to position ബ്ലോക്കിലേക്കാണ് അമ്പടയാളം ചൂണ്ടുന്നത്. ഒരേ ബിന്ദുവിൽ നിന്ന് ആരംഭിക്കുന്നത് ചുവന്ന വാചകവും ഒരു ചുവന്ന അമ്പടയാളവും ആണ്: ഒപ്റ്റിക്കൽ പച്ച തെറ്റ് കണ്ടെത്തുന്നു. if then ൽ നിന്ന് മറ്റേ ബ്രാഞ്ചിലെ സെറ്റ് സിഗ്നൽ ടവർ ബ്ലോക്കിലേക്കാണ് അമ്പടയാളം ചൂണ്ടുന്നത്.

ഒരു ചുവന്ന ഡിസ്ക് ഉദാഹരണമായി ഉപയോഗിച്ച് ഇതിനെക്കുറിച്ച് ചിന്തിക്കാം. ഒപ്റ്റിക്കൽ സെൻസർ ചുവപ്പ് നിറം കണ്ടെത്തിയാൽ, ആദ്യത്തെന്റെ അവസ്ഥ അങ്ങനെയാണെങ്കിൽബ്ലോക്ക് ശരിയാണെന്ന് റിപ്പോർട്ട് ചെയ്യും. ആണെങ്കിൽബ്രാഞ്ചിനുള്ളിലെ ബ്ലോക്ക് പ്രവർത്തിക്കും, 6-ആക്സിസ് ആം ചുവന്ന പാലറ്റിന് മുകളിലൂടെ നീക്കും. എന്നിരുന്നാലും, രണ്ടാമത്തെയുടെ ഉള്ളിലെ അവസ്ഥ അങ്ങനെയാണെങ്കിൽബ്ലോക്ക് തെറ്റാണെന്ന് റിപ്പോർട്ട് ചെയ്യും. ഇതിനർത്ഥം അതിന്റെഅല്ലെസ്ബ്രാഞ്ചിനുള്ളിലെ ബ്ലോക്ക് പ്രവർത്തിക്കുകയും 6-ആക്സിസ് ആമിനെ ഒരു നിയന്ത്രിത സ്റ്റോപ്പിലേക്ക് മാറ്റുകയും സിഗ്നൽ ടവറിൽ നീല മിന്നുകയും ചെയ്യും എന്നാണ്. 6-ആക്സിസ് ആം നിയന്ത്രിത സ്റ്റോപ്പ് അവസ്ഥയിലായതിനാൽ, പ്രോജക്റ്റിലെ മറ്റ് ബ്ലോക്കുകളൊന്നും പ്രവർത്തിക്കാൻ കഴിയില്ല, മാത്രമല്ല അത് പരിഹരിക്കപ്പെടുന്നതുവരെ എല്ലാ പ്രവർത്തനങ്ങളും നിർത്തിവയ്ക്കുകയും ചെയ്യും. 

ഒപ്റ്റിക്കൽ സെൻസർ ചുവപ്പ് നിറം കണ്ടെത്തുന്നതിന്റെ ഉദാഹരണത്തിലൂടെ പ്രോജക്റ്റ് ഫ്ലോ നടക്കുന്നു. പ്രോജക്റ്റിന്റെ വശത്തുള്ള കുറിപ്പുകളും അമ്പടയാളങ്ങളും ഒപ്റ്റിക്കൽ ഡിറ്റക്റ്റുകളെ ചുവപ്പ് true എന്ന് വായിക്കുന്നു, തുടർന്ന് ബ്രാഞ്ച് പ്രവർത്തിക്കുകയാണെങ്കിൽ ആദ്യത്തേതിൽ ബ്ലോക്ക് സ്ഥാനത്തേക്ക് നീക്കുക. താഴെയുള്ള വാചകം ഇങ്ങനെയാണ്: else ബ്രാഞ്ച് പ്രവർത്തിക്കില്ല, കാരണം if then ബ്രാഞ്ച് പ്രവർത്തിപ്പിച്ചിരുന്നു. ഒരു അമ്പടയാളം രണ്ടാമത്തേതിലേക്ക് പോയിന്റ് ചെയ്യുന്നു, if then else block. അതിനടുത്തുള്ള വാചകം ഇങ്ങനെയാണ്: optical പച്ച false കണ്ടെത്തി ചുവന്ന അമ്പടയാളം രണ്ടാമത്തെ else ശാഖയിലേക്ക് പോയിന്റ് ചെയ്യുന്നു if then else block. കൺട്രോൾ സ്റ്റോപ്പ് ബ്ലോക്കിലേക്കുള്ള സെറ്റ് ആമിൽ നിന്ന് ഒരു ഓറഞ്ച് അമ്പടയാളം വശത്തേക്ക് ചൂണ്ടുന്നു, വെൻ ആം 10 കൺട്രോൾ സ്റ്റോപ്പ് ഹാറ്റ് ബ്ലോക്കിലേക്ക്. താഴെയുള്ള വാചകം, when control stopded hat ബ്ലോക്കിൽ ഘടിപ്പിച്ചിരിക്കുന്നവ ഒഴികെയുള്ള എല്ലാ ബ്ലോക്കുകളും നിർത്തുമ്പോൾ കൺട്രോൾ സ്റ്റോപ്പ് പ്രവർത്തനക്ഷമമാകും എന്നാണ്.

ഇപ്പോൾ നമുക്ക് ഒരു അപ്രതീക്ഷിത വസ്തുവിനെ (നീല ക്യൂബ് പോലുള്ളവ) കണക്കാക്കാൻ കഴിയുമെങ്കിലും, 6-ആക്സിസ് ആം ഒരിക്കലും ഡിസ്ക് പാലറ്റിലേക്ക് വിടുന്ന പ്രോജക്റ്റിലെ പോയിന്റിലേക്ക് എത്തില്ല. ചുവപ്പും പച്ചയും നിറത്തിലുള്ള അവസ്ഥകൾ ഒന്നിനുപുറകെ ഒന്നായി പരിശോധിക്കുന്നതിനുപകരം, ഒരു വസ്തു പച്ചയാണോമാത്രം, വസ്തു ചുവപ്പല്ലെങ്കിൽമാത്രം എന്ന് പരിശോധിക്കാനുള്ള ഒരു മാർഗമുണ്ട്.   

നെസ്റ്റഡ്ആണെങ്കിൽ അല്ലെങ്കിൽബ്ലോക്ക് 

യുടെ ഓരോ ശാഖകൾക്കുംബ്ലോക്കിനുള്ളിലെ മറ്റ് C ബ്ലോക്കുകൾ സ്വീകരിക്കാൻ കഴിയും. ഇതിനെ 'നെസ്റ്റിംഗ്' എന്ന് വിളിക്കുന്നു. ഇതിനർത്ഥം, രണ്ടാമത്തെIf then elseബ്ലോക്ക്, ആദ്യത്തേതിന്റെelseബ്രാഞ്ചിനുള്ളിൽ ഇതുപോലെ നെസ്റ്റ് ചെയ്യാമെന്നാണ്.മുകളിലുള്ള അതേ പ്രോജക്റ്റ്, പക്ഷേ രണ്ടാമത്തെ if then else ബ്ലോക്ക് ആദ്യത്തേതിന്റെ else ബ്രാഞ്ചിനുള്ളിലാണ്. ആദ്യത്തേതിന്റെ else ശാഖയിൽ if then else ബ്ലോക്കിൽ രണ്ടാമത്തേതിന് ചുറ്റും ഒരു ചുവന്ന പെട്ടി ഉണ്ട്.

ഇനി, പച്ച നിറം കണ്ടെത്തുന്ന ഒപ്റ്റിക്കൽ സെൻസറിന്റെ അവസ്ഥ പരിശോധിക്കുന്നത്, മുമ്പത്തെ അവസ്ഥ (ഒപ്റ്റിക്കൽ സെൻസർ ചുവപ്പ് നിറം കണ്ടെത്തുന്നു) തെറ്റാണെന്ന് റിപ്പോർട്ട് ചെയ്യുമ്പോൾ മാത്രമാണ്. അതിനാൽ ഒപ്റ്റിക്കൽ സെൻസർ ചുവപ്പ് നിറം കണ്ടെത്തുമ്പോൾ,ബ്രാഞ്ച് ഉണ്ടെങ്കിൽ ആദ്യത്തെമാത്രമേ പ്രവർത്തിക്കൂ, ഡിസ്ക് ചുവന്ന പാലറ്റിന് മുകളിലേക്ക് നീക്കും. 

ആദ്യത്തെ if then else ബ്ലോക്കിന്റെ if then ബ്രാഞ്ചിൽ ബ്ലോക്ക് സ്ഥാപിക്കുന്നതിനുള്ള നീക്കത്തോടെ പ്രോജക്റ്റിന്റെ ക്ലോസ് അപ്പ് വ്യൂ, ഒരു ചുവന്ന ബോക്സ് ഉപയോഗിച്ച് വിളിക്കുന്നു.

ഒപ്റ്റിക്കൽ സെൻസർ പച്ച നിറം കണ്ടെത്തുകയാണെങ്കിൽ, ആദ്യത്തെifബ്രാഞ്ചിന്റെ അവസ്ഥ (ഒപ്റ്റിക്കൽ ചുവപ്പ് നിറം കണ്ടെത്തുന്നു) തെറ്റാണെന്ന് റിപ്പോർട്ട് ചെയ്യും, അങ്ങനെelseബ്രാഞ്ചുകളും പ്രവർത്തിക്കും. നെസ്റ്റഡ് ന്റെ അവസ്ഥ. അല്ലെങ്കിൽ ഒപ്റ്റിക്കൽ സെൻസർ പച്ച നിറം കണ്ടെത്തുന്നുണ്ടോ എന്ന് കാണാൻബ്ലോക്ക് പരിശോധിക്കും. ആ അവസ്ഥ ശരിയാണെന്ന് റിപ്പോർട്ട് ചെയ്യപ്പെടും, അതിനാൽബ്രാഞ്ച് മാത്രമേ ഉള്ളൂവെങ്കിൽ രണ്ടാമത്തെയ്ക്കുള്ളിലെ ബ്ലോക്ക് പ്രവർത്തിക്കും, ഡിസ്ക് പച്ച പാലറ്റിന് മുകളിലൂടെ നീക്കും. 

ഒപ്റ്റിക്കൽ സെൻസർ ചുവപ്പോ പച്ചയോ കണ്ടെത്തിയില്ലെങ്കിൽ (നീല ക്യൂബ് എടുക്കുന്നത് പോലെ), രണ്ട് അവസ്ഥകളും തെറ്റാണെന്ന് റിപ്പോർട്ട് ചെയ്യപ്പെടും, അതിനാൽ നെസ്റ്റഡ്ന്റെelseബ്രാഞ്ച് പ്രവർത്തിക്കും. അങ്ങനെയെങ്കിൽബ്ലോക്ക് പ്രവർത്തിക്കും, ഇത് ഒരു നിയന്ത്രിത സ്റ്റോപ്പ് ട്രിഗർ ചെയ്യുകയും തൊഴിലാളികളെ മനുഷ്യ ഇടപെടലിന്റെ ആവശ്യകതയെക്കുറിച്ച് മുന്നറിയിപ്പ് നൽകുകയും ചെയ്യും. ഈ പ്രോജക്റ്റ് ഫ്ലോകളെ ഇവിടെ കാണുന്നതുപോലെ ഒരു ഫ്ലോ ചാർട്ടായും ദൃശ്യവൽക്കരിക്കാവുന്നതാണ്.

ഒരു പ്രോജക്റ്റിന്റെ ഒഴുക്ക് വിശദീകരിക്കുന്ന ഡയഗ്രം. മുകളിലായി ഒപ്റ്റിക്കൽ ചുവപ്പ് നിറം കണ്ടെത്തുമോ എന്ന ചോദ്യമുണ്ട്. ഇടതുവശത്തേക്ക് ഒരു പച്ച വര വളർന്ന് "ചുവന്ന പാലറ്റിന് മുകളിലൂടെ നീങ്ങുക" എന്ന് പറയുന്നു, തുടർന്ന് അവിടെ നിന്ന് ഒരു ഓറഞ്ച് വര താഴേക്ക് വന്ന് ശരിയായ പാലറ്റിൽ ഡിസ്ക് സ്ഥാപിക്കുക എന്ന് പറയുന്നു. യഥാർത്ഥ ചോദ്യത്തിൽ നിന്ന് ഒരു ചുവന്ന വര വേർപിരിഞ്ഞ് 'തെറ്റ്' എന്ന് പറയുന്നു. ഇതിനെത്തുടർന്ന് മറ്റൊരു ചോദ്യം ഉയർന്നുവരുന്നു: ഒപ്റ്റിക്കൽ പച്ച കണ്ടെത്തുന്നുണ്ടോ? വീണ്ടും വലതുവശത്തുള്ള പച്ച വര ശരി എന്ന് പറഞ്ഞു പച്ച പാലറ്റിന് മുകളിലേക്ക് നീങ്ങുക. ഇത് ഒരു ഓറഞ്ച് വരയുമായി ബന്ധിപ്പിക്കുന്നത്, "ശരിയായ പാലറ്റിൽ ഡിസ്ക് സ്ഥാപിക്കുക" എന്ന് പറയുന്ന മറ്റൊരു പച്ച വരയുടെ അതേ ബോക്സിലേക്കാണ്. വലതുവശത്ത് തെറ്റ് എന്ന് എഴുതിയിരിക്കുന്ന ചുവന്ന വരയുണ്ട്, സിഗ്നൽ ടവർ മിന്നുന്ന നീല നിറത്തിലേക്ക് സജ്ജമാക്കി നിയന്ത്രിത സ്റ്റോപ്പ് ട്രിഗർ ചെയ്യുക.

നെസ്റ്റഡ്എങ്കിൽ അല്ലെങ്കിൽബ്ലോക്കുകൾചോദ്യങ്ങളുടെ ഒരു കാസ്കേഡിംഗ് പട്ടികയായി കാണാൻ കഴിയും. ഇവിടെ ചോദ്യങ്ങൾ ഇപ്രകാരമാണ്: 

  1. വസ്തു ചുവപ്പാണോ? 
    1. അതെ? ചുവന്ന പാലറ്റ് മാറി നിന്ന് ചോദ്യങ്ങൾ ചോദിക്കുന്നത് നിർത്തൂ.
    2. ഇല്ലേ? മറ്റൊരു ചോദ്യം ചോദിക്കൂ. 
      1. വസ്തു പച്ചയാണോ?
        1. അതെ? പച്ച പാലറ്റ് മാറി നിന്ന് ചോദ്യങ്ങൾ ചോദിക്കുന്നത് നിർത്തൂ.
        2. ഇല്ലേ? അപ്പോൾ ആ വസ്തു ചുവപ്പോ പച്ചയോ അല്ല. സിഗ്നൽ ടവറിന്റെ നിറങ്ങൾ മാറ്റി നിയന്ത്രിത സ്റ്റോപ്പ് ട്രിഗർ ചെയ്യുക.

മുൻ ചോദ്യത്തിന് നെഗറ്റീവ് ഉത്തരം ലഭിച്ചാൽ മാത്രമേ ചോദ്യങ്ങൾ ചോദിക്കൂ എന്ന് ശ്രദ്ധിക്കുക. 

നമ്മൾ പരിശോധിക്കാൻ ആഗ്രഹിക്കുന്ന എല്ലാ അവസ്ഥകളും ഇത് കൈകാര്യം ചെയ്യുമ്പോൾ, അതേ രീതിയിൽ അവസ്ഥകൾ പരിശോധിക്കുന്ന മറ്റൊരു ബ്ലോക്ക് ഉണ്ട്, പക്ഷേ നെസ്റ്റിംഗ് ബ്ലോക്കുകളേക്കാൾ നിർമ്മിക്കാൻ എളുപ്പമാണ്. 

ബ്ലോക്ക് ആണെങ്കിൽ അല്ലെങ്കിൽ

Else if ബ്ലോക്ക് ഒരേ ബ്ലോക്കിനുള്ളിൽ ഒന്നിലധികം അവസ്ഥകൾ പരിശോധിക്കാൻ നിങ്ങളെ പ്രാപ്തമാക്കുന്നു. ഈ ബ്ലോക്കിലെ ഓരോ വ്യവസ്ഥയും തുടർച്ചയായി പരിശോധിക്കപ്പെടും, മുമ്പത്തെ വ്യവസ്ഥ തെറ്റാണെന്ന് റിപ്പോർട്ട് ചെയ്താൽ മാത്രം. else if branches-ന്റെ എല്ലാ ബൂളിയൻ വ്യവസ്ഥകളും false ആണെങ്കിൽ, else വിഭാഗത്തിനുള്ളിലെ ബ്ലോക്കുകൾ പ്രവർത്തിപ്പിക്കും.

അല്ലെങ്കിൽ VEXcode-ൽ ബ്ലോക്ക് ചെയ്താൽ. ഈ ബ്ലോക്ക് 'if then else if then else' എന്ന് വായിക്കുന്നു, കൂടാതെ ബ്ലോക്കിലേക്ക് കൂടുതൽ if then else സെഗ്‌മെന്റുകൾ ചേർക്കാനും വികസിപ്പിക്കാനും ഒരു പ്ലസ് ഐക്കൺ ഉണ്ട്.

ഈ ബ്ലോക്കിന് നെസ്റ്റഡ്If then elseബ്ലോക്കുകളുടെ അതേ പ്രോജക്റ്റ് ഫ്ലോ ഉണ്ട്, പക്ഷേ ബ്ലോക്കുകൾ നെസ്റ്റ് ചെയ്യേണ്ട ആവശ്യമില്ലാത്തതിനാൽ നിർമ്മിക്കാൻ എളുപ്പമാണ്. അടുത്ത പാഠത്തിൽ നിന്ന് Else ifബ്ലോക്ക് ഉപയോഗിച്ച് കോഡ് ചെയ്യുന്നതിനെക്കുറിച്ച് നിങ്ങൾ കൂടുതലറിയും.

നിങ്ങളുടെ ധാരണ പരിശോധിക്കുക

അടുത്ത പാഠത്തിലേക്ക് കടക്കുന്നതിനു മുമ്പ്, നിങ്ങളുടെ എഞ്ചിനീയറിംഗ് നോട്ട്ബുക്കിൽ താഴെ പറയുന്ന ചോദ്യങ്ങൾക്ക് ഉത്തരം നൽകി ഈ പാഠത്തിലെ ആശയങ്ങൾ മനസ്സിലാക്കിയിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക.

നിങ്ങളുടെ ധാരണാ ചോദ്യങ്ങൾ പരിശോധിക്കുക > (Google Doc/ .docx / .pdf)


ഒരു പ്രോജക്റ്റിൽ Else ifബ്ലോക്ക് പ്രയോഗിക്കാൻNext >തിരഞ്ഞെടുക്കുക.