sábado, 27 de mayo de 2017

Cómo programar: datos simples (19) - Plantillas orientadas por datos (2)

En el artículo anterior, se identificó la plantilla asociada al tipo de datos atomic non-distinct para propositos de diseñar una función asociada a una forma de datos llamada CityName.  En esta sección se desarrollará una función que produce true (verdadero) si la ciudad es la mejor del mundo:

;Firma (un tipo de datos llamado CityName produce un valor booleano):
; CityName -> Boolean

;Propósito:  producir true (verdadero) si la ciudad es "Hogmeade".

;(define (best? cn ) false) ; colilla (stub)

;Ejemplos:
(check-expect (best? "Boston") false)
(check-expect (best? "Hogmeade") true)

; Plantilla tomada de la definición de datos CityName (ver artículo anterior):
; (define (fn-for-city-name cn)
;   (... cn))

; Desarrollo de la función:
;(define (best? cn)
 ;(if (string=? cn "Hogmeade")
 ;     true
 ;     false))

;Simplificando la anterior función, quedaría así:
(define (best? cn)
  (string=? cn "Hogmeade"))

Las plantillas muestran lo que se puede usar, no lo que se debe usar.  En algunos momentos es posible que uno borre o ajuste parte de las plantillas.

Anterior
Siguiente

No hay comentarios:

Publicar un comentario

Cómo programar: datos simples (21) - Enumeración

Diseñar una definición de datos para representar las letras de calificaciones en un curso.  Estas letras son A, B y C, que significan bueno,...