0% encontró este documento útil (0 votos)
26 vistas26 páginas

Introducción a la Programación Funcional

Cargado por

davidvsp21
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
26 vistas26 páginas

Introducción a la Programación Funcional

Cargado por

davidvsp21
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

𝑃𝑟𝑜𝑔𝑟𝑎𝑚𝑎𝑐𝑖ó𝑛 𝐿ó𝑔𝑖𝑐𝑎 𝑦 𝐹𝑢𝑛𝑐𝑖𝑜𝑛𝑎𝑙

Ing. Antonio Gamero Paredes


𝐼𝑁𝐼𝐶𝐼𝑂
𝐵𝐼𝐸𝑁𝑉𝐸𝑁𝐼𝐷𝐴

𝐵𝑖𝑒𝑛𝑣𝑒𝑛𝑖𝑑𝑜 𝑠𝑒ñ𝑜𝑟𝑒𝑠 𝑎𝑙𝑢𝑚𝑛𝑜𝑠 𝑎 𝑒𝑠𝑡𝑒 𝑖𝑛𝑡𝑒𝑟𝑒𝑠𝑎𝑛𝑡𝑒 𝑐𝑢𝑟𝑠𝑜

𝑒𝑙 𝑐𝑢𝑎𝑙 𝑡𝑖𝑒𝑛𝑒 𝑢𝑛𝑎 𝑔𝑟𝑎𝑛 𝑖𝑚𝑝𝑜𝑟𝑡𝑎𝑛𝑐𝑖𝑎 𝑒𝑛 𝐼𝑛𝑔𝑒𝑛𝑖𝑒𝑟í𝑎


𝐶𝑜𝑛𝑒𝑥𝑖ó𝑛

𝑆𝑒 𝑝𝑖𝑑𝑒 𝑎 𝑙𝑜𝑠 𝑎𝑙𝑢𝑚𝑛𝑜𝑠 𝑞𝑢𝑒 𝑡𝑜𝑑𝑜𝑠 𝑒𝑠𝑡𝑒𝑛 𝑑𝑒𝑏𝑖𝑑𝑎𝑚𝑒𝑛𝑡𝑒

𝑐𝑜𝑛𝑒𝑐𝑡𝑎𝑑𝑜𝑠 𝑐𝑜𝑛 𝑒𝑙 𝑎𝑢𝑑𝑖𝑜 𝑦 𝑣𝑖𝑑𝑒𝑜


“NUNCA CONSIDERES EL ESTUDIO COMO UNA
OBLIGACIÓN, SINO COMO UNA OPORTUNIDAD
PARA PENETRAR EN EL BELLO Y MARAVILLOSO
MUNDO DEL SABER”.
ALBERT EINSTEIN.
𝑃𝑟𝑜𝑔𝑟𝑎𝑚𝑎𝑐𝑖ó𝑛 𝐿ó𝑔𝑖𝑐𝑎 𝑦 𝐹𝑢𝑛𝑐𝑖𝑜𝑛𝑎𝑙

𝑺𝒆𝒎𝒂𝒏𝒂 𝟏

𝑷𝒓𝒐𝒇. 𝑴𝒂𝒈. 𝑳𝒊𝒄. 𝑪𝒂𝒓𝒍𝒐𝒔 𝑫𝒆 𝑺𝒐𝒖𝒛𝒂 𝑭𝒆𝒓𝒓𝒆𝒚𝒓𝒂 𝑳𝑳𝒂𝒒𝒖𝒆


𝑆𝑎𝑏𝑒𝑟𝑒𝑠 𝑝𝑟𝑒𝑣𝑖𝑜𝑠:

𝐸𝑛 𝑒𝑙 𝑝𝑟𝑒𝑠𝑒𝑛𝑡𝑒 𝑐𝑢𝑟𝑠𝑜 𝑠𝑒 𝑣𝑎 𝑎 𝑛𝑒𝑐𝑒𝑠𝑖𝑡𝑎𝑟 𝑞𝑢𝑒 𝑒𝑙 𝑎𝑙𝑚𝑢𝑛𝑜


