El set de instrucciones de
cada lenguaje de programación puede llegar a ser tan amplio que no
llegamos a aprenderlo todo y mucho menos saber en qué casos podemos
sacar ventaja de utilizar una instrucción determinada.
En este post quiero
hablar de la instrucción de Residuo,
conocida como % en C, C++, php,
java o MOD en COBOL, PLSQL,
Pascal.
Recordando un poco de
matemáticas, sabemos que:
Dividendo = Cociente *
Divisor + Residuo
Ejm. 7 = 3 * 2 + 1
Si despejamos el residuo
sería:
Residuo = Dividendo -
(Cociente * Divisor)
La operación Residuo se
calcula utilizando el Dividendo y el cociente o el dividendo y el
divisor. La sintaxis sería:
Residuo = Dividendo %
Cociente (1 = 7 % 3)
Residuo = Dividendo %
Divisor (1 = 7 % 2)
¿En qué casos podemos
utilizar esta operación?
Sólo os daré dos casos típicos:
Realizar
una acción cuando un número es múltiplo de otro
Imprimir
los 30 primeros múltiplos de 3
int
numerosImpresos = 0 //controla el número de números impresos
int
contador = 1; //Es el número que hace de Dividendo en la operación
while(numerosImpresos
< 30)
{
if (contador % 3 == 0) //si el residuo es 0, es una división exacta por tanto es múltiplo
{
Console.write(contador);
}
contador ++;
}
Realizar
un cambio de base
Cambiar
el número 5 de base decimal a binario.
Como
se cambia a sistema binario de utiliza el divisor = 2 (Base N,
implica divisor N)
int
dividendo = 5;
int
divisor = 2;
string
cambioBase = “”;
while(dividendo
/ divisor >1)
{
residuo = dividendo % divisor;
dividendo = dividendo / divisor;
cambioBase = residuo + cambioBase; //se va concatenando a la izquierda
}
cambioBase
= dividendo + cambioBase; //en esta variable está el resultado "101"
¿Se os ocurre otro ejemplo?