Created
September 25, 2012 17:02
-
-
Save alcidesfp/3783163 to your computer and use it in GitHub Desktop.
Programa mascota simple en Scheme Chicken
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/local/bin/csi -s | |
| ;; -*- coding:utf-8; mode:Scheme -*- | |
| (use extras) | |
| (define (pide-nombre) | |
| (display "Hola, ¿Cuál es tu nombre?: ") | |
| (read-line)) | |
| (define (pide-ann) | |
| (display "¿En qué año naciste?: ") | |
| (string->number (read-line))) | |
| (define (calcula-edad ann-nac #!optional (ann-actual 2012)) | |
| (if ann-nac (- ann-actual ann-nac) 0 )) | |
| (begin | |
| (display "¡Hola a todos desde Scheme!\n") | |
| (let* ((nombre (pide-nombre)) | |
| (edad (calcula-edad (pide-ann)))) | |
| (format #t "Hola ~a.~%" nombre) | |
| (format #t "En el año ~a tendrás ~a años.~%" 2012 edad))) |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Estimado Alfred: Tres meses después, irónicamente, debido a la terrible gripa que me ha aquejado antes, durante y después de Navidad, por fin tengo tiempo para responder los comentarios que me haces favor de expresar por este medio:
En este caso es solamente una línea mas de código, pero ya nos sugiere la necesidad de una prueba unitaria y la consiguiente refactorización (rangos permitidos, valores a considerar, criterios de error, etc) La cual ya es posible sin mayores esfuerzos teniendo el código escrito de esta forma.
(cond-expand (chicken (use srfi-64)) (kawa (require 'srfi-64))) (define pruebas ;;Lista de valores de pruebas '((ann1 edad1) (ann2 edad2) (ann3 edad3) (ann4 edad4))) (test-begin "prueba-calcula-edad") (for-each (lambda (elem) (let* ((arg (car elem)) (act-val (cadr elem)) (exp-val (calcula-edad arg))) (test-equal exp-val act-val))) pruebas) (test-end)Sin mas por el momento, me despido de ti, enviándote un cordial saludo.