Está en la página 1de 6

TECNOLÓGICO NACIONAL DE

MÉXICO CAMPUS CERRO AZUL

CARRERA: INGENIERÍA EN SISTEMAS


COMPUTACIONALES.

ASIGNATURA: PROGRAMACIÓN LÓGICA Y FUNCIONAL

ALUMNO: GONZÁLEZ HERNÁNDEZ FRANCISCO JAVIER.

NÚMERO DE CONTROL: 17500660

SEMESTRE: 7

ACTIVIDAD: CUADRO DESCRIPTIVO DE LA


PROGRAMACIÓN FUNCIONAL

DOCENTE: JUAN CARLOS ANGUIANO ROSAS


ELEMENTOS DE PROGRAMACIÓN FUNCIONAL

Nombre del Definición. Características. Situaciones en la que se emplea. Ejemplo de declaración.


Elemento
Un tipo de datos es la Los tipos de datos tienen diferentes valores según su dato.
Los tipos de datos nos permiten sumaDeCuadrados :: Integer ->
propiedad de un valor que Es declarada por una palabra reservada. representar los diferentes datos que Integer sumaDeCuadrados n =
determina su dominio (qué Están conformados por números, letras y símbolos son necesarios a la hora de sum [x^2 | x <- [1..n]]
valores puede tomar), qué Algunos de los tipos de datos son: implementar un programa. Por
Tipo de dato operaciones se le pueden  Bool  ejemplo, si escribimos un programa perfectos :: Int -> [Int] perfectos
aplicar y cómo es  Char 
representado internamente
sencillo que sume, reste, n = [x | x <- [1..n], sum (init
 String  multiplique y divida (una (factores x)) == x]
por el computador.  Int 
calculadora básica) será necesario
 Integer 
emplear tipos de datos numéricos numeroAbundante :: Int -> Bool
 Float 
que pueden ser : enteros o numeroAbundante n = n < sum
 Double 
flotantes. (divisores n)
Una función no es más que Las funciones se invocan (ejecutan) indicando su nombre y Las funciones son utilizadas para tell :: (Show a) => [a] -> String
un conjunto de líneas de argumentos de entrada entre paréntesis (separados por descomponer grandes problemas tell [] = "La lista está vacía"
código que hacen una comas). en tareas simples y para tell (x:[]) = "La lista tiene un
Función tarea en concreto, y esta Argumentos de entrada implementar operaciones que son elemento: " ++ show x
función puede retornar un tell (x:y:[]) = "La lista tiene dos
Argumentos de salida comúnmente utilizadas durante un
valor… elementos: " ++ show x ++ " y " ++
Las funciones tienen la
Sobrecarga programa y de esta manera reducir show y
posibilidad de tener la cantidad de código. tell (x:y:_) = "La lista es larga. Los
parámetros o argumentos, primeros dos elementos son: " ++
que son variables que show x ++ " y " ++ show y
modifican su
comportamiento.
Es un espacio métrico -Un intervalo es un espacio métrico comprendido entre dos Los INTERVALOS sirven para limite :: (Double -> Double) ->
comprendido entre dos valores. Los intervalos pueden referirse al intervalo de una expresar subconjuntos dentro de Double -> Double
Intervalo. valores. variable o al intervalo de un array. los números reales, y para indicar el limite f a =
Los intervalos pueden -El intervalo de una variable está definido como la diferencia rango de posiciones donde head [f x | x <- [1..],
referirse al intervalo de entre el valor más alto y el valor más bajo que esa variable se encuentra el valor de un maximum [abs (f y - f x)
una variable o al puede guardar. elemento. | y <- [x+1..x+100]] < a]
intervalo de un array. -En el caso de una variable entera, la definición está
restringida a números enteros, y el intervalo cubrirá todos los
números dentro de su intervalo (incluyendo el máximo y el
mínimo).

Los operadores son símbolos Operadores aritméticos: Se usan para realizar operaciones En la Programación, Prelude> (+) 10 10
que indican cómo se deben de la matemática básica como la suma, resta, multiplicación, los operadores nos sirven 20
manipular los operandos.
Los operadores junto con los
división. como para utilizarse en fórmulas Prelude> (&&) True False False
Operadores. operandos forman una Operadores de Relacionales: dentro de un algoritmo además de Prelude> "Hello" ++ ", Haskell"
expresión, que es una fórmula Los operadores relacionales se usan para evaluar realizar comparaciones y también "Hello, Haskell"
que define el cálculo de un expresiones condicionales y se basan en el concepto de para agrupar elementos. Prelude> 'C' : ['H', 'e', 'l', 'l', 'o']
valor. Los operandos pueden verdadero o falso "CHello"
ser constantes, variables o
llamadas a funciones, siempre
Operadores Lógicos:
que éstas devuelvan algún Los operadores lógicos son usados para concatenar dos o
valor. más expresiones con operadores relacionales.

 Una lista es una ➤Todos los elementos de la lista son del mismo tipo. ➭ Insertar: inserta un elemento Prelude> [1 .. 5]
