Capítulo 10. Teoría de conjuntos en GEL
Anterior |  | Siguiente

# Capítulo 10. Teoría de conjuntos en GEL

Genius incorpora un juego básico de funcionalidades teoréticas. En la actualidad, un conjunto es sólo un vector (o una matriz). Cada objeto distinto se trata como un elemento diferente.

## Usar conjuntos

Al igual que los vectores, los objetos en conjuntos pueden incluir números, cadenas, `null`, matrices y vectores. En un futuro se plantea tener un tipo determinado de conjuntos, en lugar de utilizar vectores. Tenga en cuenta que los números en coma flotante son distintos de los enteros, y que parecen iguales. Esto significa que Genius los tratará como términos distintos, usando las constantes `0` y `0.0`. La constante `null` se trata como un conjunto vacío.

Para construir un conjunto fuera de un vector, use la función `MakeSet`.Actualmente, sólo se devolverá un nuevo vector donde cada elemento es único.

    genius> MakeSet([1,2,2,3])
    = [1, 2, 3]

Del mismo modo hay funciones que se explican por si mismas como `Union`, `Intersection`, `SetMinus`. Por ejemplo:

    genius> Union([1,2,3], [1,2,4])
    = [1, 2, 4, 3]

. Tenga en cuenta que no se garantiza el orden en los valores que devuelve la función. Si se quiere ordenar el vector puede usar la función `SortVector`.

Para los miembros del equipo de pruebas, hay funciones `IsIn` y `IsSubset`, que devuelven un valor tipo «bool». Por ejemplo:

    genius> IsIn (1, [0,1,2])
    = true

La entrada `IsIn(x,X)` por supuesto es equivalente a `IsSubset([x],X)`. Obsérvese que puesto que el conjunto vacío es un subconjunto de cada conjunto, `IsSubset(null,X)` es siempre «true».

Anterior |  | Siguiente
Capítulo 9. Polinomios en GEL | Inicio | Capítulo 11. Lista de funciones GEL