PS

Grupo de Estudio de Programación Scheme/Racket:

(rev. 2016.10.27)

Observación: Los materiales aquí compartidos, no corresponden (por el momento) a un curso vigente en el ITT, sino representan los elementos básicos para poder hacer aplicaciones elementales en el lenguaje Scheme (en particular, en Racket), con cierta orientación a las aplicaciones matemáticas.

Software recomendado:

  • En línea: WeScheme.org (Hacer login utilizando su cuenta de Gmail)
    • Nota: Utilizaremos esta implementación para trabajo en línea, con las funciones requeridas contenidas en un sólo archivo, o bien para aplicaciones interactivas elementales. [Obs. Para esta implementación usaremos extensiones .scm]
    • Lectura recomendada: [Yoo 2012] (ver bibliografía al final de la página), además de la  documentación propia en WeScheme.
  • Fuera de línea: DrRacket (Favor de instalarlo configurando ventanas verticales)
    • Nota: Utilizaremos DrRacket por su ambiente amigable y también por el uso de módulos (p. ej. Plot) que nos permite crear bibliotecas de funciones, para ser exportadas con provide, e importadas con require. [Obs. Para esta implementación usaremos extensiones .rkt]
    • Lectura recomendada: Se le invita a explorar los tutoriales internos, accesibles una vez instalado DrRacket mediante el menú de ayuda.

Ejemplos en WeScheme:

  • integraciones.scm [Contiene un ejemplo de la Regla Compuesta de Simpson para integración]
  • gauss.scm [Contiene la función quad, para realizar integración por cuadratura gaussiana]

Ejemplos en DrRacket:

La estrategia típica será básicamente: disponer de una o varias funciones tipo “library” contenidas en un archivo (p. ej. biseccion.rkt)  y declaradas accesibles mediante el comando provide.

Posteriormente, se puede hacer uso de dicha “library” mediante la creación de un archivo de aplicación que la utilice (y grabando tanto el archivo de aplicación, como la “library” en el mismo folder). Por ejemplo, veamos el código necesario para resolver numéricamente la ecuación:

f(x)=2e^{-x}+\dfrac{1}{10}cos(x)=0

El código anterior (al ser “corrido”) nos genera tanto la gráfica de f(x) como el resultado siguiente:

(2.0 3.0)
(2.5 3.0)
(2.5 2.75)
(2.5 2.625)
(2.5 2.5625)
(2.5 2.53125)
(2.5 2.515625)
(2.5078125 2.515625)
(2.51171875 2.515625)
(2.513671875 2.515625)
(2.513671875 2.5146484375)
(2.513671875 2.51416015625)
(2.513916015625 2.51416015625)
(2.513916015625 2.5140380859375)
(2.51397705078125 2.5140380859375)
2.514007568359375

Siendo el último resultado la solución a f(x)=0 con una cota del error \epsilon < 10^{-4}.

Finalmente, siempre que sea posible, se recomienda verificar su solución. En este caso podemos trabajar en la ventana de “interacciones” del ambiente DrRacket, para realizar dicha verificación:

> (f 2.514007568359375)
-1.5855632218980675e-006

Esperamos que este ejemplo les ayude y anima a disfrutar de la programación en Scheme.

Ejemplo extra:

Bibliografía y Referencias Web:

Artículos contextuales [tópicos de investigación y exploración]

Referencias contextuales con Lisp/Scheme/Racket:

Conferencias y novedades

[Que disfruten Scheme/Racket]

Matemáticas en pequeños segmentos para disfrutar

Login

Lost your password?