Programación y Matemáticas Discretas,Macro validación de celdas

Hola lectores bienvenidos a otro post, esta semana quiero darle continuación al post anterior de matemáticas en la programación , en esta ocasión quiero platicarles de matemáticas discretas.

Las matemáticas discretas son el apartado donde podemos filosofar jajaja porque haces comparaciones o llegas a deducciones en base a la lógica proposicional, por ejemplo  la frase: ella  esta feliz o esta enojada, aquí tenemos una oración que que podemos primero convertir a lógica:

Proposiciones
p = esta feliz
q = esta enojada

como se simboliza
 q

Esta es una disyunción

Vean los datos de Wikipedia Disyunción lógica


Luego esto lo podemos ver en una tabla de verdad

p q V  q
V V V
V F V
F V V
F F F

Esta tabla lo que nos dice es que puede cumplir las 2 condiciones y es cierta la afirmación o con que sea verdad alguna de las proposiciones p, q  se cumplan la sentencia es verdadera

Esto en electrónica también tiene su propio símbolo que es el que se muestra en la imagen



Después esto lo pasamos a código de programación en una macro de Excel 

Columna A1 es p
Columna B1 es q

Programar en excel

Es muy importante entender estas bases, porque en la programación siempre tendremos cálculos o transacciones que realizar siempre y cuando se cumplan ciertas condiciones por ejemplo un usuario o tu mismo,te planteas la automatización de un proceso

Objetivo
"Realizar macro en Excel que tome de una hoja La cantidad de inventario y la multiplique por el precio unitario, solo si el tipo de inventario es materia prima  (MA) que es la columna D y los códigos de los artículos son del proveedor ingresado en la Columna C es igual a Kato y el resultado lo debe mostrar en un mensaje"


  • Primero vamos a revisar la sentencia, dice que debo considerar 2 cosas antes de realizar el cálculo 
  1. que la columna C sea igual a MA
  2. que la columna D sea igual a Kato


Vamos a ver el código en nuestra macro


Código
Private Sub CommandButton1_Click()
Dim Fila,cont As Integer
Fila = 2
cont = 0
Do While Cells(Fila, "A") <> ""
  If Cells(Fila, "c") = "MA" And Cells(Fila, "D") = "KATO" _
  Then cont = cont + (Cells(Fila, "b") * Cells(Fila, "g"))
  Fila = Fila + 1
Loop

MsgBox "Total " & cont
End Sub


Primero definimos 2 variables una para ir avanzando en el archivo y otra para mostrar el total
Dim Fila,cont As Integer
Fila = 2
cont = 0

Después realizamos el ciclo, hasta que no encuentre items y hacemos la búsqueda de nuestra información 

Do While Cells(Fila, "A") <> ""
  If Cells(Fila, "c") = "MA" And Cells(Fila, "D") = "KATO" _
  Then cont = cont + (Cells(Fila, "b") * Cells(Fila, "g"))
  Fila = Fila + 1
Loop

Mostramos el resultado

MsgBox "Total " & cont



Corramos la macro con los siguientes datos


Macro de Excel
Resultado

Macros de Excel

Es un ejemplo muy sencillo de realizar validaciones en la información y mostrar un resultado.

(por cierto si quieren saber más de Inteligencia Artificial pueden ver en este mismo blog el post http://www.programacionparatodos.com/2020/05/inteligencia-artificial.html porque en realidad es mucho más de IF y ELSE) 

Y no es que sea malo, pero es muy cierto la vida cotidiana son una serie de decisiones y de condiciones que hay que cumplir para seguir cierta lógica, incluso cuando nosotros mismos decidimos entre ir un evento u otro, si siempre fuéramos coherentes podríamos utilizar la lógica para todo, pero no somos así  somos espontaneamos, tenemos emociones, estados de humor diferente, pero una computadora no, así que enseñarle todo esto es un mar de información, leía hace tiempo que cada maquina para esto existen varios lenguajes de acuerdo a la pagina de Aditec el top son:

Además de la lógica matemática la inteligencia artificial tiene muchas otras técnicas y algoritmos, no solo son IF y ELSE.

Espero les haya gustado este post y el ejemplo les sea de utilidad, nos leemos la próxima semana.

Comentarios

Entradas más populares de este blog

Ejemplo Macro en Word

Macro de Excel para abrir archivo csv

Como ejecutar SQL desde Tareas Programadas de Windows