നിയന്ത്രണം#

ആമുഖം#

VEXcode 123 ലെ കൺട്രോൾ ബ്ലോക്കുകൾ ലൂപ്പുകൾ, കണ്ടീഷനുകൾ, ബ്ലോക്കുകൾ പ്രവർത്തിപ്പിക്കുന്നത് വൈകിപ്പിക്കൽ എന്നിവ കൈകാര്യം ചെയ്തുകൊണ്ട് ഒരു പ്രോജക്റ്റിന്റെ ഒഴുക്ക് നിയന്ത്രിക്കുന്നു.

ഒരു കമ്പ്യൂട്ടർ നിർത്താൻ പറയുന്നതുവരെ ഒരേ ഘട്ടമോ ഘട്ടങ്ങളുടെ ഒരു കൂട്ടമോ ആവർത്തിച്ച് ചെയ്യുന്നതിനെയാണ് ലൂപ്പ് എന്ന് പറയുന്നത്. അടുത്തതായി എന്തുചെയ്യണമെന്ന് തീരുമാനിക്കാൻ കമ്പ്യൂട്ടർ പരിശോധിക്കുന്ന ഒരു നിയമമാണ് ഒരു കണ്ടീഷൻ. ഉദാഹരണത്തിന്, ഐ സെൻസർ ഒരു വസ്തുവിനെ കണ്ടെത്തിയാൽ മുന്നോട്ട് ഓടിക്കുക.

ലഭ്യമായ ബ്ലോക്കുകളുടെ ഒരു ലിസ്റ്റ് താഴെ കൊടുക്കുന്നു:

  • കാത്തിരിക്കുക – ഒരു നിശ്ചിത സമയത്തേക്ക് ബ്ലോക്കുകൾ പ്രവർത്തിക്കുന്നത് താൽക്കാലികമായി നിർത്തുന്നു.

  • വരെ കാത്തിരിക്കുക – ഒരു നിർദ്ദിഷ്ട വ്യവസ്ഥ പാലിക്കുന്നതുവരെ ബ്ലോക്കുകൾ പ്രവർത്തിക്കുന്നത് താൽക്കാലികമായി നിർത്തുന്നു.

  • ആവർത്തിക്കുക – ഒരു കൂട്ടം ബ്ലോക്കുകൾ ഒരു നിശ്ചിത എണ്ണം തവണ ആവർത്തിക്കുന്നു.

  • forever – ഒരു കൂട്ടം ബ്ലോക്കുകൾ അനിശ്ചിതമായി ആവർത്തിക്കുന്നു.

  • ആവർത്തിക്കുക – ഒരു വ്യവസ്ഥ പാലിക്കുന്നതുവരെ ഒരു കൂട്ടം ബ്ലോക്കുകൾ ആവർത്തിക്കുന്നു.

  • while – ഒരു വ്യവസ്ഥ ശരിയായിരിക്കുമ്പോൾ ഒരു കൂട്ടം ബ്ലോക്കുകൾ ആവർത്തിക്കുന്നു.

  • if – ഒരു വ്യവസ്ഥ ശരിയാണെങ്കിൽ ഒരു കൂട്ടം ബ്ലോക്കുകൾ പ്രവർത്തിപ്പിക്കുന്നു.

  • if / else – ഒരു വ്യവസ്ഥ ശരിയാണെങ്കിൽ ഒരു കൂട്ടം ബ്ലോക്കുകൾ പ്രവർത്തിപ്പിക്കുന്നു, അല്ലാത്തപക്ഷം മറ്റൊന്ന് പ്രവർത്തിപ്പിക്കുന്നു.

  • if / else if / else – ഒന്നിലധികം വ്യവസ്ഥകളെ ആശ്രയിച്ച് വ്യത്യസ്ത ബ്ലോക്കുകളുടെ സെറ്റുകൾ പ്രവർത്തിപ്പിക്കുന്നു.

  • break – repeat, forever, repeat until, അല്ലെങ്കിൽ while ലൂപ്പിൽ നിന്ന് ഉടൻ പുറത്തുകടക്കുന്നു.

  • പ്രോജക്റ്റ് നിർത്തുക – പ്രോജക്റ്റ് അവസാനിപ്പിക്കുന്നു.

