Está en la página 1de 26

ÍNDICE

INTRODUCCIÓN
Programación lógica y funcional
Elaboró: Beltrán Ramírez Israel

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 automática. (UNAL, 2016, #)

Características Definición

La verdad es si el cálculo en el programa es


verdadero o no.
Verdad y deducción lógica La deducción lógica determina si una cláusula
lógica es una consecuencia del programa.

Considera si los objetos son verdaderos o falsos


Lógica de primer orden
desde una perspectiva parcial del mundo.

Tiene una forma normalizada donde una


Forma clausal
sentencia viene definida por un prefijo universal
Elaboró: Beltrán Ramírez Israel

Aplicaciones Funcionamiento

Con lógica de primer nivel es posible crear un


sistema para aplicar conceptos de machine
Inteligencia artificial
learning y desarrollar máquinas y dispositivos
capaces de razonar y aprender por sí mismos.

En este tipo de programas se debe analizar,


además de la gramática, la sintaxis y estructura de
Reconocimiento del lenguaje natural
las frases para poder comprenderlas y ofrecer una
respuesta coherente o precisa.

La programación lógica facilita algunas


funcionalidades en la gestión de las bases de
Administración de base de datos datos relacionales, como por ejemplo la realización
relacionales
de consultas lógicas basadas en una serie de
reglas.
Paradigmas de programación
Elaboró: Beltrán Ramírez Israel

Un paradigma de programación es un modelo básico de construcción de programas.


Un modelo que permite producir programas conforme con unas directrices
específicas, tales como diseñar un programa mediante una secuencia de
instrucciones que operan sobre unos datos de entrada y producen un resultado de
salida, etc. (Amo & Martinez Normand, 2015, #)

Elaboración propia
Elaboró: Beltrán Ramírez Israel

Paradigmas Características

Procedimentales u Se basan en una secuencia computacional que se ejecuta etapa


operacionales a etapa para resolver un problema.

Un programa se construye mediante hechos, reglas,


Declarativos restricciones, ecuaciones, transformaciones y otras propiedades
derivadas del conjunto de valores que configuran la solución.

Demostrativos El programador presenta soluciones de problemas similares y


permite al programa que generalice una solución procedimental a
partir de estas demostraciones
Disciplina de tipos
Elaboró: Beltrán Ramírez Israel

“Los tipos se infieren, es decir se comprueban, de forma estática, en tiempo de

compilación.”

En los lenguajes de programación con disciplina de tipos, cada tipo representa una
colección de valores o datos similares. El conocer los tipos de las funciones ayuda a
documentar los programas y evitar errores en el tiempo de ejecución.
Un lenguaje tiene disciplina de tipos si los errores de tipos se detectan siempre, es
necesario determinar los tipos de todos los operandos, ya sea en tiempo de
compilación o de ejecución.

Lenguaje Características

Cercano a tener disciplina de tipos pero no realiza


comprobación de tipos en los registros variantes

● Resuelve el problema de los registros


variantes realizando comprobación
dinámica de tipos

● Tiene una función de biblioteca que permite


extraer un valor de una variable de
cualquier tipo.
No tiene disciplina de tipos:

● No se realiza comprobación de tipos sobre


las uniones
● Permite funciones con parámetros sobre
los que no se realiza comprobación de
tipos.

Tiene disciplina de tipos (no hay uniones)

● Poseen disciplina de tipos


● Los tipos de los parámetros de las
funciones (y de estas mismas) se conocen
en tiempo de compilación

Disciplina estática de tipos:

Los programas bien tipados se pueden conocer en tiempo de compilación.

Polimorfismo:

Permite que una misma función se pueda aplicar a parámetros de diferentes tipos,
dependiendo del contexto en el que la función se utilice.
Datos y tipos de datos
Elaboró: Reyna Osorio Gerardo Alberto
Funciones
Elaboró: Torres Lopez Magaly
Las funciones están diseñadas para evitar la repetición constante de fragmentos de
código. Se puede pensar en una función como una variable que en sí misma
contiene código. Entonces, cuando accedemos a dicha variable (función), en
realidad le estamos diciendo al programa que ejecute un código predefinido (García
& Garrido, 2016).
Un problema complejo se puede dividir en pequeños subproblemas más sencillos.
Estos subproblemas se conocen como módulos y su complemento en lenguaje se
llama subprograma (procedimientos, funciones)(Cadena, 2021).

Figura 9. Secuencia de una función. Elaboración propia.

Un subprograma realiza las mismas acciones que un programa, sin embargo, un


subprograma lo utiliza solamente un programa para un propósito específico.

Un subprograma recibe datos de un programa y le devuelve resultados (el programa


“llama” o “invoca” al subprograma, este ejecuta una tarea específica y devuelve el
“control” al programa que lo llamó)(Cadena, 2021).

La programación funcional es un paradigma declarativo que se enfoca en que se


está haciendo y no en como se está haciendo es decir, expresando la lógica sin
describir controles de flujo, sin usar ciclos o condiciones (García, 2018).
Elaboró: Torres Lopez Magaly
Figura 9. Ejemplo de imperativo y declarativo. Elaboración propia.

Todos los lenguajes de programación tienen algunos elementos de formación


primitivos para la descripción de los datos y de los procesos o transformaciones
aplicadas a estos datos (tal como la suma de dos números o la selección de un
elemento que forma parte de una colección). Estos elementos primitivos son
definidos por reglas sintácticas y semánticas que describen su estructura y
significado respectivamente(García & Garrido, 2016).
Elaboró: Torres Lopez Magaly
🖥️Pascal

Figura 11. Pascal. Elaboración propia.


Elaboró: Torres Lopez Magaly
🖥️ADA

Figura 11. ADA. Elaboración propia.


Elaboró: Torres Lopez Magaly
Tabla comparativa de funciones de Pascal y ADA
Elaboró: Torres Lopez Magaly

Figura 11. Tabla comparativa de funciones de Pascal y ADA. Elaboración propia.

C
Elaboró: Reyna Osorio Gerardo Alberto
Tamaño y rango de los tipos de datos en C
Elaboró: Reyna Osorio Gerardo Alberto

Tipo Número de bits Rango

char 8 -128 a 127

unsigned char 8 0 a 255

signed char 8 -128 a 127

short 16 -32768 a 32767

int 16 -32768 a 32767

unsigned int 16 0 a 65535

signed int 16 -32768 a 32767

short int 16 -32768 a 32767

unsigned short int 16 0 a 65535

signed short int 16 -32768 a 32767

long int 32 -2147483648 a


2147483647

signed long int 32 -2147483648 a


2147483647
unsigned long int 32 0 a 4294967295

long 32 -2147483648 a
2147483647

unsigned long 32 0 a 4294967295

float 32 3.4E-38 a 3.4E+38

double 64 1.7E-308 a 1.7E+308

long double 64 u 80 (según versión) 1.7E-308 a 1.7E+308 o


3.4E-4932 a 1.1E+4932

(2.4) tipos de datos, s.f.)


Java
Elaboró: Reyna Osorio Gerardo Alberto
Tamaño y rango de tipos de datos primitivos en Java
Elaboró: Reyna Osorio Gerardo Alberto

Tipo Tamaño Valor mínimo Valor máximo

byte 8 bits -128 127

short 16 bits -32768 32767

int 32 bits -2147483648 2147483647

long 64 bits -9223372036854775808 9223372036854775807

float 32 bits -3.402823e38 3.402823e38

double 64 bits -1.79769313486232e308 1.79769313486232e308

char 16 bits '\u0000' '\uffff'

(Tipos de datos primitivos en Java, s.f.)


Haskell
Elaboró: Cruz Pérez Jonatan Eli

Tipos de datos en haskell

tipos valores

Bool Sus valores son true y false.

Char “a” ,“z”, “3”, “+”.

String “abc”, 1 + 2 = 3”
Int Enteros entre -2 elevado a la 31, y 2 elevado a la 31.

Integer 1267650600228229401496703205376.

Float 1.2, -23.45, 45e-7

Double 1.2, -23.45, 45e-7

ML

ML es un lenguaje de programación de propósito general de la familia de los lenguajes de


programación funcional desarrollado por Robin Milner y otros a finales de los años 1970 en
la Universidad de Edimburgo.

Frecuentemente se clasifica a ML como un lenguaje funcional impuro dado que permite


programar imperativamente con efectos de borde, a diferencia de otros lenguajes de
programación funcional, tales como Haskell.

Entre las características de ML se incluyen evaluación por valor, álgebra de funciones,


manejo automatizado de memoria por medio de recolección de basura, polimorfismo
parametrizado, análisis de estático de tipos, inferencia de tipos, tipos de datos algebraicos,
llamada por patrones y manejo de excepciones. Esta combinación particular de conceptos
hace que sea posible producir una de los mejores compiladores actualmente disponibles.
Referencias

Amo, F. A., & Martinez Normand, L. (2015). INTRODUCCIÓN A LA INGENERÍA

DEL SOFTWARE MODELOS DE DESARROLLO DE PROGRAMAS (1st ed.).

Javier Barbero Rubio.

https://books.google.es/books?hl=es&lr=&id=rXU-WS4UatYC&oi=fnd&pg=

PA1&dq=Disciplina+de+tipos+y+funciones+orientado+a+la+Programacion+

Logica+y+Funcional&ots=vxvHB83kZX&sig=l_g-EgXNFaZ6v2GNRFE2sN3v

jmA#v=onepage&q&f=false

López, A. B. (2019, February 21). 1.2.3 Disciplina de tipos. Programación Lógica y

Funcional. Retrieved October 2, 2022, from

https://alexisbladimirlopezfigueroa.blogspot.com/2019/02/123-disciplina-de

-tipos.html
UNAL. (2016). Filosofia del paradigma. UNAL.

https://ferestrepoca.github.io/paradigmas-de-programacion/proglogica/logic

a_teoria/proglogica.html

¿Qué TIPOS DE DATOS existen? (s.f.). Recuperado el 2 de Octubre de 2022, de

Lenguajes de programación:

https://lenguajesdeprogramacion.net/diccionario/que-tipos-datos-existen-en-program

acion/

2.4) tipos de datos. (s.f.). Recuperado el 2 de Octubre de 2022, de ccia.ugr.es:


