compiladores:programas_de_ejemplo
¡Esta es una revisión vieja del documento!
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} | 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.1175114159.txt.gz · Última modificación: 2018/08/10 03:03 (editor externo)