Documente Academic
Documente Profesional
Documente Cultură
TAD Ajedrez
crearJuego:: Ajedrez
TAD Tablero
inicial:: Tablero
TAD Ficha
color
MAIN
MIENTRAS NO JaqueMate(Tablero)
SI (Blanco) ENTONCES
SINO
FSI
INPUT Ficha
FMIENTRAS
FIN
MAIN
FMIENTRAS
FIN
Maquina de Estados
Parametrizacion
A transformación se hace en función de la variable del estado de llegada con asignación del estado
de salida
Dada una luz dimmeable, puede estar encendida. Si está encendida su intensidad puede variar de
0ae
TAD Lampara
Op Constructoras
TAD Lampara
O bien
enc: Bool
capmax: Entero
intensidad: Entero
END
OTRO EJEMPLO
Codigo Secreto
TAD JuegoCS
CONSTRUCTORES
OPERACIONES
Reglas Sintacitcas
Reglas
Aumentacion:
A B. =>
Either(A, C) Either(B, C)
Maybe(A). Maybe(B)
Conmutatividad:
A B. =>
Asociatividad:
A B. =>
A. f(A)
B. f(B)
Entonces:
Bool. Maybe(Unit)
Product(Unit, A). A
Unit -> A. A
Product1 (A). A
Either1 (A). A
Product0(). Unit
Either0()
Otra Regla
F1 :: T1 -> T
F2 :: T2 -> T
Bool
Lista
Nat
Cero :: Nat
Lista(Unit). Maybe(Lista(Unit))
Nat. Maybe(Nat)
Unit: Void
Product: es un record
Dato: a
Sig: Lista(a)
END
Distributividad:
Repaso Parcial
• Arbol N-Ario
Con nodos hoja de un determinado tipo y nodos no hoja de otro tipo de terminado.
Los arcos que unen un elemento con su elemento sucesor pueden tener un rotulo de
eventualmente otro tipo
Se solicita realizar lo siguiente: definir los constructores algebraicos del TDA, explicar con palabras
las validaciones de una posible operacion constructora (parámetros y cartacteristicas)
Antes de recorrer un nodo hoja o no hoja deberá estar precedido en todos los rótulos des de la raiz
del arbol
2) Depth First
USE Lista
OP CONSTRUCTORAS
construirNoHoja :: nh x Lista(Maybe(r),
OP Constructoras
construirHoja(x) = HojaAP(x)
Para lo cual se crea un nuevo tipo de dato que generalice atrA. Tipos Polimorficos