Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ENTREGA SEMANA 7
POLITECNICO GRANCOLOMBIANO
HERRAMIENTAS DE LOGICA COMPUTACIONAL
GRUPO 14
BOGOTA D.C.
2020
Tabla de contenido
Ejemplo 1 .......................................................................................................................................... 3-5
Ejemplo 2 ............................................................................................................................................. 6
Ejemplo 3 ............................................................................................................................................. 7
Ejemplo 4 ........................................................................................................................................ 8-10
Ejemplo 1
De acuerdo con las diferentes semánticas usadas a diario en el lenguaje cotidiano y el
incremento del uso de la lógica a través de la tecnología, ha hecho que cada vez estos
términos sean más integrados con la realidad, es decir, la lógica o cálculo matemáticos,
siempre ha sido uno de los pilares fundamentales y más importante en la programación, ya
sea esto la interacción entre máquinas, Hombre/Máquina ó Máquina/Hombre.
Teniendo en cuenta lo anterior para el uso de la lógica o cálculo de predicado se cuenta con
cierto vocabulario tal como:
• Nombre: Este puede ser un número, nombre de persona, animal o cosa.
• Cuantificadores: Universal o existencial.
• Variables: cualquier letra del alfabeto en minúscula o mayúscula (a, b, y, z, C, D, entre
otras).
• Conectores: Si, no, entonces, si solo si (∧, →, v, <->, entre otras)
• Signos: (), [], {}, entre otras
• Termino: Fraccionario/Diferenciales
Fraccionario: f
Diferenciales: d
• Predicado: Son reales
Si identifica con la letra: R
• Conector: Y
Se simboliza de la siguiente manera:
Rf ∧ Rd
De acuerdo con los diferentes ejemplos relacionados anteriormente llevados a la lógica o
cálculo de predicado, a continuación, se relaciona un ejemplo llevado a la lógica de
programación, como lo es el del “Valor Absoluto”.
Dado un número real entonces calcular su valor absoluto.
Rn à Cv
Llevado a lógica de programación:
En este caso java tiene una función que me permite calcular el valor absoluto sin realizar
comparaciones matemáticas como lo es: Math.abs()
En caso de que esta función no existiera, se hubiera multiplicado por -1 cuando es un número
negativo y en caso positivo se deja igual.
Aplicación 1
int numero = 7;
if (numero >= 0 )
System.out.println (“Valor absoluto” + numero);
else
{
System.out.println (“Valor absoluto” + (numero*(-1)));
}
Aplicación 2.
int numero = -7;
if (numero >= 0 )
System.out.println (“Valor absoluto” + numero);
else
{
System.out.println (“Valor absoluto” + (numero*(-1)));}
En el área de redes, para la transmisión de datos es necesario saber el rango y las condiciones
que deben cumplir las redes para hacer esta labor. Por poner un ejemplo, suponga que en
una empresa hay 2 áreas las cuales, con su propio rango de red, para la transmisión de datos.
Se desea enviar un archivo a una de las 2 áreas en particular. Para eso se requiere saber por
parte del switch el rango de la red del área al cual se desea enviar dicho archivo.
Para esto se requirieren 2 variables de entrada, las cuales representan el rango mínimo y el
rango máximo del área para hacer efectivo el envió del archivo y que este no termine en el
área equivocada.
Cuando se envía un documento a través de la intranet de un área de trabajo a otra, el switch
debe tomar en cuenta los subrangos de red para cada área,
en este caso hay 2 áreas que son: sistemas y administración
F=formula
C=condición
Z=correo enviado exitosamente
𝑍 → (∃𝑥|𝐶: 𝐹) ≡ (∃𝑥|𝐶: 𝑍 → 𝐹)
𝑍 → (∃𝑥|𝐶: 𝐹) Definición de la implicación.
¬𝑍 ᴠ (∃𝑥|𝐶: 𝐹)
(∃𝑥|𝐶: ¬𝑍˅𝐹 Definición de la implicación.
(∃𝑥|𝐶: 𝑍 → 𝐹)
A nivel de programación se necesita realizar una suma que se ejecute cumpliendo ciertas
condiciones:
• Que los valores ingresados en la operación sean positivos
• Que las variables sean enteras.
• Si la suma cumple los dos valores anteriores, debe imprimir en pantalla “Valor de la
suma es:”
• Debe utilizar un valor 4 por solicitud del cliente.
Para lo anterior se puede plantear dos posibilidades
• Si los valores enteros son positivos el programa debería empezar a ejecutarse, por
ejemplo, p tendría que ser mayor a cero para cumplirse igual para la variable q,
finalmente la parte impresa vendría siendo la variable r.
Entonces la expresión inicial podría ser
P∧Q→R
, donde p y q son variable enteras y r el resultado.
• Si el valor p es positivo ahora valide si el valor y es positivo, finalmente imprime r.
Esto quiere decir que otra opción expresada podría ser
R →(P →Q)
.
Implementación 1:
A continuación, se presenta el modelo en una clase Java Main
public class ejemplo4HLC {
int x, y;
//Valor 4
int constante = 4;
//Asignacion de operaciones
x = constante - i;
y = constante + 3 * i;
//Condicion p y q
if (x > 0 && y > 0) {
//valor a imprimir, entonces r
System.out.println("El valor de la suma es: " + x + y);
Como se observa en el código anterior, se declararon las variables de tipo entero para evitar
otro tipo de dato, adicional un valor constante que implique el número 4.
Las operaciones que están dentro del bucle de iteración y que tienen como comentario
asignación de operaciones son opcionales, la condición p y q se ejecuta en la condición IF, y
r en la impresión. Es decir se cumple,
P∧Q→R
.
Implementación 2:
int x, y;
// Valor 4
int constante = 4;
// Asignacion de operaciones
x = constante - i;
y = constante + 3 * i;
// Condicion p y q entonces r
if (x > 0) {
if (y > 0) {
// valor a imprimir
System.out.println("El valor de la suma es: "
+ x + y);
}
}
}
El único cambio presentado que cambia el sentido de la expresión, es que ahora X se valida
independiente de Y y de esta forma se cumple finalmente R, (cascada).
R →(P →Q)
.
Buen trabajo, en el tercer ejemplo no hay una descripción detallada del uso de cálculo
proposicional, hizo falta mayor detalle y especificar como se usa.
NOTA 90