Escolar Documentos
Profissional Documentos
Cultura Documentos
close all
clc
p2=[0; 0; 0; 0; 0; 0; 0; 0; 1; 1; 1; 1; 1; 1; 1; 1];
q2=[0; 0; 0; 0; 1; 1; 1; 1; 0; 0; 0; 0; 1; 1; 1; 1];%Para operaciones con 4 variables
r=[0; 0; 1; 1; 0; 0; 1; 1; 0; 0; 1; 1; 0; 0; 1; 1]; %16 Combinaciones
s=[0; 1; 0; 1; 0; 1; 0; 1; 0; 1; 0; 1; 0; 1; 0; 1];
clc
close all
%Menú de inicio
disp('Programa para ver la tabla de la verdad y tren de pulsos para una estructura
booleana');
disp ('Seleccione la estructura de la expresión booleana que quiere visualizar');
disp ('1: (p operador q) operador z');
disp ('2: p operador(q operador z)');
disp ('3: (p operador q)operador(r operador s)');
disp ('4: ((p operador q)operador r) operador s');
disp ('5: p operador (q operador r) operador s');
switch comp
case 1
A=p1&q1;
B=A&z;
disp(' ');
disp('Tabla de verdad para la estructura (p AND q) AND z ');
TablaVerdad=table
(p1,q1,z,A,B,'VariableNames',{'p','q','z','pANDq','pANDq_ANDz'});
disp (TablaVerdad)
B(9)=0;
stairs(dom1,B,'g','LineWidth',2);%Tren de Pulsos Resultado
title('Tren de Pulsos (p AND q) AND z ');%damos un nombre a la
grafica
case 2
A=p1|q1;
B=A|z;
disp(' ');
disp('Tabla de verdad para la estructura (p OR q) OR z ');
TablaVerdad=table
(p1,q1,z,A,B,'VariableNames',{'p','q','z','pORq','pORq_ORz'});
disp (TablaVerdad)
B(9)=0;
stairs(dom1,B,'g','LineWidth',2);%Tren de Pulsos Resultado
title('Tren de Pulsos (p OR q) OR z ');%damos un nombre a la grafica
case 3
A=xor(p1,q1);
B=xor(A,z);
disp(' ');
disp('Tabla de verdad para la estructura (p XOR q) XOR z ');
TablaVerdad=table
(p1,q1,z,A,B,'VariableNames',{'p','q','z','pXORq','pXORq_XORz'});
disp (TablaVerdad)
B(9)=0;
stairs(dom1,B,'g','LineWidth',2);%Tren de Pulsos Resultado
title('Tren de Pulsos (p XOR q) XOR z ');%damos un nombre a la
grafica
otherwise
disp('Opción invalida, intentelo de nuevo');%para los casos de
ingresos no validos mostramos un mensaje
end
case 2
disp ('Seleccione la compuesta a usar en la expresión booleana'); %Elección
de la compuerta
disp ('1: AND');
disp ('2: OR');
disp ('3: XOR');
comp=input(' ');
switch comp
case 1
A=q1&z;
B=p1&A;
disp(' ');
disp('Tabla de verdad para la estructura p AND (q AND z)');
TablaVerdad=table
(p1,q1,z,A,B,'VariableNames',{'p','q','z','qANDz','pAND_qANDz'});
disp (TablaVerdad)
B(9)=0;
stairs(dom1,B,'g','LineWidth',2);%Tren de Pulsos Resultado
title('Tren de Pulsos p AND (q AND z) ');%damos un nombre a la
grafica
case 2
A=q1|z;
B=p1|A;
disp(' ');
disp('Tabla de verdad para la estructura p OR (q OR z)');
TablaVerdad=table
(p1,q1,z,A,B,'VariableNames',{'p','q','z','qORz','pOR_qORz'});
disp (TablaVerdad)
B(9)=0;
stairs(dom1,B,'g','LineWidth',2);%Tren de Pulsos Resultado
title('Tren de Pulsos p OR (q OR z) ');%damos un nombre a la grafica
case 3
A=xor(q1,z);
B=xor(p1,A);
disp(' ');
disp('Tabla de verdad para la estructura p XOR (q XOR z)');
TablaVerdad=table
(p1,q1,z,A,B,'VariableNames',{'p','q','z','qXORz','pXOR_qXORz'});
disp (TablaVerdad)
B(9)=0;
stairs(dom1,B,'g','LineWidth',2);%Tren de Pulsos Resultado
title('Tren de Pulsos p XOR (q XOR z) ');%damos un nombre a la
grafica
otherwise
disp('Opción invalida, intentelo de nuevo');%para los casos de
ingresos no validos mostramos un mensaje
end
case 3
disp ('Seleccione la compuesta a usar en la expresión booleana'); %Elección
de la compuerta
disp ('1: AND');
disp ('2: OR');
disp ('3: XOR');
comp=input(' ');
switch comp
case 1
A=p2&q2;
B=r&s;
C=A&B;
disp(' ');
disp('Tabla de verdad para la estructura (p AND q)AND(r AND s))');
TablaVerdad=table
(p2,q2,r,s,A,B,C,'VariableNames',{'p','q','r','s','pANDq','rANDs','pANDq_AND_rANDs'});
disp (TablaVerdad)
C(17)=0;
stairs(dom2,C,'g','LineWidth',2);%Tren de Pulsos Resultado
title('Tren de Pulsos (p AND q)AND(r AND s) ');%damos un nombre a la
grafica
case 2
disp(' ');
disp('Tabla de verdad para la estructura (p OR q)OR(r OR s))');
%Mostramos información acerca de la tabla que se va a mostrar
TablaVerdad=table
(p2,q2,r,s,A,B,C,'VariableNames',{'p','q','r','s','pORq','rORs','pORq_OR_rORs'}); %Generamos
tablas con titulos para cada columna
disp (TablaVerdad) %Mostramos la tabla
case 3
disp(' ');
disp('Tabla de verdad para la estructura (p XOR q)XOR(r XOR s))');
%Mostramos información acerca de la tabla que se va a mostrar
TablaVerdad=table
(p2,q2,r,s,A,B,C,'VariableNames',{'p','q','r','s','pXORq','rXORs','pXORq_OR_rXORs'});
%Generamos tablas con titulos para cada columna
disp (TablaVerdad) %Mostramos la tabla
otherwise
disp('Opción invalida, intentelo de nuevo');%para los casos de
ingresos no validos mostramos un mensaje
end
case 4
disp ('Seleccione la compuesta a usar en la expresión booleana'); %Elección
de la compuerta
disp ('1: AND');
disp ('2: OR');
disp ('3: XOR');
comp=input(' ');
switch comp
case 1
A=p2&q2;
B=A&r;
C=B&s;
disp(' ');
disp('Tabla de verdad para la estructura ((p AND q)AND r)AND s');
TablaVerdad=table
(p2,q2,r,s,A,B,C,'VariableNames',{'p','q','r','s','pANDq','pANDq_ANDr','pANDq_ANDr_ANDs'});
disp (TablaVerdad)
C(17)=0;
stairs(dom2,C,'g','LineWidth',2);%Tren de Pulsos Resultado
title('Tren de Pulsos ((p AND q)AND r)AND s ');%damos un nombre a la
grafica
case 2
A=p2|q2;
B=A|r;
C=B|s;
disp(' ');
disp('Tabla de verdad para la estructura ((p OR q)OR r)OR s');
TablaVerdad=table
(p2,q2,r,s,A,B,C,'VariableNames',{'p','q','r','s','pORq','pORq_ORr','pORq_ORr_ORs'});
disp (TablaVerdad)
C(17)=0;
stairs(dom2,C,'g','LineWidth',2);%Tren de Pulsos Resultado
title('Tren de Pulsos ((p OR q)OR r)OR s');%damos un nombre a la
grafica
case 3
A=xor(p2,q2);
B=xor(A,r);
C=xor(B,s);
disp(' ');
disp('Tabla de verdad para la estructura ((p XOR q)XOR r)XOR s');
TablaVerdad=table
(p2,q2,r,s,A,B,C,'VariableNames',{'p','q','r','s','pXORq','pXORq_XORr','pXORq_XORr_XORs'});
disp (TablaVerdad)
C(17)=0;
stairs(dom2,C,'g','LineWidth',2);%Tren de Pulsos Resultado
title('Tren de Pulsos ((p XOR q)XOR r)XOR s');%damos un nombre a la
grafica
otherwise
disp('Opción invalida, intentelo de nuevo');%para los casos de
ingresos no validos mostramos un mensaje
end
case 5
disp ('Seleccione la compuesta a usar en la expresión booleana'); %Elección
de la compuerta
disp ('1: AND');
disp ('2: OR');
disp ('3: XOR');
comp=input(' ');
switch comp
case 1
A=r&s;
B=q2&A;
C=p2&B;
disp(' ');
disp('Tabla de verdad para la estructura p AND(q AND(r AND s)');
TablaVerdad=table
(p2,q2,r,s,A,B,C,'VariableNames',{'p','q','r','s','rANDs','qAND_rANDs','pAND_qAND_rANDs'});
disp (TablaVerdad)
C(17)=0;
stairs(dom2,C,'g','LineWidth',2);%Tren de Pulsos Resultado
title('Tren de Pulsos p AND(q AND(r AND s) ');%damos un nombre a la
grafica
case 2
A=r|s;
B=q2|A;
C=p2|B;
disp(' ');
disp('Tabla de verdad para la estructura p OR(q OR(r OR s)');
TablaVerdad=table
(p2,q2,r,s,A,B,C,'VariableNames',{'p','q','r','s','rORs','qOR_rORs','pOR_qOR_rORs'});
disp (TablaVerdad)
C(17)=0;
stairs(dom2,C,'g','LineWidth',2);%Tren de Pulsos Resultado
title('Tren de Pulsos p OR(q OR(r OR s) ');%damos un nombre a la
grafica
case 3
A=xor(r,s);
B=xor(q2,A);
C=xor(p2,B);
disp(' ');
disp('Tabla de verdad para la estructura p XOR(q XOR(r XOR s)');
TablaVerdad=table
(p2,q2,r,s,A,B,C,'VariableNames',{'p','q','r','s','rXORs','qXOR_rXORs','pXOR_qXOR_rXORs'});
disp (TablaVerdad)
C(17)=0;
stairs(dom2,C,'g','LineWidth',2);%Tren de Pulsos Resultado
title('Tren de Pulsos p XOR(q XOR(r XOR s) ');%damos un nombre a la
grafica
otherwise
disp('Opción invalida, intentelo de nuevo');%para los casos de
ingresos no validos mostramos un mensaje
end
otherwise
disp('Opción invalida, intentelo de nuevo');%para los casos de ingresos no
validos mostramos un mensaje
end
else
inicio=false;
end
end