നിയന്ത്രണം#
ആമുഖം#
VEXcode EXP-ലെ കൺട്രോൾ ബ്ലോക്കുകൾ ലൂപ്പുകൾ, കണ്ടീഷനുകൾ, റൺ ചെയ്യുന്നതിൽ നിന്ന് ബ്ലോക്കുകൾ വൈകിപ്പിക്കൽ എന്നിവ കൈകാര്യം ചെയ്തുകൊണ്ട് ഒരു പ്രോജക്റ്റിന്റെ ഒഴുക്ക് നിയന്ത്രിക്കുന്നു.
ഒരു കമ്പ്യൂട്ടർ നിർത്താൻ പറയുന്നതുവരെ ഒരേ ഘട്ടമോ ഘട്ടങ്ങളുടെ ഒരു കൂട്ടമോ ആവർത്തിച്ച് ആവർത്തിക്കുന്നതിനെയാണ് ലൂപ്പ് എന്ന് പറയുന്നത്. അടുത്തതായി എന്തുചെയ്യണമെന്ന് തീരുമാനിക്കാൻ കമ്പ്യൂട്ടർ പരിശോധിക്കുന്ന ഒരു നിയമമാണ് ഒരു കണ്ടീഷൻ. ഉദാഹരണത്തിന്, ഒരു സെൻസർ ഒരു വസ്തുവിനെ കണ്ടെത്തിയാൽ ഒരു റോബോട്ടിന് മുന്നോട്ട് നീങ്ങാൻ കഴിയും.
ലഭ്യമായ ബ്ലോക്കുകളുടെ ഒരു ലിസ്റ്റ് താഴെ കൊടുക്കുന്നു:
കാത്തിരിക്കുക – ഒരു നിശ്ചിത സമയത്തേക്ക് ബ്ലോക്കുകൾ പ്രവർത്തിക്കുന്നത് താൽക്കാലികമായി നിർത്തുന്നു.
വരെ കാത്തിരിക്കുക – ഒരു നിർദ്ദിഷ്ട വ്യവസ്ഥ പാലിക്കുന്നതുവരെ ബ്ലോക്കുകൾ പ്രവർത്തിക്കുന്നത് താൽക്കാലികമായി നിർത്തുന്നു.
ആവർത്തിക്കുക – ഒരു കൂട്ടം ബ്ലോക്കുകൾ ഒരു നിശ്ചിത എണ്ണം തവണ ആവർത്തിക്കുന്നു.
forever – ഒരു കൂട്ടം ബ്ലോക്കുകൾ അനിശ്ചിതമായി ആവർത്തിക്കുന്നു.
ആവർത്തിക്കുക – ഒരു വ്യവസ്ഥ പാലിക്കുന്നതുവരെ ഒരു കൂട്ടം ബ്ലോക്കുകൾ ആവർത്തിക്കുന്നു.
while – ഒരു വ്യവസ്ഥ ശരിയായിരിക്കുമ്പോൾ ഒരു കൂട്ടം ബ്ലോക്കുകൾ ആവർത്തിക്കുന്നു.
if – ഒരു വ്യവസ്ഥ ശരിയാണെങ്കിൽ ഒരു കൂട്ടം ബ്ലോക്കുകൾ പ്രവർത്തിപ്പിക്കുന്നു.
if / else – ഒരു വ്യവസ്ഥ ശരിയാണെങ്കിൽ ഒരു കൂട്ടം ബ്ലോക്കുകൾ പ്രവർത്തിപ്പിക്കുന്നു, അല്ലാത്തപക്ഷം മറ്റൊന്ന് പ്രവർത്തിപ്പിക്കുന്നു.
if / else if / else – ഒന്നിലധികം വ്യവസ്ഥകളെ ആശ്രയിച്ച് വ്യത്യസ്ത ബ്ലോക്കുകളുടെ സെറ്റുകൾ പ്രവർത്തിപ്പിക്കുന്നു.
break – repeat, forever, repeat until, അല്ലെങ്കിൽ while ലൂപ്പിൽ നിന്ന് ഉടൻ പുറത്തുകടക്കുന്നു.
പ്രോജക്റ്റ് നിർത്തുക – പ്രോജക്റ്റ് അവസാനിപ്പിക്കുന്നു.
കാത്തിരിക്കുക#
wait സ്റ്റാക്ക് ബ്ലോക്ക്, അടുത്ത ബ്ലോക്കിലേക്ക് നീങ്ങുന്നതിന് മുമ്പ്, ഒരു നിശ്ചിത സമയത്തേക്ക് ബ്ലോക്കുകൾ പ്രവർത്തിക്കുന്നത് താൽക്കാലികമായി നിർത്തുന്നു.
(1) സെക്കൻഡ് കാത്തിരിക്കുക
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
സമയം |
സെക്കൻഡുകളിൽ ഒരു പോസിറ്റീവ് പൂർണ്ണ സംഖ്യയായോ ദശാംശമായോ കാത്തിരിക്കേണ്ട സമയത്തിന്റെ അളവ്. |
ഉദാഹരണം
ആരംഭിക്കുമ്പോൾ
[Move forward for one second, then stop.]
[മുന്നോട്ട് v] ദിശയിൽ ഡ്രൈവ് ചെയ്യുക
(1) സെക്കൻഡ് കാത്തിരിക്കുക
ഡ്രൈവ് നിർത്തുക
കാത്തിരിക്കൂ#
wait until സ്റ്റാക്ക് ബ്ലോക്ക്, അടുത്ത ബ്ലോക്കിലേക്ക് നീങ്ങുന്നതിന് മുമ്പ് ഒരു നിർദ്ദിഷ്ട വ്യവസ്ഥ പാലിക്കുന്നതുവരെ ബ്ലോക്കുകൾ പ്രവർത്തിക്കുന്നത് താൽക്കാലികമായി നിർത്തുന്നു.
<> വരെ കാത്തിരിക്കുക
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
അവസ്ഥ |
അടുത്ത ബ്ലോക്കിലേക്ക് പോകുന്നതിനുമുമ്പ് പാലിക്കേണ്ട വ്യവസ്ഥ. |
ഉദാഹരണം
ആരംഭിക്കുമ്പോൾ
[Move forward until the ◀ button is pressed, then stop.]
[മുന്നോട്ട് v] ദിശയിൽ ഡ്രൈവ് ചെയ്യുക
<Brain [◀ v] ബട്ടൺ അമർത്തിയോ?> വരെ കാത്തിരിക്കുക
ഡ്രൈവ് നിർത്തുക
ആവർത്തിക്കുക#
ആവർത്തിച്ചുള്ള C ബ്ലോക്ക് അതിനുള്ളിലെ ബ്ലോക്കുകളെ ഒരു നിശ്ചിത എണ്ണം തവണ പ്രവർത്തിപ്പിക്കുന്നു.
[10] തവണ ആവർത്തിക്കുക
अंत
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
തവണകൾ |
ആവർത്തന ബ്ലോക്ക് എത്ര തവണ പ്രവർത്തിക്കണമെന്ന് നിശ്ചയിക്കുന്ന ഒരു പൂർണ്ണ സംഖ്യ. |
ഉദാഹരണം
ആരംഭിക്കുമ്പോൾ
[Move in a square path.]
[4] തവണ ആവർത്തിക്കുക
[മുന്നോട്ട് v] ദിശയിൽ [150] [mm v] ഡ്രൈവ് ചെയ്യുക ▶
[വലത് v] ദിശയിൽ [90] ഡിഗ്രി തിരിക്കുക ▶
अंत
എന്നേക്കും#
forever C ബ്ലോക്ക് അതിനുള്ളിലെ ബ്ലോക്കുകൾ നിർത്താതെ വീണ്ടും വീണ്ടും പ്രവർത്തിപ്പിച്ചുകൊണ്ടിരിക്കുന്നു.
എന്നും
अंत
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
ഈ ബ്ലോക്കിന് പാരാമീറ്ററുകൾ ഇല്ല. |
ഉദാഹരണം
ആരംഭിക്കുമ്പോൾ
[Move in a square path forever.]
എന്നും
[മുന്നോട്ട് v] ദിശയിൽ [150] [mm v] ഡ്രൈവ് ചെയ്യുക ▶
[വലത് v] ദിശയിൽ [90] ഡിഗ്രി തിരിക്കുക ▶
अंत
വരെ ആവർത്തിക്കുക#
repeat until C ബ്ലോക്ക് അതിനുള്ളിലെ ബ്ലോക്കുകൾ ആവർത്തിച്ച് പ്രവർത്തിപ്പിക്കുമ്പോൾ നിർദ്ദിഷ്ട വ്യവസ്ഥ പാലിക്കപ്പെടുന്നില്ല.
<> വരെ ആവർത്തിക്കുക
अंत
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
അവസ്ഥ |
ഓരോ ലൂപ്പിനും മുമ്പായി പരിശോധിക്കുന്ന ഒരു എക്സ്പ്രഷൻ അല്ലെങ്കിൽ വേരിയബിൾ. അത് തെറ്റ് ആണെങ്കിൽ, ബ്ലോക്കുകൾ ആവർത്തിക്കുന്നത് തുടരും. അത് ശരി ആണെങ്കിൽ, ലൂപ്പ് നിർത്തും. |
ഉദാഹരണം
ആരംഭിക്കുമ്പോൾ
[Turn until the screen is pressed.]
<സ്ക്രീൻ അമർത്തിയോ?> വരെ ആവർത്തിക്കുക
[വലത് v] ദിശയിൽ തിരിക്കുക
अंत
ഡ്രൈവ് നിർത്തുക
അതേസമയം#
നിർദ്ദിഷ്ട വ്യവസ്ഥ പാലിക്കുന്നതുവരെ while C ബ്ലോക്ക് ഉള്ളിലെ ബ്ലോക്കുകൾ ആവർത്തിച്ച് പ്രവർത്തിപ്പിക്കുന്നു.
<> ആയിരിക്കുമ്പോൾ
अंत
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
അവസ്ഥ |
ഓരോ ലൂപ്പിനും മുമ്പായി പരിശോധിക്കുന്ന ഒരു എക്സ്പ്രഷൻ അല്ലെങ്കിൽ വേരിയബിൾ. അത് ശരി ആണെങ്കിൽ, ബ്ലോക്കുകൾ ആവർത്തിക്കുന്നത് തുടരും. അത് തെറ്റ് ആണെങ്കിൽ, ലൂപ്പ് നിർത്തും. |
ഉദാഹരണം
ആരംഭിക്കുമ്പോൾ
[Display the time for one minute.]
<(ടൈമർ സെക്കൻഡിൽ) [math_less_than v] [60]> ആയിരിക്കുമ്പോൾ
സ്ക്രീൻ മായ്ക്കുക
സ്ക്രീനിൽ വരി [1] നിര [1] -ൽ കർസർ സെറ്റ് ചെയ്യുക
സ്ക്രീനിൽ (ടൈമർ സെക്കൻഡിൽ) പ്രിൻ്റ് ചെയ്യുക ▶
എങ്കിൽ#
True എന്ന അവസ്ഥയാണെങ്കിൽ if C ബ്ലോക്ക് ഉള്ളിലെ ബ്ലോക്കുകളെ പ്രവർത്തിപ്പിക്കുന്നു.
<> ആണെങ്കിൽ
अंत
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
അവസ്ഥ |
സ്റ്റേറ്റ്മെന്റ് പ്രവർത്തിക്കുമ്പോൾ പരിശോധിക്കുന്ന ഒരു എക്സ്പ്രഷൻ അല്ലെങ്കിൽ വേരിയബിൾ. അത് True ആണെങ്കിൽ, if ബ്ലോക്കിനുള്ളിലെ ബ്ലോക്കുകൾ പ്രവർത്തിക്കും. അത് False ആണെങ്കിൽ, ബ്ലോക്കുകൾ ഒഴിവാക്കപ്പെടും. |
ഉദാഹരണം
ആരംഭിക്കുമ്പോൾ
[Turn in a circle if the screen is pressed.]
എന്നും
<സ്ക്രീൻ അമർത്തിയോ?> ആണെങ്കിൽ
[വലത് v] ദിശയിൽ [360] ഡിഗ്രി തിരിക്കുക ▶
अंत
ഡ്രൈവ് നിർത്തുക
अंत
അല്ലെങ്കിൽ / അല്ലെങ്കിൽ#
if / else C ബ്ലോക്ക് ആണ് ഏത് ബ്ലോക്കുകളുടെ സെറ്റ് പ്രവർത്തിക്കണമെന്ന് നിർണ്ണയിക്കുന്നത്, വ്യവസ്ഥ ശരി ആണോ തെറ്റ് ആണോ എന്നതിനെ അടിസ്ഥാനമാക്കിയാണ്.
<> ആണെങ്കിൽ
അല്ലെങ്കിൽ
अंत
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
അവസ്ഥ |
സ്റ്റേറ്റ്മെന്റ് പ്രവർത്തിക്കുമ്പോൾ പരിശോധിക്കുന്ന ഒരു എക്സ്പ്രഷൻ അല്ലെങ്കിൽ വേരിയബിൾ. അത് True ആണെങ്കിൽ, if ബ്ലോക്കിനുള്ളിലെ ബ്ലോക്കുകൾ പ്രവർത്തിക്കും. അത് False ആണെങ്കിൽ, അത് else ബ്ലോക്കിനുള്ളിലെ ബ്ലോക്കുകൾ പ്രവർത്തിപ്പിക്കും. |
ഉദാഹരണം
ആരംഭിക്കുമ്പോൾ
[Display a message if the screen is being pressed.]
എന്നും
സ്ക്രീൻ മായ്ക്കുക
സ്ക്രീനിൽ വരി [1] നിര [1] -ൽ കർസർ സെറ്റ് ചെയ്യുക
<സ്ക്രീൻ അമർത്തിയോ?> ആണെങ്കിൽ
സ്ക്രീനിൽ [Pressed!] പ്രിൻ്റ് ചെയ്യുക ▶
അല്ലെങ്കിൽ
സ്ക്രീനിൽ [Not pressed!] പ്രിൻ്റ് ചെയ്യുക ▶
अंत
എങ്കിൽ / അല്ലെങ്കിൽ എങ്കിൽ / അല്ലെങ്കിൽ#
if / else if / else വികസിപ്പിക്കാവുന്ന C ബ്ലോക്ക്, വ്യവസ്ഥകളെ അടിസ്ഥാനമാക്കി ഏത് ബ്ലോക്കുകളുടെ സെറ്റ് പ്രവർത്തിക്കുന്നുവെന്ന് തിരഞ്ഞെടുക്കുന്നു:
True എന്ന അവസ്ഥ വിലയിരുത്തിയാൽ if അതിന്റെ കോഡ് ബ്ലോക്ക് പ്രവർത്തിപ്പിക്കുന്നു.
else if എന്നത് മുൻ വ്യവസ്ഥകളെല്ലാം False ആയി വിലയിരുത്തിയാൽ മാത്രമേ അധിക വ്യവസ്ഥകൾ പരിശോധിക്കൂ. ഒന്നിലധികം else if പ്രസ്താവനകൾ ഉപയോഗിക്കാം.
അല്ലെങ്കിൽ മുമ്പത്തെ അവസ്ഥകളൊന്നും ശരി എന്ന് വിലയിരുത്തിയിട്ടില്ലെങ്കിൽ മാത്രമേ അതിന്റെ കോഡ് ബ്ലോക്ക് പ്രവർത്തിപ്പിക്കൂ.
<> ആണെങ്കിൽ
അല്ലെങ്കിൽ <> ആണെങ്കിൽ
അല്ലെങ്കിൽ
अंत
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
അവസ്ഥ |
സ്റ്റേറ്റ്മെന്റ് പ്രവർത്തിക്കുമ്പോൾ പരിശോധിക്കുന്ന ഒരു എക്സ്പ്രഷൻ അല്ലെങ്കിൽ വേരിയബിൾ. ആദ്യത്തെ കണ്ടീഷൻ ആയ True ആ ബ്ലോക്കുകളുടെ സെറ്റ് പ്രവർത്തിപ്പിക്കുന്നു. എല്ലാ കണ്ടീഷനുകളും False ആയി വിലയിരുത്തിയാൽ, else ബ്ലോക്കിനുള്ളിലെ ബ്ലോക്കുകൾ പ്രവർത്തിക്കും. |
ഉദാഹരണം
ആരംഭിക്കുമ്പോൾ
[Move the robot based on the Controller button is being pressed.]
എന്നും
<[Controller1 v] [▶ v] അമർത്തിയോ?> ആണെങ്കിൽ
[വലത് v] ദിശയിൽ തിരിക്കുക
അല്ലെങ്കിൽ <[Controller1 v] [◀ v] അമർത്തിയോ?> ആണെങ്കിൽ
[ഇടത് v] ദിശയിൽ തിരിക്കുക
അല്ലെങ്കിൽ
ഡ്രൈവ് നിർത്തുക
अंत
ബ്രേക്ക്#
break സ്റ്റാക്ക് ബ്ലോക്ക് ഒരു ലൂപ്പിൽ നിന്ന് ഉടനടി പുറത്തുകടക്കുന്നു. ഈ ബ്ലോക്ക് repeat, repeat until, while, forever ബ്ലോക്കുകൾക്കുള്ളിൽ ഉപയോഗിക്കാം. ഒരു ബട്ടൺ അമർത്തുകയോ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്ന സെൻസർ പോലുള്ള പ്രോജക്റ്റ് സമയത്ത് സംഭവിക്കുന്ന എന്തെങ്കിലും അടിസ്ഥാനമാക്കി ഒരു ലൂപ്പ് നേരത്തെ നിർത്തേണ്ടിവരുമ്പോൾ Break ഉപയോഗപ്രദമാണ്.
ബ്രേക്ക്
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
ഈ ബ്ലോക്കിന് പാരാമീറ്ററുകൾ ഇല്ല. |
ഉദാഹരണം
ആരംഭിക്കുമ്പോൾ
[Stop turning after the screen is pressed.]
എന്നും
[വലത് v] ദിശയിൽ തിരിക്കുക
<സ്ക്രീൻ അമർത്തിയോ?> ആണെങ്കിൽ
ബ്രേക്ക്
अंत
अंत
ഡ്രൈവ് നിർത്തുക
പദ്ധതി നിർത്തുക#
സ്റ്റോപ്പ് പ്രോജക്റ്റ് സ്റ്റാക്ക് ബ്ലോക്ക് റൺ ചെയ്യുന്ന ഒരു പ്രോജക്റ്റ് അവസാനിപ്പിക്കുന്നു.
പ്രോജക്ട് നിർത്തുക
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
ഈ ബ്ലോക്കിന് പാരാമീറ്ററുകൾ ഇല്ല. |
ഉദാഹരണം
ആരംഭിക്കുമ്പോൾ
[Stop the project entirely after the screen is pressed.]
എന്നും
[വലത് v] ദിശയിൽ തിരിക്കുക
<സ്ക്രീൻ അമർത്തിയോ?> ആണെങ്കിൽ
പ്രോജക്ട് നിർത്തുക
अंत
अंत