നിയന്ത്രണം#

ആമുഖം#

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

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

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

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

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

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

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

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

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

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

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

വിവരണം

തവണകൾ

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

ഉദാഹരണം

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

എന്നേക്കും#

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

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

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

വിവരണം

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

ഉദാഹരണം

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

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

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

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

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

വിവരണം

അവസ്ഥ

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

ഉദാഹരണം

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

അതേസമയം#

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

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

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

വിവരണം

അവസ്ഥ

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

ഉദാഹരണം

ഒരു സ്റ്റാർട്ട് ബ്ലോക്കിൽ ആരംഭിക്കുമ്പോൾ എന്നതിൽ ആരംഭിച്ച്, തുടർന്ന് ഒരു കമന്റ് ബ്ലോക്ക് റീഡിംഗ് ഉള്ള ബ്ലോക്കുകളുടെ ഒരു കൂട്ടം. 2 സെക്കൻഡ് കഴിഞ്ഞതിന് ശേഷമുള്ള സമയം പ്രദർശിപ്പിക്കുക. ടൈമർ രണ്ട് സെക്കൻഡിൽ എത്തുന്നതുവരെയോ അതിൽ കൂടുതലാകുന്നതുവരെയോ ബ്ലോക്ക് എക്സിക്യൂഷൻ താൽക്കാലികമായി നിർത്തുന്നതുവരെ കാത്തിരിക്കുക. ഈ അവസ്ഥ പാലിച്ചുകഴിഞ്ഞാൽ, ഒരു പ്രിന്റ് ബ്ലോക്ക് സ്ക്രീനിൽ ടൈമർ മൂല്യം പ്രദർശിപ്പിക്കുന്നു.#
ആരംഭിക്കുമ്പോൾ
[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] ദിശയിൽ തിരിക്കുക
<സ്‌ക്രീൻ അമർത്തിയോ?> ആണെങ്കിൽ
പ്രോജക്ട് നിർത്തുക
अंत
अंत