Moviment¶
Dissenya funció moviment que ha d’executar el miniprocessador que
controla un ascensor. Aquesta funció, un cop l’ascensor arriba a una
planta, aplica unes regles i retorna un enter que indica si l’ascensor
ha d’anar cap amunt (1), cap avall (-1) o quedar-se quiet (0). La
funció té un paràmetre enter i dos paràmetres booleans. L’enter indica
si de dins de l’ascensor s’ha polsat per anar cap amunt (1), cap avall
(-1) o no hi ha res polsat (0). El primer paràmetre booleà indica si
hi ha una sol·licitud de l’ascensor en alguna planta superior (True) o
no (False). El segon paràmetre booleà indica el mateix per alguna
planta inferior.
La regla que s’aplica és que l’ascensor obeeix primer el que se li indica des de dins de la cabina i, en cas que no se li indiqui res, obeeix la crida d’altres pisos donant prioritat a pujar en cas que hi hagi crides des de plantes superiors i inferiors a la vegada.
Desa la funció al fitxer moviment.py. La funció ha
de passar el següent doctest:
>>> moviment(0, True, True) 1 >>> moviment(-1, True, False) -1 >>> moviment(1, True, True) 1 >>> moviment(1, True, False) 1 >>> moviment(0, False, True) -1 >>> moviment(0, False, False) 0
Disposes de solucions al fitxer moviment.py