csharp07-AlgoritmosUsandoDivMod

= Algoritmos Utilizando los Operadores DIV y MOD = Estos operadores son parte de la división, para ello deberemos recordar la operación que realizamos al dividir dos numeros. Es importante recordar que los operadores DIV y MOD //**solo se**// //**usan con numeros enteros.**//
 * El operador DIV.** Es la parte entera de la división, por ejemplo si dividimos 79 entre 8 el resultado será 9.
 * El operador MOD.** Es el residuo de la división, por ejemplo si dividimos 79 entre 8 el resultado será 7.

El siguiente gráfico te mostrará de mejor forma estos operadores.

Cuando utilizamos estos operadores
Los usamos cuando queremos saber si un numero es divisible entre otro, cuantas partes enteras tiene una división, tambien cuando queremos saber si un numero es multiplo o submultiplo de otros; cuando queremos descomponer un numero en unidades, decenas, centenas y otros casos más.

= Ejercicio 01 = Hacer un programa que capture un numero de tres cifras y lo desconponga en unidades, decenas y centenas. El programa debe indicarnos cuantas unidades hay, cuantas decenas y cuantas centenas. (Por ahora no preocuparse si el que usa el programa ingresa otro tipo de numeros que no sean de tres cifras, eso lo veremos más adelante).

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: Esta es la forma de utilizar el DIV y el MOD. **Para entender mejor has las operaciones de numeros manualmente en papel.**
 * Análisis**
 * 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.

Paso 0. Diseño del Algoritmo
_ _ _ Declarar u,d,c,num Como Enteros _ _ _ 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 ||
 * **Algoritmo DescomponerCifras** ||
 * Inicio

Paso 1. Diseño del Formulario
lblResultado btnDescomponer ||
 * **Diseño del Formulario** || **Nombres de los Controles** ||
 * [[image:csharp07-01-Disenio.jpg]] || txtDato

Nota.
lblResultado.Text = lblResultado.Text + "\nLa cantidad de decenas es: " + d; El operador **+=** equivale a decir: a += 7, es los mismo que decir a = a + 7
 * lblResultado.Text += "\nLa cantidad de decenas es: " + d;** en esta linea notaras que usamos la operación +=, debes saber que el operador + se usa cuando concatenas dos cadenas (textos), por ejemplo cuando hacemos + d, significa que estamos juntando la cadena con este numero. Ahora abras notado que usamos \n, este elemento se llama el salto de linea que hace posible que los resultados salgan en una linea abajo. Para comprender mejor estos detalles deberás probar en tu programa y quitar el \n y observar que pasa, tambien deberás cambiar el = por += o el += por igual y ver que pasa. Cuando aprendes programación debes hacer todas las pruebas que deseas y así podras entender mejor algunos conceptos, la lineas que analizamos puede ser escrita de la siguiente forma:

Paso 3. Analizar resultados


= Ejercicio 02 = Un banco desea que su cajero automatico emita la menor cantidad de billetes a sus clientes, estos podran pedir al banco cualquier cifra multiplo de 10 pues el cajero no emite unidades, el cajero cuenta con billetes de 200, 100, 50, 20, 10. Hacer un programa para que el cajero emita estos billetes (por ahora no preocuparse si el cliente ingresa un numero no valido, eso se solucionará mas adelante).

Un cliente pide al cajero 730, este deberá emitir 3 billetes de 200, 0 billetes de 50, 1 billete de 100, 1 billete de 20 y 1 billete de 10. Esto significa que: 730 DIV 200 nos da los 3 billetes de 100. 730 MOD 200 nos da 130 que es el dinero que falta. 130 DIV 100 nos da el billete de 100. 130 MOD 100 nos da 30 que falta. 30 DIV 50 nos da 0. 30 MOD 50 nos da 30. 30 DIV 20 nos da el billete de 20. 30 MOD 20 nos da el billete de 10.
 * Analisis**

Paso 0. Diseño del Algoritmo
_ _ _ Declarar bDociento,bCien,bCincuenta, bVeinte, bDiez, dinero Enteros _ _ _ Leer(dinero) _ _ _ bDocientos = dinero DIV 200 _ _ _ dinero = dinero MOD 200 _ _ _ bCien = dinero DIV 100 _ _ _ dinero = dinero MOD 100 _ _ _ bCincuenta = dinero DIV 50 _ _ _ dinero = dinero MOD 50 _ _ _ bVeinte = dinero DIV 20 _ _ _ dinero = dinero MOD 20 _ _ _ bDiez = dinero DIV 10 _ _ _ Escribir ("Cantidad de 200: "+bDocientos) _ _ _ Escribir ("Cantidad de 100: "+bCien) _ _ _ Escribir ("Cantidad de 50: "+bCincuenta) _ _ _ Escribir ("Cantidad de 20: "+bVeinte) _ _ _ Escribir ("Cantidad de 10: "+bDiez) Fin ||
 * **Algoritmo DescomponerCifras** ||
 * Inicio

Paso 1. Diseño del Formulario
bntRetirar lblResultado ||
 * **Diseño del Formulario** || **Nombre de los Controles** ||
 * [[image:csharp07-02-Disenio.jpg]] || txtDinero