Está en la página 1de 20

UNIVERSIDAD NACIONAL TECNOLOGICA DE LIMA SUR-UNTELS

FACULTAD DE ADMINISTRACIÓN DE EMPRESAS

Trabajo presentado para la asignatura de

Matemática Básica

Dirigida por la Mg. Salazar Dávila María del Pilar

Título: La lógica como el mayor aporte a la programación

Estudiantes:

Velarde Padilla, Luis Antonio


Vilca Velásquez, Luz Mayleni
Yauri Aquino, Jimmy Brando
Blacido Casas Luis Fabricio

Villa el Salvador-Perú
2022

1
INDICE

1. Prologo...............................................................................................................................3

2. Resumen.............................................................................................................................4

3.Abstract...............................................................................................................................5

4. Objetivos de la investigación.............................................................................................6

5. Lógica preposicional..........................................................................................................7

5.1 L a lógica preposicional como madre de todo razonamiento.......................................7

6. Programación...................................................................................................................10

6.1 La programación, principio de la informática............................................................10

7. La lógica preposicional en la programación....................................................................12

7.1 La relación de la lógica preposicional con la programación......................................12

7.2 ¿Es posible desarrollar lenguajes de programación sin lógica proposicional............13

7.3 El sistema binario: pieza clave para representar la información................................14

8. conclusiones.....................................................................................................................15

9. referencias bibliográficas.................................................................................................16

2
1. Prologo

La lógica juega un papel básico en la informática (lenguajes de programación, inteligencia

artificial, seguridad informática, etc.), sin duda uno de los fundamentos que proporcionan la

madurez y agilidad necesarias para asimilar los conceptos, lenguajes, técnicas y herramientas

informáticas que surjan en el futuro. Es así que los informáticos necesitan analizar las

propiedades lógicas de sus sistemas mientras los diseñan, desarrollan, verifican y mantienen,

especialmente cuando se trata de sistemas críticos (económicamente, o en seguridad,

privacidad o eficiencia). Para llevar a cabo todo es campo de la programación se ha de

estudiar en profundidad las dos lógicas más importantes, la proposicional y la de primer

orden.

3
2. Resumen

4
3.Abstract

5
4. Objetivos de la investigación

1. Entender qué es la lógica y para qué sirve

2. Familiarizarse con la lógica de proposiciones: principios, sintaxis y semántica

3. Ser capaz de realizar manipulación sintáctica en lógica de proposiciones

4. Entender el concepto de manipulación semántica

5. Papel de la lógica en la Informática: programación, álgebra de Boole e Informática

6
5. Lógica preposicional

5.1 La lógica preposicional como madre de todo razonamiento

Originalmente fue derivada de la Filosofía, pero con su desarrollo a fines del Siglo

XIX fue alejada de la misma, asimilándose como una disciplina mucho más afín a

la Matemática, por lo que en muchos análisis epistemológicos se la tiene en cuenta como una

Lógica Matemática.

Con la llegada del Siglo XX esta ciencia pasó a ser considerada principalmente como una

Lógica Simbólica, utilizando Reglas de Inferencia y reemplazando las distintas aserciones por

simples asignaciones de Símbolos, por lo que posteriormente fue aplicada a las bases de la

Informática, teniendo una estructura meramente de Ciencia Lógica desde aquel entonces.

Ahora, ¿Qué es la lógica proposicional?

Es un sistema formal cuya estructura más simple la constituyen las proposiciones

simples unidas por conectores, las mismas que forman proposiciones más complejas.

Proposición

Es un enunciado informativo o sistema de signos que pueda ser verdadero o falso en virtud de

la demostración de verificación

Clases de proposición

Las proposiciones se clasifican en simples y compuestas según la existencia o no de

conectores.

Proposición Simple

7
Brinda una sola información de cualidad afirmativa, por lo que no tiene conector lógico.

Son de dos clases:

- Simple predicativa: Formada por sujeto y predicado.

-Simple relacional: Formada por más de un sujeto relacionados con un predicado.

Proposición compuesta

Brinda dos o más informaciones, y sus enunciados están unidos por uno o varios

conectores lógicos. Cuando la información que brinda es negativa, está exenta de conector.

Según el conector lógico, las proposiciones compuestas resultan ser conjuntivas, disyuntivas,

condicionales y bicondicionales. Y cuando no tiene conector, la proposición es una

proposición negativa.

Conjuntiva: Proposición unida por los conectores “y” o “además”, “sino”, “sin embargo”,

“pero “entre otros.

Disyuntivas: Proposición unida por los conectores “o” o “u” entre otros. Son de dos

formas: inclusiva y exclusiva.

-Inclusiva: Cuando puede admitir la verdad de las dos proposiciones que la forman,

-Exclusiva: Cuando puede admitir solo la verdad de una de las proposiciones.

Condicional: Proposición formada por una proposición que actúa como causa

(antecedente) y otra que actúa como efecto (consecuente). Esta proposición está unida por el

conector “si…entonces”

Bicondicional: Proposición cuyas componentes actúan distintamente como antecedente o

consecuente, por lo que están unidos por el conector “si y solo si”, o “cuando y solo cuando”,

“donde y solo donde”, “solamente si”, entre otros.

8
Negativa: Proposición que no presenta conector gramatical y es de cualidad negativa, por

lo que en él se halla el adverbio “no” o “es falso que”, etc.

Es así que precisamos a la Lógica Proposicional como una rama de la Lógica Matemática,

la cual, por medio de reglas y técnicas, permite validar enunciados.

Por lo tanto, se hace uso de símbolos para poder formalizarse, así como también las reglas

de formación, que junto a las leyes de transformación permitirán formar estructuras más

complejas.

9
6. Programación

6.1 La programación, principio de la informática

Todo comenzó con idear y ordenar acciones que se realizarán en un determinado proyecto;

al anuncio de las partes que componen un acto; a la preparación de máquinas para que

cumplan con una cierta tarea en un momento determinado; a la elaboración de programas para

la resolución de problemas mediante ordenadores; y a la preparación de los datos necesarios

para obtener una solución de un problema a través de una calculadora electrónica.

Algoritmos, en un plano más técnico, la programación se realiza mediante el uso de

algoritmos, que son secuencias finitas, ordenadas y no ambiguas de instrucciones que deben

seguirse para resolver un problema. Algunas de ellas pueden agruparse y recibir un nombre

para poder ser invocadas con facilidad tantas veces como sea necesario.

Compilación, es necesario para que el código pueda ser ejecutado por la plataforma para la

cual ha sido creado, que puede ser un ordenador, una tableta, una consola o un teléfono móvil,

por ejemplo. También hay una forma de traducir el código denominada interpretación, que

consiste en analizar línea a línea, hasta que se traduzca lo suficiente como para poder realizar

una tarea. Cabe mencionar que los lenguajes de programación se dividen en dos grandes

grupos, donde los que pueden ser complicados no pueden ser interpretados, y viceversa.

La noción de programación se encuentra muy asociada a la creación de aplicaciones

informáticas y demás cosas aplicadas en la actualidad; es el proceso por el cual una persona

desarrolla un programa valiéndose de una herramienta que le permita escribir el código, el

cual puede estar en uno o varios lenguajes tales como “C”, “C++, JAVA, Python”, entre otras
10
de tal manera que sea capaz de TRADUCIRLO a lo que se conoce como lenguaje de

máquina, el cual puede ser entendido por microprocesadores.

7. La lógica preposicional en la programación

7.1 La relación de la lógica preposicional con la programación

La programación y la lógica están estrechamente relacionadas. De hecho, teóricamente

fue demostrado que existe un isomorfismo entre ambas. Esto quiere decir que puede llevarse

un sistema de pruebas usado en lógica a los modelos de programación funcional y viceversa,

es decir, el isomorfismo de Curry-Howard

Al momento de programar es normal utilizar, inclusive de forma implícita, una forma de

razonar llamada booleana.

Fue George Boole una de los personajes que desarrolló una forma de álgebra donde los

valores solo pueden ser Verdadero (True) y Falso (False), pues ha sido la lógica booleana

muy importante dentro de las ciencias de la computación ya que puede realizarse un perfecto

paralelismo con el sistema de numeración binario donde cada bit puede tener como valor

el 1 o el 0.

Debido a esto, es normal ver que este sistema se lo utilice para establecer valores de

verdad. De hecho, a la hora de establecer condicionales y bucles suele emplearse un tipo

booleano. Además, esta lógica es muy buena para representar elementos que solo pueden

