Skip to main content

പാഠം 2: പ്രോജക്റ്റ് നിർമ്മിക്കുകയും പരീക്ഷിക്കുകയും ചെയ്യുക

പദ്ധതിയുടെ നിർമ്മാണം തുടരുന്നു 

  • ഇനി if elseസ്റ്റേറ്റ്മെന്റിന്റെ അവസ്ഥ സജ്ജീകരിക്കേണ്ടതുണ്ട്. കോട്ടകൾ കണ്ടെത്തുന്നതിന് ഡിസ്റ്റൻസ് സെൻസർ ഉപയോഗിക്കുന്നതിന്, found_objectകമാൻഡ് ഉപയോഗിക്കാം. കണ്ടീഷനിലേക്ക് found_objectകമാൻഡ് ചേർക്കുക. നിങ്ങളുടെ പ്രോജക്റ്റ് ഇപ്പോൾ ഇതുപോലെ ആയിരിക്കണം:

    def main():
    	# ഡിസ്റ്റൻസ് സെൻസർ ഒരു കാസിൽ കണ്ടെത്തുന്നുണ്ടോ?
    	
    	if front_distance.found_object():
    		# ഒരു ഡിസ്റ്റൻസ് സെൻസർ കണ്ടെത്തിയ ക്രാഷ് കാസിൽ
    		പാസ്
    		
    	മറ്റുള്ളവ:
    		# ഡിസ്റ്റൻസ് സെൻസർ
    		പാസ് ഉപയോഗിച്ച് ഒരു കോട്ട കണ്ടെത്താൻ തിരിയുക
  • ഡിസ്റ്റൻസ് സെൻസർ ഒരു വസ്തു കണ്ടെത്തിയാൽ, വിആർ റോബോട്ട് കോട്ടയെ ഇടിച്ചുതെറിപ്പിക്കാൻ മുന്നോട്ട് ഓടണം. if else സ്റ്റേറ്റ്മെന്റിന്റെ 'if' ബ്രാഞ്ചിലേക്ക് ഒരു driveകമാൻഡ് ചേർത്ത്, VR റോബോട്ടിനെ മുന്നോട്ട് നയിക്കുന്നതിനുള്ള പാരാമീറ്റർ സജ്ജമാക്കുക. (ഈ കമാൻഡ് 'പാസ് 'ന് പകരമായിരിക്കണം). 

    def main():
    	# ഡിസ്റ്റൻസ് സെൻസർ ഒരു കാസിൽ കണ്ടെത്തുന്നുണ്ടോ?
    	
    	front_distance.found_object():
    		ആണെങ്കിൽ # ഒരു ഡിസ്റ്റൻസ് സെൻസർ
    		drivetrain.drive(FORWARD) കണ്ടെത്തിയ ക്രാഷ് കാസിൽ
    		
    	else:
    		# ഡിസ്റ്റൻസ് സെൻസർ
    		പാസ് ഉപയോഗിച്ച് ഒരു കോട്ട കണ്ടെത്താൻ തിരിയുക
  • found_object കമാൻഡ് False എന്ന് റിപ്പോർട്ട് ചെയ്യുമ്പോൾ, 'else' ബ്രാഞ്ച് പ്രവർത്തിക്കും, അതിനാൽ VR റോബോട്ട് പ്ലേഗ്രൗണ്ടിൽ ഒരു കോട്ട കണ്ടെത്താൻ തിരിയേണ്ടിവരും. 'else' ബ്രാഞ്ചിനുള്ളിൽ ഒരു turn കമാൻഡ് ചേർക്കുക, VR റോബോട്ടിനെ വലത്തേക്ക് തിരിക്കാൻ പാരാമീറ്ററുകൾ സജ്ജമാക്കുക. 

    def main():
    	# ഡിസ്റ്റൻസ് സെൻസർ ഒരു കാസിൽ കണ്ടെത്തുന്നുണ്ടോ?
    	
    	front_distance.found_object():
    		ആണെങ്കിൽ # ഒരു Distance Sensor
    		drivetrain.drive(FORWARD) കണ്ടെത്തിയ ക്രാഷ് കാസിൽ
    		
    	else:
    		# Distance Sensor
    		drivetrain.turn(RIGHT) ഉപയോഗിച്ച് ഒരു കാസിൽ കണ്ടെത്താൻ തിരിയുക.

