viernes, 8 de agosto de 2014

EXPR - CALC

COMANDO EXPR Y CALC




Comando expr

O sea, el comando expr nos sirve para resolver expresiones matemáticas en la terminal, con él podemos calcular lo que necesitemos. Por ejemplo, si queremos que nos aparezca el resultado de 1 + 2 * 8 / 3 ponemos en la terminal:
expr 1 + 2 \* 8 / 3
Noten que antes del asterisco * pongo el backslash -» \ … es necesario, pues expr no interpreta el asterisco como símbolo de multiplicación a no ser que se le ponga el \
Y en pantalla nos aparecerá el resultado. Aquí les dejo un screenshot con algunos ejemplos:
screenshot_expr1
Como pueden apreciar en los cálculos finales (14/4 y 13/4), 14 dividido entre 4 en realidad es 3.5 y 13 dividido entre 4 en realidad es 3.25, entonces ¿cómo es posible que nos muestre 3 en ambos casos? Lo que sucede es que el comando expr no nos muestra los decimales, o sea, lo que sigue después de la coma , no lo muestra, solo nos muestra el entero.
En caso de que queramos asignarle a una variable el resultado de una expresión matemática (Ej: 10/2), sería así:
variable=`expr 10 / 2`
Luego lo comprobamos con:
echo $variable
Es importante que exista un espacio entre cada caracter, o sea, un espacio entre cada número, cada símbolo de suma, resta, multiplicación o división

Comando calc

Este a diferencia del anterior sí es exacto en cuanto a los decimales, ejemplo:
calc 15 / 4
Nos mostraría: 3.75
Aquí les dejo un screenshot con varios ejemplos:
screenshot_calc
A diferencia de expr, cuando usamos calc es mejor que NO exista un espacio entre cada caracter, o sea, que no hayan espacios entre números y símbolos, justo como ven en la imagen anterior. Así como tampoco necesitan anteponer un \ antes del *
Bueno, esto es básicamente lo que quería comentarles.
No obstante, aún hay algunos otros tips interesantes de cada comando (especialmente de calc), les recomiendo que sea lean el manual:
man calc
man expr

Para r
Realizar operaciones aritméticas se utiliza el comando expr, su sintaxis es: expr ARG1 OPERACION ARG2
OPERACION puede ser:
+ Suma
- Resta
/ División
(barra invertida)* Multiplicación
Importante:
- En la multiplicación se debe anteponer al signo asterisco (*), una barra invertida para que bash no realice sustitución de nombres de archivo.
- El resultado del comando expr es enviado a la salida estandar.
- Las variables en bash son todas cadenas de caracteres, no existen tipos de variables, por lo tanto debemos tener cuidado de no pasarle como argumentos a expr variable con letras cuando estamos realizando una operación aritmética, porque nos dará un error .
- Entre cada argumento y la operación debe haber un espacio, para que expr puede distinguir los argumentos y su operando.
Ejemplos:
$ expr 10 + 10
20
$ x=10
$ y=2
$ expr $x / $y
5
$ resta=`expr $x - $y`
$ mult=`expr $x (barra invertida)* $y`
$ echo "$x menos $y vale $resta"
10 menos 2 vale 8
$ echo "La multiplicación de $x y $y es $mult"
La multiplicación de 10 y 2 es 20

¿ Como hacemos para calcular por ejemplo: ( 5 + 3 ) / 2 ?
Primero calculamos la suma y luego la división.
$ suma=`expr 5 + 3`
$ expr $suma / 2

4

No hay comentarios.:

Publicar un comentario