Skip to content

eloyrubinos/dibujar_skyline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

dibujar_skyline

Herramienta de desarrollo

WinGHCi

Conocimientos principales aplicados
  • Haskell
Descripción

Última entrega de la asignatura Programación Declarativa en el módulo de haskell. Consiste en la funcionalidad para dibujar la silueta de unos edificios en el horizonte a partir de sus coordenadas. Se pueden ver detalles de lo que se pedía en el guion de la práctica, Programación Funcional VI.pdf.

La función resuelve genera siluetas a partir de coordenadas de edificios, y la función dibujar analiza estas siluetas para generar la altura en cada punto del skyline y lo dibuja usando asteriscos, espacios y saltos de línea.

*Main> resuelve [(2,5,7),(3,6,9),(5,7,2),(9,12,3),(14,16,10)]
[(2,7),(3,9),(6,2),(7,0),(9,3),(12,0),(14,10),(16,0)]

*Main> dibujar [(2,7),(3,9),(6,2),(7,0),(9,3),(12,0),(14,10),(16,0)]
"              ** \n   ***        ** \n   ***        ** \n  ****        ** \n  ****        ** \n  ****        ** \n  ****        ** \n  ****   ***  ** \n  *****  ***  ** \n  *****  ***  ** \n-----------------"

Se crearon, por conveniencia, dos funciones adicionales: dibujar' formatea correctamente la salida para que se vea el dibujo del skyline y resuelve' llama directamente a resuelve' horizonte = dibujar' (resuelve horizonte) siendo horizonte una serie de coordenadas de edificios.

*Main> resuelve' [(2,5,7),(3,6,9),(5,7,2),(9,12,3),(14,16,10)]
              ** 
   ***        ** 
   ***        ** 
  ****        ** 
  ****        ** 
  ****        ** 
  ****        ** 
  ****   ***  ** 
  *****  ***  ** 
  *****  ***  ** 
-----------------

About

Pequeño ejercicio práctico en haskell

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published