നിങ്ങളുടെ അറിവിലേക്കായി

if elseസ്റ്റേറ്റ്മെന്റിന്റെ 'else' ബ്രാഞ്ച് ഒരു പ്രോജക്റ്റിൽif elseസ്റ്റേറ്റ്മെന്റിന്റെ ഭാഗമായി മാത്രമേ പ്രവർത്തിക്കൂ. സ്റ്റേറ്റ്മെന്റ് മാത്രമാണെങ്കിൽ നിങ്ങൾക്ക്സ്റ്റേറ്റ്മെന്റ് ഉണ്ടാകാമെങ്കിലും, VEXcode VR പൈത്തണിൽ ഒരു 'മറ്റൊരു' സ്റ്റേറ്റ്മെന്റ് ഇല്ല. 'if' ബ്രാഞ്ചിന്റെ വ്യവസ്ഥ പാലിക്കാത്തപ്പോൾ 'else' ബ്രാഞ്ച് പ്രവർത്തിപ്പിക്കപ്പെടുന്നു. ഒരു നിർവചിക്കപ്പെട്ട അവസ്ഥ ('if' ബ്രാഞ്ച്) ഇല്ലാതെ, 'else' ബ്രാഞ്ച് ഒരിക്കലും പ്രവർത്തിക്കില്ല. പൈത്തണിലെ കണ്ടീഷണൽ സ്റ്റേറ്റ്‌മെന്റുകൾ പ്രദർശിപ്പിക്കുന്ന മൂന്ന് കോഡ് സ്‌നിപ്പെറ്റുകൾ, ഓരോന്നിലും ഒരു കണ്ടീഷൻ തുടർന്ന് പാസ് കീവേഡുള്ള ഒരു if സ്റ്റേറ്റ്‌മെന്റ് ഫീച്ചർ ചെയ്യുന്നു. ആദ്യത്തെ രണ്ട് സ്‌നിപ്പെറ്റുകൾക്ക് മുകളിൽ പച്ച നിറത്തിലുള്ള ചെക്ക്‌മാർക്കുകൾ ഉണ്ട്, ഇത് ശരിയായ ഉപയോഗത്തെ സൂചിപ്പിക്കുന്നു. ആദ്യ സ്നിപ്പെറ്റിൽ ഒരു if സ്റ്റേറ്റ്മെന്റ് മാത്രമേ ഉൾപ്പെടുത്തിയിട്ടുള്ളൂ, രണ്ടാമത്തേതിൽ ഓരോന്നിലും പാസ് കീവേഡ് ഉള്ള ഒരു if ഉം else ഉം സ്റ്റേറ്റ്മെന്റുകൾ ഉൾപ്പെടുന്നു. മൂന്നാമത്തെ സ്നിപ്പെറ്റിൽ, ഒരു ചുവന്ന ക്രോസ് കൊണ്ട് അടയാളപ്പെടുത്തിയിരിക്കുന്നത്, പാസ് ഉള്ള ഒരു else സ്റ്റേറ്റ്മെന്റ് മാത്രമാണ്, തെറ്റായ ഉപയോഗത്തെ സൂചിപ്പിക്കുന്നു, കാരണം else സ്റ്റേറ്റ്മെന്റ് ഒരു if സ്റ്റേറ്റ്മെന്റിന് ശേഷം ആയിരിക്കണം.

