Semana 7

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 33

Plantilla para

Introducción títulos 2
a la Informática

Lógica y razonamiento lógico.


Temario
• Introducción
• Qué es lógica y razonamiento lógico
• Lógica de programación
• Lógica matemática
• Las proposiciones
• Conectores Lógicos
• Lógica de programación
• Lenguajes
• Resolución de problemas
• Cibergrafía
Introducción
Una de las actividades que hoy día se han convertido en
fundamental, es la programación de computadores a todos los
niveles; comercial, industrial, empresarial, gubernamental, de
servicios, incluso muchas actividades del sector agropecuario,
por lo que esta apasionante actividad es altamente generadora
de empleo por esta razón la necesidad hoy de programadores
es demasiado alta.
El uso permanente de la lógica y el razonamiento en la
programación hacen que la actividad de programar enseñe a
pensar. La programación de computadores permite ejercitar
muchas capacidades de las personas en diferentes aspectos de
la vida, porque esta actividad mejora el razonamiento lógico y
permite también mejorar la manera de resolver problemas.
Las personas que aprenden a programar están mejor
preparadas para afrontar el mundo cambiante y evolucionado
de hoy.
El profesional de hoy en día, debe conocer este aspecto con el
fin de poder apoyar en el momento en que se le necesite
Definición de Lógica
La Lógica la han definido como la ciencia que está dedicada al estudio de
las formas, los métodos y los principios que rigen el conocimiento
científico.
"La lógica es la ciencia de la demostración, pues sólo se preocupa de
formular reglas para alcanzar verdades a través de la demostración" (
Aristóteles).

La lógica es la habilidad que nos permite analizar todas las posibilidades


que tenemos, y ver cual es la mejor opción para llegar a nuestro objetivo.
El término lógica proviene del griego antiguo y quiere decir: razón, tratado
o ciencia. La lógica en matemáticas tiene que ver con las reglas y las
técnicas para definir si un argumento es válido o no lo es, para definir la
forma correcta de obtener conclusiones y los métodos para poder llegar a
esas conclusiones.

Por su parte el razonamiento lógico es usado en computadores para poder


demostrar verdades o teoremas y para poder resolver multitud de
problemas.
La lógica y el razonamiento lógico podrán muy bien ser los orígenes del
software.
Razonamiento Lógico.
El razonamiento lógico es la capacidad mental del humano, para
encontrar soluciones por medio del entendimiento, para resolver
problemas mediante el uso de la lógica.
Mediante el razonamiento las personas pueden resolver
problemas, sacar sus propias conclusiones y generar algún tipo
de aprendizaje en relación con los hechos, mediante relaciones
causales y lógicas.

El razonamiento tiene dos elementos principales:


Las premisas: Conjunto de expresiones que niegan o afirman un
aspecto de la realidad: Pueden ser: falsas, verdaderas,
generales o particulares.
Las Conclusiones: Se refiere al conjunto de expresiones
generadas de las premisas, a través de la aplicación de procesos
lógicos y argumentativos. Las conclusiones de un razonamiento
pueden usarse como premisas de otro razonamiento.

El Razonamiento puede ser:


Deductivo: Cuando los indicios de los hechos dan la verdad en la
conclusión.
Inductivo: La reflexión es válida si la verdad de los antecedentes
está comprobada.
Razonamiento Lógico.
Las dos principales formas de razonamiento son el inductivo y el deductivo. Se
diferencian por la forma y la argumentación que requieren para obtener las
conclusiones.

Deductivo: Implica el uso de la deducción para obtener unas conclusiones. A partir


de premisas universales o generales se obtienen conclusiones individuales o
particulares.

Inductivo: Este razonamiento es contrario al anterior. Se parte de premisas


particulares o individuales para alcanzar conclusiones generales o universales.
Aunque pueda ser menos lógico, si es más probabilístico.

El razonamiento lógico entonces, es la capacidad de obtener conclusiones


demostrables, conscientes, de un conjunto de premisas aplicando nuestros
conocimientos. Pueden ser válidos o correctos o pueden ser falsos o incorrectos y
esto se da porque un mal razonamiento es también un razonamiento posible. En
lógica los razonamientos falsos se llaman falacias.

El razonamiento lógico matemático es de tipo formal, se siguen las reglas y