adquirir dos valores. Aun así, la lógica no se restringe solo a esta forma de pensar y trabajar

sino que se extiende mucho más existiendo muchos tipos diferentes.

11
7.2 ¿Es posible desarrollar lenguajes de programación sin lógica

proposicional?

No, esto sería debido a que sin este sistema usado como razonamiento; nadie podría

hacerse alumno de Informática, pero ahora ¿Por qué debería un informático aprender Lógica?

En relación al modelado de tareas que se realiza con el objetivo de automatizarlas en un

ordenador, se debe tener en cuenta que esta automatización requiere del modelado de

procesos que se realizan por humanos de formas muy distintas, y debemos ser capaces de

realizar esta tarea de manera óptima (en lo que interviene la Lógica como modelador de

tareas) y de verificar que el proceso implementado en el ordenador es correcto (donde la

Lógica es insustituible).

Pero, además, hay aplicaciones específicas relacionadas con la computación en las que la

Lógica juega un papel fundamental. Por ejemplo: Descripción de semántica de lenguajes de

programación; Corrección de sistemas y protocolos informáticos; Descripción del hardware

informático; Razonamiento Automático; Modelado de Sistemas Inteligentes; etc.

12
7.3 El sistema binario: pieza clave para representar la información

La tecnología digital que conocemos hoy en día no se desarrolló totalmente hasta el siglo

XX, momento en el que se fabricaron las primeras calculadoras electrónicas. Los pioneros de

la tecnología informática tuvieron que traducir números y letras de manera que los

ordenadores pudieran interpretarlos. El código binario era perfecto y parecía predestinado

para ello, porque la abstracción de unos y ceros podía traducirse a estados físicos. Dentro del

campo de la ingeniería eléctrica, el cero quiere decir que no pasa corriente y el uno, que sí

pasa.

Las tarjetas perforadas también contienen información basada en el código binario.

Permiten almacenar la información de forma permanente y, al mismo tiempo, esa información

puede ser interpretada por un ordenador. Estas tarjetas ya se utilizaban antes de que se

inventaran los ordenadores, por ejemplo, en las cajas de música basadas en mecanismos de

manivelas.

Puede parecer que cuando hablamos de código binario y de sistema binario nos referimos a

dos conceptos sinónimos. Sin embargo, una vez que aprendemos cuáles son las características

de un código, es muy sencillo entender la diferencia. Un código binario es un código de

programación que está en binario, es decir, en ceros y unos. En informática y

telecomunicaciones, el código binario se utiliza con diversos métodos de codificación de

datos, tales como cadenas de caracteres o cadenas de bits. Por su parte, el sistema binario es

un sistema de numeración, una forma de realizar operaciones con ceros y unos. No necesita de

otro sistema para existir. Por ejemplo, cuando realizamos cálculos utilizando el sistema

binario, no necesitamos recurrir al sistema decimal para obtener los resultados.

13
7.4 Relación de Factores de la Lógica como parte de la Programación

Partiendo de la lógica formal como parte indispensable para crear un lenguaje de

programación; es decir, cualquier programa escrito en un lenguaje de programación lógico es

un conjunto de oraciones en forma lógica, que expresan hechos y reglas sobre algún dominio

problemático. Podemos apreciar esta idea a través de los compiladores que ejecutan

identificadores o palabras clave, literales numéricos y de cadenas, signos de puntuación y

símbolos de operador, que a su vez se especifican mediante un lenguaje formal más simple,

generalmente por medio de expresiones. Esto es utilizado por las etapas posteriores del

compilador para generar eventualmente un ejecutable que contiene código de máquina que se

ejecuta directamente en el hardware, o algún código intermedio que requiere una máquina

virtual para ejecutarse.

La programación lógica consiste en la separación de los programas en su componente

lógico y su componente de control. Con los lenguajes de programación de lógica pura, el

componente lógico por sí solo determina las soluciones producidas. El componente de control

se puede variar para proporcionar formas alternativas de ejecutar un programa lógico.

Lógica + Control = Algoritmo

Donde "Lógica" representa un programa lógico y "Control" representa diferentes

estrategias de demostración de teoremas.

Luego, como parte de este proceso tenemos la correspondencia de curry- Howard el cual

trata de pasar del lado lógico al de la programación; es decir, pasar de usar conectores lógicos
14
tales como la conjunción y disyunción (entre los más más comunes) a una formulación con

