Matemticas Discretas
Algebra de Proposiciones
ALGEBRA DE PROPOSICIONES
Sean p, q y r proposiciones
cualesquiera, se cumple las
siguientes leyes:
1. Ley de clausura.
Si p y q son proposiciones, p q, p
q son tambin proposiciones.
ALGEBRA DE PROPOSICIONES
Sean p, q y r proposiciones
cualesquiera, se cumple las
siguientes leyes:
2. Leyes de idempotencia.
Idempotencia significa igual valor
ppp
Una
proposicin
o
la
proposicin equivale a la
proposicin.
misma
misma
p p p.
Una
proposicin
y
la
proposicin equivale a la
proposicin
misma
misma
ALGEBRA DE PROPOSICIONES
Sean p, q y r proposiciones
cualesquiera, se cumple las
siguientes leyes:
3. Leyes conmutativas.
Conmutar significa
lugar u orden:
cambiar
de
pqqp
pqqp
ALGEBRA DE PROPOSICIONES
Sean p, q y r proposiciones
cualesquiera, se cumple las
siguientes leyes:
4. Leyes asociativas.
Para asociar los conectivos lgicos
deben de ser iguales:
p q r p (q r)
p q r (p q) r
ALGEBRA DE PROPOSICIONES
p q r p (q r)
p q r
pqr
p (q r)
V V
V F
V V
V F
ALGEBRA DE PROPOSICIONES
Sean p, q y r proposiciones
cualesquiera, se cumple las
siguientes leyes:
5. Leyes distributivas.
Para aplicar la ley los operadores de la
proposicin, deben de ser diferentes:
p (q r) (p q) (p r)
p (q r) (p q) (p r)
ALGEBRA DE PROPOSICIONES
p (q r) (p q) (p r)
p q r
p (q r)
(p q) (p r)
V V
V F
V V
V F
ALGEBRA DE PROPOSICIONES
Sean p, q y r proposiciones
cualesquiera, se cumple las
siguientes leyes:
6. Ley de doble negacin.
~(~ p) p
ALGEBRA DE PROPOSICIONES
Sean p, q y r proposiciones
cualesquiera, se cumple las
siguientes leyes:
7. Leyes de Morgan.
~(p q) ~p ~q
~ (p q) ~p ~q
Para ~ (p q) ~p ~q
se niega la primera proposicin
(p)
se cambia por
se niega la segunda
proposicin.
ALGEBRA DE PROPOSICIONES
Sean p, q y r proposiciones cualesquiera,
se cumple las siguientes leyes:
8. Leyes de Absorcin
p (p q) p
p (p q) p
p (p q) p
p (~p q) p q
p v (~p q) p v q
La primera proposicin se
repite dentro del parntesis,
el resultado es igual a la
proposicin que se repite.
ALGEBRA DE PROPOSICIONES
Sean p, q y r proposiciones
cualesquiera, se cumple las
siguientes leyes:
8. Ley condicional.
p q ~p q
1)
2)
3)
4)
ALGEBRA DE PROPOSICIONES
Sean p, q y r proposiciones
cualesquiera, se cumple las
siguientes leyes:
9. Ley Bicondicional.
pq p q q p
ALGEBRA DE PROPOSICIONES
Sean p, q y r proposiciones
cualesquiera, se cumple las
siguientes leyes:
Una
proposicin
y
equivale a la proposicin
falso
p Vo p
ALGEBRA DE PROPOSICIONES
Sean p, q y r proposiciones
cualesquiera, se cumple las
siguientes leyes:
p ~p Fo
ALGEBRA DE PROPOSICIONES
Sean p, q y r proposiciones
cualesquiera, se cumple las
siguientes leyes:
12. Ley de identidad
V o V o Vo
Fo Fo Fo
ALGEBRA DE PROPOSICIONES
Sean p, q y r proposiciones
cualesquiera, se cumple las
siguientes leyes:
ALGEBRA DE PROPOSICIONES
Sean p, q , r y s proposiciones
cualesquiera, se cumple las
siguientes leyes:
14. Dilema constructivo
[(P Q) (R S) (P R)] (Q S)
ALGEBRA DE PROPOSICIONES
Sean p, q , r y s proposiciones
cualesquiera, se cumple las
siguientes leyes:
15. Dilema destructivo
[(p q) (r s) (q s)] (p r)
ALGEBRA DE PROPOSICIONES
Sean p, q y r proposiciones
cualesquiera, se cumple las
siguientes leyes:
16. Silogismo Hipottico
[(p q) (q r)] (p r)
ALGEBRA DE PROPOSICIONES
Sean p, q y r proposiciones
cualesquiera, se cumple las
siguientes leyes:
16. Silogismo Disyuntivo
[(p q) p] q
EJERCICIO 1
Demostrar las Leyes de Morgan
~(p q) ~p ~q
Solucin
EJERCICIO 2
Demostrar las Leyes de Morgan
~(p q) ~p ~q
Solucin
EJERCICIO 3
Simplifique:
~ p(p q)
Solucin:
~ p(p q)
ley condicional:
pq ~p q
~ (~p) (p q)
p (p q)
p
EJERCICIO 3
~ p(p q)
p q ~ p(p q)
EJERCICIO 4
Simplifique:
(pq) q
Solucin:
(p q) q
ley condicional: p q ~p q
(~ p q) q
ley de absorcin
p (p v q) p
EJERCICIO 5
Estoy gordo o delgado. Ciertamente no estoy delgado.
p : Estoy gordo.
q : Estoy delgado
Entonces,
p q : Estoy gordo o delgado.
q : No estoy delgado.
El argumento sera, (p q) q.
Por el silogismo disyuntivo, (p q) q p
y la regla de inferencia es
pq
q
p
EJERCICIO 6
Si corro, me quedare sin aliento. No estoy sin aliento
Sean
p : Corro.
q : Estoy sin aliento
Entonces, el argumento seria:
y por modus tollens,
(p q) q
(p q) q p
No he corrido.
EJERCICIO 7
El cielo azul me pone contento y el cielo gris me pone triste. El cielo esta
azul o gris
Sean
p : El cielo esta azul.
q : El cielo esta gris.
r : Estoy contento.
s : Estoy triste.
El argumento seria: [(p r) (q s)] (p q)
Por el dilema constructivo, [(p r) (q s)] (p q) (r s)
siendo la regla de inferencia,
pr
qs
pq
rs
DEMOSTRACIONES
EJERCICIO 8
pq
pr
_____
rq
Demostracin
(q p) (p r)
{Conmutatividad de }
q [p (p r)]
{Asociatividad de }
qr
{Modus ponens}
rq
{Conmutatividad de }
EJERCICIO 9
pq
pr
______
rq
Demostracin
(q p) (p r)
q r
q r
qr
{Doble negacin}
rq
{Conmutatividad de }
EJERCICIO 10
Si ayer fue lunes, hoy es martes. Si hoy es martes, maana ser
mircoles. Ayer fue lunes. Por tanto, maana ser mircoles.
Sean
p: ayer fue lunes
q:hoy es martes
r: ser mircoles
1 p q
2 qr
3 p
______
r
Demostracin
4 q
5 r
{ Modus ponens 1, 3}
{ Modus ponens 4, 2}
ESTRUCTURA SELECTIVA
En la solucin de la mayora de los
problemas algortmicos se requiere tomar
decisiones en base a evaluaciones de
expresiones lgicas que sealan el camino
alternativo a seguir.
El tipo de resultado de una estructura
selectiva es lgico (booleano), es decir
verdadero o falso.
Las estructuras selectivas se clasifican en:
PSEUDOCDIGO
Accin simple
Si (expresion_logica) entonces
Accin
Fin_si
Accin Compuesta
Si (expresion_logica) entonces
Accin1
Accin2
AccinN
Fin_si
DIAGRAMA DE FLUJO
NO
SI
Expresion_logica
Accion
PSEUDOCDIGO Y DIAGRAMA
Ejemplo
Inicio
Entero: nro
nicio
Leer (nro)
Fin
entero: nro
escribir Ingresar numero
Leer nro
Si (nro < 0) entonces
nro -1*nro
Fin_si.
Escribir nro
NO
SI
nro<0
nro -1*nro
Escribir (nro)
Fin
PSEUDOCDIGO Y PROGRAMA
Inicio
Fin
entero: nro
escribir Ingresar numero
Leer nro
Si (nro < 0) entonces
nro -1*nro
Fin_si.
Escribir nro
#include <iostream.h>
#include <stdlib.h>
int main()
{
int nro;
cout<<"\n ingresar numero: ";
cin>>nro;
if(nro<0)
nro=-1*nro;
cout<<"\n nro="<<nro<<"\n";
getch();
return 0;
}
Inicio
Leer (nro)
Inicio
Entero: nro
Leer (nro)
Si (nro Mod 2 = 0 ) entonces
Escribir par
Sino
Escribir impar
Fin_si
Fin
SI
NO
nro Mod 2 = 0
Escribir
impar
Escribir
Par
Fin
Pseudocdigo y programa
Inicio
Entero: nro
Leer (nro)
Si (nro Mod 2 = 0 ) entonces
Escribir par
Sino
Escribir impar
Fin_si
Fin
#include <iostream.h>
#include <stdlib.h>
int main(){
int nro;
cout<<"\n ingresar numero: ";
cin>>nro;
if((nro % 2)==0)
cout<<"\n es par\n";
else
cout<<"\n es impar\n";
system("PAUSE");
return 0;
}
Inicio
Escribir
ingresar numero
Leer (nro)
SI
mcero
nro =0
NO
NO
nro >0
SI
mnegativompositivo
Escribir
nro, m
Fin
Ejemplo
En un centro de enseanza se han
incrementado las pensiones de acuerdo
a la siguiente tabla:
CATEGORA
INCREMENTO(%)
Inicio
Entero: sw 0
Real: pension, nuevaPension
Escribir (Ingresar pension:)
Leer (pension)
Escribir (Ingresar categoria:)
Leer (cat)
En caso sea (cat) hacer
A : inc 0.06 * pension
B : inc 0.05 * pension
C : inc 0.04 * pension
Sino
Escribir (Fuera de rango)
sw 1
Fin_Caso
Si (sw = 0) entonces
nuevaPension pension + inc
Escribir (pension , nuevaPension)
Fin_si
Fin
Pseudocdigo y
diagrama de flujo
INICIO
sw0
Leer (cat)
Inicio
Entero: sw 0
Real: pension, nuevaPension
SI
NO
Leer (pension)
nro =A
Escribir (Ingresar categoria:)
Leer (cat)
SI
NO
m0.06*pension
En caso sea (cat) hacer
nro =B
A : inc 0.06 * pension
B : inc 0.05 * pension
m0.05*pension
NO
SI
C : inc 0.04 * pension
nro
=C
Sino
Escribir (Fuera de rango)
m0.04*pension
sw1
sw 1
Fin_Caso
Si (sw = 0) entonces
NO
nuevaPension pension + inc
sw
=0
Escribir (pension , nuevaPension)
SI
Fin_si
Fin
nuevaPensionpension+inc
Escribir
Pension, nueva Pension
FIN
PROGRAMA
#include <conio.c>
#include "iostream.h"
int main(){
int sw=0; char cat;
float pension, nuevaPension,inc;
cout<<"\n ingresar pension: ";
cin>>pension;
cout<<"\n ingresar categoria: ";
cin>>cat;
switch(cat){
case 'A':inc=0.05*pension; break;
case 'B':inc=0.05*pension;break;
case 'C':inc=0.04*pension;break;
default:
cout<<"\n fuera de rango";
sw=1;
}
if(sw==0){
nuevaPension=pension+inc;
cout<<"\n pension="<<pension;
cout<<"\n nuevaPension="<<nuevaPension<<"\n";
}
system("pause");
return 0;
}
Ejemplo
Mostrar la estacin al cual
pertenece, si se ingresa el
numero de mes:
Verano: enero, febrero, marzo
Otoo: abril, mayo, junio
Invierno: julio, agosto, setiembre
Primavera: octubre, noviembre,
diciembre
Inicio
Entero: nroMes
Leer (nroMes)
En caso sea (nroMes) hacer
1: 2: 3:
Escribir(Verano)
4: 5: 6:
Escribir(Otoo)
7: 8: 9:
Escribir(Invierno)
10: 11: 12: Escribir(Primavera)
Sino
Escribir (Fuera de rango)
Fin_Caso
Fin
PROGRAMA
#include <conio.c>
#include "iostream.h"
int main(){
int nroMes;
cout<<"\n Ing Num de mes: ";
cin>>nroMes;
switch(nroMes){
case 1:
case 2:
case 3:cout<<"\n verano\n"; break;
case 4:
case 5:
case 6:cout<<"\n otoo\n";break;
case 7:
case 8:
case 9:cout<<"\n invierno\n";break;
case 10:
case 11:
case 12:cout<<"\n primavera\n";break;
default:
cout<<"\n fuera de rango";
}
system("pause");
return 0;
}
Colegio de
procedencia
categora
A
Nacional
50
40
30
Particular
15
20
25
En la siguiente tabla se
muestran
resultados
para
diferentes valores de las
variables:
Pensin
Colegio
Categora
Descuento
Pensin
final
1000
Nacional
1000*0.50=500
500
1500
Particular
1500*0.20=300
1200
Pseudocodigo
Inicio
real: cuota, dscto, importe 0
caracter: colegio, categora
entero: sw 0
Leer (colegio)
Escribir (Ingresar categora (A, B, C):)
Leer (categoria)
Escribir (Ingresar cuota:)
Leer (cuota)
En caso sea (colegio) hacer
N: En caso sea (categoria) hacer
A : dscto 0.50 * cuota
B : dscto 0.40 * cuota
C : dscto 0.30 * cuota
Sino
Escribir (Opcin no contemplada)
sw 1
Fin_caso
P:
Sino
Escribir (Opcin no contemplada)
sw 1
Fin_caso
Si (sw = 0) entonces
importe cuota dscto
Escribir(El importe a pagar es: , importe)
Fin_si
Fin
EJERCICIOS
1. Escriba un pseudocdigo lea como dato el sueldo de un trabajador, aplique
un aumento del 15% si su sueldo es inferior a 500 y 10% en caso
contrario. Imprima el nuevo sueldo del trabajador.
2. Escriba un pseudocdigo que calcule el total a pagar por la compra de
camisas. Si se compran cinco camisas o ms se aplica un descuento del
25% sobre el total de la compra, sino se aplica un descuento del 10%.
3. En una tienda se realizan descuentos en las compras en funcin del
importe total de dichas compras. Se desea calcular el importe que se cobra
a un cliente, teniendo en cuenta los siguientes supuestos:
Si el importe total de la compra es menor de 200 soles no hay
descuentos.
Si el importe total de la compra est comprendido entre 200 y 800 se
hace un descuento del 10%
Si el importe total de la compra es mayor de 800 se hace un
descuento del 20%.
Se pide mostrar el nombre del cliente, el importe total, el descuento y
el importe a cobrar a un cliente cualquiera