procedimientos de un conjunto de relaciones entre números, representaciones o
figuras, para establecer teoremas, axiomas o procedimientos matemáticos. El
razonamiento matemático jamás acude a la experiencia o la subjetividad, sino que
procede de la pura lógica objetiva, por ello el resultado de una operación matemática
tendrá siempre el mismo resultado, sin importar quien la ejecute, o cual sea su
experiencia previa.
Lógica de programación.
Toda persona que quiera solucionar un problema usando
herramientas computarizadas, debe resolver dos tareas primero
demasiado importantes:

El Qué: Se refiere a las acciones que se deben realizar para


resolver el problema.

El Cómo: Se refiere a las instrucciones que deberá usar al escribir


el código para que el programa realice las acciones con las cuales
se quiere resolver el problema.

En programación la lógica se utiliza para desarrollar instrucciones


con una secuencia que permita lograr un objetivo. Corresponde
a la organización y planificación de las instrucciones en un
algoritmo, para volver visible la implementación de un programa
o un software. La lógica de programación entonces, corresponde
a la organización coherente de las instrucciones de un programa
para lograr un objetivo propuesto.
Lógica matemática.
Podríamos enunciar la lógica matemática como la disciplina
que estudia los métodos de razonamiento. De forma muy
simplista, podríamos opinar que la lógica ofrece las técnicas y
las reglas para poder determinar si un argumento dado es
valido o no.
El razonamiento lógico es empleado en las matemáticas para la
demostraciones de teoremas. En programación de
computadores es usado para verificar si los programas están
correctos o no.
Una proposición lógica corresponde a un enunciado que puede
ser falso o verdadero, pero no puede ser ambos al mismo
tiempo.
Las proposiciones se escriben por medio de una letra
minúscula, dos puntos y la oración:
p: El rectángulo es una figura geométrica de 4 lados
q: 22 + 6 = 28
p y q son proposiciones válidas dado que pueden tomar un
valor de F ó V
Lógica matemática.

Las proposiciones pueden ser:


Simples: Si solamente tienen un sujeto un verbo
y un complemento.
Compuestas: Si tienen dos o más sujetos, un
verbos o un complementos.
Cerradas: Si tienen determinado al sujeto
Abiertas: Si NO tienen determinado al sujeto
Afirmativas / Negativas: Según lo afirmen o
nieguen
Verdaderas / Falsas: Si corresponden o no con la
verdad.
La Proposición simple.
Se refiere a las proposiciones que no dependen
de otras proposiciones simples. También son
aquellas proposiciones que no presentan un
conector u operador lógico.
Ejemplos
P: 3 + 4 < 10
q: Hoy es martes
x: 27 es divisible por 3.
La Proposición compuesta.
Están conformadas por dos o mas proposiciones simples, que se
unen mediante los llamados conectores lógicos:
Enrique va a cine solo si tiene dinero.
El dólar está barato o está caro.
Los conectores lógicos.
Los conectores lógicos permiten la formación de proposiciones compuestas.
Los principales operadores o conectores son los siguientes.

La tabla de verdad que daría de la siguiente manera:


Conjunción (operador y)
Conecta dos o más proposiciones que se deben cumplir q x q^x
para que sea verdadera y su símbolo es : ^ 1 1 1
Ejemplo: Voy al estadio cuando hay un buen partido y 1 0 0
tengo plata. O 1 0
p: Voy al estadio 0 0 0
q: Hay un buen partido
x: Tengo plata. Damos que: 1 = verdadero 0 = falso
Para que se cumpla la condición se debe dar que q = 1
De esta manera podríamos escribir: un buen partido y x = 1 tengo plata. Si una de las dos
p=q^x proposiciones vale = 0, no voy al partido
Los conectores lógicos.
Disyunción (operador o)
Para obtener un resultado verdadero, una de las La tabla de verdad quedaría de la siguiente manera:
proposiciones debe ser verdadera .y su símbolo es: v
q x qvx
Ejemplo: Si voy para Cartagena puedo irme en bus o en 1 1 1
avión.
1 0 1
p: Voy para Cartagena O 1 1
q: Me puedo ir en bus 0 0 0
x: Me puedo ir en avión.
De esta manera podríamos escribir:
p=qvx=1
p=qvx Para que se cumpla la condición solo se necesita que
una de las proposiciones q = 1 Me puedo ir en bus o
x = Me puedo ir en avión valga = 1
Los conectores lógicos.

Negación (operador no)


La tabla de verdad quedaría de la siguiente manera:
Tiene la función de negar la proposición. Si una
proposición es verdadera y se le aplica este operador
la proposición cambiara a Falsa y viceversa. Su p p’
símbolo es : ‘ 1 0
Ejemplo: El carro es marca ford. 0 1
p: El carro es marca Ford
p’: El carro no es marca ford
En la tabla se puede observar que:
p = 1 El carro es marca Ford
p = 0 El carro no es ford
Otras Proposiciones.
p q p x
Proposición condicional 1 1 1
La proposición condicional también se le llama 1 0 0
implicación. Es la proposición que esta formada por O 1 1
dos proposiciones simples o compuesta. Su símbolo
0 0 1
es :
p q (Se lee “Si p entonces q”)
Ejemplo: Si ahorro me compraré un carro en tres Si p=1 es que ahorró, si q=1 es que compró el carro. La
años. condición es verdadera
p: Si ahorro Si p=1 y q=0 quiere decir que ahorró pero no compró el
carro. La condición no es verdadera.
q: comprare un carro en tres años. Si p=0 y q=1 quiere decir que no ahorró pero compró el
El ejemplo se puede expresar asi: carro. La condición es verdadera.
Si p=0 y q=0 no ahorró y tampoco compró el carro. La
p q
condición también es verdadera
Otras Proposiciones.
p q p x
Proposición bicondicional 1 1 1
La proposición bicondicional también se le llama 1 0 0
doble implicación. Esta proposición se da cuando una O 1 0
proposición p es verdadera si y solo si la otra
0 0 1
proposición q es verdadera también. O si p es falsa si
y solo q es falsa, su símbolo es:
p q (Se lee “p si y solo si q”) Si p=1 es que puede votar, si q=1 es que tiene cédula. La
Ejemplo: Una persona puede votar si tiene cédula. condición es verdadera
Si p=1 y q=0 quiere decir que puede votar no tiene
p: Una persona puede votar cédula. La condición no es verdadera. p q = 0
q: Si tiene cédula. Si p=0 y q=1 quiere decir que no puede votar pero si
El ejemplo se puede expresar asi: tiene cédula. La condición es falsa.
Si p=0 y q=0 no puede votar y tampoco tiene cédula. La
p q condición es verdadera
La lógica en programación
En programación se puede afirmar que la lógica es la destreza
que se tiene para saber analizar las alternativas que se tienen,
cuando se quiere solucionar un problema o alcanzar un
objetivo concreto.

Si apenas te inicias en el apasionante mundo de la


programación, lo mejor es que primero desarrolles la lógica del
programador, antes que conocer la sintaxis de un lenguaje.
Si ponemos a varios programadores a desarrollar una solución,
muy posiblemente encontremos al final que ellos entregan
códigos diferentes. El lenguaje de programación solo es el
medio del que se vale el programador para transmitir sus ideas
a la computadora.

Si decides primero aprender las diferentes sintaxis de los


lenguajes de programación, lo más seguro es que termines
abandonando tu intento de elaborar programas.
La lógica en programación
Si lo que queremos es entender como se construye un
software, requerimos es tener habilidades de lógica, de
razonamiento y de pensamiento sistémico, con el fin de
poder expresar las situaciones del mundo cotidiano, en
sentencias entendibles por la Pc y el uso de las
computadoras para realizar diferentes tareas.

Indudablemente la actividad de la programación,


desarrolla en las personas una mayor capacidad de
análisis y de síntesis o resumen. Las personas que
programan aplicaciones para computadores, adquieren
diversos conocimientos que son indispensables en la
sociedad en que vivimos.

La programación también mejora en las personas la


capacidad argumentativa, la habilidad para resolver
diferentes tipos de problemas y la sustentación para la
toma oportuna de decisiones que resulten en
soluciones coherentes, viables y con eficacia.
Lenguajes de Programación.

Un lenguaje de programación es el sistema


de comunicación que debe usar un
programador a través de signos, palabras,
etc para escribir una serie de instrucciones o
secuencias de órdenes en forma de
algoritmos, para administrar el
comportamiento físico o lógico de un
sistema informático.

El lenguaje de programación permite


expresar entonces, las normas, reglas e
instrucciones que un programador debe
seguir, basado en reglas sintácticas y
semánticas responsables de expresar esas
instrucciones,
Clasificación de Lenguajes de
Programación.
Lenguajes de Programación.
IMPERATIVO
En este tipo de lenguajes de programación se usan una
serie de comandos, que se agrupan en bloques y están
compuestos por órdenes de manera secuencial que
conducen el programa a regresar a un bloque de
comandos si la condición es verdadera.

Se trata de las primeros lenguajes en ser usados, pero


que aún hoy son muchos los lenguajes que este tipo
usados para programar.

Estos lenguajes generalmente son muy concretos, el


código suele ser muy fácil de comprender, pero requiere
mayor número de líneas de código.
Como ejemplo tenemos: Fortran, Java, Pascal, C++,
Cobol, Python, Ruby,
Lenguajes Funcional.
Funcional.
Este es un lenguaje de programación
declarativa, en donde el programador es
específico en lo que quiere. En este lenguaje
las funciones se ubican en primer lugar y las
expresiones pueden ser asignadas a cualquier
variable.
Este lenguaje crea programas mediante
funciones (matemáticas), devuelve como
resultado un nuevo estado y también recibe
como entradas resultados de otras funciones.

Al escribir el código de manera declarativa se


busca que sea más legible, en lugar de
ocuparse de objetos.
Ejemplos: LISP, ML, Erlang, Scala. Otros
lenguajes como Perl, Ruby, Javascript y Python
también pueden desarrollar modelos
funcionales de programación.
Lenguajes de Programación.
Los autores dividen los lenguajes de
programación en dos categorías: Interpretados y
Compilados
Interpretados
Este lenguaje de programación es diferente al lenguaje
de máquina. Por tal razón para que la máquina lo
entienda, se debe traducir para que el procesador lo
pueda comprender y procesar. Este lenguaje
interpretado necesita de un lenguaje auxiliar (un
interprete) que traduce los comandos de los programas
según los necesite

Compilado:
Este lenguaje requiere de otro programa llamado
compilador. Este programa compilador crea un archivo
independiente que no requiere de ningún otro
programa para ejecutarse. Este archivo se llama
ejecutable.
Resolución de problemas.

Es el proceso que a partir de la


descripción de un problema se
expresa, generalmente, en lenguaje
natural y en términos del dominio del
problema, permite el desarrollo de
este.
Indica los pasos para ejecutar la
solución de la problemática.

•Entender el problema
•Análisis del problema
•Diseño del algoritmo
•Programación
•Ejecución y pruebas
Resolución de problemas.
Resolución de problemas.
Las 5 fases para resolver problemas en Programación
En programación de aplicaciones se acostumbra
que al tratar de resolver un problema, el
programador va directamente a escribir código,
muchas veces sin analizar las partes en que se
compone el problema o también a medida que van
analizando van directamente escribiendo el código
y puede que esta práctica funcione con problemas
sencillos de resolver, pero de seguro no te va a
funcionar cuando los problemas sean más
complejos y difíciles.

Muchas veces esta práctica se hace para ganar


tiempo, sin tener en cuenta que el tiempo que tarda
la programación en resolver un problema asi
directamente sin realizar un buen análisis antes,
puede ser de tres a cuatro veces, del tiempo
requerido cuando antes hacemos un buen proceso
de lógica y razonamiento lógico, sin tener en cuenta
los muchos errores que se deben corregir, lo que
hace que se pierda demasiado tiempo
Resolución de problemas.
1. Análisis previo del problema.
Se debe definir con absoluta claridad lo que se quiere que haga el
programa, las tareas que debe realizar para tener la solución. Cuáles
son los datos y en que formatos deben estar los datos de entrada, el
origen de los datos, cómo se obtienen los datos, cómo interactúan
los datos entre si para lograr la solución buscada.
Es muy importante si, tener claro cuál debe ser el resultado que
buscamos obtener, sin dejar de lado las restricciones que pueden
existir al momento de procesar los datos.
Es también muy importante tener los escenarios que se pueden dar
en la solución del problema, dado que un cambio de escenario
puede hacer variar el resultado final del programa, por lo que es
muy recomendable cuestionarse los diferentes escenarios con
preguntas como: Qué pasa si sucede esto?. Como se comportaría el
programa?.
Un análisis muy rápido o un mal análisis del problema puede llevar a
un mal diseño y obvio a un mal resultado. No importa el tiempo que
te tardes en este paso, pero puede ser uno de los más claves en la
programación.
Resolución de problemas.
2. Diseño del Algoritmo.

Una vez que hemos comprendido el problema y su