ഒരു ലൂപ്പ് ചേർത്ത് പ്രോജക്റ്റ് പരീക്ഷിക്കുക.

  • പ്രോജക്റ്റ് പരീക്ഷിക്കുന്നതിനുമുമ്പ്, ഒരു കമാൻഡ് കൂടി ചേർക്കേണ്ടതുണ്ട്. അല്ലെങ്കിൽ സ്റ്റേറ്റ്മെന്റുകൾ സ്റ്റേറ്റ്മെന്റിന് പുറത്തുള്ള അടുത്ത കമാൻഡിലേക്ക് പോകുന്നതിന് മുമ്പ് ഒരിക്കൽ മാത്രമേ അവസ്ഥ പരിശോധിക്കൂ. യൂണിറ്റ് 7-ൽ, ഡൗൺ ഐ സെൻസറിന്റെ അവസ്ഥ ആവർത്തിച്ച് പരിശോധിക്കാൻ VR റോബോട്ടിനോട് നിർദ്ദേശിക്കുന്നതിനായി ഒരു അനന്തമായഉം ലൂപ്പും പ്രോജക്റ്റിലേക്ക് ചേർത്തു. ഡിസ്റ്റൻസ് സെൻസർ അവസ്ഥ ആവർത്തിച്ച് പരിശോധിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കാൻ, ഇൻഫിനിറ്റ് while ലൂപ്പ് ഡ്രാഗ് ചെയ്യുക അല്ലെങ്കിൽ ടൈപ്പ് ചെയ്യുക, തുടർന്ന് ഇൻഫിനിറ്റ്while ലൂപ്പിനുള്ളിൽif elseസ്റ്റേറ്റ്മെന്റ് പകർത്തുക. നിങ്ങളുടെ പ്രോജക്റ്റ് ഇപ്പോൾ ഇതുപോലെ ആയിരിക്കണം:
    • ഒരു ലൂപ്പിലേക്ക് കമാൻഡുകൾ പകർത്തി ഒട്ടിക്കുമ്പോൾ ഇൻഡന്റേഷൻ ശ്രദ്ധിക്കാൻ ഓർമ്മിക്കുക, അതുവഴി പ്രോജക്റ്റ് പ്രവർത്തിപ്പിക്കുമ്പോൾ ഉദ്ദേശിച്ച രീതിയിൽ പ്രവർത്തിക്കും. 

      def main():
      
      	while True:
      		# ഡിസ്റ്റൻസ് സെൻസർ ഒരു കാസിൽ കണ്ടെത്തുന്നുണ്ടോ?
      	
      		front_distance.found_object():
      			ആണെങ്കിൽ # ഒരു ഡിസ്റ്റൻസ് സെൻസർ
      			drivetrain.drive(FORWARD) കണ്ടെത്തിയ ക്രാഷ് കാസിൽ
      		
      		else:
      			# ഡിസ്റ്റൻസ് സെൻസർ
      			drivetrain.turn(RIGHT) ഉപയോഗിച്ച് ഒരു കാസിൽ കണ്ടെത്താൻ തിരിയുക
      		
      		wait(5, MSEC)
  • പ്ലേഗ്രൗണ്ട് വിൻഡോ തുറന്നിട്ടില്ലെങ്കിൽ അത് തുറക്കുക. ഡൈനാമിക് കാസിൽ ക്രാഷർ പ്ലേഗ്രൗണ്ട്തുറന്നിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക, തുടർന്ന് പ്രോജക്റ്റ് പ്രവർത്തിപ്പിക്കുക. ഡൈനാമിക് കാസിൽ ക്രാഷർ കളിസ്ഥലത്തിന്റെ മുകളിൽ നിന്ന് താഴേക്കുള്ള കാഴ്ച, ചില കോട്ടകൾ മാത്രമേ തകർന്നിട്ടുള്ളൂ എന്ന് കാണിക്കുന്നു. കളിസ്ഥലത്തിന് ചുറ്റുമുള്ള ചലനത്തിന് ശേഷം കളിസ്ഥലത്തിന്റെ മുകളിൽ വലതുവശത്താണ് വിആർ റോബോട്ട്.
  • VR റോബോട്ട് കുറഞ്ഞത് രണ്ട് കോട്ടകളെങ്കിലും തകർത്തുകഴിഞ്ഞാൽ, പ്ലേഗ്രൗണ്ട് വീണ്ടും ലോഡുചെയ്‌ത് ഡൈനാമിക് കാസിൽ ക്രാഷർ പ്ലേഗ്രൗണ്ടിന്റെ മറ്റൊരു ലേഔട്ടിൽ പ്രോജക്റ്റ് പ്രവർത്തിപ്പിക്കുക. കളിസ്ഥല ഇന്റർഫേസുള്ള ഡൈനാമിക് കാസിൽ ക്രാഷറിന്റെ മുകളിൽ നിന്ന് താഴേക്കുള്ള കാഴ്ച. പ്ലേഗ്രൗണ്ട് ഇന്റർഫേസിന്റെ താഴെ ഇടതുവശത്തുള്ള റീസെറ്റ് ബട്ടൺ ഒരു ചുവന്ന ബോക്സ് ഉപയോഗിച്ച് ഹൈലൈറ്റ് ചെയ്തിരിക്കുന്നു.
  • പ്രോജക്റ്റിന്റെ ഓരോ ഓട്ടത്തിലും, ഡിസ്റ്റൻസ് സെൻസർ ഒരു കോട്ട കണ്ടെത്തുന്നതുവരെ VR റോബോട്ട് തിരിയും, തുടർന്ന് അത് തകർക്കാൻ ആ കെട്ടിടത്തിലേക്ക് ഓടിച്ചുകൊണ്ടുപോകും.ഡൈനാമിക് കാസിൽ ക്രാഷർ കളിസ്ഥലത്തിന്റെ ഒരു കോണീയ കാഴ്ച, VR റോബോട്ട് ഒരു കോട്ടയുടെ ഒരു ഭാഗം ചുവന്ന ബോർഡർ ലൈനിന് മുകളിലൂടെ കളിസ്ഥലത്തിന്റെ അരികിൽ നിന്ന് തള്ളിയിടുന്നത് കാണിക്കുന്നു.
  • പ്രോജക്റ്റ് നടക്കുന്നതിനിടയിൽ, വിആർ റോബോട്ട് ഒരു കോട്ടയുടെ ഒരു ഭാഗം അരികിലേക്ക് തള്ളിയിട്ട് പ്ലേഗ്രൗണ്ടിൽ നിന്ന് വീണേക്കാം. കാരണം, found_objectകമാൻഡ് ഇപ്പോഴും VR റോബോട്ടിന് മുന്നിൽ ഒരു ഒബ്‌ജക്റ്റ് ഉണ്ടെന്ന് റിപ്പോർട്ട് ചെയ്യുന്നു. ഈ കമാൻഡ് ട്രൂ എന്ന് റിപ്പോർട്ട് ചെയ്യുമ്പോൾ, വിആർ റോബോട്ട് മുന്നോട്ട് നീങ്ങുന്നു, വിആർ റോബോട്ടിനെ പ്ലേഗ്രൗണ്ടിൽ നിന്ന് വീഴാൻ നയിക്കുന്നു.