𝑡𝑒𝑛𝑔𝑎 𝑐𝑜𝑛𝑜𝑐𝑖𝑚𝑖𝑒𝑛𝑡𝑜𝑠 𝑑𝑒 𝑎𝑙𝑔𝑜𝑟𝑖𝑡𝑚𝑜𝑠 𝑑𝑒 𝑝𝑟𝑜𝑔𝑟𝑎𝑚𝑎𝑐𝑖ó𝑛
𝑈𝑇𝐼𝐿𝐼𝐷𝐴𝐷
𝑀𝑜𝑡𝑖𝑣𝑎𝑐𝑖ó𝑛: [Link]
[Link]/1023/mod_resource/content/1/contenido/[Link]

A grandes rasgos, un lenguaje de programación se conforma de una serie de


símbolos y reglas de sintaxis y semántica que definen la estructura principal del
lenguaje y le dan un significado a sus elementos y expresiones.

¿Cuál es la estructura matemática con la cual están hechas los lenguajes de


programación?
En este tema se verá el segundo de estos procesos .
[Link]
𝐿𝑜𝑔𝑟𝑜 𝑑𝑒 𝑙𝑎 𝑠𝑒𝑠𝑖ó𝑛:

𝐴𝑙 𝑓𝑖𝑛𝑎𝑙𝑖𝑧𝑎𝑟 𝑙𝑎 𝑠𝑒𝑠𝑖ó𝑛 𝑑𝑒 𝑎𝑝𝑟𝑒𝑛𝑑𝑖𝑧𝑎𝑗𝑒 𝑒𝑙 𝑎𝑙𝑢𝑚𝑛𝑜


