Sei sulla pagina 1di 5

El cálculo lambda es un sistema formal diseñado para investigar la

definición de función, la noción de aplicación de funciones y la recursión.

Se puede considerar como el lenguaje universal de programación más


pequeño. Consiste en una regla de transformación simple (sustitución de
variables) y un esquema simple para definir funciones.

Cálculo Lambda es universal porque cualquier función computable puede ser expresada y
evaluada a través de él. Por lo tanto, es equivalente a las máquinas de
Turing. Sin embargo, el cálculo lambda no hace énfasis en el uso de reglas
de transformación y no considera las máquinas reales que pueden
implementarlo. Se trata de una propuesta más cercana al software que al
hardware.

Es una estrategia de evaluación que retrasa el cálculo de una expresión hasta que
su valor sea necesario, y que también evita repetir la evaluación en caso de ser
Evaluación Peresoza
necesaria en posteriores ocasiones. Esta compartición del cálculo puede reducir
el tiempo de ejecución de ciertas funciones de forma exponencial
es una parte de un programa (subrutina) con un nombre, que puede ser invocada
Función (llamada a ejecución) desde otras partes tantas veces como se desee. Un bloque
de código que puede ser ejecutado como una unidad funcional.
funciones de orden superior son funciones que cumplen al menos una de
las siguientes condiciones:
Funcion de orden superior
Tomar una o más funciones como entrada
Devolver una función como salida

Elemento informático que nos permite crear programas mediante un


conjunto de instrucciones, operadores y reglas de sintaxis; que pone
Lenguaje de Programación a disposición del programador para que este pueda comunicarse con
los dispositivos hardware y software existentes.

El paradigma imperativo debe su nombre al papel dominante que desempeñan


las sentencias imperativas, es decir aquellas que indican realizar una determinada
operación que modifica los datos guardados en memoria. Su esencia es resolver
un problema complejo mediante la ejecución repetitiva y paso a paso de
Lenguaje Imperativo operaciones y cálculos sencillos con la asignación de los valores calculados a
posiciones de memoria. consiste en determinar qué datos son requeridos para el
cálculo, asociar a esos datos una dirección de memoria, y efectuar, paso a paso,
una secuencia de transformaciones en los datos almacenados, de forma que el
estado final represente el resultado correcto.
lengueje de programacion en el que solo hay que especificar lo que
se quiere obtener, sin necesidad de especificar a su vez el camino a
seguir para obtener los resultados deseados.
Lenguaje Relacional
Ejemplo de ellos son los lenguajes de bases de datos, como el SQL,
QBE

La lógica proposicional no es suficiente para especificar una serie de


propiedades importantes del mundo. La lógica de primer orden (o el cálculo
de predicados de primer orden) tiene mayor poder expresivo.
Por ejemplo si quisiéramos expresar:

Todos los hombres son mortales.


Sócrates es hombre.
Sócrates es mortal.

Si las dos primeras oraciones son premisas ¿cómo expresarlas en lógica


Lógica de primer orden
proposicional para que la tercera oración sea teorema? Y si agregamos que
“Aristóteles es hombre” entonces también nos gustaría deducir que
“Aristóteles es mortal”.
Para la lógica de primer orden (LPO) el mundo está compuesto de objetos
(Sócrates, Aristóteles, etc.) que tienen propiedades (alto, bajo, mortal, etc.)
que lo distinguen de otros objetos y relaciones entre ellos (hermano de,
padre de, enemigo, etc.). Podemos pensar a las propiedades como relaciones
unarias y a las proposiciones como relaciones de aridad cero. Las relaciones
son llamadas predicados.

Lógica difusa o lógica heurística se basa en lo relativo de lo observado como


posición diferencial. Este tipo de lógica toma dos valores aleatorios, pero
contextualizados y referidos entre sí. Así, por ejemplo, una persona que mida 2
Lógica difusa
metros es claramente una persona alta, si previamente se ha tomado el valor de
persona baja y se ha establecido en 1 metro. Ambos valores están
contextualizados a personas y referidos a una medida métrica lineal.
Lógica matemática. Es la disciplina que trata de métodos de razonamiento. En un
nivel elemental, la lógica proporciona reglas y técnicas para determinar si es o no
valido un argumento dado. El razonamiento lógico se emplea en matemáticas
Lógica matemática
para demostrar teoremas; en ciencias de la computación para verificar si son o no
correctos los programasCiertamente se usa en forma constante el razonamiento
lógico para realizar cualquier actividad.
Una mónada es un patrón de diseño funcional que tiene su origen en la teoría de
las categorías. encapsula un tipo de datos que nosotros elegimos para crear
Mónada instancias de otro tipo nuevo asociado a una computación especial. Es común que
dicha computación maneje un caso especial de dicho tipo. Una mónada siempre
define un tipo de datos y cómo podemos combinar los valores de dicho tipo.
Los paradigmas de programación nos indican las diversas formas
que, a lo largo de la evolución de los lenguajes, han sido aceptadas
Paradigma de
programación como estilos para programar y para resolver los problemas por medio
de una computadora.

es un paradigma de programación declarativo, que se basa en crear un modelo


formado por variables que indican qué posibles valores pueden tomar, y
Programación con
restricciones que expresan las relaciones que deben cumplirse entre esas
Restricciones variables. Una vez creado el modelo, el sistema se encarga de encontrar aquellas
soluciones que se ajustan a las restricciones.
En contraposición a la programación imperativa, es un paradigma de
programación que está basado en el desarrollo de programas especificando o
"declarando" un conjunto de condiciones, proposiciones, afirmaciones,
Programación Declarativa restricciones, ecuaciones o transformaciones que describen el problema y
detallan su solución. La solución es obtenida mediante mecanismos internos de
control, sin especificar exactamente cómo encontrarla (tan solo se le indica a la
computadora qué es lo que se desea obtener o qué es lo que se está buscando).
Es un paradigma de programación orientado a mejorar la claridad, calidad y
tiempo de desarrollo de un programa de computadora, utilizando únicamente
Programación subrutinas y tres estructuras: secuencia, selección (if y switch) e iteración (bucles
estructurada for y while), considerando innecesario y contraproducente el uso de la instrucción
de transferencia incondicional (GOTO), que podría conducir a "código espagueti",
que es mucho más difícil de seguir y de mantener
es un paradigma de programación declarativa basado en el uso de funciones
matemáticas, en contraste con la programación imperativa, que enfatiza los
cambios de estado mediante la mutación de variables. la diferencia entre una
función matemática y la noción de una "función" utilizada en la programación
imperativa, es que las funciones imperativas pueden tener efectos secundarios,
como cambiar el valor de cálculos realizados previamente. Por esta razón,
Programación Funcional
carecen de transparencia referencial; es decir, la misma expresión sintáctica
puede resultar en valores diferentes en varios momentos de la ejecución del
programa. Con código funcional, en contraste, el valor generado por una función
depende exclusivamente de los argumentos alimentados a la función. Al eliminar
los efectos secundarios se puede entender y predecir el comportamiento de un
programa mucho más fácilmente.
Paradigma de programación basado en la lógica de primer orden. La
programación lógica estudia el uso de la lógica para el planteamiento de
problemas y el control sobre las reglas de inferencia para alcanzar la solución
Programación Lógica
automática. consiste en indicar como resolver un problema mediante sentencias,
trabajando en una forma descriptiva, estableciendo relaciones entre entidades,
indicando no como, sino que hacer
es una forma especial de programar, este paradigma de programación es cercano
Programación Orientada a
a como expresamos las cosas en la vida real en nuestro día a día. Con la POO
Objetos tenemos que aprender a pensar las cosas de una manera distinta para poder
escribir nuestros programas en términos de objetos, propiedades y métodos. La
POO tiene como principio que todo en la vida es un objeto programable,
es un lenguaje de programación dedicado a un problema de dominio en
particular, o una técnica de representación o resolución de problemas específica.
Programas dsl Como ejemplos de DSL podemos mencionar a las fórmulas y macros de las
planillas de cálculo, las expresiones regulares de ciertas utilidades, Csound (un
lenguaje para crear archivos de audio), y más.
En el área de la programación de aplicaciones los programadores pueden
enfrentarse a problemas de cualquier complejidad y buscar la solución más
eficiente para cada uno de ellos. Algunos de estos problemas, siempre y
cuando puedan ser definidos en función de su tamaño, es decir, si es
Recursividad posible llegar a su solución a través de una secuencia finita de pasos,
pueden ser resueltos mediante la división del problema en subproblemas
más pequeños y repitiendo esta acción para cada uno de los subproblemas
que van surgiendo hasta llegar a problemas cuya solución es conocida o
fácil de encontrar.
https://thatcsharpguy.com/posts/la-evaluacion-perezosa/

https://www.goconqr.com/mindmap/2613378/evaluacion-perezosa

https://www.ecured.cu/Funci%C3%B3n_(programaci%C3%B3n)

https://www.cs.us.es/~jalonso/cursos/i1m-18/temas/tema-7.html

https://www.ecured.cu/L%C3%B3gica_matem%C3%A1tica

http://catedraprogramacion.forosactivos.net/t83-definicion-de-lenguaje-de-
programacion-tipos-ejemplos
http://www.inf-cr.uclm.es/www/fruiz/bda/doc/teo/bda-t4.pdf
http://www.iqcelaya.itc.mx/~vicente/Programacion/Paradigmas.pdf
http://blog.koalite.com/2016/04/que-es-la-programacion-basada-en-restricciones/

https://www.ecured.cu/Programaci%C3%B3n_declarativa

https://www.ecured.cu/Programacion_estructurada

https://codigofacilito.com/articulos/programacion-funcional

https://ferestrepoca.github.io/paradigmas-de-programacion/proglogica/logica_teoria/lang.html

https://lenguajesdeprogramacion14.wordpress.com/2-paradigmas-de-la-programacion/paradigma-
imperativo/

http://joragupra.com/2018/01/que-es-una-monada.html
http://smartcomputing.gerardorossel.org/logica-de-primer-orden.aspx

https://www.ecured.cu/L%C3%B3gica_difusa

https://www.ecured.cu/L%C3%B3gica_matem%C3%A1tica

https://www.ecured.cu/Recursividad

https://www.lainter.edu.mx/blog/2018/03/18/programacion-orientada-a-objetos/

https://dosideas.com/noticias/actualidad/487-los-lenguajes-especificos-de-dominio

Potrebbero piacerti anche