Title: Q17 - Code produit

Donner le code produit pour le module ci-dessous :

module factice :
def facto;
ref init mod (ent, ent) ;
const m=2 ;
var ent i,j;

proc facto fixe (ent i) mod (ent k)
debut
init () (j,k) ;
ttq j <= i faire
k := k * j*m;
j := j + 1
fait
fin

- Rappel des instructions de la machine à pile MAPILE : RESERVER, EMPILER, CONTENUG, AFFECTERG, OU, ET, NON, INF, INFEG, SUP, SUPEG,EG, DIFF, ADD, SOUS, MUL, DIV, BSIFAUX, BINCOND, LIRENT, LIREBOOL, ECRENT, ECRBOOL, ARRET.
Feedback: 1 empileradg 1 3 empileradl 1 1 6 appel 1 2 9 contenug 1 11 contenul 0 0 14 infeg 15 bsifaux 38 17 contenul 1 1 20 contenug 1 22 mul 23 empiler 2 25 mul 26 affecterl 1 1 29 contenug 1 31 empiler 1 33 add 34 affecterg 1 36 bincond 9 38 retour 2

Donner le code produit pour le module ci-dessous :

module complement:
def impair;
ref modif fixe (ent, ent) mod (ent, ent) ;
const n=2 ;
var ent x1, y1;

proc impair fixe (ent x,y) mod (ent v)
debut
modif (x,y) (x1,y1) ;
si x1 div n <10
alors v:=x1
sinon v:=y1
fsi
fin

- Rappel des instructions de la machine à pile MAPILE : RESERVER, EMPILER, CONTENUG, AFFECTERG, OU, ET, NON, INF, INFEG, SUP, SUPEG,EG, DIFF, ADD, SOUS, MUL, DIV, BSIFAUX, BINCOND, LIRENT, LIREBOOL, ECRENT, ECRBOOL, ARRET.
Feedback: 1 contenul 0 0 4 contenul 1 0 7 empileradg 0 9 empileradg 1 11 appel 1 4 14 contenug 0 16 empiler 2 18 div 19 empiler 10 21 inf 22 bsifaux 31 24 contenug 0 26 affecterl 2 1 29 bincond 36 31 contenug 1 33 affecterl 2 1 36 retour 3