domingo, 28 de junio de 2026

Mostrar los x primeros números de la siguiente serie: 1,2,4,7,8,10,13,14,16,19,... en HTML y 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 HTML y JavaScript</title>
</head>
<body>
    <h3>Mostrar los x primeros números de la siguiente serie: 1,2,4,7,8,10,13,14,16,19,...</h3>
    <form action="">
        <label for="">número:</label>
        <input type="number" id="numero"><br><br>
        <input type="button" value="Mostrar" onclick="mostrar()">
        <input type="reset" value="Limpiar"><br><br>
        <label for="">resultado:</label><br>
        <textarea name="" id="resultado" cols="30" rows="10"></textarea>
    </form>
    <script>
        function mostrar(){
            let n = parseInt(document.getElementById('numero').value);
            let t = [], s = 1, sw = 1, c = 0;
            while(c < n){
                t.push(s);
                if(sw == 1){
                    s++;
                    sw = 2;
                }else if(sw == 2){
                    s += 2;
                    sw = 3;
                }else{
                    s += 3;
                    sw = 1;
                }
                c++;
            }
            document.getElementById('resultado').value = t;
        }
    </script>
</body>
</html>

Definición de los códigos del ejercicio:

<h3></h3> --> representa un encabezado de nivel 3.
<form></form> --> se utiliza para crear un formulario HTML para la entrada del usuario.
<br> --> produce un salto de línea en el texto.
<label></label> --> representa una etiqueta para un elemento en una interfaz de usuario.
<input> --> etiqueta especifica un campo de entrada donde el usuario puede ingresar datos.
<textarea></textarea> --> define un control de entrada de texto de varias líneas.
onclick --> onclick evento ocurre cuando el usuario hace clic en un elemento.
<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.
function --> es un bloque de código diseñado para realizar una tarea en particular.
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.
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.
else if --> se usa para especificar una nueva condición para probar, si la primera condición es falsa.
else --> se usa para especificar un bloque de código a ejecutar, si la misma condición es falsa.
.push() --> agrega uno o más elementos al final de un array y devuelve la nueva longitud del array.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
== --> el operador de comparacion ( == ) comprueba si sus dos operandos son iguales y devuelve un resultado booleano.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
document.getElementById() --> devuelve un elemento con un valor especificado.
.value --> establece o devuelve el valor del atributo de valor de un campo de texto.

Explicación del Código:

¿Qué hace este programa?

Este programa permite al usuario escribir un número (x) para indicar cuántos elementos desea mostrar de la siguiente serie:

1, 2, 4, 7, 8, 10, 13, 14, 16, 19, ...

Cuando se presiona el botón Mostrar, JavaScript genera esa cantidad de números y los muestra dentro del área de texto.

Explicación del código HTML

Código Función
<h3> Muestra el título del ejercicio.
<input type="number"> Permite ingresar la cantidad de números que tendrá la serie.
<input type="button"> Ejecuta la función mostrar().
<input type="reset"> Limpia todos los datos del formulario.
<textarea> Presenta la serie generada.

Explicación del código JavaScript

1. Declaración de la función

function mostrar(){ }

Se crea una función llamada mostrar(). Esta función se ejecuta cuando el usuario hace clic en el botón Mostrar.


2. Leer el número ingresado

let n = parseInt(document.getElementById('numero').value);

Obtiene el valor escrito por el usuario y lo convierte en un número entero utilizando parseInt().


3. Declaración de variables

let t = [], s = 1, sw = 1, c = 0;
Variable Función
t Arreglo donde se guardan todos los números de la serie.
s Representa el número actual de la serie. Inicia en 1.
sw Controla qué incremento se aplicará (+1, +2 o +3).
c Cuenta cuántos números se han generado.

4. Ciclo while

while(c < n){

El ciclo continúa ejecutándose mientras el contador sea menor que el número solicitado por el usuario.


5. Guardar el número

t.push(s);

Agrega el número actual al arreglo para conservarlo y mostrarlo al finalizar.


6. Generar la siguiente posición de la serie

if(sw == 1){ s++; sw = 2; } else if(sw == 2){ s += 2; sw = 3; } else{ s += 3; sw = 1; }

Este bloque genera la serie siguiendo siempre el mismo patrón:

  • Primero suma 1.
  • Luego suma 2.
  • Después suma 3.
  • Finalmente vuelve a comenzar sumando 1.

Por eso la serie queda:

1 → 2 (+1) 2 → 4 (+2) 4 → 7 (+3) 7 → 8 (+1) 8 → 10 (+2) 10 → 13 (+3) 13 → 14 (+1) 14 → 16 (+2) 16 → 19 (+3)

7. Incrementar el contador

c++;

Indica que ya se generó un nuevo número de la serie.


8. Mostrar el resultado

document.getElementById("resultado").value = t;

Todos los números almacenados en el arreglo se muestran dentro del área de texto.

Resumen del algoritmo

  1. Leer la cantidad de números.
  2. Comenzar desde el número 1.
  3. Guardar cada número generado.
  4. Sumar 1, luego 2 y luego 3.
  5. Repetir ese patrón hasta completar la cantidad solicitada.
  6. Mostrar toda la serie en el cuadro de resultados.
Conclusión: Este algoritmo utiliza un ciclo while para generar la serie y una variable llamada sw como interruptor para alternar automáticamente las sumas de 1, 2 y 3. Los valores se almacenan en un arreglo y finalmente se muestran al usuario.

No hay comentarios.:

Publicar un comentario

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