lunes, 15 de noviembre de 2010

Lenguaje Logico en C (Extra)

Hola compañeros, acabo de utilizar el problema lógico que nuestro compañero Guillermo realizo como reporte 5, bueno ambos somos compañeros desde la preparatoria y ese problema yo también ya lo tenía resuelto.
Bueno pues como ya saben el problema lógico consiste en un granjero que quiere proteger a sus ovejas de los lobos, para esto nesecitara una alarma que se active cuando:
1.- Las ovejas estén afuera y la puerta este abierta.
2.- Cuando los lobos estén cerca y las ovejas estén fuera del corral.
Utilizando los siguientes valores:
Ovejas dentro: 0        Puerta cerrada: 0         Lobos lejos: 0
Ovejas afuera: 1        Puerta abierta: 1          Lobos cerca: 1
Estas son las combinaciones en una tabla de verdad de 3 variables donde para que la alarma se active es de la siguiente manera:
O: ovejas     P: puerta     L: lobos    A: alarma
O P L   A
0 1 1    1
1 1 0    1
1 1 1    1
Codificacion en C
Ejecucion del programa en Dev c(Windos)
Cuando se activa la alarma:
Cuando la alarma no se activa:
Explicacion:

Bueno pues en si lo que ise en este programa fue utilizar puro if-else y utulizando los valores de la tabla de verdad hise que la funcion fuera solo verdadera para que la alarma sonara, utilizando las conjunciones basicas.
Y basicamente es el mismo proceso para cuando no suena la alarma.
Para lograr que el programa se buelva a ejecutar sin necesedad de salir de la aplicacion, solo ahy que usar las funciones do-while.
En mi caso yo hice que el programas se regrese solo si presionamos 5, esto lo hice poniendo una variable entera, despues coloque el "do" despues de introducir las variables y al final coloque un "while(C==5)" de esta manera el programa segura una secuencia recursiva cada vez que coloquemos el nuemero 5.
Y en si creo que es todo.
Bueno y grasias a Guillermo por darme permiso en subir esto.

1 comentario: