Práctica: Conjuntos a través de Hashes
Un modo natural de representar conjuntos finitos en Perl es a través de un hash:
@A = qw(hiena coyote lobo zorro);
@Caninos{@A} = (); # los valores se dejan undef, solo nos importan las claves
@Pares{0, 2, 4, 6, 8} = ();
Defina funciones para
- Calcular el cardinal de un conjunto
- Determinar las relaciones pertenencia y subconjunto
- La operación de unión:
- La operación de intersección
- Diferencia de conjuntos
- Diferencia simétrica
- Convertir un conjunto en una cadena
La siguiente sesión con el depurador le ayudará a encontrar las
respuestas a algunas de las preguntas que se le plantearán durante la resolución
de la práctica:
DB<1> @a{1..4} = (); @p{0, 2, 4, 6, 8} = ()
DB<2> @u{keys %a, keys %p} = () # unión
DB<3> @i{grep {exists $p{$_}} keys %a} = () # intersección
Casiano Rodríguez León
Principios de Programación Imperativa, Funcional y Orientada a Objetos Una Introducción en Perl/Una Introducción a Perl
por Casiano Rodríguez León
is licensed under a Creative Commons Reconocimiento 3.0 Unported License.
Permissions beyond the scope of this license may be available at http://campusvirtual.ull.es/ocw/course/view.php?id=43.
2012-06-19