1 /****************************************************************************
3 Alumno: Leandro Lucarella
4 Fecha: dom mar 27 02:20:08 ART 2005
5 ****************************************************************************/
12 % Concatena un 0 al final de la lista
18 % Inserta un 0 al inicio de la lista
19 fun {ShiftRight L} 0|L end
20 % Aplica una operación entre 2 elementos de dos listas
24 {Op H1 H2}|{OpList Op T1 T2}
28 % Calcula variaciones del Triánculo de Pascal
29 fun {GenericPascal Op N}
32 L = {GenericPascal Op N-1}
33 {OpList Op {ShiftLeft L} {ShiftRight L}}
42 % Multiplica sumando 1
43 fun {Mul1 X Y} (X+1)*(Y+1) end
44 % Aplicamos con distintas operaciones
45 {System.show {GenericPascal Sum 5}} % Da los resultados esperados
46 {System.show {GenericPascal Sub 5}} % Da los resultados esperados
47 % Da cero porque multiplica por los 0 de las puntas
48 {System.show {GenericPascal Mul 5}}
49 % Da un resultado un poco extraño (aunque coerente con Mul1)
50 {System.show {GenericPascal Mul1 5}}
54 % vim: set et sw=4 sts=4 filetype=oz :