പാഠം 2: പോസ്റ്റ്-പ്രോജക്റ്റ് സംഗ്രഹം
[അങ്ങനെയെങ്കിൽ] ബ്ലോക്ക് ഉപയോഗിച്ചിരിക്കുന്നതിനാൽ VR റോബോട്ടിന് ഒരു തീരുമാനമെടുക്കാൻ കഴിയും. ബൂളിയൻ അവസ്ഥ TRUE ആണെങ്കിൽ, 'If Then' ബ്രാഞ്ചിനുള്ളിലെ ബ്ലോക്കുകൾ പ്രവർത്തിക്കും. ബൂളിയൻ അവസ്ഥ തെറ്റാണെങ്കിൽ, 'Else' ബ്രാഞ്ചിനുള്ളിലെ ബ്ലോക്കുകൾ പ്രവർത്തിക്കും.

ഈ പ്രോജക്റ്റിൽ, VR റോബോട്ട് ഒരു കെട്ടിടത്തിലേക്ക് ഓടിച്ചുപോയപ്പോൾ, ദൂര സെൻസർ ഒരു വസ്തുവിനെ കണ്ടെത്തി, <Distance found object> ബ്ലോക്ക് TRUE എന്ന് റിപ്പോർട്ട് ചെയ്തു. ഇത് പദ്ധതിയുടെ 'ഇഫ് തെൻ' ശാഖയെ പ്രവർത്തിപ്പിക്കാൻ നിർദ്ദേശിച്ചു. ഈ ശാഖയിൽ [ഡ്രൈവ്] ബ്ലോക്ക് ഉൾപ്പെടുന്നു. തുടർന്ന് വിആർ റോബോട്ട് പ്രോജക്റ്റിന്റെ 'എൽസ്' ബ്രാഞ്ച് ഒഴിവാക്കുന്നു.

[If then else] ബ്ലോക്ക് ഒരു [Forever] ബ്ലോക്കിനുള്ളിൽ സ്ഥാപിച്ചിരിക്കുന്നതിനാൽ, [If then else] ബ്ലോക്കിന്റെ അവസ്ഥ പരിശോധിക്കുന്നതിനായി പ്രോജക്റ്റ് [Forever] ബ്ലോക്കിന്റെ മുകളിലേക്ക് തിരികെ ലൂപ്പ് ചെയ്യുന്നു. ഈ ലൂപ്പ് എന്നെന്നേക്കുമായി തുടരും, [ഇല്ലെങ്കിൽ] അവസ്ഥ സെക്കൻഡിൽ നൂറുകണക്കിന് തവണ തുടർച്ചയായി പരിശോധിക്കാൻ VR റോബോട്ടിനോട് നിർദ്ദേശിക്കും.
[If then else] ബ്ലോക്കിനുള്ളിലെ [Drive], [Turn] ബ്ലോക്കുകൾ നോൺ-വെയ്റ്റിംഗ് ബ്ലോക്കുകളാണെന്ന് ശ്രദ്ധിക്കുക. ഒരു പ്രോജക്റ്റ് പ്രവർത്തിക്കുമ്പോൾ, നോൺ-വെയ്റ്റിംഗ് ബ്ലോക്കുകൾ അതിന്റെ ഒഴുക്കിനെ തടയുന്നില്ല. [If then else] ബ്ലോക്കിൽ നടപ്പിലാക്കുന്ന ഒരു നോൺ-വെയിറ്റിംഗ് സ്വഭാവം (ഉദാഹരണത്തിന്, ഒബ്ജക്റ്റ് കണ്ടെത്തിയാൽ മുന്നോട്ട് ഡ്രൈവ് ചെയ്യുക) അവസ്ഥ പരിശോധിക്കുമ്പോൾ തുടരും, അവസ്ഥ മാറുമ്പോൾ മാത്രമേ അത് മാറുകയുള്ളൂ.

<Distance found object> ബ്ലോക്ക് FALSE ആയി റിപ്പോർട്ട് ചെയ്താൽ, പ്രോജക്റ്റിന്റെ 'Else' ബ്രാഞ്ച് നടപ്പിലാക്കും. 'Else' ബ്രാഞ്ചിൽ [ടേൺ] ബ്ലോക്ക് ഉൾപ്പെടുന്നു.

നിങ്ങളുടെ അറിവിലേക്കായി
[അങ്ങനെയെങ്കിൽ] അവസ്ഥ പരിശോധിക്കുമ്പോൾ പ്രോജക്റ്റിലെ ഒരു ബ്രാഞ്ച് മാത്രമേ പ്രവർത്തിക്കുന്നുള്ളൂ എന്ന് ഉറപ്പാക്കാൻ ബ്ലോക്കുകൾ ഉപയോഗിക്കുന്നു. ഒരു സന്ദർഭമോ വ്യവസ്ഥയോ മാത്രമേ ഏത് സമയത്തും ശരിയാകാൻ കഴിയൂ. ഇത് പദ്ധതിയെ കൂടുതൽ കാര്യക്ഷമമാക്കുന്നു.

യൂണിറ്റ് 7-ൽ സൃഷ്ടിച്ച പ്രോജക്റ്റുമായി നിലവിലെ പ്രോജക്റ്റ് താരതമ്യം ചെയ്യുക. യൂണിറ്റ് 7 പ്രോജക്റ്റ് നാല് [അങ്ങനെയാണെങ്കിൽ] ബ്ലോക്കുകൾ ഉപയോഗിക്കുന്നു.

ഒന്നിലധികം [If then] ബ്ലോക്കുകളുള്ള ഒരു പ്രോജക്റ്റിലൂടെ പ്രവർത്തിക്കുമ്പോൾ, ഒന്നിലധികം അവസ്ഥകൾ TRUE ആയി റിപ്പോർട്ട് ചെയ്യപ്പെടാനും പ്രോജക്റ്റ് [Forever] ബ്ലോക്കിലെ കമാൻഡുകളിലൂടെ പ്രവർത്തിക്കാനും സാധ്യതയുണ്ട്. ഈ പ്രോജക്റ്റിൽ, ഒരേ [Forever] ലൂപ്പിൽ രണ്ട് വ്യവസ്ഥകളും TRUE ആയി റിപ്പോർട്ട് ചെയ്തേക്കാം. ഇതുപോലുള്ള സംഘർഷങ്ങൾ പ്രോജക്റ്റ് പ്രവർത്തനം നിർത്താനോ കൂടുതൽ മന്ദഗതിയിലാക്കാനോ ഇടയാക്കും.

[If then else] ബ്ലോക്ക് ഉപയോഗിക്കുന്നത് ഇതുപോലുള്ള ബഗുകൾ ഒഴിവാക്കാൻ സഹായിക്കും, കാരണം ഈ ബ്ലോക്കിൽ ഒരു നിശ്ചിത സമയത്ത് ഒരു വ്യവസ്ഥ മാത്രമേ TRUE ആകാൻ കഴിയൂ.

ചോദ്യങ്ങൾ
പാഠ ക്വിസ് ആക്സസ് ചെയ്യുന്നതിന് താഴെയുള്ള ലിങ്ക് തിരഞ്ഞെടുക്കുക.