Funciones en scheme

Solo disponible en BuenasTareas
  • Páginas : 3 (546 palabras )
  • Descarga(s) : 0
  • Publicado : 26 de septiembre de 2010
Leer documento completo
Vista previa del texto
TRATAMIENTO DE FUNCIONES

Una función es una porción o bloque de código de programa que realiza una tarea bien definida (Un objetivo), estas se identifican mediante un nombre, estas generanresultados en forma de valores o mensajes, igualmente requieren valores de entrada para procesar y generar la salida o resultado. El manejo de funciones simplifica el proceso de programación ya que seestablecen tareas bien definidas para cada una, posteriormente se llaman en el orden adecuado desde una función principal que las coordine para así tener la solución de un problema mas complejo.DECLARACION DE UNA FUNCION

(define (mi_funcion par1 par2 ...)
--------------------------
---------------------------)

Donde:
(define ... :Es la palabra reservada para declaración defunciones
(mi_funcion ... :Es el nombre con el que se identifica la función y se puede hacer
referencia a ella al momento de utilizarla
par1 par2 ... :Corresponde a las entradas de lafunción (parámetros)

LLAMADO A UNA FUNCION - UTILIZACION

Para Llamar Correctamente a una función se debe saber el nombre de la misma, además se debe identificar cuantas entradas requiere la función(Parámetros), si no se proporcionan los valores requeridos para las entradas de la función esto se asume como un error de manejo del lenguaje y no trabaja el programa.

EJEMPLO

Función querecibe dos números y devuelve el doble de la suma de estos

(define (doble_suma a b)
(* (+ a b) 2))

para llamar la función:

(doble_suma 10 5)

Devuelve como resultado 30 que es el doblede la suma de 10 y 5 (15)m notese como el valor 10 pasa al parámetro a y el 5 al parámetro b respectivamente, ya al interior de la función se realiza el calculo con a y con b.

Nota: una funcióntambién puede ser llamada desde otra, asi, siguiendo con el ejemplo anterior seria:

Función que incrementa en 1 el doble de la suma de dos números

(define (incrementa_doble x y)
(+...
tracking img