![]() | ![]() | ![]() | Algunos Ejemplos |
(N.del T. En lo que sigue se usarán las palabras "referencia" y "nombre". "referencia" es una variable que apunta a un objeto. "nombre" es el rótulo que aparece en la figura. A veces se usará el termino variable; pero "referencia" es más preciso en otros casos.)
En sí, Scheme es un lenguaje de muy alto nivel. Cuando una figura es definida en este lenguaje, disponemos también de todo su poder para, por ejemplo, definir recursivamente alguna parte de la figura o bien para colocar aleatoriamente ciertos objetos de tal suerte que, cada vez que se cargue la figura, los objetos aparecerán ligeramente distintos. En pocas palabras, los FSD no están atados a las limitantes de la interfaz gráfica, y además poseen todo el poder del lenguaje Scheme. Un FSD es entonces un archivo con extension .scm creado con la ayuda de un editor de texto, el cual es abierto en DR. GEO con la ayuda del comando Archivo->Evaluar.
Comencemos por estudiar un ejemplo sencillo de FSD :
(nueva-figura "Mi figura")
Este es el script más pequeño que podemos definir. Después de ser cargado en DR. GEO, simplemente crea una nueva figura vacía con el nombre "Mi figura". Podemos escribir comandos (nueva-figura "Mi figura") tantas veces como deseemos.
Veamos ahora un segundo ejemplo :
(nueva-figura "Mi figura") (sea Punto "A" libre 1.2 -2)
Este FSD define una figura con un punto libre A de coordenadas iniciales (1,2 ; -2). Como podemos ver la sintaxis de la definición de un objeto geométrico es relativamente cómoda, a tal grado que esa expresada en nuestra lengua madre. Esto es de interés especial para la enseñanza secundaria. De hecho, todos los comandos de definición de objeto tienen una sintaxis común. Tal sintaxis es como sigue:
Prosigamos con un tercer ejemplo :
(define (triángulo p1 p2 p3) (Segmento "" extremos p1 p2) (Segmento "" extremos p2 p3) (Segmento "" extremos p1 p3)) (define (azar) (- 8 (* 16 (random:uniform)))) (nueva-figura "Mi figura") (sea Punto "A" libre (azar) 0) (sea Punto "B" libre 5 0) (sea Punto "C" libre (azar) 5) (triángulo A B C)
(N. del T. En este ejemplo, dos palabras están en inglés: "random" que significa "azar", y "uniform" que significa "uniforme". Como se comentó antes es posible traducirlas modificando el archivo dentro del directorio scm donde DR. GEO esté instalado. El archivo para español es: /usr/share/drgeo/scm/drgeo_scm_interface_constant_es.scm).
Este ejemplo es particularmente interesante, nos muestra tres cosas importantes :
Notar que cuando definimos los segmentos, no les dimos ningún nombre; en ese caso DR. GEO les dará un nombre que está determinado a partir del nombre de sus extremos. Nuestros tres segmentos tendrán entonces los nombres [AB], [BC] y [AC].
Para concluir esta sección, veamos un último ejemplo :
(sea Punto "A" libre 1 0) (sea Punto "B" libre 5 0) (sea Recta "d1" 2puntos A B) (envía A color amarillo) (envía A forma redonda) (envía A tamaño grande) (envía B oculto) (envía d1 grosor punteado)
Los tres primeros comandos crean dos puntos y una recta. La parte que nos interesa particularmente es la serie de comandos envía. Estos comandos permiten la comunicación con un objeto cuyo símbolo hemos guardado; en este caso tenemos los símbolos A, B y d1. El comando consiste en enviar un mensaje a un objeto. Su primer parámetro de entrada es el objeto con el que deseamos comunicarnos, el segundo argumento es el mensaje, los restantes argumentos están determinados por tipo de mensaje que es enviado. Por ejemplo (envía A color amarillo) envía el mensaje color con parámetro de entrada amarillo. El punto A toma entonces el color amarillo. Es fácil comprender el sentido de los otros comandos envía. Estos serán explicadosen la sección siguiente.
Hemos terminado nuestra pequeña visita guiada a las Figuras Scheme de Dr. Geo, FSD. En las secciones siguientes expondremos el conjunto de comandos disponibles para definir las FSD.
![]() | ![]() | ![]() | Algunos Ejemplos |