Un conjunto puede definirse enumerando sus elementos o describiendo una propiedad común. Estas dos formas permiten expresar colecciones de manera clara según el tamaño, el patrón y el objetivo del problema.
Los conjuntos pueden escribirse de distintas maneras. Dos de las más importantes son la representación por extensión y la representación por comprensión.
La representación por extensión enumera los elementos. La representación por comprensión describe una regla o propiedad que deben cumplir los elementos. Ambas formas son equivalentes cuando describen exactamente la misma colección.
Un conjunto está definido por extensión cuando se escriben explícitamente todos sus elementos entre llaves.
Esta forma es directa y fácil de leer cuando el conjunto tiene pocos elementos o cuando queremos mostrar la colección completa.
| Conjunto | Representación por extensión | Descripción |
|---|---|---|
| Vocales | V = {a, e, i, o, u} | Enumera todas las vocales |
| Días laborales | D = {lunes, martes, miércoles, jueves, viernes} | Enumera los días de trabajo |
| Tecnologías web básicas | W = {HTML, CSS, JavaScript} | Enumera tres tecnologías concretas |
| Números pares menores que 10 | P = {2, 4, 6, 8} | Enumera todos los valores posibles |
La representación por extensión no siempre es práctica. Si el conjunto tiene muchos elementos o infinitos elementos, escribirlos todos puede ser imposible o poco claro.
En este caso se usan puntos suspensivos, pero aun así dependemos de que el patrón sea evidente. Cuando la regla es más importante que la lista, conviene usar comprensión.
Un conjunto está definido por comprensión cuando se describe una propiedad que deben cumplir todos sus elementos.
Esta notación se lee: P es el conjunto de todos los valores x tales que x es un número natural par menor que 10.
La notación por comprensión tiene tres partes principales: una variable, una barra vertical que se lee "tal que" y una condición o propiedad.
| Parte | Significado | Ejemplo |
|---|---|---|
| x | Variable que representa un posible elemento | Un número a evaluar |
| | | Se lee "tal que" | Indica que sigue una condición |
| Propiedad | Regla que decide pertenencia | x es par y x < 10 |
| Conjunto | Representación por comprensión | Equivalente por extensión |
|---|---|---|
| Números pares menores que 10 | P = {x | x es natural, x es par y x < 10} | {2, 4, 6, 8} |
| Números impares del 1 al 9 | I = {x | x es natural, 1 ≤ x ≤ 9 y x es impar} | {1, 3, 5, 7, 9} |
| Vocales | V = {x | x es una vocal del alfabeto español} | {a, e, i, o, u} |
| Usuarios activos | U = {u | u.estado = "activo"} | Depende de los datos del sistema |
Dos representaciones son equivalentes cuando describen exactamente el mismo conjunto.
La primera línea enumera los elementos. La segunda línea describe la regla. Ambas representan el mismo conjunto.
En programación, la representación por comprensión se parece mucho a aplicar un filtro. La condición del filtro decide qué elementos pertenecen al resultado.
const numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9];
const paresMenoresQueDiez = numeros.filter(numero => numero % 2 === 0);
console.log(paresMenoresQueDiez);
La condición numero % 2 === 0 representa la propiedad que deben cumplir los elementos del conjunto.
Si queremos que el resultado no tenga elementos repetidos, podemos usar Set.
const etiquetas = ["web", "datos", "web", "lógica", "datos"];
const conjuntoEtiquetas = new Set(etiquetas);
console.log([...conjuntoEtiquetas]);
El arreglo original tiene valores repetidos, pero el conjunto conserva cada etiqueta una sola vez.
| Situación | Forma recomendada | Motivo |
|---|---|---|
| Pocos elementos conocidos | Extensión | La lista completa es clara |
| Muchos elementos con una regla común | Comprensión | La propiedad es más compacta que la lista |
| Conjuntos infinitos | Comprensión o patrón con puntos suspensivos | No se pueden enumerar todos los elementos |
| Filtrado de datos en programas | Comprensión como condición | La regla decide qué datos entran al resultado |
La representación por extensión y la representación por comprensión son dos formas complementarias de describir conjuntos. La primera muestra los elementos; la segunda muestra la regla que los define.
En el próximo tema estudiaremos conjuntos finitos, infinitos, vacío y universal.