colección de elementos ➤ Existe un orden en los elementos, ya que es una antes o después de otro elemento. [1,2,3,4,5]
homogéneos entre los estructura lineal, pero los elementos no están ordenados por Prelude> map (+ 2) [1 .. 5]
Listas. que existe una relación su valor sino por la posición en que se han insertado. ➭ Eliminar: elimina un elemento de [3,4,5,6,7]
lineal. Prelude> filter (> 2) [1 .. 5]
➤ Para cada elemento existe un anterior y un siguiente, una posición.
1. Cada elemento de la [3,4,5]
excepto para el primero, que no tiene anterior, y para el
lista, a excepción del
último, que no tiene siguiente. ➭ Seleccionar: Selecciona un
primero, tiene un único
predecesor. ➤ Se puede acceder y eliminar cualquier elemento. elemento de la lista
2. Cada elemento de la ➤ Se pueden insertar elementos en cualquier posición.
lista, a excepción del
último, tiene un único
sucesor.
Un árbol es una
^
Nodo hijo:  cualquiera de los nodos apuntados por uno de Los árboles se emplean para data Arbol a = H a
estructura no lineal en la los nodos del árbol. analizar circuitos eléctricos y para | N a (Arbol a) (Arbol a)
Árboles. que cada nodo puede Nodo padre: nodo que contiene un puntero al nodo actual. representar la estructura de deriving (Show, Eq)
apuntar a uno o varios Nodo raíz: nodo que no tiene padre. fórmulas matemáticas, así como nNodos :: Arbol a -> Int
nodos. Nodo hoja: nodo que no tiene hijos.  para organizar la información de nNodos (H _) = 0
Un árbol es una Nodo rama bases de datos, para representar la nNodos (N x i d) = 1 + nNodos i
estructura en compuesta estructura sintáctica de + nNodos d
por un dato y varios un programa fuente en
árboles compiladores y para la toma de
decisiones.
Conclusión

En el pasado cuadro descriptivo se pudo comprender los elementos que


conforman la programación funcional, ya como los tipos de datos que se emplean
en la codificación de empleado al lenguaje haskell como representación, de los
cuales se pueden hacer uso como: Bool, Char, String, Int, Integer, Float y Double,
estos tienen funciones que al utilizarlos nos puede a refistrar número, letras,
símbolos y declaraciones lógicos.
Las funciones que también forma parte de la programación funcional que como se
vio, se puede ahorrar grandes cantidades de información al usarlas, como también
el uso de las listas que nos ayuda tener un conjunto de elementos que se puede
usar de manera conveniente y declarar instrucciones para resolver problemas, que
a su vez, se puede implementar los intervalos para declarar un límite de esos
elementos.
Los operadores juegan un papel importante ya que la programación funcional se
basa en funciones, los operadores conforman parte de la codificación y pueden
ser aritméticos, lógicos y relacionales. Y para poder tener una organización más
clara de los datos, los arboles ayudan a estructurar en ramificaciones la
información haciéndolo más funcional.
En conclusión, la programación funcional es un lenguaje con una estructura que
ayuda a la solución de problemas funcionales.
Referencias

Badía, J. M. (2015). Tema 8. Listas. Obtenido de http://repositori.uji.es/:


http://repositori.uji.es/xmlui/bitstream/handle/10234/119827/tema8.pdf?
sequence=1&isAllowed=y

clases, c. c. (abril de 2002). Capítulo 6 Árboles. Obtenido de conclase.net:


http://c.conclase.net/edd/?cap=006

Doblado, J. H. (10 de Julio de 2012). Piensa en Haskell. Obtenido de http://www.cs.us.es:


http://www.cs.us.es/~jalonso/publicaciones/Piensa_en_Haskell.pdf

Estructurada, P. (2019). Tipos de Datos. Obtenido de


https://sites.google.com/site/programacion1electronica/netbeans/tipos-de-datos

Luevano, G. (5 de Diciembre de 2014). INTERVALOS DE LA PROGRAMACIÓN FUNCIONAL. Obtenido


de https://prezi.com/: https://prezi.com/qkyz8jhmeai4/intervalos-de-la-programacion-
funcional/

Pérez, J. A. (2018). Características de una función. Obtenido de https://campusvirtual.ull.es:


https://campusvirtual.ull.es/ocw/pluginfile.php/8877/mod_imscp/content/3/caracterstica
s_de_una_funcin.html

Rosas, P. (2018). Tipos de datos. Obtenido de http://progra.usm.cl:


http://progra.usm.cl/apunte/materia/tipos.html

Torres, Z. (2014). La sintaxis de las funciones. Obtenido de http://aprendehaskell.es:


http://aprendehaskell.es/content/Funciones.html

Vestigium. (2018). Tipos y clases en Haskell. Obtenido de


https://www.glc.us.es/~jalonso/vestigium/i1m2018-tipos-y-clases-en-haskell/

wiki.haskell.org. (9 de octubre de 2016). Aprende Haskell en 10 minutos. Obtenido de


https://wiki.haskell.org/: https://wiki.haskell.org/Aprende_Haskell_en_10_minutos

También podría gustarte