കാത്തിരിക്കുക#

wait സ്റ്റാക്ക് ബ്ലോക്ക്, അടുത്ത ബ്ലോക്കിലേക്ക് നീങ്ങുന്നതിന് മുമ്പ്, ഒരു നിശ്ചിത സമയത്തേക്ക് ബ്ലോക്കുകൾ പ്രവർത്തിക്കുന്നത് താൽക്കാലികമായി നിർത്തുന്നു.

വെയ്റ്റ് സ്റ്റാക്ക് ബ്ലോക്ക്#
(1) സെക്കൻഡ് കാത്തിരിക്കുക

പാരാമീറ്ററുകൾ

വിവരണം

സമയം

സെക്കൻഡുകളിൽ ഒരു പോസിറ്റീവ് പൂർണ്ണ സംഖ്യയായോ ദശാംശമായോ കാത്തിരിക്കേണ്ട സമയത്തിന്റെ അളവ്.

ഉദാഹരണം

ആരംഭിക്കുമ്പോൾ :: hat events
[Drive forward then stop.]
[മുന്നോട്ട് v] ദിശയിൽ ഡ്രൈവ് ചെയ്യുക
(2) സെക്കൻഡ് കാത്തിരിക്കുക
ഡ്രൈവ് നിർത്തുക

കാത്തിരിക്കൂ#

wait until സ്റ്റാക്ക് ബ്ലോക്ക്, അടുത്ത ബ്ലോക്കിലേക്ക് നീങ്ങുന്നതിന് മുമ്പ് ഒരു നിർദ്ദിഷ്ട വ്യവസ്ഥ പാലിക്കുന്നതുവരെ ബ്ലോക്കുകൾ പ്രവർത്തിക്കുന്നത് താൽക്കാലികമായി നിർത്തുന്നു.

സ്റ്റാക്ക് ബ്ലോക്ക് ആകുന്നതുവരെ കാത്തിരിക്കുക.#
<> വരെ കാത്തിരിക്കുക

പാരാമീറ്ററുകൾ

വിവരണം

അവസ്ഥ

അടുത്ത ബ്ലോക്കിലേക്ക് പോകുന്നതിന് മുമ്പ് പാലിക്കേണ്ട വ്യവസ്ഥ.

ഉദാഹരണം

ആരംഭിക്കുമ്പോൾ :: hat events
[Drive forward when the sound button is pressed.]
<[soundIcon v] അമർത്തിയോ?> വരെ കാത്തിരിക്കുക
[മുന്നോട്ട് v] ദിശയിൽ [200] [mm v] ഡ്രൈവ് ചെയ്യുക

ആവർത്തിക്കുക#

ആവർത്തിച്ചുള്ള C ബ്ലോക്ക് അതിനുള്ളിലെ ബ്ലോക്കുകളെ ഒരു നിശ്ചിത എണ്ണം തവണ പ്രവർത്തിപ്പിക്കുന്നു.

സി ബ്ലോക്ക് ആവർത്തിക്കുക#
[10] തവണ ആവർത്തിക്കുക
अंत

പാരാമീറ്ററുകൾ

വിവരണം

തവണകൾ

ആവർത്തന ബ്ലോക്ക് എത്ര തവണ പ്രവർത്തിക്കണമെന്ന് നിശ്ചയിക്കുന്ന ഒരു പൂർണ്ണ സംഖ്യ.

ഉദാഹരണം

ആരംഭിക്കുമ്പോൾ :: hat events
[Drive in a square pattern.]
[4] തവണ ആവർത്തിക്കുക
[മുന്നോട്ട് v] ദിശയിൽ [200] [mm v] ഡ്രൈവ് ചെയ്യുക
[വലത് v] ദിശയിൽ [90] ഡിഗ്രി തിരിക്കുക

എന്നേക്കും#

forever C ബ്ലോക്ക് അതിനുള്ളിലെ ബ്ലോക്കുകൾ നിർത്താതെ വീണ്ടും വീണ്ടും പ്രവർത്തിപ്പിച്ചുകൊണ്ടിരിക്കുന്നു.

ഫോറെവർ സി ബ്ലോക്ക്#
എന്നും
अंत

പാരാമീറ്ററുകൾ

വിവരണം

ഈ ബ്ലോക്കിന് പാരാമീറ്ററുകൾ ഇല്ല.

ഉദാഹരണം

ആരംഭിക്കുമ്പോൾ :: hat events
[Blink LED light in a pattern.]
എന്നും
[പച്ച v] ഉപയോഗിച്ച് തിളങ്ങുക
[0.5] സെക്കൻഡ് കാത്തിരിക്കുക
[ഓഫ് v] ഉപയോഗിച്ച് തിളങ്ങുക
[0.5] സെക്കൻഡ് കാത്തിരിക്കുക

വരെ ആവർത്തിക്കുക#

repeat until C ബ്ലോക്ക് അതിനുള്ളിലെ ബ്ലോക്കുകൾ ആവർത്തിച്ച് പ്രവർത്തിപ്പിക്കുമ്പോൾ നിർദ്ദിഷ്ട വ്യവസ്ഥ പാലിക്കപ്പെടുന്നില്ല.

ബ്ലോക്ക് ആകുന്നത് വരെ ആവർത്തിക്കുക#
<> വരെ ആവർത്തിക്കുക
अंत

പാരാമീറ്ററുകൾ

വിവരണം

അവസ്ഥ

ഓരോ ലൂപ്പിനും മുമ്പായി പരിശോധിക്കുന്ന ഒരു എക്സ്പ്രഷൻ അല്ലെങ്കിൽ വേരിയബിൾ. അത് തെറ്റ് ആണെങ്കിൽ, ബ്ലോക്കുകൾ ആവർത്തിക്കുന്നത് തുടരും. അത് ശരി ആണെങ്കിൽ, ലൂപ്പ് നിർത്തും.

ഉദാഹരണം

ആരംഭിക്കുമ്പോൾ :: hat events
[Blink LED light until the sound button is pressed.]
<[soundIcon v] അമർത്തിയോ?> വരെ ആവർത്തിക്കുക
[പച്ച v] ഉപയോഗിച്ച് തിളങ്ങുക
[0.5] സെക്കൻഡ് കാത്തിരിക്കുക
[ഓഫ് v] ഉപയോഗിച്ച് തിളങ്ങുക
[0.5] സെക്കൻഡ് കാത്തിരിക്കുക

അതേസമയം#

നിർദ്ദിഷ്ട വ്യവസ്ഥ പാലിക്കുന്നതുവരെ while C ബ്ലോക്ക് ഉള്ളിലെ ബ്ലോക്കുകൾ ആവർത്തിച്ച് പ്രവർത്തിപ്പിക്കുന്നു.

സി ബ്ലോക്ക് ഉള്ളപ്പോൾ#
<> ആയിരിക്കുമ്പോൾ
अंत

പാരാമീറ്ററുകൾ

വിവരണം

അവസ്ഥ

ഓരോ ലൂപ്പിനും മുമ്പായി പരിശോധിക്കുന്ന ഒരു എക്സ്പ്രഷൻ അല്ലെങ്കിൽ വേരിയബിൾ. അത് ശരി ആണെങ്കിൽ, ബ്ലോക്കുകൾ ആവർത്തിക്കുന്നത് തുടരും. അത് തെറ്റ് ആണെങ്കിൽ, ലൂപ്പ് നിർത്തും.

ഉദാഹരണം

ആരംഭിക്കുമ്പോൾ :: hat events
[Turn the robot around.]
<(ഡ്രൈവ് ദിശ ഡിഗ്രിയിൽ) [math_less_than v] [180]> ആയിരിക്കുമ്പോൾ
[വലത് v] ദിശയിൽ തിരിക്കുക
अंत
ഡ്രൈവ് നിർത്തുക

എങ്കിൽ#

True എന്ന അവസ്ഥയാണെങ്കിൽ if C ബ്ലോക്ക് ഉള്ളിലെ ബ്ലോക്കുകളെ പ്രവർത്തിപ്പിക്കുന്നു.

ബ്ലോക്ക് ആണെങ്കിൽ#
<> ആണെങ്കിൽ
अंत

പാരാമീറ്ററുകൾ

വിവരണം

അവസ്ഥ

