Connexion
S'inscrire
Actualités
Quoi de neuf
Activités générales
Auteurs
Forums
Nouveaux messages
Rechercher un forum
Quoi de neuf
Nouveaux messages
Nouveaux messages de profil
Activités générales
Membres
Membres inscrits
Visiteurs actuels
Nouveaux messages de profil
Rechercher dans les messages des profils
Teams
Créé ton équipe
Quoi de neuf ?
Nouveaux messages
Rechercher un forum
Menu
Connexion
S'inscrire
Install the app
Install
Forums
Forums généraux
Informatique
Développement
Questions, aides et recherches
Algorithme en Python
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
Vous utilisez un navigateur non à jour ou ancien. Il ne peut pas afficher ce site ou d'autres sites correctement.
Vous devez le mettre à jour ou utiliser un
navigateur alternatif
.
Répondre à la discussion
Message
<blockquote data-quote="Marshmello" data-source="post: 7367488" data-attributes="member: 187012"><p>J'aimerais avoir quelques conseils pour commencer mon code en Python. </p><p></p><p>J'ai crée un algorithme mais je me demande comment commencer le tout. </p><p></p><p>Merci de votre aide !</p><p>[CODE]SEQUENCE CallElevators using FLOOR and CURRENTELEVATOR and DIRECTION</p><p> IF CURRENTELEVATOR is NULL</p><p> CALL ActivateButton with FLOOR and DIRECTION</p><p> CALL FindEelevator with FLOOR and DIRECTION - RETURNING CallElevators</p><p> SET CURRENTELEVATOR = Elevator </p><p> END IF</p><p> CALL RequestElevator with FLOOR and CURRENTELEVATOR </p><p> CALL OperateElevator with CURRENTELEVATOR</p><p>END SEQUENCE</p><p></p><p>SEQUENCE ActivateButton using FLOOR and DIRECTION</p><p> CALL FindButton with DIRECTIONFLOOR - RETURNING Button</p><p> SET Button Active</p><p>END SEQUENCE</p><p></p><p>SEQUENCE DesactivateButton using FLOOR and DIRECTION</p><p> CALL FindButton with FLOOR and DIRECTION - RETURNING Button</p><p> SET Button Inactive</p><p>END SEQUENCE</p><p></p><p>SEQUENCE FindButton using FLOOR and DIRECTION</p><p> FOR EACH Button IN Buttons</p><p> IF FLOOR = ButtonFLOOR AND DIRECTION = ButtonDIRECTION</p><p> THEN RETURN Button</p><p> END FOR</p><p>END SEQUENCE</p><p></p><p>SEQUENCE ActivateInsideButton using CURRENTFLOOR and ELEVATOR</p><p> CALL FindActiveInsideButton with CURRENTFLOOR and ELEVATOR</p><p> SET Button Active</p><p>END SEQUENCE</p><p></p><p>SEQUENCE DesactivateInsideButton using CURRENTFLOOR and ELEVATOR</p><p> CALL FindActiveInsideButton with FLOOR and ELEVATOR - RETURNING Button</p><p> SET Button Inactive</p><p>END SEQUENCE</p><p></p><p>SEQUENCE FindActiveInsideButton using CURRENTFLOOR and ELEVATOR</p><p> FOR EACH ActivateInsideButton IN ActivateInsideButtons</p><p> IF CURRENTFLOOR = ActivateInsideButtonFLOOR</p><p> THEN RETURN ActivateInsideButton</p><p> END FOR</p><p>END SEQUENCE </p><p></p><p>SEQUENCE FindEelevator using FLOOR and DIRECTION</p><p> WHILE ELEVATOR NOT FOUND</p><p> FOR EACH ELEVATOR IN CallElevators</p><p> IF FLOOR = ELEVATOR.CURRENTFLOOR AND ELEVATOR.Status = Stopped OR ELEVATOR.DIRECTION = DIRECTION THEN</p><p> RETURN ELEVATOR</p><p> ELSE IF ELEVATOR.Status = Idle THEN</p><p> RETURN ELEVATOR</p><p> ELSE IF Elevator.Status = Idle AND FLOOR = Elevator.CURRENTFLOOR THEN</p><p> RETURN ELEVATOR</p><p> ELSE IF FLOOR > Elevator.CURRENTELEVATOR AND Elevator.Direction AND Elevator.Direction = GoingUp AND Elevator.Direction = GoingUp THEN</p><p> RETURN ELEVATOR</p><p> ELSE IF FLOOR < Elevator.CURRENTFLOOR AND Elevator.Direction = GoingUp AND Elevator.Direction - GoingUp THEN</p><p> RETURN ELEVATOR</p><p> END IF </p><p> END FOR</p><p> END WHILE</p><p> END SEQUENCE</p><p></p><p> SEQUENCE OperateElevator using ELEVATOR</p><p> READ RequestedFLOOR FROM Elevator.FloorList</p><p> IF SortFloorList IS NOT EMPTY THEN</p><p> IF Elevator.CURRENTFLOOR IS RequestedFLOOR THEN</p><p> CALL OpenDoor with ELEVATOR</p><p> REMOVE RequestedFLOOR FROM Elevator.FloorList</p><p> CALL DesactivateInsideButton with CURRENTELEVATOR and ELEVATOR - RETURNING ActivateInsideButton</p><p> REPEAT</p><p> CALL CloseDoor with ELEVATOR - RETURN doorIsCLOSED</p><p> UNTIL doorIsCLOSED</p><p> IF CURRENTFLOOR > RequestedFLOOR THEN</p><p> CALL MoveDown with RequestedFLOOR and ELEVATOR</p><p> IF CURRENTFLOOR < RequestedFLOOR THEN</p><p> CALL MoveUp with RequestedFLOOR and ELEVATOR</p><p> ELSE</p><p> CALL MoveDown with 1 and ELEVATOR</p><p> END IF</p><p>END SEQUENCE</p><p></p><p>SEQUENCE RequestElevator using RequestedFLOOR and ELEVATOR</p><p> ADD RequestedFLOOR TO Elevator.FloorList</p><p> CALL SortFloorList with FloorList - RETURNING SortedFloorList</p><p> SET Elevator.FloorList TO SortedFloorList</p><p>END SEQUENCE</p><p></p><p>SEQUENCE SortFloorList using DIRECTION and FloorList</p><p> sort Elevator.FloorList BY Elevator.Direction THE RETURN FloorList</p><p>END SEQUENCE</p><p></p><p>SEQUENCE OBSTRUCTED using ELEVATOR</p><p> READ Captor FROM doorIsCLOSED</p><p> IF OBSTRUCTED</p><p> RETURN TRUE</p><p> ELSE RETURN FALSE</p><p>END SEQUENCE</p><p></p><p>SEQUENCE OverWeight using ELEVATOR</p><p> READ Weight FROM Balance</p><p> IF Weight > Elevator.MAXWeight THEN</p><p> RETURN TRUE</p><p> ELSE RETURN FALSE</p><p> END IF</p><p>END SEQUENCE</p><p></p><p>SEQUENCE OpenDoor using ELEVATOR</p><p> CALL DesactivateButton with CURRENTFLOOR and ElevatorDIRECTION - RETURNING Button</p><p> COMPUTE slideDoor</p><p> INIT Timer TO 6 SECONDS</p><p>END SEQUENCE</p><p></p><p>SEQUENCE CloseDoor using ELEVATOR</p><p> IF Door = Closing AND NOT OBSTRUCTED OR NOT OverWeight THEN</p><p> RETURN TRUE</p><p> ELSE</p><p> RETURN FALSE</p><p> END IF</p><p>END SEQUENCE</p><p></p><p>SEQUENCE MoveDown using RequestedFLOOR and ELEVATOR</p><p> REPEAT</p><p> COMPUTE CURRENTFLOOR = |FLOOR - 1|</p><p> SET Elevator.DISPLAY = CURRENTFLOOR</p><p> UNTIL CURRENTFLOOR IS FLOOR</p><p> CALL RequestElevator with FLOOR and ELEVATOR</p><p>END SEQUENCE</p><p></p><p>SEQUENCE MoveUp using RequestedFLOOR and ELEVATOR</p><p> REPEAT</p><p> COMPUTE CURRENTFLOOR = |FLOOR + 1|</p><p> SET Elevator.DISPLAY = CURRENTFLOOR</p><p> UNTIL CURRENTFLOOR IS FLOOR</p><p> CALL RequestElevator with FLOOR and ELEVATOR</p><p>END SEQUENCE</p><p></p><p>[/CODE]</p></blockquote><p></p>
[QUOTE="Marshmello, post: 7367488, member: 187012"] J'aimerais avoir quelques conseils pour commencer mon code en Python. J'ai crée un algorithme mais je me demande comment commencer le tout. Merci de votre aide ! [CODE]SEQUENCE CallElevators using FLOOR and CURRENTELEVATOR and DIRECTION IF CURRENTELEVATOR is NULL CALL ActivateButton with FLOOR and DIRECTION CALL FindEelevator with FLOOR and DIRECTION - RETURNING CallElevators SET CURRENTELEVATOR = Elevator END IF CALL RequestElevator with FLOOR and CURRENTELEVATOR CALL OperateElevator with CURRENTELEVATOR END SEQUENCE SEQUENCE ActivateButton using FLOOR and DIRECTION CALL FindButton with DIRECTIONFLOOR - RETURNING Button SET Button Active END SEQUENCE SEQUENCE DesactivateButton using FLOOR and DIRECTION CALL FindButton with FLOOR and DIRECTION - RETURNING Button SET Button Inactive END SEQUENCE SEQUENCE FindButton using FLOOR and DIRECTION FOR EACH Button IN Buttons IF FLOOR = ButtonFLOOR AND DIRECTION = ButtonDIRECTION THEN RETURN Button END FOR END SEQUENCE SEQUENCE ActivateInsideButton using CURRENTFLOOR and ELEVATOR CALL FindActiveInsideButton with CURRENTFLOOR and ELEVATOR SET Button Active END SEQUENCE SEQUENCE DesactivateInsideButton using CURRENTFLOOR and ELEVATOR CALL FindActiveInsideButton with FLOOR and ELEVATOR - RETURNING Button SET Button Inactive END SEQUENCE SEQUENCE FindActiveInsideButton using CURRENTFLOOR and ELEVATOR FOR EACH ActivateInsideButton IN ActivateInsideButtons IF CURRENTFLOOR = ActivateInsideButtonFLOOR THEN RETURN ActivateInsideButton END FOR END SEQUENCE SEQUENCE FindEelevator using FLOOR and DIRECTION WHILE ELEVATOR NOT FOUND FOR EACH ELEVATOR IN CallElevators IF FLOOR = ELEVATOR.CURRENTFLOOR AND ELEVATOR.Status = Stopped OR ELEVATOR.DIRECTION = DIRECTION THEN RETURN ELEVATOR ELSE IF ELEVATOR.Status = Idle THEN RETURN ELEVATOR ELSE IF Elevator.Status = Idle AND FLOOR = Elevator.CURRENTFLOOR THEN RETURN ELEVATOR ELSE IF FLOOR > Elevator.CURRENTELEVATOR AND Elevator.Direction AND Elevator.Direction = GoingUp AND Elevator.Direction = GoingUp THEN RETURN ELEVATOR ELSE IF FLOOR < Elevator.CURRENTFLOOR AND Elevator.Direction = GoingUp AND Elevator.Direction - GoingUp THEN RETURN ELEVATOR END IF END FOR END WHILE END SEQUENCE SEQUENCE OperateElevator using ELEVATOR READ RequestedFLOOR FROM Elevator.FloorList IF SortFloorList IS NOT EMPTY THEN IF Elevator.CURRENTFLOOR IS RequestedFLOOR THEN CALL OpenDoor with ELEVATOR REMOVE RequestedFLOOR FROM Elevator.FloorList CALL DesactivateInsideButton with CURRENTELEVATOR and ELEVATOR - RETURNING ActivateInsideButton REPEAT CALL CloseDoor with ELEVATOR - RETURN doorIsCLOSED UNTIL doorIsCLOSED IF CURRENTFLOOR > RequestedFLOOR THEN CALL MoveDown with RequestedFLOOR and ELEVATOR IF CURRENTFLOOR < RequestedFLOOR THEN CALL MoveUp with RequestedFLOOR and ELEVATOR ELSE CALL MoveDown with 1 and ELEVATOR END IF END SEQUENCE SEQUENCE RequestElevator using RequestedFLOOR and ELEVATOR ADD RequestedFLOOR TO Elevator.FloorList CALL SortFloorList with FloorList - RETURNING SortedFloorList SET Elevator.FloorList TO SortedFloorList END SEQUENCE SEQUENCE SortFloorList using DIRECTION and FloorList sort Elevator.FloorList BY Elevator.Direction THE RETURN FloorList END SEQUENCE SEQUENCE OBSTRUCTED using ELEVATOR READ Captor FROM doorIsCLOSED IF OBSTRUCTED RETURN TRUE ELSE RETURN FALSE END SEQUENCE SEQUENCE OverWeight using ELEVATOR READ Weight FROM Balance IF Weight > Elevator.MAXWeight THEN RETURN TRUE ELSE RETURN FALSE END IF END SEQUENCE SEQUENCE OpenDoor using ELEVATOR CALL DesactivateButton with CURRENTFLOOR and ElevatorDIRECTION - RETURNING Button COMPUTE slideDoor INIT Timer TO 6 SECONDS END SEQUENCE SEQUENCE CloseDoor using ELEVATOR IF Door = Closing AND NOT OBSTRUCTED OR NOT OverWeight THEN RETURN TRUE ELSE RETURN FALSE END IF END SEQUENCE SEQUENCE MoveDown using RequestedFLOOR and ELEVATOR REPEAT COMPUTE CURRENTFLOOR = |FLOOR - 1| SET Elevator.DISPLAY = CURRENTFLOOR UNTIL CURRENTFLOOR IS FLOOR CALL RequestElevator with FLOOR and ELEVATOR END SEQUENCE SEQUENCE MoveUp using RequestedFLOOR and ELEVATOR REPEAT COMPUTE CURRENTFLOOR = |FLOOR + 1| SET Elevator.DISPLAY = CURRENTFLOOR UNTIL CURRENTFLOOR IS FLOOR CALL RequestElevator with FLOOR and ELEVATOR END SEQUENCE [/CODE] [/QUOTE]
Insérer les citations…
Vérification
Publier la réponse
Forums
Forums généraux
Informatique
Développement
Questions, aides et recherches
Algorithme en Python
Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
Acceptez
En savoir plus.…
Haut