compiladores:programas_de_ejemplo
¡Esta es una revisión vieja del documento!
| 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}
| n1:=0;
n2:=1;
?x;
y:=0;
for i:=1 to x do
newvar t:=n1+n2 {
n1:=n2;
n2:=t
};
i:=i+1
od;
!n2
| n1:=0;
n2:=1;
?x;
y:=0;
for i:=1 to x do
newvar t:=n1+n2 {
n1:=n2;
n2:=t
};
!n2;
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.1145660111.txt.gz · Última modificación: (editor externo)
