നിയന്ത്രണം#

ആമുഖം#

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

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

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

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

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

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

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

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

  • 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 screen pressed, then stop.]
[മുന്നോട്ട് v] ദിശയിൽ നീക്കുക
<സ്‌ക്രീൻ അമർത്തിയോ?> വരെ കാത്തിരിക്കുക
എല്ലാ ചലനവും നിർത്തുക

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

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

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

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

വിവരണം

തവണകൾ

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

ഉദാഹരണം

ആരംഭിക്കുമ്പോൾ
[Move in a square path.]
[4] തവണ ആവർത്തിക്കുക
[മുന്നോട്ട് v] ദിശയിൽ [50] [mm v] നീക്കുക ▶
[വലത് v] ദിശയിൽ [90] ഡിഗ്രി തിരിക്കുക ▶
अंत

എന്നേക്കും#

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

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

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

വിവരണം

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

ഉദാഹരണം

ആരംഭിക്കുമ്പോൾ, അനന്തമായ ഒരു ലൂപ്പിൽ 50 mm മുന്നോട്ട് നീങ്ങി വലത്തേക്ക് 90 ഡിഗ്രി തിരിഞ്ഞ് തുടർച്ചയായി ഒരു ചതുര പാതയിൽ നീങ്ങുക.#
ആരംഭിക്കുമ്പോൾ
[Move in a square path forever.]
എന്നും
[മുന്നോട്ട് v] ദിശയിൽ [50] [mm v] നീക്കുക ▶
[വലത് v] ദിശയിൽ [90] ഡിഗ്രി തിരിക്കുക ▶
अंत

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

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

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

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

വിവരണം

അവസ്ഥ

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

ഉദാഹരണം

ആരംഭിക്കുമ്പോൾ, സ്‌ക്രീൻ അമർത്തുന്നത് വരെ എല്ലാ LED-കളും ചുവപ്പ് നിറത്തിൽ സൂക്ഷിക്കുക, തുടർന്ന് അവ ഓഫാക്കുക.#
ആരംഭിക്കുമ്പോൾ
[Repeat until the screen is pressed before turning off the LEDs.]
<സ്‌ക്രീൻ അമർത്തിയോ?> വരെ ആവർത്തിക്കുക
[lightall v] LED നിറം [ചുവപ്പ് v] ആക്കുക
अंत
[lightall v] LED നിറം [ഓഫ് v] ആക്കുക

അതേസമയം#

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

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

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

വിവരണം

അവസ്ഥ

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

ഉദാഹരണം

സ്റ്റാർട്ട് ചെയ്യുമ്പോൾ, എല്ലാ എൽഇഡികളും പച്ചയായി നിലനിർത്തിക്കൊണ്ട് 200 മി.മീ മുന്നോട്ട് നീങ്ങുന്നു. ചലനം നിലച്ചാൽ എൽഇഡികൾ ഓഫാകും.#
ആരംഭിക്കുമ്പോൾ
[Keep the LEDs green while the robot is moving.]
[മുന്നോട്ട് v] ദിശയിൽ [200] [mm v] നീക്കുക ◀ കാത്തിരിക്കേണ്ട
<നീക്കം സജീവമാണോ?> ആയിരിക്കുമ്പോൾ
[lightall v] LED നിറം [പച്ച v] ആക്കുക
अंत
[lightall v] LED നിറം [ഓഫ് v] ആക്കുക

എങ്കിൽ#

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

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

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

വിവരണം

അവസ്ഥ

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

ഉദാഹരണം

ആരംഭിക്കുമ്പോൾ, സ്ക്രീൻ അമർത്തിയോ എന്ന് തുടർച്ചയായി പരിശോധിക്കുന്നു. അമർത്തിയാൽ, റോബോട്ട് ഇടത്തരം ശക്തിയിൽ ഒരു വസ്തുവിനെ ചവിട്ടുന്നു.#
ആരംഭിക്കുമ്പോൾ
[Kick when the screen is pressed.]
എന്നും
<സ്‌ക്രീൻ അമർത്തിയോ?> ആണെങ്കിൽ
[ഇടത്തരം v] ആക്ഷനോടെ ഒബ്‌ജക്ട് കിക്ക് ചെയ്യുക
अंत
अंत

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

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

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

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

വിവരണം

അവസ്ഥ

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

ഉദാഹരണം

ആരംഭിക്കുമ്പോൾ, സ്‌ക്രീൻ അമർത്തിയോ എന്ന് തുടർച്ചയായി പരിശോധിക്കുന്നു. അമർത്തിയാൽ, മുന്നോട്ട് നോക്കുന്ന ഒരു ആവേശകരമായ ഇമോജി പ്രദർശിപ്പിക്കും; അല്ലെങ്കിൽ, മുന്നോട്ട് നോക്കുന്ന ഒരു വിരസമായ ഇമോജി പ്രദർശിപ്പിക്കും.#
ആരംഭിക്കുമ്പോൾ
[Show one emoji when the screen is touched and a different one when it's not.]
എന്നും
<സ്‌ക്രീൻ അമർത്തിയോ?> ആണെങ്കിൽ
[മുന്നോട്ട് v] നോക്കുന്ന [emoji_excited v] കാണിക്കുക
അല്ലെങ്കിൽ
[മുന്നോട്ട് v] നോക്കുന്ന [emoji_bored v] കാണിക്കുക
अंत
अंत

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

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

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

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

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

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

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

വിവരണം

അവസ്ഥ

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

ഉദാഹരണം

കൺട്രോളറിന്റെ അച്ചുതണ്ട് 1 സ്ഥാനം മാറുമ്പോൾ, മുന്നോട്ട് തള്ളുകയാണെങ്കിൽ മുന്നോട്ട് നീങ്ങുന്നു, പിന്നോട്ട് വലിക്കുകയാണെങ്കിൽ പിന്നിലേക്ക് നീങ്ങുന്നു, നിഷ്പക്ഷമാകുമ്പോൾ നിർത്തുന്നു.#
കൺട്രോളർ ആക്‌സിസ് [1 v] മാറുമ്പോൾ
[Move the robot forward or reverse based on the position of the joystick.]
<(കൺട്രോളർ ആക്‌സിസ് [1 v] സ്ഥാനം) [math_greater_than v] [0]> ആണെങ്കിൽ
[മുന്നോട്ട് v] ദിശയിൽ നീക്കുക
അല്ലെങ്കിൽ <(കൺട്രോളർ ആക്‌സിസ് [1 v] സ്ഥാനം) [math_less_than v] [0]> ആണെങ്കിൽ
[വിപരീതം v] ദിശയിൽ നീക്കുക
അല്ലെങ്കിൽ
എല്ലാ ചലനവും നിർത്തുക
अंत

ബ്രേക്ക്#

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

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

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

വിവരണം

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

ഉദാഹരണം

ആരംഭിക്കുമ്പോൾ, സ്‌ക്രീൻ അമർത്തുന്നത് വരെ ഓരോ 0.5 സെക്കൻഡിലും LED-കൾ ചുവപ്പും പച്ചയും മിന്നിമറയുന്നു, തുടർന്ന് നിർത്തുന്നു.#
ആരംഭിക്കുമ്പോൾ
[Flash LEDs until the screen is pressed.]
എന്നും
[lightall v] LED നിറം [ചുവപ്പ് v] ആക്കുക
[0.5] സെക്കൻഡ് കാത്തിരിക്കുക
[lightall v] LED നിറം [പച്ച v] ആക്കുക
[0.5] സെക്കൻഡ് കാത്തിരിക്കുക
<സ്‌ക്രീൻ അമർത്തിയോ?> ആണെങ്കിൽ
ബ്രേക്ക്
अंत
अंत

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

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

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

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

വിവരണം

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

ഉദാഹരണം

ആരംഭിക്കുമ്പോൾ, സ്‌ക്രീൻ അമർത്തുന്നത് വരെ ഓരോ 0.5 സെക്കൻഡിലും LED-കൾ ചുവപ്പും പച്ചയും മിന്നിമറയുന്നു, തുടർന്ന് പ്രോജക്റ്റ് നിർത്തുന്നു.#
ആരംഭിക്കുമ്പോൾ
[Stop the project once the screen is pressed.]
എന്നും
[lightall v] LED നിറം [ചുവപ്പ് v] ആക്കുക
[0.5] സെക്കൻഡ് കാത്തിരിക്കുക
[lightall v] LED നിറം [പച്ച v] ആക്കുക
[0.5] സെക്കൻഡ് കാത്തിരിക്കുക
<സ്‌ക്രീൻ അമർത്തിയോ?> ആണെങ്കിൽ
പ്രോജക്ട് നിർത്തുക
अंत
अंत