Title: Conjuntos en Scheme
1Cerro Autana Estado Amazonas,Venezuela
Se progresa y se crece tanto por las derrotas
como por las victorias
2Universidad Metropolitana Departamento de
Programación y Tecnología educativa
Conjuntos
3Qué es un conjunto?
- Es una estructura formada por elementos.
- donde los elementos no se encuentran repetidos y
no tienen un orden establecido. - Cada nodo corresponderá a un elemento del
conjunto.
4Conjuntos
5Conjuntos
- Operaciones
- Adjoin, agregar un elmento al conjunto.
- Residue, eliminar un elemento del conjunto.
- Pick, consultar cualquier elemento del conjunto,
- Member, verificar si un elemento pertenece a un
conjunto. - Cardinalidad, obtener la cantidad de elementos
del conjunto.
6Clase CConjunto
- Atributos
- Cabeza, referencia al primer elemento del tipo
nodo. - Constructor inicializa cabeza en null, conjunto
vacío - Métodos
- Adjoin
- Residue
- Member
- Cardinal
- Pick
- Empty
7Operaciones sobre conjuntos
8Operaciones sobre conjuntos
9Operaciones sobre conjuntos
10Operaciones sobre conjuntos
11Conjuntos
- Constructor
- public CSet()
-
- cabeza null
-
12Conjuntos
public boolean Adjoin(Cnodo nuevo)
if ((Member(nuevo))false)
nuevo.setProximo(cabeza)
cabeza nuevo return true
else return false
13Conjuntos
public boolean Residue(Cnodo nodo) if
(cabeza null) return false else
if (cabeza.getIData()nodo.getIData())
cabezacabeza.getProximo()
return true else
14Conjuntos
boolean swfalse Cnodo antcabeza Cnodo
tempcabeza.getProximo() while ((temp! null)
(!sw)) if (nodo.getIData() temp.getIData())
swtrue else anttemp
temptemp.getProximo() if (temp!null)
ant.setProximo(temp.getProximo()) return
sw
15Conjuntos
- public Cnodo Pick()
- Cnodo tempcabeza
- int n Aleatorio(Cardinal())
- int c1
- while (c!n)
- temptemp.getProximo()
- c
- return temp
-
16Conjuntos
public boolean Member(Cnodo nodo) if
(cabeza null) return false
else boolean swfalse Cnodo
tempcabeza while ((temp! null)
(!sw)) if (nodo.getIData()
temp.getIData()) swtrue
temptemp.getProximo() return sw
17Conjuntos
public boolean Empty()
return (cabezanull)
18Ejercicios
- Escriba los métodos necesarios para implementar
- Intersección.
- Complemento.
- Unión