Want to create interactive content? It’s easy in Genially!

Get started free

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:

Audio tutorial

Pechakucha Presentation

Desktop Workspace

Decades Presentation

Psychology Presentation

Medical Dna Presentation

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.

  1. LONGITUD DE CAMINO
  2. ALTURA DE UN NODO
  3. PROFUNDIDAD DE UN NODO}
  4. NODOS HERMANOS
  5. ORDEN
ORDEN 2 : UN NODO PUEDE TENER 0, 1, Ó 2 HIJOS

06. METODOLOGÍA

tipos de árboles

Árboles Binarios (tipo de datos Polimórficos)

  1. árbol lleno
  2. árbol completo
  3. á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.