compiladores:programas_de_ejemplo
Programas de ejemplos para probar el intérprete
Exponenciación | Factorial | División | División (con falla) |
?x;
?y;
r:=1;
while y>0 do
r:=r*x;
y:=y-1
od;
!r
|
y:=1;
f:=1;
?x;
while x>=y do
f:=f*y;
y:=y+1
od;
!f
|
q:=0;
?x;
?y;
r:=x;
while r>=y do
q:=q+1;
r:=r-y
od;
!r;
!q
| q:=0;
?x;
?y;
if y=0
then fail DivZero
else
r:=x;
while r>=y do
q:=q+1;
r:=r-y
od;
!q;
!r
fi
|
Exponenciación (mejorado) | Fibonnaci de un número | Fibonnaci desde 1 hasta un número |
catch ExpNeg in
?x;
?y;
if y<0 then
fail ExpNeg
else
r:=1;
while y>0 do
r:=r*x;
y:=y-1
od;
!r
fi
{fail CanNotDealWithReals}
| ni:=0;
nj:=1;
?x;
y:=0;
for i:=1 to x do
newvar t:=ni+nj {
ni:=nj;
nj:=t
};
i:=i+1
od;
!nj
| ni:=0;
nj:=1;
?x;
y:=0;
for i:=1 to x do
newvar t:=ni+nj {
ni:=nj;
nj:=t
};
!nj;
i:=i+1
od
|
Primo o compuesto (muy ineficiente) |
?x;
i:=2;
while i<x do
if x rem i=0 then break
else i:=i+1
fi
od;
if i<x then fail NotPrime
else fail Prime
fi
|
compiladores/programas_de_ejemplo.txt · Última modificación: 2018/08/10 03:03 por 127.0.0.1