അല്ലെങ്കിൽ സ്റ്റേറ്റ്‌മെന്റുള്ള പ്രോജക്റ്റ് ഫ്ലോ

VR റോബോട്ടിന് ഒരു തീരുമാനമെടുക്കാൻ വേണ്ടി if else സ്റ്റേറ്റ്മെന്റ് ഉപയോഗിക്കുന്നു. ബൂളിയൻ കൺഡിഷൻ True ആണെങ്കിൽ, 'if' ബ്രാഞ്ചിനുള്ളിലെ കമാൻഡുകൾ പ്രവർത്തിക്കും. ബൂളിയൻ അവസ്ഥ തെറ്റാണെങ്കിൽ, 'else' ബ്രാഞ്ചിനുള്ളിലെ കമാൻഡുകൾ പ്രവർത്തിക്കും.

ഉദാഹരണത്തിന്, ഡൈനാമിക് കാസിൽ ക്രാഷർ പ്ലേഗ്രൗണ്ടിന്റെ ഈ ആവർത്തനത്തിൽ, പ്രോജക്റ്റ് ആരംഭിക്കുമ്പോൾ ഡിസ്റ്റൻസ് സെൻസർ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്നു -found_objectകമാൻഡിന്റെ അവസ്ഥ True എന്ന് റിപ്പോർട്ട് ചെയ്യുന്നു. ഇനി പദ്ധതിയുടെ 'if'ശാഖ പ്രവർത്തിക്കും, VR റോബോട്ട് മുന്നോട്ട് നീങ്ങും. VR റോബോട്ട് പ്രോജക്റ്റിന്റെ 'മറ്റൊരു' ശാഖ ഒഴിവാക്കും.ഇടതുവശത്ത് പ്രോജക്റ്റിന്റെ നിലവിലെ കോഡ് സ്നിപ്പെറ്റ് ഉണ്ട്. വലതുവശത്ത് ഡൈനാമിക് കാസിൽ ക്രാഷർ കളിസ്ഥലത്തിന്റെ മുകളിൽ നിന്ന് താഴേക്കുള്ള കാഴ്ചയുണ്ട്, കളിസ്ഥല ഇന്റർഫേസ് ദൃശ്യമാണ്. കളിസ്ഥല ഇന്റർഫേസിലെ ദൂര സെൻസറിന്റെ അളവ് 568 മില്ലിമീറ്റർ ആണ്, അതിൽ ഒരു ചുവന്ന ബോക്സ് ഹൈലൈറ്റ് ചെയ്തിട്ടുണ്ട്. കളിസ്ഥലത്തിന്റെ മധ്യത്തിലുള്ള കൊട്ടാരം VR റോബോട്ടിൽ നിന്ന് 568 മില്ലിമീറ്റർ അകലെയാണെന്ന് ഇത് കാണിക്കുന്നു.

  • ഡിസ്റ്റൻസ് സെൻസർ ഡാറ്റയും ഡാഷ്‌ബോർഡിൽ റിപ്പോർട്ട് ചെയ്തിട്ടുണ്ടെന്ന് ശ്രദ്ധിക്കുക. ഒരു വസ്തു കണ്ടെത്തുമ്പോൾ, ദൂര മൂല്യം പ്രദർശിപ്പിക്കും.