https://ccia.ugr.es/~jfv/ed1/c/cdrom/cap2/cap24.htm

Deusto formación. (23 de Septiembre de 2021). ¿Qué es el lenguaje C? Recuperado


el 2 de Octubre de 2022, de DEUSTO FORMACIÓN:
https://www.deustoformacion.com/blog/programacion-diseno-web/que-es-len
guaje-c

Editorial Etecé. (s.f.). Dato en informática. Recuperado el 2 de Octubre de 2022, de


Concepto: https://concepto.de/dato-en-informatica/

García Cano, E. E., & Solano Gálvez, J. A. (s.f.). Guía práctica de estudio 03. Tipo
de dato abstracto. Recuperado el 2 de Octubre de 2022, de Unam.mx:
https://odin.fi-b.unam.mx/salac/practicasEDAA/eda1_p3.pdf

Hunt, F. (17 de Marzo de 2021). Diferencia entre flotar y doble. Recuperado el 2 de


Octubre de 2022, de Strephonsays:
https://es.strephonsays.com/float-and-vs-double-8018

IBM. (28 de Febrero de 2021). Tipos y métodos de Java básicos. Recuperado el 2


de Octubre de 2022, de IBM:
https://www.ibm.com/docs/es/iis/11.5?topic=jrules-basic-java-types-methods

