sábado, 16 de mayo de 2026

Mostrar los x primeros números de la siguiente serie: 1,2,4,7,8,10,13,14,16,19,... en Windows Forms C Sharp

Código del ejercicio:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Ejercicio
{
    public partial class frmEjercicio : Form
    {
        public frmEjercicio()
        {
            InitializeComponent();
        }

        private void btnMostrar_Click(object sender, EventArgs e)
        {
            long s = 1, sw = 1, c = 0, x;
            x = Convert.ToInt64(txtNum.Text);
            while(c < x)
            {
                lbxResultado.Items.Add(s);
                if(sw == 1)
                {
                    s++;
                    sw = 2;
                }
                else if(sw == 2)
                {
                    s += 2;
                    sw = 3;
                }
                else
                {
                    s += 3;
                    sw = 1;
                }
                c++;
            }
        }

        private void btnLimpiar_Click(object sender, EventArgs e)
        {
            txtNum.Clear();
            lbxResultado.Items.Clear();
            txtNum.Focus();
        }
    }
}

Definición de los códigos del ejercicio:

long --> dato entero de 64 bits.
Convert.ToInt64() --> convierte un valor especificado en un entero de 64 bits con signo.
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
else if --> use else if para especificar una nueva condición para probar, si la primera condición es falsa.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
++ --> 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.
Clear() --> borra todo el contenido del cuadro de texto.
Focus() --> establece el foco de entrada.
ListBox.Items.Clear() --> borra todos los elementos dentro de un cuadro de lista.
listBox.Items.Add() --> agregar elementos a un control de cuadro de lista

Explicación del Código:

Este programa muestra los primeros números de la serie:

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

La serie aumenta sumando:

  • +1
  • +2
  • +3
  • y vuelve a repetir.

Librerías

using System;
using System.Windows.Forms;

Estas librerías permiten usar herramientas básicas de C# y crear ventanas con controles como botones, TextBox y ListBox.

Namespace y Formulario

namespace Ejercicio
{
    public partial class frmEjercicio : Form  

namespace organiza el proyecto.

frmEjercicio es el formulario principal del programa.

: Form significa que la clase representa una ventana de Windows Forms.

Constructor del Formulario

public frmEjercicio()
{
    InitializeComponent();
}

El constructor se ejecuta al abrir el formulario.

InitializeComponent() carga todos los controles creados en el diseño del formulario.

Evento del Botón Mostrar

private void btnMostrar_Click(object sender, EventArgs e)  

Este evento se ejecuta cuando el usuario hace clic en el botón Mostrar.

Variables

long s = 1, sw = 1, c = 0, x;
  • s: guarda el número actual de la serie.
  • sw: controla qué suma se realizará.
  • c: contador de números mostrados.
  • x: cantidad de números ingresados por el usuario.

Lectura del Número

x = Convert.ToInt64(txtNum.Text);

Convierte el valor escrito en el TextBox a tipo entero largo.

Ciclo While

while(c < x)

El ciclo se repite hasta mostrar la cantidad de números indicada por el usuario.

Mostrar los Números

lbxResultado.Items.Add(s);

Agrega el número actual al ListBox.

Formación de la Serie

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

Esta parte genera la serie.

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

Ejemplo:

1 → 2 → 4 → 7 → 8 → 10 → 13...

Contador

c++;

Incrementa el contador para controlar cuántos números ya fueron mostrados.

Botón Limpiar

private void btnLimpiar_Click(object sender, EventArgs e)  
{
    txtNum.Clear();
    lbxResultado.Items.Clear();
    txtNum.Focus();
}
  • txtNum.Clear(): limpia el TextBox.
  • lbxResultado.Items.Clear(): limpia el ListBox.
  • txtNum.Focus(): coloca el cursor nuevamente en el TextBox.

Resumen

  1. El usuario ingresa una cantidad.
  2. El programa inicia desde el número 1.
  3. La serie suma +1, +2 y +3 repetidamente.
  4. Los números se muestran en el ListBox.
  5. El botón limpiar borra todos los datos.

No hay comentarios.:

Publicar un comentario

Determinar si un número natural es capicúa en Windows Forms C Sharp

Código del ejercicio: using System ; using System . Collections . Generic ; using System . ComponentModel ; using System . ...

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