publicMasters/1-ComputationAndData/MVaP/ExoVoyager2.mvap

78 lines
1.4 KiB
Plaintext

### On souhaite comparer 2 parcours en transport public entre l'université de Créteil et l'IUT de SF.
# Parcours 1 :
# prendre la ligne 1 puis 8 pour Gare de Lyon (30 minutes)
# prendre la ligne R pour Fontainebleau-Avon (45 minutes)
# prendre un vélo pour l'IUT (20 minutes).
# vs
# Parcours 2 :
# marcher au Vert de Maison prendre la ligne D pour Melun (55 minutes)
# changer à Melun prendre la ligne R pour Fontainebleau-Avon (16 minutes)
# prendre un vélo pour l'IUT (20 minutes).
#
#
# 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
PUSHI 30
PUSHI 45
PUSHI 20
ADD
ADD
# dupliquer le résultat pour le stocker dans dp1
DUP
STOREG 0
# calcul du parcours 2
PUSHI 55
PUSHI 16
PUSHI 20
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