publicMasters/MVaP/ExoVoyager3.mvap

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