elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Crear programa de logica
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Crear programa de logica  (Leído 9,411 veces)
$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Crear programa de logica
« en: 10 Septiembre 2011, 03:33 am »

[(p>q).(q>r)]>(q>r)

V V V   V   V V V   V    V V V
F V V   V   V V V   V    V V V
V F F   F   F V V   V    F V V
F V F   V   F V V   V    F V V
V V v   F   V F F   V    V F F
F V v   F   V F F   V    V F F
V F F   F   F V F   V    F V F
F V F   V   F V F   V    F V F

ENTONCES EL RESULTADO ES:

V
V
V
V
V
V
V
V

LO QUE DEJA COMO UNA CONCLUSION VALIDA

Alguien sabe de esto? es logica que aprendi en filosofia, quiero hacer un programa que al yo introducir lo de arriba de todo me diga el resultado, es decir que termine el resultado en un array supongo.

Si alguien que sepa de esto se pone a pensar conmigo le agradezco mucho.

Yo ya se lo de los signos, cuando uno es verdadero y el otro falso y es el . entonces el resultado es falso, etc etc
Eso lo se, solo pido que me digan como lograrian a hacer el programa? solamente por arriba que me digan, pero pensando como lo codearian porque si me dicen:

"Haria los parentesis ( ) primero y luego los 2 primeros con el . y el resultado de eso con el otro termino que esta en parentesis que sacamos su resultado y lo hacemos con el > para obtener el final.

Si, bien pero con codigo? xDD y si por ejemplo pone esto: [(p>q)>(r>q)].[(p.r)>(p>q)] ??

Al que le guste esto y quiera ayudarme le agradezco!!

gracias!


En línea

[Case]


Desconectado Desconectado

Mensajes: 474



Ver Perfil WWW
Re: Crear programa de logica
« Respuesta #1 en: 10 Septiembre 2011, 05:21 am »

Esto es mas o menos difícil de programar, que conocimientos tienes?, yo lo programe en haskell hace tiempo tal vez te sirva. Si lo deseas ver me avisas.


En línea

$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: Crear programa de logica
« Respuesta #2 en: 10 Septiembre 2011, 05:31 am »

fa no conozco ni ese lenguaje pero pasalo que talvez entiendo algo.

Y dices que es dificil, pero una vez que se logra la idea de como hacerlo lo otro es facil, a mi me falta el pensarlo xD yo no se mucho de programacion talvez pero ya hecho cosas asi parecidas aunque talvez no tanto, hace poco hice un programa que el usuario ingresaba una ecuacion desordenada como: 2x+8(4+3x(5+x)-4+3x)-10=45x-32x^2+48x-10 por ejemplo y te hallaba X , talvez puedo usar algun procedimiento que hice para eso pero necesito ayuda para pensar como hacerlo, es decir yo ya tengo creado 2 funciones, uno que recibira "(p>r)" por ejemplo y separa las preposiciones y el signo en arrays y un string para el simbolo y luego manda eso como parametro para la otra funcion que hace la "operacion" para devolver el resultado en un array.

Pero tengo problemas en como llegar a tomar esos datos de los parentesis, y como guardarme cuando ya hice 3 resultados por ejemplos, como saber cual de esos tendra que operarse con cual :/

Pasame el codigo y si me puedes explicar por arriba mejor ;)
En línea

[Case]


Desconectado Desconectado

Mensajes: 474



Ver Perfil WWW
Re: Crear programa de logica
« Respuesta #3 en: 10 Septiembre 2011, 05:53 am »

Haskell es un lenguaje funcional, por lo tanto lo único que implemente son funciones, nada de cosas imperativas.
En línea

$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: Crear programa de logica
« Respuesta #4 en: 10 Septiembre 2011, 06:03 am »

Bueno pero lo muestras o me explicas? o sino que fue lo que hiciste vs? xD
En línea

Valkyr


Desconectado Desconectado

Mensajes: 646


Divide y vencerás


Ver Perfil
Re: Crear programa de logica
« Respuesta #5 en: 10 Septiembre 2011, 13:40 pm »

Las "ecuaciones" lógicas, puesto que siguen una sintaxis podría considerarse como un lenguaje de programación. Podrías hacer uso de Flex y Bison. Son dos programas que sirven para crear tu propio compilador, es algo complejo y tendrías que leer algún buen manual, pero me imagino que los resultados serían bastante buenos.

También, por supuesto, se podrá realizar un programa que examine para ver si todo es correcto y la "interprete" pero me imagino que también será algo difícil.

Saludos.
En línea

$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: Crear programa de logica
« Respuesta #6 en: 10 Septiembre 2011, 15:40 pm »

Pero no se ahoguen en un vaso de agua como estoy haciendo yo xD, si se toma la ecuacion como string no se podria capturar lo que esta entre los parentesis, guardar resultados en arrays, etc? algo asi quiero hacerlo simplemente, solo que no logro encontrar el algoritmo que funcione para todo tipo de ecuacion.
En línea

Valkyr


Desconectado Desconectado

Mensajes: 646


Divide y vencerás


Ver Perfil
Re: Crear programa de logica
« Respuesta #7 en: 10 Septiembre 2011, 16:32 pm »

Lo más complicado me parece a mi que sería dar preferencia a lo que está entre corchetes, evaluarlo primero y luego evaluar el resto de la expresión.

Con expresiones regulares se podría hacer fácilmente. Supongo que también habría que comprobar que la ecuación es correcta, es decir, que no le faltan o le sobran paréntesis o corchetes.
En línea

$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: Crear programa de logica
« Respuesta #8 en: 10 Septiembre 2011, 17:00 pm »

Es dificil porque son muy distintas las formas que podra poner el usuario, pero yo tengo codigo que saque de mi proyecto de las ecuaciones q dije anteriormente y logro hacer que cuando la ecuacion es:

[(p>q).(q>r)]>(q>r)

me crea una lista de esta forma:

>
.
p>q
q>r
q>r

Pero no se como seguir desde ahi, esque una vez que tengo la operacion de (p>q).(q>r) no se donde guardarla para luego hacer esa con q>r y con el >

Pero seguire intentando, gracias por ayudar y si tienes otra idea perfecto :P


Y para los que no sepan de que es esto, simplemente imaginense un programa que te pida que ingreses una ecuacion del tipo:

[(3+4)*(4+5)]+(4+5)

Y sacar el resultado final, pero no haciendo distributivas ni nada, solo que el programa tome los numeros 3+4, tome el 4+5, tome el 4+5 otra vez porque pueden ser otros numeros.
Y luego mande a un procedimiento para que haga la primer suma, luego la segunda suma y a esos valores los multiplique. Y luego ese resultado lo sume con el resultado de lo otro.
En línea

$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: Crear programa de logica
« Respuesta #9 en: 11 Septiembre 2011, 22:19 pm »

He estado pensando en si podria ser mas facil si lo uso como deberia, es decir que:

p == 10101010
q == 11001100
r ==  11110000

Y entonces en la programacion haria el uso de operadores logicos y listo. En vez de:

p.q haria P and Q

Pero.. no se como hacer que me tome el resultado ni tampoco se por ejemplo en > que seria el Entonces, ni otros, pero quiero saber si seria mejor hacerlo asi como digo.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Crear programa...
Programación Visual Basic
_DeMoN_ 4 1,817 Último mensaje 12 Septiembre 2005, 20:33 pm
por programatrix
Crear una bomba logica
Programación Visual Basic
Flamareoon2000 4 4,000 Último mensaje 16 Marzo 2006, 15:59 pm
por MazarD
crear programa p2p
Programación Visual Basic
bautistasbr 4 7,765 Último mensaje 28 Marzo 2006, 18:18 pm
por bautistasbr
Crear un programa desde un programa XD « 1 2 »
Programación Visual Basic
Karcrack 13 3,902 Último mensaje 8 Noviembre 2006, 00:11 am
por ranslsad
Ayuda lógica para crear una tool SQLi
Nivel Web
PanConMantequilla 5 4,974 Último mensaje 3 Febrero 2012, 20:22 pm
por PanConMantequilla
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines