Matemáticas en Programación con ejemplo Calculadora en Progress 4gl
Hola :
Bienvenidos a otra semana en el blog, hasta ahorita llevamos 10 post, donde espero les haya gustado y funcionado los ejemplos ya sea para el trabajo. la escuela o por hobby.
Esta semana antes de seguir platicando de otros lenguajes de programación, quiero que veamos un poco de análisis de datos y de instrucciones matemáticas que nos sirven de base para cualquier lenguaje. Como vimos en el post de SQL esta basado en Álgebra relacional.
Las matemáticas vamos a pensar que es como el amigo mas honesto y sincero que tengamos, es decir las matemáticas no mienten nos dicen siempre la mismo resultado y siempre son de la misma manera.
En la programación haremos uso de ellas siempreeee, pensemos en las matemáticas básicas: sumar, restar, multiplicar, dividir
Para estas operaciones en cada lenguaje tendremos los símbolos
suma = símbolo aditivo +
restar = símbolo -
multiplicar = símbolo *
dividir = símbolo /
Y tendremos variables por lo menos 2, para poder realizar los cálculos es decir
c =a + b
c =a - b
c =a * b
c = a / b
La ultima instrucción puede llegar a causar errores en los programas, porque los lenguajes pueden decirnos que no pueden dividir valores en cero por ejemplo si les decimos
c = 10 / 0
Los lenguajes se vuelven locos, pensando como hago eso, eso no es posible por lo que debemos evitar dar esas instrucciones o ponerlas entre bloques de excepciones, que es decirle si encuentras este caso has esta otra instrucción y no enloquezcas.
Tenemos otras operaciones que son:
Residuo o Modulo = símbolo %, Mod
Lo que nos da es el residuo o la diferencia en las divisiones por ejemplo 10/5 = 2 su modulo es cero, 3/2 = 1 y su modulo es 1 .
Raíz Cuadra = símbolo SQRT
Exponencial = símbolo EXP, POW
Logaritmos = simbolo LOG
Ejemplo
En Progress 4gl
DEF VAR A AS INT INITIAL 0.
DEF VAR B AS INT INITIAL 0.
UPDATE A B.
DISPLAY SKIP.
DISPLAY "SUMA " A + B SKIP.
DISPLAY "RESTA " A - B SKIP.
DISPLAY "MULTIPLICACION" A * B SKIP .
DISPLAY "DIVISION " A / B SKIP.
DISPLAY "MODULO " A MOD B SKIP.
DISPLAY "RAIZ CUADRADA " SQRT(A) SKIP.
DISPLAY "EXPONENCIAL " EXP(A,B) SKIP.
DISPLAY "LOGARITMOS " LOG(A) SKIP.
Es importante decirles que en Progress deben dejar un espacio entre la variable y el operador si no les va a marcar error
Unknown Field or Variable name - A+B.
En Progress 4gl, para agregar comentarios que código que no se va a ejecutar o que son textos que nos sirven de referencia porque después de que acaben un programa crean me no se van acordar bien que programaron, porque va cambiando la forma en que programamos con el tiempo.
/*comentarios ente estos signos*/
Ejecutamos el programa y nos va a pedir 2 números:
Las matemáticas vamos a pensar que es como el amigo mas honesto y sincero que tengamos, es decir las matemáticas no mienten nos dicen siempre la mismo resultado y siempre son de la misma manera.
En la programación haremos uso de ellas siempreeee, pensemos en las matemáticas básicas: sumar, restar, multiplicar, dividir
Para estas operaciones en cada lenguaje tendremos los símbolos
suma = símbolo aditivo +
restar = símbolo -
multiplicar = símbolo *
dividir = símbolo /
Y tendremos variables por lo menos 2, para poder realizar los cálculos es decir
c =a + b
c =a - b
c =a * b
c = a / b
La ultima instrucción puede llegar a causar errores en los programas, porque los lenguajes pueden decirnos que no pueden dividir valores en cero por ejemplo si les decimos
c = 10 / 0
Los lenguajes se vuelven locos, pensando como hago eso, eso no es posible por lo que debemos evitar dar esas instrucciones o ponerlas entre bloques de excepciones, que es decirle si encuentras este caso has esta otra instrucción y no enloquezcas.
Tenemos otras operaciones que son:
Residuo o Modulo = símbolo %, Mod
Lo que nos da es el residuo o la diferencia en las divisiones por ejemplo 10/5 = 2 su modulo es cero, 3/2 = 1 y su modulo es 1 .
Raíz Cuadra = símbolo SQRT
Exponencial = símbolo EXP, POW
Logaritmos = simbolo LOG
Ejemplo
En Progress 4gl
DEF VAR A AS INT INITIAL 0.
DEF VAR B AS INT INITIAL 0.
UPDATE A B.
DISPLAY SKIP.
DISPLAY "SUMA " A + B SKIP.
DISPLAY "RESTA " A - B SKIP.
DISPLAY "MULTIPLICACION" A * B SKIP .
DISPLAY "DIVISION " A / B SKIP.
DISPLAY "MODULO " A MOD B SKIP.
DISPLAY "RAIZ CUADRADA " SQRT(A) SKIP.
DISPLAY "EXPONENCIAL " EXP(A,B) SKIP.
DISPLAY "LOGARITMOS " LOG(A) SKIP.
Es importante decirles que en Progress deben dejar un espacio entre la variable y el operador si no les va a marcar error
Unknown Field or Variable name - A+B.
En Progress 4gl, para agregar comentarios que código que no se va a ejecutar o que son textos que nos sirven de referencia porque después de que acaben un programa crean me no se van acordar bien que programaron, porque va cambiando la forma en que programamos con el tiempo.
/*comentarios ente estos signos*/
Ejecutamos el programa y nos va a pedir 2 números:
El resultado
Vamos a causarle un error con la división en cero
Como pueden ver marco un erro en la división con valor ? , que es un nulo o NULL o Nill
Practica.
Imaginen que les piden un programa que pueda calcular el promedio de varios números, lo que pueden hacer es realizar es un programa que pida la lista de 10 datos, los suma y van guardando el valor en la variable C y al final la dividen entre 10, intenten hacer ese programa en el lenguaje que se sientan más cómodos para programar, puede ser en Macro o en Javascript.
Si van iniciando también pueden hacer su primera calculadora.
Les comparto mi ejemplo de Calculadora en Progress 4gl, vamos a utilizar las instrucciones CASE, WHEN and OTHERWISE que es el equivalente a SWITCH en JAVA o .NET, el objetivo de esta instrucción es plantear el uso de un menú y de acuerdo a la opción seleccionada realizar una actividad, en este caso tenemos 1 pantalla con la instrucción FORM y 2 numeros de entrada A y B, escribí el MENU y para leer el valor le coloque la variable OPE , dentro del programa con la opción de CASE valido que dato ingresa el usuario y en base a ello realizó la operación.
DEF VAR A AS INT INITIAL 0.
DEF VAR B AS INT INITIAL 0.
DEF VAR OPE AS CHAR INITIAL "SUMA".
FORM
SKIP(1)
A COLON 15 LABEL "Data 1"
B COLON 15 LABEL "Data 2"
"***CALCULADORA***" COLON 15
"SUMA" COLON 15
"RESTA" COLON 15
"MULTI" COLON 15
"DIV" COLON 15
"MODULO" COLON 15
"RAIZ" COLON 15
"EXPO" COLON 15
SKIP(1)
OPE COLON 15 LABEL "OPERACION"
WITH FRAME a SIDE-LABELS NO-ATTR-SPACE WIDTH 80.
REPEAT:
UPDATE A B OPE WITH FRAME a.
CASE OPE:
WHEN "SUMA" THEN DISPLAY "SUMA " A + B SKIP.
WHEN "RESTA" THEN DISPLAY "RESTA " A - B SKIP.
WHEN "MULTI" THEN DISPLAY "MULTIPLICACION" A * B SKIP .
WHEN "DIVISION" THEN DISPLAY "DIVISION " A / B SKIP.
WHEN "MODULO" THEN DISPLAY "MODULO " A MOD B SKIP.
WHEN "RAIZ" THEN DISPLAY "RAIZ CUADRADA " SQRT(A) SKIP.
WHEN "EXPONENCIAL" THEN DISPLAY "EXPONENCIAL " EXP(A,B) SKIP.
WHEN "LOGARITMO" THEN DISPLAY "LOGARITMOS " LOG(A) SKIP.
OTHERWISE DISPLAY "OPCION INCORRECTA" SKIP.
END.
END.
Ejecución del programa Calculadora en Progress 4gl
Lectura de Datos, presentar Menú
Vieron que no fue complicado? No tengan miedo las matemáticas no lastiman (mucho jajaja) y solo es práctica y práctica, recuerdan el comentario al inicio del post imaginen el amigo mas honesto que tengan bueno no le dejan de hablar por esto o si?
No olvide compartirnos y seguirnos en este blog o en Facebook.
https://www.programacionparatodos.com
Si van iniciando también pueden hacer su primera calculadora.
Les comparto mi ejemplo de Calculadora en Progress 4gl, vamos a utilizar las instrucciones CASE, WHEN and OTHERWISE que es el equivalente a SWITCH en JAVA o .NET, el objetivo de esta instrucción es plantear el uso de un menú y de acuerdo a la opción seleccionada realizar una actividad, en este caso tenemos 1 pantalla con la instrucción FORM y 2 numeros de entrada A y B, escribí el MENU y para leer el valor le coloque la variable OPE , dentro del programa con la opción de CASE valido que dato ingresa el usuario y en base a ello realizó la operación.
DEF VAR A AS INT INITIAL 0.
DEF VAR B AS INT INITIAL 0.
DEF VAR OPE AS CHAR INITIAL "SUMA".
FORM
SKIP(1)
A COLON 15 LABEL "Data 1"
B COLON 15 LABEL "Data 2"
"***CALCULADORA***" COLON 15
"SUMA" COLON 15
"RESTA" COLON 15
"MULTI" COLON 15
"DIV" COLON 15
"MODULO" COLON 15
"RAIZ" COLON 15
"EXPO" COLON 15
SKIP(1)
OPE COLON 15 LABEL "OPERACION"
WITH FRAME a SIDE-LABELS NO-ATTR-SPACE WIDTH 80.
REPEAT:
UPDATE A B OPE WITH FRAME a.
CASE OPE:
WHEN "SUMA" THEN DISPLAY "SUMA " A + B SKIP.
WHEN "RESTA" THEN DISPLAY "RESTA " A - B SKIP.
WHEN "MULTI" THEN DISPLAY "MULTIPLICACION" A * B SKIP .
WHEN "DIVISION" THEN DISPLAY "DIVISION " A / B SKIP.
WHEN "MODULO" THEN DISPLAY "MODULO " A MOD B SKIP.
WHEN "RAIZ" THEN DISPLAY "RAIZ CUADRADA " SQRT(A) SKIP.
WHEN "EXPONENCIAL" THEN DISPLAY "EXPONENCIAL " EXP(A,B) SKIP.
WHEN "LOGARITMO" THEN DISPLAY "LOGARITMOS " LOG(A) SKIP.
OTHERWISE DISPLAY "OPCION INCORRECTA" SKIP.
END.
END.
Ejecución del programa Calculadora en Progress 4gl
Lectura de Datos, presentar Menú
Resultado
Vieron que no fue complicado? No tengan miedo las matemáticas no lastiman (mucho jajaja) y solo es práctica y práctica, recuerdan el comentario al inicio del post imaginen el amigo mas honesto que tengan bueno no le dejan de hablar por esto o si?
No olvide compartirnos y seguirnos en este blog o en Facebook.
https://www.programacionparatodos.com
Comentarios
Publicar un comentario