എന്നിരുന്നാലും, ഡൈനാമിക് കാസിൽ ക്രാഷർ പ്ലേഗ്രൗണ്ടിന്റെ ഈ ആവർത്തനത്തിൽ, പ്രോജക്റ്റ് ആരംഭിക്കുമ്പോൾ ഡിസ്റ്റൻസ് സെൻസർ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്നില്ല -found_object കമാൻഡിന്റെ അവസ്ഥ False എന്ന് റിപ്പോർട്ട് ചെയ്യുന്നു. ഇനി VR റോബോട്ട് പ്രോജക്റ്റിന്റെ 'if' ബ്രാഞ്ച് ഒഴിവാക്കും, കൂടാതെ പ്രോജക്റ്റിന്റെ 'else' ബ്രാഞ്ച് പ്രവർത്തിക്കും, അങ്ങനെ VR റോബോട്ട് വലത്തേക്ക് തിരിയും.ഇടതുവശത്ത് പ്രോജക്റ്റിന്റെ നിലവിലെ കോഡ് സ്നിപ്പെറ്റ് ഉണ്ട്. വലതുവശത്ത് ഡൈനാമിക് കാസിൽ ക്രാഷർ കളിസ്ഥലത്തിന്റെ മുകളിൽ നിന്ന് താഴേക്കുള്ള കാഴ്ചയുണ്ട്, കളിസ്ഥല ഇന്റർഫേസ് ദൃശ്യമാണ്. കളിസ്ഥല ഇന്റർഫേസിലെ ഡിസ്റ്റൻസ് സെൻസറിന്റെ അളവ് 1354 മില്ലിമീറ്റർ ആണ്, അതിൽ ഒരു ചുവന്ന ബോക്സ് ഹൈലൈറ്റ് ചെയ്തിട്ടുണ്ട്. കളിസ്ഥലത്തിന്റെ മുകളിലുള്ള കൊട്ടാരം VR റോബോട്ടിൽ നിന്ന് 1354 മില്ലിമീറ്റർ അകലെയാണെന്ന് ഇത് കാണിക്കുന്നു.

  • ഡാഷ്‌ബോർഡിലെ ഡിസ്റ്റൻസ് സെൻസർ മൂല്യം > 3000 മിമി ആയി റിപ്പോർട്ട് ചെയ്തിരിക്കുന്നത് ശ്രദ്ധിക്കുക. ഡിസ്റ്റൻസ് സെൻസറിന് 3000 മില്ലിമീറ്റർ (മില്ലീമീറ്റർ) പരിധിയിലുള്ള വസ്തുക്കളെ കണ്ടെത്താൻ കഴിയും, അതിനാൽ ഒരു വസ്തു കണ്ടെത്താത്തപ്പോൾ, മൂല്യം (>) 3000 മില്ലിമീറ്ററിൽ കൂടുതലായി റിപ്പോർട്ട് ചെയ്യപ്പെടുന്നു. 

