lunes, 4 de mayo de 2026

Determinar la frecuencia de dígitos de un número en JavaScript

Código del ejercicio:

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Ejercicio JavaScript</title>
</head>
<body>
    <script>
        let n = parseInt(prompt('Ingresar número:'));
        let c = 0, aux = 0, r = 0;
        while(c <= 9){
            aux = n;
            fd = 0;
            while(aux > 0){
                r = aux % 10;
                if(r == c){
                    fd = fd + 1;
                }
                aux = (aux - r) / 10;
            }
            if(fd > 0){
                document.write(`La frecuencia de ${c} es: ${fd}<br>`);
            }
            c = c + 1;
        }
    </script>
</body>
</html>

Definición de los códigos del ejercicio:

<script></script> --> contiene comandos u ordenes que se van ejecutando de manera secuencial y comúnmente se utilizan para controlar el comportamiento de un programa en específico o para interactuar con el sistema operativo.
let --> permite declarar variables limitando su alcance (scope) al bloque, declaración, o expresión donde se está usando.
parseInt() --> analiza un valor como una cadena y devuelve el primer entero.
prompt() --> muestra un cuadro de diálogo con mensaje opcional, que solicita al usuario que introduzca un texto.
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
if --> se usa para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
<= --> el operador menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
% --> el operador de modulo ( % ) devuelve el resto de la división.
== --> el operador de comparacion ( == ) comprueba si sus dos operandos son iguales y devuelve un resultado booleano.
<br> --> El elemento HTML <br> produce un salto de línea en el texto.
document.write --> imprime el texto especificado en la página.
`${}` --> los literales de plantilla (cadenas de plantilla) le permiten utilizar cadenas o expresiones incrustadas en forma de cadena.

Explicación del Código:


¿Qué hace el programa?

Permite ingresar un número y cuenta cuántas veces aparece cada dígito del 0 al 9.

Ingreso del número

Se pide un número al usuario y se convierte a entero.

let n = parseInt(prompt('Ingresar número:'));
Variables utilizadas
  • c: recorre los números del 0 al 9
  • aux: copia del número
  • r: último dígito del número
  • fd: contador de frecuencia
Bucle principal

Recorre cada dígito del 0 al 9.

while(c <= 9){
Reinicio de valores

Se copia el número original y se reinicia el contador.

aux = n; fd = 0;
Separación de dígitos

Se obtiene cada dígito usando el operador módulo (%).

r = aux % 10;
Comparación

Si el dígito coincide con el valor actual (c), se cuenta.

if(r == c){ fd = fd + 1; }
Reducción del número

Se elimina el último dígito para seguir analizando.

aux = (aux - r) / 10;
Mostrar resultados

Si el dígito aparece, se muestra su frecuencia.

if(fd > 0){ document.write(`La frecuencia de ${c} es: ${fd}
`); }
Incremento

Se pasa al siguiente número.

c = c + 1;
Resumen

El programa revisa cada dígito del número y cuenta cuántas veces aparece cada uno.

No hay comentarios.:

Publicar un comentario

Mostrar los x primeros números de la siguiente serie: 2,3,6,7,14,15,30,31,62,63,... en JavaScript

Código del ejercicio: <! DOCTYPE html > < html lang = "es" > < head >     < meta charset = ...

Copyright ©2025 Ejercicios de programación. Todos los derechos reservados. ❤️