La evaluación de una expresión if consiste en hacer una ejecución paso a paso de forma manual. Esto puede ser útil al momento de realizar alguna depuración cuando las cosas no resultan como se esperaban.
Dicha evaluación tiene las siguientes reglas:
1) Si la pregunta contenida en if no es un valor, evaluar la expresión if y reemplazarla con un valor.
2) Si la pregunta es verdadera (true), reemplazar la totalidad de la expresión if con la respuesta asociada a verdadero.
3) Si la pregunta es falsa (falsa), reemplazarla la totalidad de la expresión if con la respuesta asociada a falso.
4) Si la pregunta es un valor distinto a falso o verdadero, entonces se produce un error.
En el siguiente ejemplo se añadiran algunos comentarios en el código. Para crear comentarios en una línea, se puede usar el punto y coma seguido del comentario:
(require 2htdp/image)
(define I1 (rectangle 10 20 "solid" "red"))
(define I2 (rectangle 20 10 "solid" "blue"))
; la siguiente expresión if es la que se va a evaluar:
(if (< (image-width I2) ; dado que esta expresión no es un valor, se reemplazará por 20 en el paso 1)
(image-height I2)) ; dado que esta expresión no es un valor, se reemplazará por 10 en el paso 1)
(image-width I2) ; respuesta si es verdadero
(image-height I2)) ; respuesta si es falso
Evaluación:
Paso 1)
(if (< 20 10) ; dado que la pregunta aún no es un valor, se reemplazará por "false" en el paso 2)
(image-width I2) ; respuesta si es verdadero
(image-height I2)) ; respuesta si es falso
Paso 2)
(if false
(image-width I2)
(image-height I2)) ; dado que la pregunta es falsa, en el paso 3) se reemplazará la expresión completa con esta expresión
Paso 3)
(image-height I2) ; la expresión completa se reemplazo por la respuesta asociada a falso. En el siguiente paso se reducirá al valor 10, que representa el alto del rectángulo definido en la constante I2.
Paso 4)
10
Si se pone todo este código en Drracket, al final se va a obtener el mismo resultado en todos los pasos:
Anterior
Siguiente
Apuntes del lenguaje de programación "Racket", tomados del curso virtual "How to code: simple data", que hace parte de la serie "Software development", impartida por University of British Columbia a través de edx.org. A este curso se puede acceder de forma gratuita. Los apuntes los estaré colocando en la médida que vaya avanzando en el curso.
Suscribirse a:
Enviar comentarios (Atom)
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,...

No hay comentarios:
Publicar un comentario