കാരണം if else സ്റ്റേറ്റ്മെന്റ് ഒരു ഇൻഫിനിറ്റ് ന്റെ ഉള്ളിലാണ്, ലൂപ്പിലും, പ്രോജക്റ്റ് ഇൻഫിനിറ്റ്ന്റെ മുകളിലേക്ക് തിരികെ ലൂപ്പ് ചെയ്യുകയും ലൂപ്പും if else സ്റ്റേറ്റ്മെന്റിന്റെ അവസ്ഥ ആവർത്തിച്ച് പരിശോധിക്കുകയും ചെയ്യുന്നു. ഈ ലൂപ്പ് എന്നെന്നേക്കുമായി തുടരും, if elseഅവസ്ഥ സെക്കൻഡിൽ നൂറുകണക്കിന് തവണ തുടർച്ചയായി പരിശോധിക്കാൻ VR റോബോട്ടിനോട് നിർദ്ദേശിക്കുന്നു.This is the project's code snippet surrounded by an orange arrow that begins and ends on the while True: statement at the top of the code snippet. There is a note on the arrow that says Loops continuously, showing that anything nested in the while True loop will repeat forever.

  • elseസ്റ്റേറ്റ്മെന്റ് നോൺ-വെയിറ്റിംഗ് കമാൻഡുകളാണെങ്കിൽ, നുള്ളിലെ ഡ്രൈവ് ഉം ടേൺ കമാൻഡുകളും ശ്രദ്ധിക്കുക. ഒരു പ്രോജക്റ്റ് പ്രവർത്തിക്കുമ്പോൾ കാത്തിരിക്കാത്ത കമാൻഡുകൾ അവയുടെ ഒഴുക്ക് തടയുന്നില്ല.  ഒരു if else സ്റ്റേറ്റ്മെന്റിൽ ('ഡ്രൈവ് ഫോർവേഡ് ഇഫ് ഒബ്ജക്റ്റ് കണ്ടെത്തിയാൽ' പോലുള്ളവ) എക്സിക്യൂട്ട് ചെയ്യുന്ന ഒരു നോൺ-വെയിറ്റിംഗ് സ്വഭാവം, കണ്ടീഷൻ പരിശോധിക്കുമ്പോൾ തുടരും, കണ്ടീഷൻ മാറുമ്പോൾ മാത്രമേ മാറുകയുള്ളൂ.

നിങ്ങളുടെ അറിവിലേക്കായി

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

if, else സ്റ്റേറ്റ്മെന്റുകളിലേക്ക് വിരൽ ചൂണ്ടുന്ന അമ്പടയാളങ്ങളുള്ള പൈത്തൺ പ്രോജക്റ്റ് കോഡ്. ആരോകളുടെ മുകളിൽ distance.found_object സ്റ്റേറ്റ്മെന്റ് അവസ്ഥ പരിശോധിക്കുകയാണെങ്കിൽ കാണിക്കാൻ Distance Sensor ന്റെ അവസ്ഥ പരിശോധിക്കുന്നു. ഒരു ഒബ്ജക്റ്റ് കണ്ടെത്തിയാൽ, if സ്റ്റേറ്റ്മെന്റിന് കീഴിലുള്ള കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യപ്പെടും, എന്നാൽ ഒരു ഒബ്ജക്റ്റും കണ്ടെത്തിയില്ലെങ്കിൽ, else സ്റ്റേറ്റ്മെന്റിന് കീഴിലുള്ള കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യപ്പെടും.

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