- 𝐸𝑛𝑡𝑖𝑒𝑛𝑑𝑒 𝑒𝑙 𝑐𝑜𝑛𝑐𝑒𝑝𝑡𝑜 𝑑𝑒 𝑝𝑎𝑟𝑎𝑑𝑖𝑔𝑚𝑎 𝑑𝑒 𝑝𝑟𝑜𝑔𝑟𝑎𝑚𝑎𝑐𝑖ó𝑛
- 𝐶𝑜𝑛𝑜 𝑙𝑜𝑠 𝑡𝑖𝑝𝑜𝑠 𝑑𝑒 𝑝𝑎𝑟𝑎𝑑𝑖𝑔𝑚𝑎𝑠 𝑞𝑢𝑒 𝑒𝑥𝑖𝑠𝑡𝑒𝑛
𝐼𝑚𝑝𝑜𝑟𝑡𝑎𝑛𝑐𝑖𝑎
𝑻𝒐𝒅𝒐𝒔 𝒍𝒐𝒔 𝒍𝒆𝒏𝒈𝒖𝒂𝒋𝒆𝒔 𝒅𝒆 𝒑𝒓𝒐𝒈𝒓𝒂𝒎𝒂𝒄𝒊ó𝒏 𝒑𝒆𝒓𝒕𝒆𝒏𝒆𝒄𝒆𝒏 𝒂 𝒖𝒏 𝒑𝒂𝒓𝒂𝒅𝒊𝒈𝒎𝒂
𝒐 𝒗𝒂𝒓𝒊𝒐𝒔 𝒑𝒂𝒓𝒂𝒅𝒊𝒈𝒎𝒂𝒔, 𝒅𝒆 𝒂𝒉í 𝒒𝒖 𝒆𝒍 𝒑𝒓𝒐𝒈𝒓𝒂𝒎𝒂𝒅𝒐𝒓 𝒖𝒕𝒊𝒍𝒊𝒛𝒂𝒓á 𝒆𝒍 𝒑𝒂𝒓𝒂𝒅𝒊𝒈𝒎𝒂
𝒒𝒖𝒆 𝒎𝒂𝒔 𝒔𝒆 𝒂𝒅𝒆𝒄𝒖𝒆 𝒑𝒂𝒓𝒂 𝒍𝒂 𝒔𝒐𝒍𝒖𝒄𝒊ó𝒏 𝒅𝒆 𝒔𝒖 𝒑𝒓𝒐𝒃𝒍𝒆𝒎𝒂
𝑇𝑅𝐴𝑁𝑆𝐹𝑂𝑅𝑀𝐴𝐶𝐼Ó𝑁
𝑦 𝑒𝑛 𝑓𝑢𝑛𝑐𝑖𝑜𝑛𝑒𝑠
𝐷𝑖𝑣𝑖𝑑𝑒 𝑎𝑙 𝑝𝑟𝑜𝑔𝑟𝑎𝑚𝑎 𝑒𝑛 𝑢𝑛𝑖𝑑𝑎𝑑𝑒𝑠 𝑓𝑢𝑛𝑑𝑎𝑚𝑒𝑛𝑡𝑎𝑙𝑒𝑠
𝑙𝑙𝑎𝑚𝑑𝑜𝑠 𝑜𝑏𝑗𝑒𝑡𝑜𝑠, 𝑎 𝑠𝑢 𝑣𝑒𝑧 𝑒𝑠𝑡𝑜𝑠 𝑠𝑒 𝑑𝑖𝑣𝑖𝑑𝑒𝑛 𝑒𝑛 𝑒𝑠𝑡𝑎𝑑𝑜𝑠
𝑦 𝑐𝑜𝑚𝑝𝑜𝑟𝑡𝑎𝑚𝑖𝑒𝑛𝑡𝑜𝑠 𝑞𝑢𝑒 ℎ𝑎𝑐𝑒𝑛 𝑣𝑎𝑟𝑖𝑎𝑟 𝑙𝑜𝑠 𝑒𝑠𝑡𝑎𝑑𝑜𝑠
𝐷𝑖𝑣𝑖𝑑𝑒 𝑎𝑙 𝑝𝑟𝑜𝑔𝑟𝑎𝑚𝑎 𝑒𝑛 𝑢𝑛𝑖𝑑𝑎𝑑𝑒𝑠 𝑓𝑢𝑛𝑐𝑖𝑜𝑛𝑎𝑙𝑒𝑠 𝑖𝑛𝑑𝑒𝑝𝑒𝑛𝑑𝑖𝑒𝑛𝑡𝑒𝑠,
𝑝𝑜𝑟 𝑒𝑗𝑒𝑚𝑝𝑙𝑜 𝑙𝑎 𝑐𝑜𝑛𝑐𝑢𝑟𝑟𝑒𝑛𝑐𝑖𝑎 ("𝑡𝑒𝑛𝑑𝑒𝑛𝑐𝑖𝑎 𝑑𝑒 𝑙𝑎𝑠 𝑐𝑜𝑠𝑎𝑠 𝑎
𝑝𝑟𝑜𝑑𝑢𝑐𝑖𝑟𝑠𝑒 𝑎𝑙 𝑚𝑖𝑠𝑚𝑜 𝑡𝑖𝑒𝑚𝑝𝑜 𝑒𝑛 𝑢𝑛 𝑠𝑖𝑠𝑡𝑒𝑚𝑎""), 𝑙𝑎 𝑠𝑒𝑔𝑢𝑟𝑖𝑑𝑎𝑑, “
… 𝑒𝑡𝑐. , 𝑝𝑒𝑟𝑚𝑖𝑡𝑒 𝑢𝑛𝑎 𝑎𝑑𝑒𝑐𝑢𝑎𝑑𝑎 𝑚𝑜𝑑𝑢𝑙𝑎𝑟𝑖𝑧𝑎𝑐𝑖ó𝑛 𝑑𝑒 𝑙𝑎𝑠 𝑎𝑝𝑙𝑖𝑐𝑎𝑐𝑖𝑜𝑛𝑒𝑠
𝑦 𝑝𝑜𝑠𝑖𝑏𝑖𝑙𝑖𝑡𝑎 𝑢𝑛𝑎 𝑚𝑒𝑗𝑜𝑟 𝑠𝑒𝑝𝑎𝑟𝑎𝑐𝑖ó𝑛 𝑑𝑒 𝑟𝑒𝑠𝑝𝑜𝑛𝑠𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑𝑒𝑠
(𝑂𝑏𝑙𝑖𝑔𝑎𝑐𝑖ó𝑛 𝑜 𝑐𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑛𝑑𝑒𝑛𝑐𝑖𝑎 𝑑𝑒 ℎ𝑎𝑐𝑒𝑟 𝑎𝑙𝑔𝑜).