operadores (los conectores antes mencionados pasan a ser operaciones tales como suma y

producto, entre otros) por medio de un lenguaje formal.

La importancia de los operadores, entre ellos tenemos:

Operadores de condición: Relacionan un término A con otro B estableciendo su igualdad,

desigualdad, jerarquía o cualquier otra relación posible.

Operadores de orden: Los operadores de orden establecen o verifican clasificaciones entre

números (A < B, A > B, etc.) u otro tipo de valores (caracteres, cadenas, ...).

Todo tipo de dato susceptible de ser ordenado por cualquier criterio puede ser comparado

con estos operadores; como los anteriores devuelven un valor de verdad en función del

resultado que tenga la comparación en cada caso.

• A > B Devuelve V si A es estrictamente mayor que B y F en caso contrario

• A < B Devuelve V si A es estrictamente menor que B y F en caso contrario

• A ≥ B Devuelve V si A es mayor o igual que B y F en caso contrario

A ≤ B Devuelve V si A es menor o igual que B y F en caso contrario

Operadores lógicos: Comunes en Informática, lógica proposicional y álgebra booleana;

haciendo énfasis en este último tenemos, el tipo de dato lógico o booleano que en

computación se puede representar valores de lógica binaria, esto es 2 valores, que

normalmente representan falso o verdadero1.

15
Para generar un dato o valor lógico a partir de otros tipos de datos, típicamente, se emplean

los operadores relacionales (u operadores de relación), por ejemplo: 0 es igual a falso y 1 es

igual a verdadero

Los operadores lógicos nos proporcionan un resultado a partir de que se cumpla o no una

cierta condición

• Los más sencillos son (nótese su relación con los operadores relacionales):

Operador NO-lógico: '-A' significa todo lo que no es A'

Operador Y-lógico: 'A ∧ B' significa 'A y B a la vez'; resultando FALSO (0) si no se

cumple y VERDADERO (1) si lo hace.

Operador O-lógico: 'A ∨ B' significa 'O bien A, o bien B, o bien los dos'; resultando

FALSO (0) si no se dan ni A ni B y VERDADERO (1) si se da alguno de los dos o los dos a

la vez.

Operador =: 'A = B' significa 'A debe ser igual a B'; resultando FALSO (0) si esto no

es así y VERDADERO (1) en caso contrario.

Operador <: 'A < B' significa 'A debe ser menor que B'; resultando FALSO (0) si no se

satisface y VERDADERO (1) en caso contrario.

Operador >: 'A > B' significa 'A debe ser mayor que B'; resultando FALSO (0) si no se

satisface y VERDADERO (1) en caso contrario.

Operaciones aritméticas: Se tiene la adición, sustracción, multiplicación, potenciación,

radicación y logaritmación.

16
Finalmente, hacemos mención al código binario el cual se utilizan para poder representar

valores en sus entradas y proporcionar resultados. Las compuertas lógicas son los bloques con

los que construyen sumadores, multiplicadores, decodificadores, registros, etc. A su vez, estos

bloques más complejos forman sistemas como procesadores, memorias, periféricos y

unidades de control que son el principio de funcionamiento de los microprocesadores y los

microcontroladores.

Hacemos un ejemplo con el presente pseudocódigo (PSEINT).

17
8. conclusiones
18
9. Referencias bibliográficas

19
Del Callejo, D., Del callejo, E. y Del Callejo, M. (2016) El pensamiento matemático.

Textos Universitarios

Acosta, T., Pavón, C., & Moy-Sang Castro, S. (2017, 20 junio). Lógica Proposicional.

Pérez Porto, J., Gardey, A. (2009). Actualizado: 2022. Definición de programación

Correspondencia de Curry-Howard (isomorfismo)

Casillas, L (19 de abril 2012). Isomorfismo de Curry-Howard. Ajaxhispano.com.

https://ajaxhispano.com/ask/isomorfismo-de-curry-howard-51791/

Viveros, E., (25 agosto 2011). Sistemas numéricos (Binario, Octal, Decimal,

Hexadecimal).

Matemáticas Discretas evz. https://sites.google.com/site/matematicasdiscretasevz/1-1-

sistemas-numericos-binario-octal-decimal-hexadecimal

20

También podría gustarte