solución y hemos definido las entradas de datos y las
salidas que va a tener el programa y las tareas que
debe realizar, es hora de iniciar el diseño de un
algoritmo que debe estar de acuerdo con las
situaciones anteriores. El algoritmo es independiente
no solo del lenguaje que usará el programador como
también del hardware que lo va a ejecutar. Una vez se
tenga el algoritmo que resuelve el problema, se debe
probar y validar y después de este paso, se debe
implementar en el lenguaje de programación que se va
a usar. Una vez el algoritmo este probado y validado
ya se llama “programa”.

Si en la etapa anterior, en el análisis lo que se busca es


“Qué hará el programa?”, en esta fase lo que se debe
definr es “Cómo lo hará el programa?”.
Resolución de problemas.
3. Configuración del entorno de desarrollo y
codificación.

En este paso lo que se busca es poder transcribir el algoritmo


a un lenguaje de programación que haya definido el
programador.
Antes de empezar a codificar el algoritmo, se hace necesario
configurar el entorno de desarrollo, que permita automatizar
una parte de las tareas y de la programación, como el editor,
compilador, consola, depurador, acceso a plantillas y
bibliotecas.
Este lenguaje deberá adaptarse a todos los pasos que se han
definido en el algoritmo, tales como sentencias y la sintaxis
propia del lenguaje.
Se debe por tanto este este paso, verificar errores, organizar
el código y colocar los comentarios, como buenas prácticas
que hacen que los programas sean más legibles y más fáciles
de depurar.
Resolución de problemas.
4. Compilación y pruebas
La compilación de un programa es la traducción de un
lenguaje de programación que se llama código fuente
a otro lenguaje llamado código de máquina. Este
proceso de traducción se llama “compilación”.

Esta fase es la que permite descubrir posibles errores


en la compilación o en la ejecución del algoritmo. Se
hace necesario en esta etapa realizar pruebas con gran
cantidad de datos para encontrar posibles errores y
hacer su corrección.

En esta parte se realizan dos procesos: front end y


back end. El front end que es independiente a la
plataforma de ejecución del programa lo que hace es
comprobar el código fuente y genera un código
intermedio. El back end es el que genera el código
máquina específico según la plataforma en que va a
trabajar.
Resolución de problemas.
5. Documentación y mantenimiento.

Una vez se han transitado los pasos anteriores se debe


documentar todos los pasos que se realizaron para
llegar a la solución del problema. Aunque es una fase
tediosa y aburrida para los programadores, es de una
gran importancia, por las modificaciones que se realizan
con el pasar del tiempo incluso por programadores
diferentes a los que desarrollaron el programa. Incluso
el mismo programador puede entrar en dudas cuando
requiere modificar y no se acuerda que quería realizar
con las líneas de código.

Cuando un programa no tiene documentación su


modificación puede resultar muy compleja y costosa.
Cibergrafía
Definición de. Definición de razonamiento lógico. Tomado de navegador web.
https://definicion.de/razonamiento-logico/
Pelhon, Lucas. Lógica de programación: El primer paso para aprender a programar. HostGator.mx. 2019. Tomado
de navegador web. https://www.hostgator.mx/blog/logica-de-programacion-primer-paso/
OpenClassroom. Piensa como una computadora: La lógica de la programación. 2021. Tomado de navegador
web. https://openclassrooms.com/en/courses/5261196-think-like-a-computer-the-logic-of-programming
University of Wsahington. Pensamiento algorítmico: fundamentos de la lógica de programación. Tomado de:
https://www.youth-teen.uw.edu/camps-courses/algorithmic-thinking-programming-logic-fundamentals/
Bolonia O. Marver. Logic: Its Nature and Characteristics. SlideShare. 2016. Tomado de navegador web:
https://es.slideshare.net/marverbolonia/logic-reasoning-59288170
Villamer Janine O. Logical Reasoning. Slideshare.net. 2014. Tomado de navegador web gratuito.
https://es.slideshare.net/JaypeeSidon/chapter-4-logical-reasoning
McVeigh-Murphy, Anna. Definición de pensamiento computacional , pensamiento algorítmico y pensamiento de
diseño. Learning.com. 2019. Tomado de navegador web gratuito.
https://equip.learning.com/computational-thinking-algorithmic-thinking-design-thinking
Joyanes Aguilar, Luis. Fundamentos de programación. Algoritmos, estructuras de datos y Objetos. McGraw Hill
3ra Edición. Tomado de navegador web
https://es.slideshare.net/reimerxd/fundamentos-de-la-programacion-luis-joyanes-3era-edicion
¡MUCHAS GRACIAS!

También podría gustarte