La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

 Funciones predefinidas en las listas Se puede definir rangos en las listas. Ejemplo: [1..10] que es la lista del 1 hasta el 10 El operador ++ concatena.

Presentaciones similares


Presentación del tema: " Funciones predefinidas en las listas Se puede definir rangos en las listas. Ejemplo: [1..10] que es la lista del 1 hasta el 10 El operador ++ concatena."— Transcripción de la presentación:

1  Funciones predefinidas en las listas Se puede definir rangos en las listas. Ejemplo: [1..10] que es la lista del 1 hasta el 10 El operador ++ concatena dos listas. Por ejemplo: Start = [1,2] ++ [3,4,5]  resulta, [1,2,3,4,5] También se pueden usar en las listas la función booleana. Por ejemplo: Start = [1<2, 2<3, 1==0]  resulta, [True.True,False]

2  Funciones predefinidas en las listas Start = take 3 [2..10]  resulta [2,3,4] Otras funciones: Start = sum [1..10] suma todos los elementos de la lista Start = reverse [1..10]  resulta [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] Start = reverse (sort [1,6,2,9,2,7]) (ordena mi lista y luego invierte la lista resultante)  resulta [9,7,6,2,2,1]

3  Funciones predefinidas en las listas En una lista es posible definir dos función que son de mucha utilidad, importando la librería StdList, es posible usar: hd ”head” el cual me exporta la cabeza de la lista, es decir, el primer elemento tl “tail” el cual exporta el cuerpo de una lista.

4 Las constantes locales,  se definen con la palabra reservada “where”, el cual son definidas a nivel local lo que significa que solo tienen un significado dentro de la función. Mifuncion a = a + b where b = 1 Start = Mifuncion 1  2

5 Clean es un lenguaje modular, esto significa que esta compuestos de modulos. Cada modulo posee un unico nombre. En Clean existen 2 tipos de módulos llamados:  Modulo de Implementación (.Icl)  Modulo de definición (.Dcl) Los tipos de datos abstractos consisten en “ocultar la definición real de una función”. El “modulo de implementación”, el cual es el equivalente a mi archivo fuente. El “modulo de definición” se utiliza para exportar una función, y poder usarla en un modulo de implementación diferente. En el modulo de definicion solo se mostrara una parte de la funcion. A esta información ocultada se llamara Abstract data types.

6  Una función puede ser utilizada en su propia definición. Se le llamará, una función recursiva. Por Ejemplo fac n | n==0 = 1 | n>0 = n * fac (n-1)

7  Clean posee un enlace estático de tipos a variables este puede ser tanto como implícito como explicito.  Para el caso implícito: Todas las operaciones en Clean poseen un tipo, es decir, los operandos de una operación son del mismo tipo, en consecuencia su resultado será del mismo tipo (unificación). En estos casos no es necesario definir una “declaración de tipos”. increment n = n + 1 Start = increment 1  2

8  En el caso explicito, “declaración de tipos”. son importantes al exportar una función para ser usadas en otro modulo, ya que sin ellas no podríamos exportar la función y no podríamos saber su tipo. increment :: Int -> Int increment n = n + 1 Start = increment 8  9


Descargar ppt " Funciones predefinidas en las listas Se puede definir rangos en las listas. Ejemplo: [1..10] que es la lista del 1 hasta el 10 El operador ++ concatena."

Presentaciones similares


Anuncios Google