Varios estudiantes me han pedido ejercicios básicos, antes de entrar por favor revise que entiende los fundamentos de la notación prefija y haga algunos de los ejercicios propuestos en esa entrada, luego haga la siguiente lista de ejercicios. Disfrútenlos.

Antes de empezar, por favor tener en cuenta que yo no doy asesoría a estudiantes (o lectores) que no sean mis propios estudiantes de la UTP. Si tiene alguna pregunta la puede formular en los comentarios sin compromiso de respuesta.

Los siguientes 10 problemas tienen como objetivo practicar tres cosas: 1) definición de funciones en scheme, 2) sustitución de expresiones con funciones predefinidas, 3) composición simple de funciones.

Para los siguientes problemas, pueden ser útiles las siguientes funciones primitivas de Scheme:

  • quotient, remainder, log, floor, substring, string-length
  1. Las siguientes definiciones tienen errores de algún tipo (sintaxis, ejecución o lógicos) clasifiquelos, detectelos y corríjalos:
    (define (sphere–volume r)
    (* (/ 4 3) 3.141592654)
    (* r r r))
    (define (next x)
    (x + 1))
    (define (square)
    (* x x))
    (define (triangle–area triangle)
    (* 0.5 base height))
    (define (sum–of–squares (square x) (square y))
    (+ (square x) (square y)))
  2. Escriba una función que convierta grados fahrenheit a centígrados y otra que haga lo contrario, las fórmulas son: Conversión de temperaturas, donde C es la cantidad de grados centígrados (o Celcius) y F es la cantidad de grados Fahrenheit.
  3. Escriba una función que devuelva el valor representado por el número y el exponente como si fuera notación científica, es decir, si se escribe (valor 5 2), donde valor es el nombre de la función definida, debe devolver 500 (5E2 en notación científica).
  4. Defina una función que halle la potencia de 10 de un número, por ejemplo, si la función se llama sci-exp y se escribe (sci-exp 8500), devolver 3 (dado que 8500 en notación científica se escribiría 8.5E3).
  5. Defina una función que halle el número base de la notación científica de un número arbitrario, por ejemplo, si se llama (sci-num 8500) debe retornar 8.5.
  6. Defina una función que obtenga la raíz de un verbo regular del español en infinitivo, por ejemplo, (raiz «comer») devuelve «com», (raiz «beber») devuelve «beb».
  7. Defina una función que conjugue un verbo regular del español en presente para la primera persona, por ejemplo, (p-persona «comer») devuelve «Yo como».
  8. Defina una función que obtenga la primera letra de una palabra, por ejemplo (primera «saltar») devuelve «s».
  9. Defina una función que obtenga una palabra sin la primera letra, por ejemplo (sin-1a «saltar») devuelve «altar».
  10. Combine las funciones de punto 8 y 9 para obtener la segunda letra de una palabra.