യൂണിറ്റ് 7-ൽ നിന്നുള്ള പ്രോജക്റ്റ് കോഡ്, മുഴുവൻ കോഡിനെ ചുറ്റിപ്പറ്റിയുള്ള ഒരു വലിയ ഓറഞ്ച് അമ്പടയാളം, while True സ്റ്റേറ്റ്മെന്റിൽ ആരംഭിച്ച് അവസാനിക്കുന്നു. ഓറഞ്ച് അമ്പടയാളത്തിലെ ഒരു കുറിപ്പ്, ഇൻഫിനിറ്റ് while ലൂപ്പിൽ അടങ്ങിയിരിക്കുന്ന പ്രസ്താവനകൾ ആവർത്തിച്ച് പരിശോധിക്കപ്പെടുകയാണെങ്കിൽ എന്നാണ്. while True സ്റ്റേറ്റ്മെന്റിനുള്ളിലെ പച്ച അമ്പടയാളങ്ങൾ പ്രോജക്റ്റിന്റെ ഒഴുക്ക് കാണിക്കുന്നു, ഒരു പ്രത്യേക നിറം കാണുന്നുണ്ടോ എന്നതിനെക്കുറിച്ചുള്ള വ്യക്തിഗത if സ്റ്റേറ്റ്മെന്റുകളിൽ തുടങ്ങി അതനുസരിച്ച് ചെയ്യേണ്ട പെരുമാറ്റം, അത് ഒരു പെരുമാറ്റം ചെയ്യണോ അതോ അടുത്ത if സ്റ്റേറ്റ്മെന്റിലേക്ക് പോകണോ എന്നത് വരെ, എല്ലാം ഒരിക്കൽ കൂടി ലൂപ്പ് ചെയ്യുന്നിടത്ത് അവസാനം വരെ.

ഒന്നിലധികം if സ്റ്റേറ്റ്‌മെന്റുകളുള്ള ഒരു പ്രോജക്റ്റിലൂടെ പ്രവർത്തിക്കുമ്പോൾ, അനന്തമായ ലൂപ്പിലും കമാൻഡുകൾ വഴി പ്രോജക്റ്റ് പ്രവർത്തിക്കുമ്പോൾ ഒന്നിലധികം അവസ്ഥകൾ ശരി (അല്ലെങ്കിൽ തെറ്റ്) എന്ന് റിപ്പോർട്ട് ചെയ്യാൻ സാധ്യതയുണ്ട്. ഇതുപോലുള്ള സംഘർഷങ്ങൾ പ്രോജക്റ്റ് പ്രവർത്തനം നിർത്താനോ കൂടുതൽ മന്ദഗതിയിലാക്കാനോ ഇടയാക്കും. 

