Informatica
-------------------------------
En la programación se utiliza mucho la aritmética entera y sus operaciones que son la división entera y el módulo (resto de la divisiónentera).
Para hacer una división entera : $int($calc(a / b))
Para hacer el módulo : $calc(a % b)
A partir de ahora llamaré DIV a la division entera y MOD al módulo
Ahora que sabemos estopodemos hacer lo siguiente:
Dado un número por ejemplo: 17637
17637 DIV 1 = 17637 17637 MOD 1 = 0
17637 DIV 10 = 1763 17637 MOD 10 = 7
17637 DIV 100 = 176 17637 MOD 100 = 37
17637 DIV 1000 = 1717637 MOD 1000 = 637
17637 DIV 10000 = 1 17637 MOD 10000 = 7637
17637 DIV 100000 = 0 17637 MOD 100000 = 17637
Unidades = N MOD 10
Decenas = (N MOD 100) DIV 10
Centenas = (N MOD 1000) DIV 100Millares = (N MOD 10000) DIV 1000
Decenas de Millar = N DIV 10000
La estructura es discreta (finita) y hay que poner un final, en este caso el final lo hemos puesto en las decenas de millar pero lasucesión es bastante evidente. Hay un principio, un final y unas unidades intermedias y se ve claramente la progresión que sufren.
Si te das cuenta con DIV y MOD podemos sacar las unidades, decenas,centenas... de un número pero es cuando usamos el 10. Usamos es 10 porque estamos en el sistema decimal. Pero este sistema te puede servir tambien para hallar las horas, minutos y segundos en un sistemasexagesimal.
Por ejemplo dentro de un alias cuyo parámetro de entrada $1 son el número de segundos, podemos obtener cuantas semanas, dias, horas, minutos y segundos son:
var %seg $calc($1 % 60)var %min $int($calc(($1 % 3600) / 60))
; 60 = nº de segundos en 1 minuto
var %hor $int($calc(($1 % 86400) / 3600)) ; 3600 = nº de segundos en
1 hora
var %dia $int($calc(($1 % 604800) / 86400)) ;86400 = nº de segundos en
1 día
var %sem $int($calc($1 / 604800)) ; 604800 = nº de segundos en
1 semana
Operadores DIV y MOD
El símbolo / se utiliza para la división real y el operador...
Regístrate para leer el documento completo.