sábado, 16 de mayo de 2026

Mostrar los n primeros números de la siguiente serie: 1,3,9,11,33,35,105,107,... 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 c = 1, vi = 1, n;
            n = Convert.ToInt64(txtNum.Text);
            while(c <= n)
            {
                if(c != 1)
                {
                    if(c % 2 == 0)
                    {
                        vi += 2;
                    }
                    else
                    {
                        vi *= 3;
                    }
                }
                lbxResultado.Items.Add(vi);
                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.
<= --> 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 de desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
% --> el operador de modulo ( % ) devuelve el resto de la división.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
*= --> el operador de asignación de multiplicación ( *= ) multiplica el valor del operando derecho de 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 siguiente serie:

1, 3, 9, 11, 33, 35, 105, 107...

La lógica de la serie es:

  • Cuando la posición es par, se suma 2.
  • Cuando la posición es impar, se multiplica por 3.

Librerías del programa

using System; using System.Windows.Forms;

Estas librerías permiten utilizar funciones básicas de C# y crear formularios de Windows.

Namespace y clase principal

namespace Ejercicio { public partial class frmEjercicio : Form

El namespace organiza el proyecto y la clase frmEjercicio representa el formulario principal.

Constructor del formulario

public frmEjercicio() { InitializeComponent(); }

El constructor inicializa todos los controles 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.

Declaración de variables

long c = 1, vi = 1, n;
  • c: contador del ciclo.
  • vi: valor actual de la serie.
  • n: cantidad de números que se mostrarán.

Conversión del número ingresado

n = Convert.ToInt64(txtNum.Text);

Convierte el valor escrito en el TextBox a un número entero.

Ciclo while

while(c <= n)

El ciclo se repetirá mientras el contador sea menor o igual a n.

Primera condición

if(c != 1)

Evita modificar el primer número de la serie porque inicia en 1.

Condición para números pares

if(c % 2 == 0) { vi += 2; }

Si el contador es par, al valor actual se le suma 2.

1 + 2 = 3 9 + 2 = 11 33 + 2 = 35

Condición para números impares

else { vi *= 3; }

Si el contador es impar, el valor actual se multiplica por 3.

3 × 3 = 9 11 × 3 = 33 35 × 3 = 105

Mostrar resultados

lbxResultado.Items.Add(vi);

Agrega cada número generado al ListBox.

Incrementar contador

c++;

Incrementa el contador para continuar el ciclo.

Botón Limpiar

private void btnLimpiar_Click(object sender, EventArgs e) { txtNum.Clear(); lbxResultado.Items.Clear(); txtNum.Focus(); }
  • Limpia la caja de texto.
  • Elimina los resultados del ListBox.
  • Coloca nuevamente el cursor en el TextBox.

Funcionamiento del programa

Si el usuario escribe:

7

El programa mostrará:

1 3 9 11 33 35 105

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. ❤️