ICTEA. (s.f.). ¿Qué es el lenguaje de programación JAVA? Recuperado el 2 de


Octubre de 2022, de Ictea.com:
https://www.ictea.com/cs/index.php?rp=/knowledgebase/8790/iQue-es-el-leng
uaje-de-programacion-JAVA.html
Tipos de datos primitivos en Java. (s.f.). Recuperado el 2 de Octubre de 2022, de
Abrirllave: https://www.abrirllave.com/java/tipos-de-datos-primitivos.php

Universidad Carlos III de Madrid. (s.f.-a). Capítulo 2. Tipos de datos en C.


Recuperado el 2 de Octubre de 2022, de UC3M:
https://www.it.uc3m.es/pbasanta/asng/course_notes/data_types_es.html

Universidad Carlos III de Madrid. (s.f.-b). 2.2. Tipos de datos estructurados.


Recuperado el 2 de Octubre de 2022, de UC3M:
https://www.it.uc3m.es/pbasanta/asng/course_notes/data_types_structured_d
ata_types_es.html

Cadena, J. [UC2ZLtAIgrivdjvnYuVCiKrg]. (2021, enero 29). Programación

Logica y Funcional. Youtube.

https://www.youtube.com/watch?v=c7eC1xVg2hQ

codigofacilito [codigofacilito]. (2018, octubre 5). ¿Qué es la programación

funcional? Youtube.

https://www.youtube.com/watch?v=kFQEL9Z24ZM

HACK A BOSS. (s/f). Historia de la programación: Ada Lovelace, la primera

programadora. Hackaboss.com. Recuperado el 3 de octubre de 2022,

de

https://www.hackaboss.com/blog/historia-programacion-ada-lovelace

-primera-programadora

Marco Antonio García Hernandez & José Armando Garrido Vargas. (2016).

Definición de funciones. wordpress.

https://plyf8sisitsh.wordpress.com/2016/03/08/3-definicion-de-funci

ones/
Rey, U., & Carlos, J. (s/f). Introducción al lenguaje de programación Ada.

Cartagena99.com. Recuperado el 3 de octubre de 2022, de

https://www.cartagena99.com/recursos/alumnos/apuntes/0-intro-ad

a.pdf

Taniamcl, P. (2014, febrero 13). DISCIPLINA DE TIPOS. Programación Lógica

y Funcional.

https://programacionlogicayfuncional.wordpress.com/2014/02/13/dis

ciplina-de-tipos/

(S/f). Studocu.com. Recuperado el 3 de octubre de 2022, de

https://www.studocu.com/es-mx/document/instituto-politecnico-naci

onal/fundamentos-de-programacion/lenguajes-de-programacion/1039

8946

También podría gustarte