Autor
|
Tema: Crear programa de logica (Leído 9,896 veces)
|
$Edu$
Desconectado
Mensajes: 1.842
|
[(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]
|
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
Mensajes: 1.842
|
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]
|
Haskell es un lenguaje funcional, por lo tanto lo único que implemente son funciones, nada de cosas imperativas.
|
|
|
En línea
|
|
|
|
$Edu$
Desconectado
Mensajes: 1.842
|
Bueno pero lo muestras o me explicas? o sino que fue lo que hiciste vs? xD
|
|
|
En línea
|
|
|
|
Valkyr
Desconectado
Mensajes: 646
Divide y vencerás
|
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
Mensajes: 1.842
|
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
Mensajes: 646
Divide y vencerás
|
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
Mensajes: 1.842
|
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 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
Mensajes: 1.842
|
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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Crear programa...
Programación Visual Basic
|
_DeMoN_
|
4
|
1,973
|
12 Septiembre 2005, 20:33 pm
por programatrix
|
|
|
Crear una bomba logica
Programación Visual Basic
|
Flamareoon2000
|
4
|
4,201
|
16 Marzo 2006, 15:59 pm
por MazarD
|
|
|
crear programa p2p
Programación Visual Basic
|
bautistasbr
|
4
|
7,951
|
28 Marzo 2006, 18:18 pm
por bautistasbr
|
|
|
Crear un programa desde un programa XD
« 1 2 »
Programación Visual Basic
|
Karcrack
|
13
|
4,348
|
8 Noviembre 2006, 00:11 am
por ranslsad
|
|
|
Ayuda lógica para crear una tool SQLi
Nivel Web
|
PanConMantequilla
|
5
|
5,174
|
3 Febrero 2012, 20:22 pm
por PanConMantequilla
|
|