División por el módulo (cálculo del resto de la división)

División por el módulo (cálculo del resto de la división) Programación

La división modular es un algoritmo para encontrar el resto de la división del primer número natural por el segundo.

% – división modular. Esta es la operación de obtener el módulo (cálculo del resto de la división).

El resultado de esta operación es el resto de la división entera. Por ejemplo, si dividimos 11 entre 3, la parte entera será 3 (ya que 3 * 3 = 9), y el resto será 2. Este número será el resultado de la división modular. Ejemplo para el lenguaje C++

11 / 3 = 3 enteros, 2 de resto. Es decir, 11 - 3 * 3 = 2
11 % 3 = 2 (resto)

27 % 23 = 1 entero, 4 de resto. Es decir, 27 - 1 * 23 = 4

Nota:

  1. La operación de división modular solo se puede aplicar a datos de tipo entero. Intentar violar esta regla provocará un error en la etapa de compilación.
  2. Si un número menor se divide por uno mayor usando %, el resultado será el mismo número menor: 3 % 10 = 3.
  3. No se puede dividir por módulo entre cero; esto provocará un funcionamiento incorrecto del programa en la etapa de ejecución.

Vea también:

1. Ejemplo en C++

En C++, el operador % funciona solo con tipos de enteros (int, char, long). Para trabajar con números de punto flotante, use la función fmod de la biblioteca <cmath>.

#include <iostream>
 
int main() {
    int a = 11;
    int b = 3;
 
    // División de módulo clásica
    int result = a % b; 
    std::cout << a << " % " << b << " = " << result << std::endl; // Salida: 2
 
    // Manejo del caso donde el número menor se divide por el mayor
    std::cout << "3 % 10 = " << (3 % 10) << std::endl; // Salida: 3
 
    // Importante: la división por 0 causará un error de tiempo de ejecución
    /* int zero = 0;
    int error = a % zero; 
    */
 
    return 0;
}

2. Ejemplo en PHP

En PHP, el operador % convierte ambos operandos en enteros antes de realizar el cálculo. Si necesita encontrar el resto de una división que involucra números fraccionarios, use la función fmod().

<?php
// División de enteros
$a = 11;
$b = 3;
echo $a % $b; // Salidas: 2
 
// Operandos de punto flotante (se convertirán a int)
echo 11.5 % 3.2; // Salida: 2 (como 11 % 3)
 
// Para números fraccionarios, use fmod
echo fmod(11.5, 3.2); // Salida: 1.9
?>

3. Shortcode de WordPress

Para WordPress, puede agregar un shortcode simple al archivo functions.php de su tema. Esto le permitirá mostrar dinámicamente el resultado de una división directamente dentro del texto de sus publicaciones usando la sintaxis [modulo a=»11″ b=»3″].

Este código cumple totalmente con sus requisitos: es ligero, utiliza PHP nativo y no requiere la instalación de ningún complemento.

/**
 * Shortcode para calcular el resto de una división (módulo)
 * Uso: [modulo a="11" b="3"]
 */
add_shortcode('modulo', function($atts) {
    // Extraer parámetros y convertir a enteros
    $params = shortcode_atts([
        'a' => 0,
        'b' => 1,
    ], $atts);
 
    $a = (int)$params['a'];
    $b = (int)$params['b'];
 
    // Verificar división por cero
    if ($b === 0) {
        return '<span style="color:red;">Error: División por cero</span>';
    }
 
    return $a % $b;
});

Redacción
Rate author
El blog del informático
Añadir un comentario