correction exo mvap examen 24-25
This commit is contained in:
66
1-ComputationAndData/MVaP/ExamenMVAP24-25.mvap
Normal file
66
1-ComputationAndData/MVaP/ExamenMVAP24-25.mvap
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
### On réserve de la mémoire.
|
||||||
|
PUSHI 0 # R1 adresse 0
|
||||||
|
PUSHI 0 # R2 adresse 1
|
||||||
|
PUSHI 0 # N adresse 2
|
||||||
|
PUSHI 0 # nbrePart adresse 3
|
||||||
|
PUSHI 0 # Q Quotient f adresse 4.
|
||||||
|
|
||||||
|
### On initialise les variables
|
||||||
|
### Ici soit en demandant à l'utilisateur avec READ
|
||||||
|
### soit pour tester sans avoir à faire des entrées avec
|
||||||
|
### des PUSHI à la place de read
|
||||||
|
PUSHI 100
|
||||||
|
#READ # lit une valeur, stocke sur la pile
|
||||||
|
STOREG 0 # sauve cette valeur à l'adresse 0
|
||||||
|
PUSHI 200
|
||||||
|
#READ
|
||||||
|
STOREG 1
|
||||||
|
PUSHI 4
|
||||||
|
# READ
|
||||||
|
STOREG 2
|
||||||
|
|
||||||
|
### On traverse l'arbre, toujours dans l'ordre
|
||||||
|
### gauche, droite, haut.
|
||||||
|
### on écrit les instructions correspondantes.
|
||||||
|
### PUSHI pour les constantes dans les feuilles de l'arbre
|
||||||
|
### PUSHG pour les variables dans les feuilles de l'arbre
|
||||||
|
### ADD, SUB, MUL, DIV pour les opérations (noeuds internes de l'arbre)
|
||||||
|
|
||||||
|
PUSHG 0 # valeur de R1
|
||||||
|
PUSHG 1 # valeur de R2
|
||||||
|
ADD # J'ai fini R1+R2
|
||||||
|
|
||||||
|
PUSHI 2 # la constante 2
|
||||||
|
|
||||||
|
PUSHI 1 # la constante 1
|
||||||
|
|
||||||
|
PUSHG 2 # valeur de N
|
||||||
|
PUSHI 2 # la constante 2
|
||||||
|
SUB # J'ai fini N-2
|
||||||
|
|
||||||
|
ADD # fini 1+(N-2)
|
||||||
|
|
||||||
|
ADD # fini 2+(1+(N-2))
|
||||||
|
STOREG 3 # memoriser nbrepart
|
||||||
|
PUSHG 3
|
||||||
|
|
||||||
|
DIV # fin du calcul
|
||||||
|
STOREG 4 # mémoriser quotient familial
|
||||||
|
|
||||||
|
### On récupère les valeurs qu'on veut afficher
|
||||||
|
|
||||||
|
PUSHG 3
|
||||||
|
WRITE
|
||||||
|
POP # WRITE ne consomme pas la valeur, il faut l'enlever
|
||||||
|
|
||||||
|
PUSHG 4
|
||||||
|
WRITE
|
||||||
|
POP
|
||||||
|
|
||||||
|
### On vide la mémoire (autant de pop que de variables)
|
||||||
|
POP
|
||||||
|
POP
|
||||||
|
POP
|
||||||
|
POP
|
||||||
|
POP
|
||||||
|
HALT
|
||||||
Reference in New Issue
Block a user