Вы находитесь на странице: 1из 53

FACULTAD DE INGENIERIA DE SISTEMAS, CMPUTO Y TELECOMUNICACIONES

Matemticas Discretas

Algebra de Proposiciones

Docente: Carlos A. Ruiz De La Cruz Melo


Correo: ruizdelacruzmelo@uigv.edu.pe

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

observar que las variables proposicionales


p y q cambiar de lugar.

pqqp

observar que las variables proposicionales


p y q cambiar de lugar.

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)

asociamos la segunda proposicin con la


tercera proposicin.

p q r (p q) r

asociamos la primera proposicin con la


segunda proposicin.

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

La negacin de la negacin equivale a


la misma proposicin.

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.

La primera proposicin, tiene


p (~p q) p q su
contrario
dentro
del
parntesis,
la
proposicin
contraria se elimina y se copia
la segunda proposicin.

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)

se niega la primera proposicin (p)


se cambia por v
se copia la segunda proposicin
el segundo operador queda igual

ALGEBRA DE PROPOSICIONES
Sean p, q y r proposiciones
cualesquiera, se cumple las
siguientes leyes:

9. Ley Bicondicional.
pq p q q p

La primera proposicin implica la


segunda proposicin y la segunda la
segunda proposicin implica la primera
proposicin

ALGEBRA DE PROPOSICIONES
Sean p, q y r proposiciones
cualesquiera, se cumple las
siguientes leyes:

10. Leyes de neutro.


p v Fo p.

Una
proposicin
y
equivale a la proposicin

falso

p Vo p

Una proposicin y verdadero


equivale a esa proposicin

ALGEBRA DE PROPOSICIONES

Sean p, q y r proposiciones
cualesquiera, se cumple las
siguientes leyes:

11. Ley inversa.


p ~p Vo.

Una proposicin o su negacin


equivale a verdadero

p ~p Fo

Una proposicin y su negacin


equivale a falso.

ALGEBRA DE PROPOSICIONES

Sean p, q y r proposiciones
cualesquiera, se cumple las
siguientes leyes:
12. Ley de identidad

V o V o Vo

Verdadero y verdadero equivale a


verdadero

Fo Fo Fo

falso o falso equivale a falso

ALGEBRA DE PROPOSICIONES

Sean p, q y r proposiciones
cualesquiera, se cumple las
siguientes leyes:

13. Ley de denominacin


p v V o Vo
p Fo Fo

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

1. si ~(p q) es verdad, entonces p q es


falso
2. luego p y q son, ambas, falsas
3. y, por lo tanto, ~p es verdad y ~q es
verdad
4. Consecuentemente, ~p ~q es verdad

EJERCICIO 2
Demostrar las Leyes de Morgan
~(p q) ~p ~q
Solucin

1. si ~(p q) es verdad, entonces p q


es falso
2. luego una de las dos proposiciones
ha de ser falsa y su negacin verdad
3. luego ~p ~q es verdad en
cualquiera de los casos.

EJERCICIO 3
Simplifique:
~ p(p q)
Solucin:
~ p(p q)

ley condicional:

pq ~p q

~ (~p) (p q)
p (p q)
p

ley doble negacin: ~(~p) p


ley de absorcin:
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

siendo la regla de inferencia,


pq
q

Si corro, me quedare sin aliento.


No estoy sin aliento.

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

El cielo azul me pone contento.


El cielo gris me pone triste.
El cielo esta azul o gris.

rs

Estoy contento o triste.

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)

{ley del condicional p q ~p q }

q r

{Silogismo hipottico [(p q) (q r)] (p r) }

q r

{ley del condicional p q ~p q }

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:

Estructura de seleccin simple ( Si- Fin_si)


Estructura de seleccin doble ( Si Sino- Fin_si)
Estructura de seleccin mltiple ( Si anidado y En caso
sea Fin_caso)

Estructura de seleccin simple: SiFin_si


Evala una expresin lgica y si su resultado es
verdadero, se ejecuta una accin determinada. Su
sintaxis es:
Si (expresion_logica) entonces
Accin (s)
Fin_si
La accin puede ser simple (una sola accin) o
una accin compuesta (un conjunto de acciones)
Si la accin es falsa no se hace nada

Pseudocdigo y diagrama de flujo

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

Haga el pseudocodigo que permita


cambiar un numero negativo a un
numero positivo

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;
}

Estructura de seleccin doble: Si - SinoFin_si


Se
evala la expresin lgica, si este
resultado es verdadero se ejecuta la accion1,
si el resultado es falso se ejecuta la accion2.
Su sintaxis es la siguiente:
Si (expresin_lgica) entonces
accion1
Sino
accion2
Fin_si
La accin1 o accion2, puede ser simple (una
sola accin) o una accin compuesta (un
conjunto de acciones)

Pseudocdigo y diagrama de flujo


Ejemplo
Haga
el
pseudocodigo
para
determinar si un nmero es par o
impar

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;
}

Estructura de seleccin mltiple:


Si- anidado
Un Si anidado es una sentencia
Si que esta contenido dentro de
otro Si o Sino. Su sintaxis es la
siguiente:
Si (expresin_lgica1) entonces
accion1
Sino
Si(expresin_lgica2)
entonces
accion2
Sino
accion3
Fin_si
Fin_si

Pseudocdigo y diagrama de flujo


Ejemplo
Inicio
entero: nro
cadena:unmpseudocdigo, que lea un
Escribir
escribir yIngresar
numero:
nmero
determine
si es positivo,
Leer nroo cero.
negativo
Si (nro = 0 ) entonces
m Cero
Sino
Si (nro>0) entonces
m Positivo
Sino
m Negativo
Fin_si
Fin_si
Escribir nro, m
Fin

Inicio
Escribir
ingresar numero
Leer (nro)
SI
mcero

nro =0
NO

NO
nro >0

SI

mnegativompositivo
Escribir
nro, m
Fin

Cual seria el cdigo en C?


Inicio
entero: nro
cadena: m
escribir Ingresar numero:
Leer nro
Si (nro = 0 ) entonces
m Cero
Sino
Si (nro>0) entonces
m Positivo
Sino
m Negativo
Fin_si
Fin_si
Escribir nro, m
Fin

Estructura selectiva mltiple:


En caso sea-Fin_caso
Permite elegir un camino entre los n posibles,
usando para ello una variable denominada selector.
El selector se compara con una lista de constantes
enteras o de carcter C1, C2, ..., Cn para cada una
de las cuales hay una accin 1, 2, ..., N
En caso sea (selector) hacer
c1: Accin 1
c2: Accin 2
.
cn: Accin N
Sino
Accion c
Fin_Caso

Si el selector coincide con una constante


de la lista, se ejecuta la accin
correspondiente a dicha constante.
Si el selector no coincide con ninguna
constante de la lista, se ejecuta la accin
c correspondiente al SINO.

Ejemplo
En un centro de enseanza se han
incrementado las pensiones de acuerdo
a la siguiente tabla:
CATEGORA

INCREMENTO(%)

Elaborar un pseudocdigo que permita


calcular el nuevo monto de la pensin
de un alumno que se encuentra en una
categora determinada.

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;
}

En caso sea mltiple


Se presenta de dos formas:
A) Cuando mas de una alternativa
debe ejecutar la misma accin.
B) Cuando se presentan
selecciones basadas en dos o
mas niveles.

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;
}

Cuando se presentan selecciones basadas


en dos o mas niveles.
ejemplo
Pseudocdigo para calcular la pensin
que tiene que pagar un alumno de un
instituto cuya cuota de matricula tiene un
porcentaje de descuento que se establece
en la siguiente tabla y esta en funcin del
colegio de procedencia del alumno y de
las tres categoras que existe en el
instituto. Considere que la pensin esta
exonerada de impuesto.

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

Cual seria el cdigo en C?

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:

En caso sea (categoria) hacer


A : dscto 0.25 * cuota
B : dscto 0.20 * cuota
C : dscto 0.15 * cuota
Sino
Escribir (Opcin no contemplada)
sw 1
Fin_caso

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

Вам также может понравиться