Lógica de
Programación
Camino al éxito
Objetivos del encuentro
Conceptos básicos
de programación
Que vamos a ver hoy?
01 02
Algoritmos Lógica
Algoritmos
Un algoritmo, es un conjunto de instrucciones o reglas
definidas y no-ambiguas, ordenadas y finitas que permite,
típicamente, solucionar un problema, realizar un cómputo,
procesar datos y llevar a cabo otras tareas o actividades.
Los algoritmos pueden ser expresados de muchas maneras,
incluyendo el lenguaje natural, pseudocódigo, diagramas de
flujo y lenguajes de programación entre otros.
Representación de los algoritmos
Diagrama de flujo: Los diagramas de flujo son descripciones gráficas de algoritmos;
usan símbolos conectados con flechas para indicar la secuencia de instrucciones y
están regidos por ISO. Se emplean para representar algoritmos pequeños, ya que
abarcan mucho espacio y su construcción es laboriosa.
Pseudocódigo: (falso lenguaje) es una descripción de alto nivel de un algoritmo que
emplea una mezcla de lenguaje natural con algunas convenciones sintácticas propias
de lenguajes de programación, como asignaciones, ciclos y condicionales, aunque no
está regido por ningún estándar.
Características de los algoritmos
Orden: Se debe respetar la forma en
la cual el algoritmo fue definido
Finito: Los pasos de un algoritmo
deben tener una cantidad
determinada de pasos. No puede ser
infinito
Definido: Si ejecutamos los pasos de
la misma manera, obtenemos el
mismo resultado
Partes de un algoritmo
Tipos de algoritmos
Ejemplo
Lógica en programación
Lógica es la técnica utilizada para desarrollar instrucciones en
una secuencia para lograr determinado objetivo. Es la
organización y planificación de instrucciones en un algoritmo,
con el objetivo de tornar visible la implementación de
un programa o software
Lógica proposicional
En un intento por sistematizar el
razonamiento matemático, surge el
concepto de Lógica Proposicional
Proposición: Es un enunciado al cual se
le puede dar un valor de verdad. Es
decir, es verdadero o falso. (No puede
ser ambos)
Por convención, las denotaremos con
letras minúsculas. Por ejemplo: p, q, r, s.
Buenos Aires es la capital
de la Argentina
Lionel Messi es el mejor
jugador del mundo
2+2=5
Proposiciones simples
p:
Buenos Aires es la capital de la
Argentina
Simples q:
Usamos letras del alfabeto para Lionel Messi es el mejor jugador
del mundo
nombrar cada proposición
r:
2 + 2 = 5 (Dos más dos es igual a
cinco)
Proposiciones compuestas
Conectivo Lógico Símbolo Nombre
y ^ Conjunción
Compuestas o v Disyunción
Usamos conectivos lógicos para
unir proposiciones simpes negación ~ ‘ ¬ Negación
(p ^ q):
Buenos Aires es la Capital de la
Argentina y Lionel Messi es el
mejor jugador del mundo
Valor de la verdad
Para determinar el valor de verdad de una proposición compuesta se
elabora una tabla de la verdad.
p q r
V V V
p q V V F
p V V V F V
V V F V F F
F F V F V V
F F F V F
F F V
2^n
n = número de proposiciones F F F
Tabla de la verdad
Negación (~) Conjunción (y ^) Disyunción (o ˅)
p ~p p q p˄q p q p˅q
V V V V V
F V F V F
F V F V
F F F F
Es verdadero cuando ambas son Es verdadero cuando al menos una es
verdaderas verdadera
Tabla de la verdad
Negación (~) Conjunción (y ^) Disyunción (o ˅)
p ~p p q p˄q p q p˅q
V F V V V V V V
F V V F F V F V
F V F F V V
F F F F F F
Es verdadero cuando ambas son Es verdadero cuando al menos una es
verdaderas verdadera
Caso práctico
( p ˄ ~q ) ˄ q
p q ~q p ˄ ~q ( p ˄ ~q ) ˄ q
Caso práctico
( p ˄ ~q ) ˄ q
p q ~q p ˄ ~q ( p ˄ ~q ) ˄ q
V V F F F
F V F F F
V F V V F
F F V F F
Caso práctico
Construir la expresión lógica
“Hay frutillas y hay manzanas y no hay peras”
p q z ~z p ˄ q ˄ ~z
frutillas manzanas peras no peras Hay frutillas y hay manzanas y no
hay peras
Caso práctico
p ˅ (~q ˄ q)
p q ~q ~q ˄ q p ˅ (~q ˄ q)
Álgebra Booleana
Se puede definir como un sistema matemático basado en los
valores 1 (verdadero) y 0 (falso), en conjunto con las
operaciones AND, OR y NOT. Las variables en este sistema no
pueden tomar valores diferentes a 1 y 0, y se denominan
variables booleanas
Operadores Booleanos
Usamos solo 1 y 0 Operador Símbolo Regla
asumiendo lo siguiente: AND . Si hay 0 el resultado es 0
1=V OR + Si hay un 1 el resultado es 1
0=F NOT ¬ ‘ Se cambia de 1 a 0 o de 0 a 1
A=0 S = (A + B ) . [(C . A) + (D . B’)]
B=0 S = (0 + 0 ) . [(1 . 0) + (0 . 0’)]
C=1 S=0 . [0 + 0]
D=0 S=0
Caso práctico
(a + b´ ) . c
a b c b´ (a + b´) (a + b´).c
Caso práctico
(a + b´ ) . c
a b c b´ (a + b´) (a + b´).c
1 1 1 0 1 1
0 1 1 0 0 0
1 0 1 1 1 1
0 0 1 1 1 1
1 1 0 0 1 0
0 1 0 0 0 0
1 0 0 1 1 0
0 0 0 1 1 0
JUGUEMOS!
[Link]
GRACIAS
¿Preguntas?
Ing. Ignacio Calzón