സ്റ്റേറ്റ്മെന്റ് പ്രവർത്തിക്കുമ്പോൾ പരിശോധിക്കുന്ന ഒരു എക്സ്പ്രഷൻ അല്ലെങ്കിൽ വേരിയബിൾ. അത് True ആണെങ്കിൽ, if ബ്ലോക്കിനുള്ളിലെ ബ്ലോക്കുകൾ പ്രവർത്തിക്കും. അത് False ആണെങ്കിൽ, ബ്ലോക്കുകൾ ഒഴിവാക്കപ്പെടും.

ഉദാഹരണം

ആരംഭിക്കുമ്പോൾ :: hat events
[Drive forward whenever the sound button is pressed.]
എന്നും
<[soundIcon v] അമർത്തിയോ?> ആണെങ്കിൽ
[മുന്നോട്ട് v] ദിശയിൽ [200] [mm v] ഡ്രൈവ് ചെയ്യുക

അല്ലെങ്കിൽ / അല്ലെങ്കിൽ#

if / else C ബ്ലോക്ക് ആണ് ഏത് ബ്ലോക്കുകളുടെ സെറ്റ് പ്രവർത്തിക്കണമെന്ന് നിർണ്ണയിക്കുന്നത്, വ്യവസ്ഥ ശരി ആണോ തെറ്റ് ആണോ എന്നതിനെ അടിസ്ഥാനമാക്കിയാണ്.

അല്ലെങ്കിൽ ബ്ലോക്ക് ചെയ്യുക#
<> ആണെങ്കിൽ
അല്ലെങ്കിൽ
अंत

പാരാമീറ്ററുകൾ

വിവരണം

അവസ്ഥ

സ്റ്റേറ്റ്മെന്റ് പ്രവർത്തിക്കുമ്പോൾ പരിശോധിക്കുന്ന ഒരു എക്സ്പ്രഷൻ അല്ലെങ്കിൽ വേരിയബിൾ. അത് True ആണെങ്കിൽ, if ബ്ലോക്കിനുള്ളിലെ ബ്ലോക്കുകൾ പ്രവർത്തിക്കും. അത് False ആണെങ്കിൽ, അത് else ബ്ലോക്കിനുള്ളിലെ ബ്ലോക്കുകൾ പ്രവർത്തിപ്പിക്കും.

ഉദാഹരണം

ആരംഭിക്കുമ്പോൾ :: hat events
[Drive forward until a crash.]
എന്നും
<ക്രാഷ് കണ്ടെത്തിയോ?> ആണെങ്കിൽ
ഡ്രൈവ് നിർത്തുക
അല്ലെങ്കിൽ
[മുന്നോട്ട് v] ദിശയിൽ [200] [mm v] ഡ്രൈവ് ചെയ്യുക

എങ്കിൽ / അല്ലെങ്കിൽ എങ്കിൽ / അല്ലെങ്കിൽ#

if / else if / else വികസിപ്പിക്കാവുന്ന C ബ്ലോക്ക്, വ്യവസ്ഥകളെ അടിസ്ഥാനമാക്കി ഏത് ബ്ലോക്കുകളുടെ സെറ്റ് പ്രവർത്തിക്കുന്നുവെന്ന് തിരഞ്ഞെടുക്കുന്നു:

  • True എന്ന അവസ്ഥ വിലയിരുത്തിയാൽ if അതിന്റെ കോഡ് ബ്ലോക്ക് പ്രവർത്തിപ്പിക്കുന്നു.

  • else if എന്നത് മുൻ വ്യവസ്ഥകളെല്ലാം False ആയി വിലയിരുത്തിയാൽ മാത്രമേ അധിക വ്യവസ്ഥകൾ പരിശോധിക്കൂ. ഒന്നിലധികം else if പ്രസ്താവനകൾ ഉപയോഗിക്കാം.

  • അല്ലെങ്കിൽ മുമ്പത്തെ അവസ്ഥകളൊന്നും ശരി എന്ന് വിലയിരുത്തിയിട്ടില്ലെങ്കിൽ മാത്രമേ അതിന്റെ കോഡ് ബ്ലോക്ക് പ്രവർത്തിപ്പിക്കൂ.

അല്ലെങ്കിൽ അങ്ങനെയാണെങ്കിൽ ബ്ലോക്ക്#
<> ആണെങ്കിൽ
അല്ലെങ്കിൽ <> ആണെങ്കിൽ
അല്ലെങ്കിൽ
अंत

