Practicando scheme

Sin valoraciones

Practicando scheme

Ahora, practicaremos lo que hemos aprendido. Inicie GIMP, si todavia no lo ha hecho, y seleccione Exts Script­Fu Consola . Esto inicia la ventana de la consola de Script­Fu, lo que nos permite trabajar, interactivamente, en Scheme. En un momento, la Consola de Script­Fu aparecerá.:

Atencion sociosanitaria

La ventana de la consola de Script­Fu

En el fondo de esta ventana hay una campo de entrada con el título Comando actual. Aquí, puede probar los comandos Scheme interactivamente. Comienze , y añada unos números:

Branding

(+ 3 5)

Tecleando esto y presionando Enter, da la respuesta esperada, 8, en el centro de la ventana.

Ahora, ¿Si queremos sumar más de un número?, La función «+» puede tener dos o más argumentos, así que esto no es un problema:

(+ 3 5 6)

Esto da la respuesta esperada, 14.

Bueno, tecleamos una declaración en Scheme y se ejecuta inmediatamente en la ventana de la consola de Script­Fu. Ahora unas palabras de precaución…

Tener cuidado con los paréntesis extras

Si es como yo, lo usará para ser capaz de usar paréntesis extras donde quiera, como cuando teclea una ecuación matemática compleja y quiere separar las partes con paréntesis, para hacerla más clara cuando la lee. En Scheme, hay que ser cuidadoso y no insertar estos paréntesis extra, de manera incorrecta. Por ejemplo, decir que queremos sumar 3 al resultado de sumar 5 y 6:

3 + (5 + 6) + 7 = ?

Sabiendo que el operador «+» puede usar una lista de números para sumar, podría tentatarle convertir lo de arriba en lo siguiente:

(+ 3 (5 6) 7)

Esto es incorrecto, recuerde, cada declaración en Scheme comienza y termina con paréntesis, así que el intérprete Scheme pensará que intenta llamar a una función llamada «5» en el segundo grupo de paréntesis, más que sumar esos números, antes de sumarles el 3.

La forma correcta de escribir esta declaración sería:

(+ 3 (+ 5 6) 7)

 

Conceptos Básicos de Scheme

  1. Expresiones Básicas: Scheme utiliza notación de prefijo para las expresiones. Por ejemplo:
    scheme
    (+ 1 2 3) ; Suma de números (* 4 5) ; Multiplicación de números (define x 10) ; Definición de una variable
  2. Funciones y Aplicación de Funciones: Las funciones en Scheme se aplican directamente a argumentos entre paréntesis:
    scheme
    (define (square x) (* x x)) ; Definición de una función (square 5) ; Aplicación de la función square
  3. Condicionales: Scheme tiene expresiones condicionales como if:
    scheme
    (define (absolute x) (if (< x 0) (- x) x))
  4. Listas y Manipulación de Listas: Scheme trata las listas de manera fundamental:
    scheme
    (define my-list '(1 2 3 4)) ; Definición de una lista (car my-list) ; Primer elemento de la lista (cdr my-list) ; Resto de la lista (length my-list) ; Longitud de la lista

Ejemplos Prácticos en Scheme

Función Factorial

scheme
(define (factorial n) (if (= n 0) 1 (* n (factorial (- n 1))))) (factorial 5) ; Calcula 5!

Función para Sumar los Primeros n Números Naturales

scheme
(define (sum-of-naturals n) (if (= n 0) 0 (+ n (sum-of-naturals (- n 1))))) (sum-of-naturals 5) ; Calcula la suma de los primeros 5 números naturales

Función para Calcular el Máximo Común Divisor (MCD) con el Algoritmo de Euclides

scheme
(define (gcd a b) (if (= b 0) a (gcd b (remainder a b)))) (gcd 36 24) ; Calcula el MCD de 36 y 24

Recursos para Practicar

  • Entornos de Desarrollo: Puedes usar entornos de desarrollo como DrRacket, Emacs con el modo de Scheme, o simplemente un intérprete de Scheme en línea.
  • Libros y Recursos en Línea: Hay muchos recursos disponibles en línea, como libros y tutoriales que pueden ayudarte a aprender Scheme de manera efectiva.
  • Practicar Resolviendo Problemas: Intenta resolver problemas simples utilizando Scheme para mejorar tu comprensión y habilidades de programación funcional.

Compártelo en tus redes

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest

Valore este curso

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Utilizamos cookies para asegurar que damos la mejor experiencia al usuario en nuestra web. Si sigues utilizando este sitio asumimos que estás de acuerdo. VER