Want to create interactive content? It’s easy in Genially!
INTRODUCCION AL MODELO DE PROGRAMACION FUNCI
Jovani Garcia Alba
Created on September 16, 2022
Start designing with a free template
Discover more than 1500 professional designs like these:
View
Audio tutorial
View
Pechakucha Presentation
View
Desktop Workspace
View
Decades Presentation
View
Psychology Presentation
View
Medical Dna Presentation
View
Geometric Project Presentation
Transcript
Introducción al modelo de programación funcional
instituto tecnológico superior de misantla
Integrantes: Jovany García Alba Brayan Josué Hernández Lara Moisés Preza Ceceña Aracely Hernández Melchor
01/10/2022
¿Qué es la programación funcional?
“El estilo de programación que enfatiza la evaluación de expresiones, antes que la ejecución de comandos”
Tipos de datos
2.1
2.1. tipos de datos
Una propiedad importante del Haskell es que es posible asociar un único tipo a toda expresión bien formada. Esta propiedad hace que el Haskell sea un lenguaje fuertemente tipado. Como consecuencia, cualquier expresión a la que no se le pueda asociar un tipo es rechazada como incorrecta antes de laevaluación.
2.1. tipos de datos
Haskell chequea que el tipo declarado coincide que el tipo inferido por el sistema a partir de la definición, permitiendo detectar errores de tipos
"Función que toma un entero y devuelve un entero"
2.2
FUNCIONES
2.2 FUNCIONES
Una función es una sección de un programa que realiza una tarea independiente del resto del programa.
- Nombre únido (identificador)
- Parametros
- Código
- Valor retornado (resultado)
2.2 FUNCIONES
En Haskell las funciones se definen a través de una colección de ecuaciones.
- suma a b = a + bDefinición de función.
- suma : : Integer -> Integer -> Integer Definición de tipo de función.
2.3
INTERVALOS
2.3 INTERVALOS
Un intervalo es un espacio métrico entre dos valores. Límite de valores que puede adoptar
Puede aplicarse en:
- Arreglos
- Variables
2.3. INTERVALOS
Funciones siempre devuelven el mismo valor • Cuando se llama con los mismos parámetros. • Las funciones no modifican ningún estado, no acceden a ninguna variable ni objeto global y modifican su valor Diferencia entre declaración y modificación de variables • En programación funcional para una vez declarada una variable no se puede modificar su valor • En programación imperativa es habitual modificar el valor de una variable en distintos pasos de ejecución
2.4
OPERADORES
2.4. OPERADORES
El orden general de evaluación de los operadores de una expresión va de izquierda a derecha, con la excepción de las asignaciones que lo hacen de derecha a izquierda.
2.4. OPERADORES
OPERADORES DE MULTIPLICACION
OpERADORES PRINCIPALES
OPERADORES ADITIVOS
OPERADORES UNARIOS
2.4. OPERADORES
OPERADORES DE IGUALDAD
OPERADORES DE RELACIONALES Y DE TIPO
OPERADORES DE ASIGNACION Y ANONIMOS
OPERADORES DE DESPLAZAMIENTO
2.4. OPERADORES
REGLA 1
- En todas las expresiones se evalúan primero las expresiones de los paréntesis más anidados (interiores unos a otros); y éstos modifican la prioridad según la cantidad de éstos, los cuales tienen que estar balanceados (el mismo número de paréntesis que abren debe ser igual al número de los paréntesis que cierran).
REGLA 2
- Todas las expresiones se evalúan tomando en cuenta la jerarquía de los operadores.
REGLA 3
- Todas las expresiones se evalúan de izquierda a derecha.
2.5
APLICACIONES DE LAS LISTAS
2.5. lISTAS
[Int]: Representa una lista de enteros [4,5,9,25,60] [Char]: Representa una lista de chars [‘l’,’i’,’n’,’u’,’x’] [Bool]: Representa una lista de valores booleanos [True,False,True] [String]: Representa una lista de strings [“buenas”,”noches”] [Float]: Representa una lista de flotantes [2.5,5.8,4.3,7.1]
DECLARACION SIMPLE
Se pueden definir enumerando sus elementos o utilizando el símbolo especial “..” Una lista es una estructura de datos que representa un conjunto de datos de un mismo tipo
2.6
ARBOLES
2.6. ARBOLES
- SE LE CONOCEN COMO ESTRUCTURAS DINAMICAS Y NO LINEALES
CONSTA DE UN CONJUNTO FINITO DE ELEMENTOS, DENOMINADOS NODOS Y UN CONJUNTO FINITO DE LINEAS DIRIGIDAS, DEMONINADAS RAMAS QUE CONECTAN LOS NODOS.
- LONGITUD DE CAMINO
- ALTURA DE UN NODO
- PROFUNDIDAD DE UN NODO}
- NODOS HERMANOS
- ORDEN
06. METODOLOGÍA
tipos de árboles
Árboles Binarios (tipo de datos Polimórficos)
- árbol lleno
- árbol completo
- árbol degenerado
Recorridos de Árboles
Preorden: Visitar la Raíz Recorrer el subárbol izquierdo Recorrer el subárbol derecho Inorden: Recorrer el subárbol izquierdo Visitar la raíz Recorrer el subárbol derecho Postorden: Recorrer el subÁrbol izquierdo Recorrer el subÁrbol derecho Visitar la raíz
2.7
evaluación perezosa
2.7 evaluación perezosa
Es usada en algunos lenguajes funcionales.En ella un argumento se evalúa hasta que se necesita
- Posibilita manipular estructuras de datos "infinitas".
- Se puede construir objetos potencialmente infinitos pieza a pieza según las necesidades de evaluación.