പാരാമീറ്ററുകൾ

വിവരണം

അവസ്ഥ

സ്റ്റേറ്റ്മെന്റ് പ്രവർത്തിക്കുമ്പോൾ പരിശോധിക്കുന്ന ഒരു എക്സ്പ്രഷൻ അല്ലെങ്കിൽ വേരിയബിൾ. ആദ്യത്തെ കണ്ടീഷൻ ആയ True ആ ബ്ലോക്കുകളുടെ സെറ്റ് പ്രവർത്തിപ്പിക്കുന്നു. എല്ലാ കണ്ടീഷനുകളും False ആയി വിലയിരുത്തിയാൽ, else ബ്ലോക്കിനുള്ളിലെ ബ്ലോക്കുകൾ പ്രവർത്തിക്കും.

ഉദാഹരണം

ആരംഭിക്കുമ്പോൾ :: hat events
[Turn right for the right button, left for the left button.]
എന്നും
<[ifbuttonright v] അമർത്തിയോ?> ആണെങ്കിൽ
[വലത് v] ദിശയിൽ തിരിക്കുക
അല്ലെങ്കിൽ <[ifbuttonleft v] അമർത്തിയോ?> ആണെങ്കിൽ
[ഇടത് v] ദിശയിൽ തിരിക്കുക
അല്ലെങ്കിൽ
ഡ്രൈവ് നിർത്തുക

ബ്രേക്ക്#

break സ്റ്റാക്ക് ബ്ലോക്ക് ഒരു ലൂപ്പിൽ നിന്ന് ഉടനടി പുറത്തുകടക്കുന്നു. ഈ ബ്ലോക്ക് repeat, repeat until, while, forever ബ്ലോക്കുകൾക്കുള്ളിൽ ഉപയോഗിക്കാം. ഒരു ബട്ടൺ അമർത്തുകയോ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്ന സെൻസർ പോലുള്ള പ്രോജക്റ്റ് സമയത്ത് സംഭവിക്കുന്ന എന്തെങ്കിലും അടിസ്ഥാനമാക്കി ഒരു ലൂപ്പ് നേരത്തെ നിർത്തേണ്ടിവരുമ്പോൾ Break ഉപയോഗപ്രദമാണ്.

ബ്രേക്ക് സ്റ്റാക്ക് ബ്ലോക്ക്#
ബ്രേക്ക്

പാരാമീറ്ററുകൾ

വിവരണം

ഈ ബ്ലോക്കിന് പാരാമീറ്ററുകൾ ഇല്ല.

ഉദാഹരണം

ആരംഭിക്കുമ്പോൾ :: hat events
[Flash the LED until the sound button is pressed.]
എന്നും
[പച്ച v] ഉപയോഗിച്ച് തിളങ്ങുക
[0.5] സെക്കൻഡ് കാത്തിരിക്കുക
[നീല v] ഉപയോഗിച്ച് തിളങ്ങുക
[0.5] സെക്കൻഡ് കാത്തിരിക്കുക
<[soundIcon v] അമർത്തിയോ?> ആണെങ്കിൽ
ബ്രേക്ക്

പദ്ധതി നിർത്തുക#

സ്റ്റോപ്പ് പ്രോജക്റ്റ് സ്റ്റാക്ക് ബ്ലോക്ക് റൺ ചെയ്യുന്ന ഒരു പ്രോജക്റ്റ് അവസാനിപ്പിക്കുന്നു.

പ്രോജക്റ്റ് ബ്ലോക്ക് നിർത്തുക#
പ്രോജക്ട് നിർത്തുക

പാരാമീറ്ററുകൾ

വിവരണം

ഈ ബ്ലോക്കിന് പാരാമീറ്ററുകൾ ഇല്ല.

ഉദാഹരണം

ആരംഭിക്കുമ്പോൾ :: hat events
[Stop the project after a crash.]
എന്നും
[മുന്നോട്ട് v] ദിശയിൽ ഡ്രൈവ് ചെയ്യുക
<ക്രാഷ് കണ്ടെത്തിയോ?> ആണെങ്കിൽ
പ്രോജക്ട് നിർത്തുക