(𝑅𝑒𝑎𝑐𝑡𝑖𝑣𝑜𝑠)
𝑅𝑒𝑎𝑐𝑐𝑖𝑜𝑛𝑎𝑛 𝑎 𝑙𝑎 𝑜𝑐𝑢𝑟𝑟𝑒𝑛𝑐𝑖𝑎 𝑑𝑒 𝑢𝑛 𝑒𝑣𝑒𝑛𝑡𝑜, 𝑝𝑜𝑟 𝑒𝑗𝑒𝑚𝑝𝑙𝑜 𝑎𝑙 𝑖𝑛𝑔𝑟𝑒𝑠𝑎𝑟
𝑢𝑛𝑎 𝑚𝑜𝑛𝑒𝑑𝑎 𝑒𝑙 𝑠𝑖𝑠𝑡𝑒𝑚𝑎 𝑟𝑒𝑎𝑐𝑐𝑖𝑜𝑛𝑎 𝑑𝑒 𝑎𝑐𝑢𝑒𝑟𝑑𝑎 𝑎𝑙 𝑡𝑖𝑝𝑜 𝑑𝑒 𝑚𝑜𝑛𝑒𝑑𝑎 𝑖𝑛𝑔𝑟𝑒𝑠𝑎𝑑𝑜,
𝑒𝑛 𝑏𝑎𝑠𝑒 𝑎 𝑒𝑙𝑙𝑜 𝑒𝑙 𝑠𝑖𝑠𝑡𝑒𝑚𝑎 𝑣𝑎 𝑎 𝑢𝑛 𝑒𝑠𝑡𝑎𝑑𝑜 𝑦 𝑠𝑒 𝑞𝑢𝑒𝑑𝑎 𝑒𝑠𝑝𝑒𝑟𝑎𝑛𝑑𝑜 𝑎 𝑞𝑢𝑒 𝑜𝑐𝑢𝑟𝑟𝑎
𝑜𝑡𝑟𝑜 𝑒𝑣𝑒𝑛𝑡𝑜
¿Qué es la programación declarativa?
No hay consenso sobre la definición de este paradigma, pero todas las explicaciones
coinciden en algo: lo que destaca de los lenguajes de programación declarativa es que
siempre se describe el resultado final deseado, en lugar de mostrar todos los pasos de
trabajo. Para alcanzar el objetivo, en la programación declarativa se determina
automáticamente la vía de solución. Esto funciona siempre y cuando las
especificaciones del estado final se definan claramente y exista un procedimiento de
ejecución adecuado. Si se dan las dos condiciones, la programación declarativa es muy
eficiente.
Como la programación declarativa no determina el “cómo”, sino que funciona a un
nivel de abstracción muy alto, este paradigma deja margen para la optimización. Si se
ha desarrollado un procedimiento de ejecución mejor, el algoritmo integrado lo
encuentra y lo aplica. En este sentido, el paradigma está muy preparado para el futuro
porque, al escribir el código, no es necesario determinar el procedimiento según el
cual se alcanza el resultado.
Los lenguajes de programación declarativa más conocidos son:
•Prolog
•Lisp
•Haskell
•Miranda
•Erlang
•SQL (en un sentido amplio)
Los distintos lenguajes declarativos se pueden subdividir, a su vez, en dos
paradigmas, el de la programación funcional y el de la programación lógica.
Sin embargo, es habitual que en la práctica los límites se difuminen y que, a
la hora de solucionar problemas, se apliquen tanto elementos de la
programación imperativa, con sus subtipos de programación
procedimental, modular y estructurada, como de la programación
declarativa.
𝑃𝑅Á𝐶𝑇𝐼𝐶𝐴
𝑈𝑛 𝑝𝑎𝑟𝑎𝑑𝑖𝑔𝑚𝑎 𝑡𝑖𝑒𝑛𝑒 𝑣𝑎𝑟𝑖𝑜𝑠 𝑙𝑒𝑛𝑔𝑢𝑎𝑗𝑒𝑠 𝑑𝑒 𝑝𝑟𝑜𝑔𝑟𝑎𝑚𝑎𝑐𝑖ó𝑛
𝑈𝑛 𝑙𝑒𝑛𝑔𝑢𝑎𝑗𝑒 𝑝𝑢𝑒𝑑𝑒 𝑝𝑒𝑟𝑡𝑒𝑛𝑒𝑐𝑒𝑟 𝑎 𝑣𝑎𝑟𝑖𝑜𝑠 𝑝𝑎𝑟𝑎𝑑𝑖𝑔𝑚𝑎𝑠
𝑆𝑖 𝑢𝑛 𝑙𝑒𝑛𝑔𝑢𝑎𝑗𝑒 𝑝𝑒𝑟𝑡𝑒𝑛𝑒𝑐𝑒 𝑎 𝑢𝑛 𝑠𝑜𝑙𝑜 𝑝𝑎𝑟𝑎𝑑𝑖𝑔𝑚𝑎 𝑒𝑙 𝑙𝑒𝑛𝑔𝑢𝑎𝑗𝑒 𝑒𝑠 𝑙𝑙𝑎𝑚𝑎𝑑𝑜 𝑙𝑒𝑛𝑔𝑢𝑎𝑗𝑒 𝑝𝑢𝑟𝑜,
𝑝𝑜𝑟 𝑒𝑗𝑒𝑚𝑝𝑙𝑜 𝑝𝑢𝑟𝑎𝑚𝑒𝑛𝑡𝑒 𝑓𝑢𝑛𝑐𝑖𝑜𝑛𝑎𝑙, 𝑝𝑢𝑟𝑎𝑚𝑒𝑛𝑡𝑒 𝑙ó𝑔𝑖𝑐𝑜, 𝑝𝑢𝑟𝑎𝑚𝑒𝑛𝑡𝑒 𝑖𝑚𝑝𝑒𝑟𝑎𝑡𝑖𝑣𝑜, …
𝑒𝑙 𝑙𝑒𝑛𝑔𝑢𝑎𝑗𝑒 𝑃𝑟𝑜𝑙𝑜𝑔 𝑒𝑠 𝑢𝑛 𝑙𝑒𝑛𝑔𝑢𝑎𝑗𝑒 𝑝𝑢𝑟𝑎𝑚𝑒𝑛𝑡𝑒 𝑙ó𝑔𝑖𝑐𝑜
𝑆𝑖 𝑢𝑛 𝑙𝑒𝑛𝑔𝑢𝑎𝑗𝑒 𝑝𝑒𝑟𝑡𝑒𝑛𝑒𝑐𝑒 𝑎 𝑣𝑎𝑟𝑖𝑜𝑠 𝑝𝑎𝑟𝑎𝑑𝑖𝑔𝑚𝑎𝑠 𝑒𝑙 𝑙𝑒𝑛𝑔𝑢𝑎𝑗𝑒 𝑒𝑠 𝑚𝑢𝑙𝑡𝑖𝑝𝑎𝑟𝑎𝑑𝑖𝑔𝑚𝑎, 𝑝𝑜𝑟 𝑒𝑗𝑒𝑚𝑝𝑙𝑜 𝐽𝑎𝑣𝑎 𝑒𝑠
𝑚𝑢𝑙𝑡𝑖𝑝𝑎𝑟𝑎𝑑𝑖𝑔𝑚𝑎 𝑝𝑜𝑟𝑞𝑢𝑒 𝑒𝑠 𝑖𝑚𝑝𝑒𝑟𝑎𝑡𝑖𝑣𝑜, 𝑓𝑢𝑛𝑐𝑖𝑜𝑛𝑎𝑙 𝑦 𝑜𝑟𝑖𝑒𝑛𝑡𝑎𝑑𝑜 𝑎 𝑜𝑏𝑗𝑒𝑡𝑜𝑠.
𝑇𝑜𝑑𝑜 𝑙𝑒𝑛𝑔𝑢𝑎𝑗𝑒 𝑑𝑒 𝑝𝑟𝑜𝑔𝑟𝑎𝑚𝑎𝑐𝑖ó𝑛 𝑝𝑒𝑟𝑡𝑒𝑛𝑒𝑐𝑒 𝑐𝑜𝑚𝑜 𝑚í𝑛𝑖𝑚𝑜 𝑎 𝑢𝑛 𝑝𝑎𝑟𝑎𝑑𝑖𝑔𝑚𝑎
𝐶𝐼𝐸𝑅𝑅𝐸
1) 𝑅𝑒𝑝𝑎𝑠𝑜 𝑑𝑒 𝑡𝑜𝑑𝑜 𝑙𝑜 𝑞𝑢𝑒 𝑎𝑝𝑟𝑒𝑛𝑑𝑖𝑒𝑟𝑜𝑛 𝑙𝑜𝑠 𝑎𝑙𝑢𝑚𝑛𝑜𝑠

2) 𝐸𝑣𝑎𝑙𝑢𝑎𝑐𝑖ó𝑛 𝑑𝑒𝑙 𝑙𝑜𝑔𝑟𝑜 𝑑𝑒𝑙 𝑎𝑝𝑟𝑒𝑛𝑑𝑖𝑧𝑎𝑗𝑒

También podría gustarte