tp haskell 1

Páginas: 4 (949 palabras) Publicado: 23 de junio de 2015
Paradigmas de Lenguajes de Programación
Trabajo práctico 1 - Programación Funcional
Fecha de entrega: martes 11/9/2012
Introducción
El objetivo de este trabajo es implementar en Haskell un programaque permita trabajar con
grafos dirigidos, a representar mediante nodos y funciones que denoten la adyacencia de
éstos.
data Grafo a = G {nodos :: [a], adyacencias :: a->[a]}
Se representará un grafodirigido mediante una estructura que identifique un par (nodos,
adyacencias), donde nodos es la lista de sus nodos, y adyacencias es una función que a
cada nodo le asigna el conjunto de sus nodosadyacentes (es decir a cuáles está conectado a
través de los ejes dirigidos de este grafo). La lista estará representando el conjunto de los
nodos, por lo cual se asumirá que no contiene nodos repetidos.Se puede asumir que el grafo
no tiene lazos (nodos conectados a sí mismos). Toda función que devuelva un grafo o una
lista de nodos deberá procurar que éstos no se repitan en la lista.
Ejemplo:
a

bc

nodos = {a,b,c}, ady(a) = {b,c}, ady(b) = {c}, ady(c) = ∅
A continuación, para cada una de las funciones a definir, se pide declarar el tipo (más general
posible) y definir el cuerpo. Salvoindicación contrario, no se permite utilizar recursión
explícita (ni directa ni indirecta). Debe incluirse al menos un caso de prueba para la función
principal de cada ejercicio.

Ejercicio 1
Dados un grafo yun nodo nuevo, devolver el grafo que resulta de agregar este nodo al grafo,
de modo que no resulte adyacente a ningún nodo.
Ejercicio 2
Dados un grafo y un “eje” (representado como un par de nodos),devolver el grafo que
resulta de agregar este eje al grafo.
Ejercicio 3
Dados un grafo y un eje de éste, devolver el grafo que resulta de eliminar este eje del grafo.
Ejercicio 4
Dados un grafo y unnodo de éste, devolver el grafo que resulta de eliminar este nodo del
grafo junto a sus ejes incidentes (i.e. que lo tocan en algún extremo).
Por ejemplo, al eliminar el nodo ‘b’ del grafo del...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • TP 1
  • tp 1
  • Tp 1
  • tp 1
  • TP 1
  • TP 1
  • TP 1
  • TP 1

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS