martes, 8 de octubre de 2013

1.9. Los Operadores DIV y MOD

 Los Operadores DIV y MOD


En programación debemos recordar que tenemos los operadores aritméticos, estos son:
  • +, es la suma: 5+3 --> 8
  • -, es la resta: 9 - 4 --> 5
  • /, es la división: 45 / 10 --> 4.5
  • *, es la multiplicación: 9*3 --> 27
  • ^, es la potencia; 2^4 --> 16
  • DIV, es el operador parte entera de la división
  • MOD, es el operador que devuelve el residuo de una división
Los operadores de +, -, /, * son conocidos por todos, pero algo nuevo son los operadores DIV y MOD que son operadores especiales de la división, aquí te muestro algunos ejemplos:

Los Operadores DIV y MOD en C#

En C# debemos tener especial cuidado a la hora de usar los operadores, debemos considerar que los operadores solo trabajan con números enteros (int), estos operadores son:
  • %, es el operador MOD
  • /, es el operado DIV
Importante
Debes tener muy presente que el operador "/", también representa la división, pero solo cuando se trata de números reales.


Ejercicio 1. 

11 MOD 6 + 44 DIV 9 - 3
5 + 4 - 3
6

Ejercicio 2. 

x = 7
y = 11
( x + y ) MOD 7 + ( 3 * x ) DIV y 

Solución:
( 7 + 11 ) MOD 7 + (3 * 7 ) DIV 11
17 MOD 7 + 21 DIV 11
3 + 1
4

Ejercicio 3. 

a = 3
b = 10
c = 5
( c ^ a ) MOD 9 + (b + 2 ^ ( a - 1 ) ) / ( (7 * c ) DIV a )

Solución:
( 5 ^ 3 ) MOD 9 + (10 + 2 ^ ( 3 - 1 ) ) / ( (7 * 5 ) DIV 3 ) 
125 MOD 9 + (10 + 4) / (35 DIV 3)
8 + 14 / 11
8 + 1.272727273
9.272727273




Ejercicio 4. 

Hacer un programa que nos muestre la parte entera y el residuo de una división.

Análisis
y = 8 DIV 5, por tanto y es 1
z = 8 MOD 5, por tanto z es 3

DIV, este operador es la parte entera de una división.
MOD, este operador devuelve el residuo de una división.

  • Modelo: y  = a DIV b
  • Modelo: z  = a MOD b
  • Variables de entrada: a, b
  • Variables de salida: y, z



Diseño
Algoritmo DivisionDeNumeros
Inicio
        Entero a,b,z,y
        Leer(a,b)
        Y = a DIV b
        Z = a MOD b
        Escribir(y, z)
Fin


Código:
         public static void Main(string[] args)
        {
            int a,b,z,y;
            Console.WriteLine("Ingresa el numero A: ");
            a = int.Parse(Console.ReadLine());
            Console.WriteLine("Ingresa el numero B: ");
            b = int.Parse(Console.ReadLine());
            y = a / b;
            z = a % b;
            Console.WriteLine("La parte entera de la división es: " + y);
            Console.WriteLine("El residuo de la división es: " + z);
            Console.ReadLine();
        }

Notas Importantes:

  • El operador MOD es %
  • El operador DIV es /
  • Los operadores solo trabajan con números enteros.

Ejercicio 5.

Hacer un programa que capture un numero de tres cifras y lo descomponga en unidades, decenas y centenas. El programa debe indicarnos cuantas unidades hay, cuantas decenas y cuantas centenas.

Análisis:
Análisis
Supogamos que el número es 785, por lo tanto el programa tiene de devolvernos 7 centenas, 8 decenas y 5 unidades como resultado. Si aplicamos DIV y MOD entonces podremos hacer los siguiente:
785 MOD 10 da como resultado 5, por lo tanto ya tenemos la cantidad de unidades (compruevalo haciendo la división manual).
785 DIV 10 da como resultado 78, ahora podemos aplicar (785 DIV 10) MOD 10 que es como decir 78 MOD 10, que resulta ser 8 por lo tanto ya tenemos las decenas.
785 DIV100 da como resultado 7, por ello ya tenemos las centenas.
Esta es la forma de utilizar el DIV y el MOD. Para entender mejor has las operaciones de numeros manualmente en papel.
Modelo

  • u = num MOD 10
  • d = (num DIV 10) MOD 10
  • c = (num DIV 100)

Tipos de Variables
  • Entrada: num
  • Salida: u, d, c



Diseño:
Algoritmo DescomponerCifras
Inicio
        Enteros u,d,c,num
        Leer(num)
        u = num MOD 10
        d = ( num DIV 10 ) MOD 10
        c = ( num DIV 100)
        Escribir ("Cantidad de unidades "+u)
        Escribir ("Cantidad de decenas "+d)
        Escribir ("Cantidad de centenas "+c)
Fin

Código:
         public static void Main(string[] args)
        {
            int u,d,c,num;
            Console.Write("Ingresar un numero de tres cifras: ");
            num = int.Parse(Console.ReadLine());
            u = num % 10;
            d = ( num / 10 ) % 10;
            c = ( num / 100);
            Console.WriteLine("Cantidad de unidades "+u);
            Console.WriteLine("Cantidad de decenas "+d);
            Console.WriteLine("Cantidad de centenas "+c);
            Console.ReadLine();
        }
Notas Importantes:

  • En C# el operador MOD es %
  • En C# el operador DIV es /
  • Ambos operadores funcionan solo con datos de tipo entero (int)
--En construcción afuera
  1. Desarrolle un programa que permita sumar las cifras de un numero de 4 dígitos, ejemplo: Si ingresamos el numero 7543, el programa deberá sumar 7+5+4+3, luego nos dará como respuesta 19.
  2. Hacer un programa que solucione la siguiente ecuación: x = ( a DIV 10 ) * ( a MOD 10) / ( a MOD 10 - a DIV 10)



Vídeo Sobre DIV y MOD



Vídeo Sobre Operadores



Vídeo Sobre Operadores



9 comentarios: