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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Generar una tabla de verdad
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Generar una tabla de verdad  (Leído 4,841 veces)
JonaLamper


Desconectado Desconectado

Mensajes: 394



Ver Perfil
Generar una tabla de verdad
« en: 17 Noviembre 2017, 00:59 am »

Muy buenas noches,

He estado buscando algunos ejemplos sobre esto, pero ninguno me convence. A ver si a alguien se le ocurre alguna forma "elegante" de hacerlo.
Lo que pretendo es generar una tabla de verdad. Imaginemos una tabla de verdad de 3 variables, sería así:

0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

Ahora bien, cada fila de esas para mí va a ser un array. Es decir que yo tendría 8 arrays con esas 8 combinaciones. Luego, ¿cómo hago un programa que dadas n variables me genere todos los arrays posibles, es decir, 2^n arrays?

Muchísimas gracias!  ;D


En línea

Utilizar palabras para hablar de palabras es como utilizar un lápiz para hacer un dibujo de ese lápiz sobre el mismo lápiz.
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Generar una tabla de verdad
« Respuesta #1 en: 17 Noviembre 2017, 16:17 pm »

Fíjate en una de las columnas. ¿Cada cuánto cambia el número? En la segunda, cada 2 valores, cambia.
Si puedes hacerlo para 1 columna, puedes hacerlo para cualquiera o para una tabla completa.


En línea

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.351


Ver Perfil
Re: Generar una tabla de verdad
« Respuesta #2 en: 17 Noviembre 2017, 21:31 pm »

Es más sencillo.

Cada fila es un número que va desde 0 hasta 2^n-1
para tres variables (n=3, son 8 combinaciones, que van del 000, al 111)
Si llenas un array con los valores 0 a 255, tienes lo que quieres con 8 'variables', Si precisas verlo en formato binario, pásalo a texto. Aquí un ejemplo en pseudocodigo.

Código:
array de string = Funcion Binario2alaN(entero n) 
entero j, k, v
string vBin
array de string ArrayBin(0 a (2^n)-1))

bucle para k desde 0 a (2^n)-1))
    v = k
    bucle para j desde 0 a n-1
       vbin = (v and 1).ToString concatenadodelantede vbin
       v = (v\2)       
    fin bucle
    ArrayBin(k)= vBin
    vBin = ""

    devolver ArrayBin
Fin bucle
En línea

JonaLamper


Desconectado Desconectado

Mensajes: 394



Ver Perfil
Re: Generar una tabla de verdad
« Respuesta #3 en: 10 Enero 2018, 19:54 pm »

Hum... no consigo ver claro el código, NEBIRE.
En línea

Utilizar palabras para hablar de palabras es como utilizar un lápiz para hacer un dibujo de ese lápiz sobre el mismo lápiz.
Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.351


Ver Perfil
Re: Generar una tabla de verdad
« Respuesta #4 en: 11 Enero 2018, 15:01 pm »

Te decía que los números del 0-7 (para 3bits) ó 0-225 (para 8 bits), así en orden... ya mantienen esa estructura de bits que quieres.

...y que si quieres verlo con caracteres binarios (en texto), puedes usar un bucle externo (0-7; 0-255) para convertir cada número en un texto binario (el bucle interno, se usa para recorree los bits de cada número).
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Sera verdad o mentira pero bueno, aaaayudaaa con el Ideas 1.0.0.7,sera verdad?
Juegos y Consolas
Linkone 0 1,955 Último mensaje 14 Febrero 2006, 00:14 am
por Linkone
generar tabla ...
PHP
pedraxito 9 3,273 Último mensaje 21 Enero 2008, 15:01 pm
por Casidiablo
Tabla d Verdad
Programación General
ship 8 3,536 Último mensaje 11 Diciembre 2011, 23:19 pm
por $Edu$
generar tabla
PHP
Ignor 1 1,507 Último mensaje 6 Abril 2013, 01:10 am
por Ignor
Angularjs, Problemas al generar una tabla con filas editables
Desarrollo Web
vane777 2 3,153 Último mensaje 11 Abril 2014, 07:13 am
por EFEX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines