elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección.


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (Moderadores: Novlucker, seba123neo, kub0x, Eleкtro)
| | | |-+  Como funciona el mod(%) en c#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como funciona el mod(%) en c#  (Leído 547 veces)
EladioJr99

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Como funciona el mod(%) en c#
« en: 8 Septiembre 2017, 19:49 »

Hola, estoy empezando la carrera de programación y estoy muy verde en esto.
Yo me imagine que era como una división, es decir yo lo que hacia era dividir, por ejemplo 1984 / 400 y da 4.96, pero luego le puse en google 1984 % 400 y me dio 384, no entiendo porque yo pensaba que tomaba los decimales, pero no es así.
Se los agradecería mucho, perdon si es una pregunta muy tonta o facil pero soy nuevo en esto de programacion


En línea

Shell Root
Colaborador
***
Desconectado Desconectado

Mensajes: 3.846



Ver Perfil WWW
Re: Como funciona el mod(%) en c#
« Respuesta #1 en: 8 Septiembre 2017, 20:08 »

Es que una cosa es la división (/) que el operador (%), que es el qué calcula el resto después de dividir el primer operando por el segundo.

   +: representa la suma de dos o más valores o variables.
    -: representa la resta de dos o más valores o variables.
    *: representa la multiplicación de dos o más valores o variables.
    /: representa la división de dos o más valores o variables.
    %: representa el modulo (obtención del residuo de una división) de dos o más valores o variables.


En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
EladioJr99

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Como funciona el mod(%) en c#
« Respuesta #2 en: 9 Septiembre 2017, 03:31 »

Ya entendí, estuve leyendo un poco acerca y bueno, solo para aclarar, si (n % 2 != 0) significa que el número no es par verdad o como en el ejemplo que me sale 384, se podria decir que no es multiplo cierto?
En línea

Eleкtro
Novato Astral y
Moderador Global
***
Desconectado Desconectado

Mensajes: 9.143


El sentido común es el menos común de los sentidos


Ver Perfil
Re: Como funciona el mod(%) en c#
« Respuesta #3 en: 9 Septiembre 2017, 05:23 »

Hola.

Primero de todo: las preguntas sobre C# van en el subforo de programación .NET Framework.

Todo lo que necesitas saber y aprender está en la MSDN...
...deberías revisarla en el futuro para aclararte tus dudas.



si (n % 2 != 0) significa que el número no es par verdad

Efectivamente. El operador de módulo devolverá el resto después de dividir 'n' por '2', que siempre será Cero si 'n' es divisible por '2', o dicho de otra forma: 0 si 'n' es par.

Saludos.
« Última modificación: 9 Septiembre 2017, 05:33 por Eleкtro » En línea


NEBIRE


Desconectado Desconectado

Mensajes: 560


Ver Perfil
Re: Como funciona el mod(%) en c#
« Respuesta #4 en: 10 Septiembre 2017, 02:32 »

La operación módulo, se utiliza muy a menudo para saber la congruencia de dos números.

Un ejemplo:
Imagina un señor que tiene un huerto y quiere plantar naranjos, ha comprado 67 y quiere plantar 13 por línea... ¿tendrá líneas completas?.
Código:
si (67 módulo 13) = 0 luego
    mensaje = "si líneas completas."
sino
    mensaje "la última línea tiene sólo " + (67 modulo 13) + " árboles..."
fin si

Otro ejemplo:
El señor tras plantar los naranjos, quiere ahora plantar limoneros, harto de tener solo dos árboles en una línea, decide comprar sólo los que necesite parta tener líneas completas.
...pero no lo tiene fácil, porque la tienda le vende limoneros sólo de 5 o 5, ¿cuántos (árboles) tendrá que comprar ahora  (como mínimo), para tener líneas completas?

- Solución: Dado que tiene 13 por línea y solo 2 en la última, necesita comprar (13-2) + 'x' lineas de 13, tal que la suma de ellos sea múiltiplo de 5.

Código:
n=0  //n empieza valiendo 0 por si fuera el caso que naranjos den líneas completas, pero si a pesar de ello
//    se quisiera comprar si o sí limoneros, debería empezar valiendo 5.
Hacer mientras ((n - (13-2)) modulo 13) distinto de 0   //en vez de (13-2), lo razonable sería poner ((13 - (naranjos modulo 13)
   n +=5
repetir

y finalmente confirmamos que sea cierto:
Código:
//67 era el número previo, 13 siguen siendo los árboles en cada línea
// es decir naranjos + limoneros hacen líneas completas?
Si ((67 + n) módulo 13) = 0 luego
    mensaje = "si líneas completas."
sino
    mensaje "pués no..."
fin si

El resultado final es que deberá comprar 50 limoneros... así tendrá 9 líneas de 13 árboles.

Finalmenter la congrencia consiste en que dos números tengan el mismo resto dados un divisor común.
Por ejemplo:
Código:
buleano = funcion  Congruencia(valor1, valor2, divisor)
   devolver ((valor1 modulo divisor) = (valor2 modulo divisor))
Fin funcion

Un ejemplo el día 122 del año es el mismo día que el 257 del año?
Código:
Mensaje = Congruencia(122, 257, 7) //porque 7 días tiene la semana,
//     no importa que día sea en concreto, cada 7 días coincidirán.. esto es, el día 1º del año, será el mismo que el 8º, el 15º, el 22º, etc...

Y si no lo es, cuál sería el siguiente dia congruente con el 122º?...
Código:
n = 0
Hacer mientras Congruencia(122, 257 + n, 7) = FALSE
        n += 1
Repetir
Mensaje (257 + n)

Puede ser optimizado para no requerir un bucle, te lo dejo como tarea...

« Última modificación: 10 Septiembre 2017, 02:38 por NEBIRE » En línea

EladioJr99

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Como funciona el mod(%) en c#
« Respuesta #5 en: 10 Septiembre 2017, 20:23 »

Muchas gracias a todos, me quedo muy claro
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines