En clase se pidio realizar una tomando las si(((q | p)| (p ^ r))| ((¬q)|(¬ p)))entes restricciones:
- Minimo utilizar 3 variables
- Utilizar los operadores lógicos and, or y not
- Minimo tener 4 operadores (por ejemplo utilizar los tres anteriores y uno repetido)
Salidas del programa
Proposición 1
Esta un poco revuelto, para una mejor comprensión vamos a ir checando de uno por uno:
not = ¬
or = |
and = ^
La salida es: (r or q)and (r and p)or (not r)and (not p)
seria: (r|q)^(r ^p)| (¬ r)^(¬ p)
Y se preguntan ¿Qué se hace primero? yo aqui utilize la prioridad de los operadores lógicosque primero seria la negación, después la conjunción(and) y al final la disyunción(or).
Quedaria asi: (((r|q)^(r ^p))| ((¬ r)^(¬ p)))
La tabla de verdad quedaria de la siguiente manera:
La tabla tiene las mismas salidas que nos da el programa, to solo imprimi el resultado.
Proposición 2:
La salida es: (r or p)and (q and r)or (not p)and (p or r)
seria: (r | p)^(q^r)| (¬p)^(p|r)
Quedaria asi: (((r | p)^(q^r))| ((¬p)^(p|r)))
La tabla de verdad quedaria de la siguiente manera:
Las salidas son las mismas que la que nos devuelve el programa
A la tercera proposición el programa nos arrojo una tautología:
Proposición 3
La salida es: (q or p)or (p and r)or (not q)or (not p)
seria: (q | p)| (p ^ r)| (¬q)|(¬ p)
Como al unir los grupos son puras uniones con or no importa cual se haga primero ya que dara el mismo resultado.
Quedaria asi: (((q | p)| (p ^ r))| ((¬q)|(¬ p)))
La tabla de verdad quedaria de la siguiente manera:
Como ya obtuvimos la tautología lo que aremos sera realizar el árbol correspondiente:
Código
Algunas cosillas que se le podian aplicar al código seria que el programa terminara hasta que encontrara una tautologia.
Algunas otras tautologías:
Prioridad de los operadores lógicos:
"si(((q | p)| (p ^ r))| ((¬q)|(¬ p)))entes restricciones"
ResponderEliminarMás cuidado con la ortografía ;)
Van 10 pts.