<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Sensor de tacte
<img src="img/If-Then-Else-diagram.svg.png" align="right">
Els sensors permeten al robot reaccionar a les condicions de l'entorn, i executar ordres diferents en cada cas.
Per a fer això, a més del sensor, es necessita una instrucció del llenguatge de programació que permet triar entre dos situacions, anomenada [condicional](https
Step1:  El codi següent comprova el sensor de tacte
Step2:  <img src="img/While-loop-diagram.svg.png" align="right">
Detecció de condicions
Imagineu que volem fer un programa per a que el robot avance mentre el sensor de tacte no detecte cap obstacle. Hauríem d'estar comprovant el sensor repetidament fins el moment en què es detectara el contacte.
Podríem utilitzar el bucle for amb el condicional if, però els llenguatges de programació defineixen una estructura equivalent, anomenada bucle condicional, o while loop.
En Python s'escriu així
Step3:  Sembla complicat? Les ordres que li esteu donant al robot són molt semblants a les del llenguatge natural, només que en anglès. Si no vos convenç, mireu la traducció 
<ASSISTANT_TASK:>
Python Code:
from functions import connect, touch, forward, backward, stop, disconnect, next_notebook
from time import sleep
connect()
Explanation: Sensor de tacte
<img src="img/If-Then-Else-diagram.svg.png" align="right">
Els sensors permeten al robot reaccionar a les condicions de l'entorn, i executar ordres diferents en cada cas.
Per a fer això, a més del sensor, es necessita una instrucció del llenguatge de programació que permet triar entre dos situacions, anomenada [condicional](https://en.wikipedia.org/wiki/Conditional_(computer_programming&#41;).
En Python s'escriu així:
python
if condition:
    one_statement
else:
    another_statement
Aleshores, si la condició es verdadera, s'executa la primera ordre, i si no, la segona.
Vegem un exemple, però primer connectem el robot.
End of explanation
if touch(): 
    backward()
    sleep(0.2)
    stop()
else:
    forward()
    sleep(0.2)
    stop()
Explanation: El codi següent comprova el sensor de tacte:
si està polsat, el robot va cap enrere
si no està polsat, va cap avant
Proveu-lo amb Ctrl+Enter mentre polseu (o no) el sensor de tacte.
End of explanation
while not touch():
    forward()
stop()
Explanation: <img src="img/While-loop-diagram.svg.png" align="right">
Detecció de condicions
Imagineu que volem fer un programa per a que el robot avance mentre el sensor de tacte no detecte cap obstacle. Hauríem d'estar comprovant el sensor repetidament fins el moment en què es detectara el contacte.
Podríem utilitzar el bucle for amb el condicional if, però els llenguatges de programació defineixen una estructura equivalent, anomenada bucle condicional, o while loop.
En Python s'escriu així:
python
while condition:
    statement
Aleshores, l'ordre s'executa repetidament, mentre la condició siga verdadera.
El programa quedaria així:
End of explanation
disconnect()
next_notebook('navigation')
Explanation: Sembla complicat? Les ordres que li esteu donant al robot són molt semblants a les del llenguatge natural, només que en anglès. Si no vos convenç, mireu la traducció :-)
Recapitulem
Ara podeu respirar una mica: acabeu de vore dos de les instruccions més importants dels llenguatges de programació:
if .. else: permet executar dos ordres diferents segons una condició siga verdadera o falsa
while: permet repetir una ordre mentre una condició siga verdadera
En el següent exercici usarem eixes instruccions, i tot el que hem aprés abans, per a moure el robot de forma autònoma, el que en robòtica s'anomena navegació.
Abans de continuar, desconnecteu el robot:
End of explanation
<END_TASK>