SoloCodigo
		Programación General => C/C++ => Visual C++ => Mensaje iniciado por: Negaro en Lunes 19 de Mayo de 2008, 21:09
		
			
			- 
				Leyes de Morgan). Las leyes de morgan aveces pueden hacer que sea mas conveniente para nosotros expresar una funcion logica. Estas leyes dicen que la expresion 
 !(condicion1 || condicion2) es logicamente equivalente a la expresion (!condicion1 || !condicion2). Tambien, la expresion
 !(condicion1 || condicion2) es logicamente equivalente a la expresion (!condicion1 && !condicion2). Utilice las leyes de morgan para escribir expresiones equivalentes para cada uno de los siguientes y a continuacion escribir un programa para mostrar que tanto la expresion original como la nueva en cada caso son equivalentes:
 
 a ) !(x<5) && !(y>=7)
 B ) !(a== b ) && !(g != 5)
 c ) !(x<= 8) && !(y>4)
 d ) !(i>4) && !(j<=6)
 
 como es la funcion booleana, alguien me ayuda hacer el programa?
- 
				¿Tenes alguna duda en particular? Esto que parece ser una tarea escolar es muy simple de resolver ...
			
- 
				Pues si.. por ejemplo a) !(x<5) && !(y>=7)
 
 Primero (x<5) significa que x puede ser 4,3,...
 Ahora !(x<5) significa que lo anterior lo negamos, al negarlo, tomariamos los valores opuestos: 5,6,.... (x>=5)
 
 Entonces !(x<5) es lo mismo que (x>=5)
 
 Luego (y>=7) significa que y puede ser 7,8,9,...
 Ahora !(y>=7) significa que lo anterior lo negamos, al negarlo tomariamos los valores opuestos: 6,5,... (y<7)
 
 Entonces !(y>=7) es lo mismo que y<7
 
 Uniendo ambas expresiones obtenems:
 a) !(x<5) && !(y>=7) es equivalente a (x>=5) && (y<7)
 
 En programacion c++:
 int main()
 {
 int x,y;
 cout<<"ingrese x e y:";
 cin>>x>>y;
 if (!(x<5) && !(y>=7)) cout<<"primer if es verdad"<<endl;
 else cout<<"primer if es falso"<<endl;
 if ((x>=5) && (y<7)) cout<<"segundo if es verdad"<<endl;
 else cout<<"segundo if es falso"<<endl;
 return 0;
 }
 mi duda es como hacer para saber si son equivalentes
- 
				Mejor lee esto:
 http://en.wikipedia.org/wiki/De_Morgan's_laws (http://en.wikipedia.org/wiki/De_Morgan's_laws)
 
 not (P and Q) = (not P) or (not Q)
 not (P or Q) = (not P) and (not Q)
 
 a ) ( !(x<5) && !(y>=7) ) =  (!(x<5 || y>=7))