I1M-0.1.0.0: Código de I1M.

LicenseCreative Commons
MaintainerJosé A. Alonso
Safe HaskellSafe
LanguageHaskell2010

I1M.Tabla

Description

TAD (tipo abstracto de datos) de las tablas.

Este módulo contiene el código del TAD de las tablas estudiado en el tema 18 del curso.

En los ejemplos se usarán las siguientes tablas:

t1 = tabla [(i,f i) | i <- [1..6] ] 
     where f x | x < 3     = x
               | otherwise = 3-x
t2 = tabla [(4,89), (1,90), (2,67)]

Synopsis

Documentation

data Tabla i v Source

El tipo de las tablas.

Instances

(Eq i, Eq v) => Eq (Tabla i v) Source 
(Show i, Show v) => Show (Tabla i v) Source 

tabla :: Eq i => [(i, v)] -> Tabla i v Source

(tabla ivs) es la tabla correspondiente a la lista de asociación ivs (que es una lista de pares formados por los índices y los valores). Por ejemplo,

tabla [(4,89), (1,90), (2,67)]  ==  Tbl [(4,89),(1,90),(2,67)]

valor :: Eq i => Tabla i v -> i -> v Source

(valor t i) es el valor del índice i en la tabla t. Por ejemplo,

valor t1 6  ==  -3
valor t2 2  ==  67
valor t2 5  ==  *** Exception: fuera de rango

modifica :: Eq i => (i, v) -> Tabla i v -> Tabla i v Source

(modifica (i,x) t) es la tabla obtenida modificando en la tabla t el valor de i por x. Por ejemplo,

valor t1 6                   ==  -3
valor (modifica (6,9) t1) 6  ==  9