മറ്റൊരു വിധത്തിൽ പറഞ്ഞാൽ, ഒരു പ്രോജക്റ്റിൽസ്റ്റേറ്റ്‌മെന്റുകളുടെ ഗുണിതം ആണെങ്കിൽ, അത് ഒന്നിലധികം എക്സിറ്റ് റാമ്പുകളുള്ള ഒരു റോഡിലൂടെ സഞ്ചരിക്കുന്നതിന് തുല്യമാണ്. നിങ്ങൾ പോകാൻ ശ്രമിക്കുന്ന സ്ഥലത്തെ ആശ്രയിച്ച്, നിങ്ങൾ വ്യത്യസ്ത സ്ഥലങ്ങളിൽ തിരിയും. ഉദാഹരണത്തിന്,ആണെങ്കിൽ നിങ്ങൾ സ്കൂളിൽ പോകുകയാണെങ്കിൽ, നിങ്ങൾ ഇടത്തേക്ക് തിരിയും; ആണെങ്കിൽ നിങ്ങൾ കടയിലേക്ക് പോകുകയാണെങ്കിൽ, നിങ്ങൾ വലത്തേക്ക് തിരിയും. പക്ഷേ നീ സ്കൂളിലോ കടയിലോ പോകുന്നില്ലെങ്കിൽ എന്തുചെയ്യും? രണ്ട് അവസ്ഥകളും തെറ്റാണെന്ന് റിപ്പോർട്ട് ചെയ്യും, നിങ്ങൾ നേരായ പാതയിൽ തന്നെ തുടരും. അല്ലെങ്കിൽ നിങ്ങൾ സ്കൂളിലും കടയിലും പോകുന്നെങ്കിലോ? രണ്ട് അവസ്ഥകളും ശരിയാണെന്ന് റിപ്പോർട്ട് ചെയ്യും, പക്ഷേ നിങ്ങൾക്ക് ഒരേ സമയം രണ്ട് സ്ഥലങ്ങളിൽ തിരിയാൻ കഴിയില്ല. മൂന്ന് ദിശാസൂചന അമ്പടയാളങ്ങളുള്ള ചാരനിറത്തിലുള്ള T-ആകൃതിയിലുള്ള ഒരു കവല കാണിക്കുന്ന ഒരു ഡയഗ്രം - ഒന്ന് ഇടത്തേക്ക് ചൂണ്ടുന്നു, ഒന്ന് നേരെ മുകളിലേക്ക് ചൂണ്ടുന്നു, മറ്റൊന്ന് വലത്തേക്ക് ചൂണ്ടുന്നു. കവലയുടെ മധ്യത്തിൽ ഒരു വിആർ റോബോട്ട് ഉണ്ട്. ഡയഗ്രാമിന്റെ വലതുവശത്ത് കോഡ് ഫോർമാറ്റിലുള്ള രണ്ട് കണ്ടീഷണൽ സ്റ്റേറ്റ്‌മെന്റുകൾ ഉണ്ട്: സ്കൂളിൽ പോകുകയാണെങ്കിൽ: ഇടത്തേക്ക് തിരിയുക, സംഭരിക്കുകയാണെങ്കിൽ: വലത്തേക്ക് തിരിയുക. if സ്റ്റേറ്റ്‌മെന്റുകൾ കറുപ്പും നീലയും നിറത്തിലുള്ള വാചകങ്ങളിലാണ് എഴുതിയിരിക്കുന്നത്, if നീല നിറത്തിലും ദിശാ നിർദ്ദേശങ്ങൾ നീല നിറത്തിലുമാണ്.

 

സാമ്യം തുടരാൻ, ഒരു if elseപ്രസ്താവന റോഡിലെ ഒരു നാൽക്കവലയിലേക്ക് സഞ്ചരിക്കുന്നത് പോലെയാണ് - അത് നിങ്ങളെ ഒരു തീരുമാനമെടുക്കാൻ നിർബന്ധിക്കുന്നു. നിങ്ങൾ സ്കൂളിൽ പോകുകയാണെങ്കിൽ, ഇടത്തേക്ക് തിരിയുക; മറ്റുള്ളവ, വലത്തേക്ക് തിരിയുക. നീ എവിടേക്ക് പോയാലും, നീ ഇടത്തോട്ടോ വലത്തോട്ടോ തിരിയണം. മുകളിൽ പറഞ്ഞതുപോലുള്ള ബഗുകൾ ഒഴിവാക്കാൻ if elseഎന്ന പ്രസ്താവന ഉപയോഗിക്കാം, കാരണം ഒരു നിശ്ചിത സമയത്ത് ഒരു വ്യവസ്ഥ മാത്രമേ ശരിയാകാൻ കഴിയൂ എന്നതിനാൽ, അത് നിങ്ങളെ ഒരു തീരുമാനമെടുക്കാൻ നിർബന്ധിതരാക്കും.A diagram showing a gray Y-shaped intersection with two directional paths - one leading left and one leading right. In the center of the intersection is the VR Robot. Above the diagram is code showing conditional statements in code format: if going to school: Turn left and else: Turn right. The if and else statements are written in black and blue text, with if and else in blue and the directional instructions in lighter blue.

ചോദ്യങ്ങൾ

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

ഗൂഗിൾ ഡോക് / .ഡോക്സ് / .പിഡിഎഫ്