75 lines
1.1 KiB
Plaintext
75 lines
1.1 KiB
Plaintext
### On souhaite comparer 2 parcours en transport public avec au plus deux changements
|
|
### L'utilisateur doit nous donner ces 6 durées.
|
|
# Parcours 1 :
|
|
# 3 durées
|
|
# vs
|
|
# Parcours 2 :
|
|
# 3 durées
|
|
#
|
|
#
|
|
# On souhaite afficher 1 ou 2 selon que le parcours 1 ou parcours 2 est le plus court en temps.
|
|
# Puis on souhaite afficher la durée du parcours optimal
|
|
#
|
|
# A compléter
|
|
#
|
|
# réserve de la place pour la durée du parcours 1
|
|
PUSHI 0
|
|
# réserve de la place pour la durée du parcours 2
|
|
PUSHI 0
|
|
# dp1 habite à l'adresse 0
|
|
# dp2 habite à l'addresse 1
|
|
#
|
|
#
|
|
# calcul du parcours 1
|
|
READ
|
|
READ
|
|
READ
|
|
ADD
|
|
ADD
|
|
# dupliquer le résultat pour le stocker dans dp1
|
|
DUP
|
|
STOREG 0
|
|
# calcul du parcours 2
|
|
READ
|
|
READ
|
|
READ
|
|
ADD
|
|
ADD
|
|
# dupliquer le résultat pour le stocker dans dp2
|
|
DUP
|
|
STOREG 1
|
|
# Comparons les deux durées
|
|
INF
|
|
# 0 veut dire non, différent de 0 veut dire oui
|
|
JUMPF 0
|
|
#
|
|
# then
|
|
PUSHI 1
|
|
WRITE
|
|
POP
|
|
# charge la valeur de dp1 en haut de la pile
|
|
PUSHG 0
|
|
WRITE
|
|
POP
|
|
#
|
|
JUMP 1
|
|
LABEL 0
|
|
#
|
|
# else
|
|
PUSHI 2
|
|
WRITE
|
|
POP
|
|
# charge la valeur de dp2 en haut de la pile
|
|
PUSHG 1
|
|
WRITE
|
|
POP
|
|
#
|
|
LABEL 1
|
|
# la suite
|
|
#
|
|
# vide la mémoire des variables globales dp1 et dp2
|
|
POP
|
|
POP
|
|
HALT
|
|
|