viernes, 15 de mayo de 2026

Mostrar los x primeros n煤meros de la siguiente serie: 2,3,6,7,14,15,30,31,62,63,... 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 vi = 2, c = 0, sw = 1, x;
            x = Convert.ToInt64(txtNum.Text);
            while(c != x)
            {
                lbxResultado.Items.Add(vi);
                if (sw == 1)
                {
                    vi++;
                    sw = 0;
                }
                else
                {
                    vi *= 2;
                    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.
!= --> el operador de desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
== --> 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 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:

Ejercicio:
Mostrar los x primeros n煤meros de la siguiente serie:

2, 3, 6, 7, 14, 15, 30, 31, 62, 63...

¿C贸mo funciona la serie?

La serie sigue dos operaciones que se repiten:

  • Primero suma 1.
  • Despu茅s multiplica por 2.
2 → 3 (+1)
3 → 6 (*2)
6 → 7 (+1)
7 → 14 (*2)
14 → 15 (+1)

Librer铆as

using System; using System.Windows.Forms;

Permiten usar funciones b谩sicas de C# y los controles de Windows Forms.

Namespace

namespace Ejercicio

Organiza el programa dentro del proyecto llamado Ejercicio.

Clase del Formulario

public partial class frmEjercicio : Form

Representa la ventana principal del programa.

Constructor

public frmEjercicio() { InitializeComponent(); }

Inicializa todos los controles del formulario:

  • Botones
  • TextBox
  • ListBox

Evento del bot贸n Mostrar

private void btnMostrar_Click(object sender, EventArgs e)

Este bloque se ejecuta cuando el usuario hace clic en el bot贸n Mostrar.

Variables

long vi = 2, c = 0, sw = 1, x;
  • vi: Guarda el valor actual de la serie.
  • c: Cuenta cu谩ntos n煤meros se mostraron.
  • sw: Decide si sumar o multiplicar.
  • x: Cantidad de n煤meros que ingres贸 el usuario.

Capturar el n煤mero ingresado

x = Convert.ToInt64(txtNum.Text);

Convierte el contenido del TextBox en un n煤mero entero.

Ciclo while

while(c != x)

El ciclo se repite hasta mostrar la cantidad de n煤meros solicitados.

Mostrar datos en el ListBox

lbxResultado.Items.Add(vi);

Agrega el n煤mero actual de la serie en la lista.

L贸gica de la serie

if (sw == 1) { vi++; sw = 0; } else { vi *= 2; sw = 1; }

Aqu铆 se genera la serie:

  • Si sw vale 1, suma 1.
  • Si sw vale 0, multiplica por 2.
  • Despu茅s cambia el valor de sw para alternar operaciones.

Incrementar contador

c++;

Cuenta 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(); }
  • Limpia el TextBox.
  • Limpia el ListBox.
  • Coloca el cursor nuevamente en el TextBox.

Resumen

El programa muestra los primeros n煤meros de una serie alternando dos operaciones:

sumar 1 y multiplicar por 2.

Generar la siguiente serie 1,1,1,2,2,2,3,3,3,4,4,4,... 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 a = 1, sw = 1, stop = 3, b;
            b = Convert.ToInt64(txtNum.Text);
            while(a <= b)
            {
                lbxResultado.Items.Add(a);
                if (sw < stop)
                {
                    sw++;
                }
                else
                {
                    a++;
                    sw = 1;
                }
            }
        }

        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 menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
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 en Windows Forms genera una serie num茅rica donde cada n煤mero se repite 3 veces:

1,1,1,2,2,2,3,3,3,4,4,4...

C贸digo Principal

long a = 1, sw = 1, stop = 3, b;
b = Convert.ToInt64(txtNum.Text);

while(a <= b)
{
    lbxResultado.Items.Add(a);

    if (sw < stop)
    {
        sw++;
    }
    else
    {
        a++;
        sw = 1;
    }
}

Explicaci贸n Simple de Cada Parte

  • long a = 1
    La variable a almacena el n煤mero actual que se mostrar谩 en la serie. Empieza desde 1.
  • sw = 1
    La variable sw funciona como contador para saber cu谩ntas veces se repite el n煤mero.
  • stop = 3
    Indica que cada n煤mero debe repetirse 3 veces.
  • b
    Guarda el n煤mero l铆mite ingresado por el usuario.
  • Convert.ToInt64(txtNum.Text)
    Convierte el valor escrito en el TextBox a tipo n煤mero.
  • while(a <= b)
    El ciclo se ejecuta mientras el valor de a sea menor o igual al l铆mite.
  • lbxResultado.Items.Add(a)
    Agrega el n煤mero actual al ListBox.
  • if (sw < stop)
    Verifica si el n煤mero a煤n no fue repetido 3 veces.
  • sw++
    Incrementa el contador de repeticiones.
  • a++
    Cuando el n煤mero ya se repiti贸 3 veces, pasa al siguiente n煤mero.
  • sw = 1
    Reinicia el contador para volver a repetir el nuevo n煤mero.

Funcionamiento de la Serie

El programa realiza los siguientes pasos:

• Muestra el n煤mero 1 tres veces.
• Luego muestra el n煤mero 2 tres veces.
• Despu茅s el n煤mero 3 tres veces.
• Contin煤a as铆 hasta llegar al l铆mite ingresado.

Ejemplo

Si el usuario ingresa:

4

El resultado ser谩:

1,1,1,2,2,2,3,3,3,4,4,4

Pedir un n煤mero y luego ordenar de menor a mayor los d铆gitos 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 btnCalcular_Click(object sender, EventArgs e)
        {
            long ac = 0, c = 0, r, aux, n;
            n = Convert.ToInt64(txtNum.Text);
            while(c <= 9)
            {
                aux = n;
                while(aux > 0)
                {
                    r = aux % 10;
                    if(r == c)
                    {
                        ac = (ac * 10) + r;
                    }
                    aux = (aux - r) / 10;
                }
                c++;
            }
            txtResultado.Text = ac.ToString();
        }

        private void btnLimpiar_Click(object sender, EventArgs e)
        {
            txtNum.Clear();
            txtResultado.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.
<= --> 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 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.
ToString() --> devuelve una cadena que representa el objeto actual.
Clear() --> borra todo el contenido del cuadro de texto.
Focus() --> establece el foco de entrada.

Explicaci贸n del C贸digo:

Este programa permite ingresar un n煤mero y luego ordenar sus d铆gitos de menor a mayor.

Librer铆as

using System;
using System.Windows.Forms;

Las librer铆as permiten utilizar herramientas de C# y controles de Windows Forms como botones y TextBox.

Namespace y Clase

namespace Ejercicio
{
  public partial class frmEjercicio : Form
}

namespace Ejercicio: organiza el proyecto.

frmEjercicio: es el formulario principal.

: Form indica que la clase hereda las funciones de Windows Forms.

Constructor

public frmEjercicio()
{
  InitializeComponent();
}

El constructor inicializa todos los componentes del formulario.

Evento del Bot贸n Calcular

private void btnCalcular_Click(object sender, EventArgs e)

Este evento se ejecuta cuando el usuario hace clic en el bot贸n Calcular.

Variables

long ac = 0, c = 0, r, aux, n;

ac: almacena el n煤mero ordenado.

c: contador del 0 al 9.

r: guarda cada d铆gito.

aux: copia temporal del n煤mero.

n: n煤mero ingresado por el usuario.

Leer el N煤mero

n = Convert.ToInt64(txtNum.Text);

Convierte el texto ingresado a un n煤mero entero largo.

Recorrer los N煤meros del 0 al 9

while(c <= 9)

El ciclo recorre los n煤meros desde 0 hasta 9 para ordenar los d铆gitos.

Copiar el N煤mero

aux = n;

Guarda una copia del n煤mero original.

Recorrer los D铆gitos

while(aux > 0)

Recorre cada d铆gito del n煤mero.

Obtener el 脷ltimo D铆gito

r = aux % 10;

Obtiene el 煤ltimo d铆gito usando el operador m贸dulo.

Comparar el D铆gito

if(r == c)

Verifica si el d铆gito es igual al contador actual.

Formar el N煤mero Ordenado

ac = (ac * 10) + r;

Agrega el d铆gito al nuevo n煤mero ordenado.

Eliminar el 脷ltimo D铆gito

aux = (aux - r) / 10;

Elimina el 煤ltimo d铆gito para seguir revisando el n煤mero.

Incrementar el Contador

c++;

Aumenta el contador para continuar con el siguiente n煤mero.

Mostrar Resultado

txtResultado.Text = ac.ToString();

Convierte el resultado a texto y lo muestra en pantalla.

Bot贸n Limpiar

private void btnLimpiar_Click(object sender, EventArgs e)

Limpia los TextBox y coloca el cursor nuevamente en el cuadro principal.

txtNum.Clear();
txtResultado.Clear();
txtNum.Focus();

Funcionamiento General

1. El usuario escribe un n煤mero.

2. El programa revisa cada d铆gito.

3. Los ordena de menor a mayor.

4. Finalmente muestra el resultado.

Pedir un n煤mero y determinar si un n煤mero es perfecto 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 btnCalcular_Click(object sender, EventArgs e)
        {
            long ac = 0, n;
            n = Convert.ToInt64(txtNum.Text);
            long i = n - 1;
            while (i > 0)
            {
                long r = n % i;
                if(r == 0)
                {
                    ac += i;
                }
                i--;
            }
            if (n == ac)
            {
                txtResultado.Text = "El n煤mero es perfecto.";
            }
            else
            {
                txtResultado.Text = "El n煤mero no es perfecto.";
            }
        }

        private void btnLimpiar_Click(object sender, EventArgs e)
        {
            txtNum.Clear();
            txtResultado.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 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 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 decremento (--) disminuye (o resta de a uno) su operando y retorna un valor.
Clear() --> borra todo el contenido del cuadro de texto.
Focus() --> establece el foco de entrada.

Explicaci贸n del C贸digo:

¿Qu茅 hace el programa?

Este programa solicita un n煤mero al usuario y verifica si es un n煤mero perfecto.

Un n煤mero perfecto es aquel cuya suma de sus divisores, excepto el mismo n煤mero, es igual al n煤mero ingresado.

Ejemplo:
6 = 1 + 2 + 3

Librer铆as del Programa

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;

Estas librer铆as permiten utilizar funciones b谩sicas de C# y herramientas de Windows Forms.

Namespace

namespace Ejercicio

El namespace sirve para organizar el c贸digo del proyecto.

Clase del Formulario

public partial class frmEjercicio : Form

Aqu铆 se crea el formulario principal del programa.

Constructor

public frmEjercicio()
{
    InitializeComponent();
}

El constructor inicializa todos los componentes del formulario.

Evento del Bot贸n Calcular

private void btnCalcular_Click(object sender, EventArgs e)

Este m茅todo se ejecuta cuando el usuario hace clic en el bot贸n Calcular.

Declaraci贸n de Variables

long ac = 0, n;

ac almacena la suma de divisores.
n guarda el n煤mero ingresado.

Capturar el N煤mero

n = Convert.ToInt64(txtNum.Text);

Convierte el texto ingresado por el usuario en un n煤mero entero.

Inicializar Variable i

long i = n - 1;

La variable i comienza desde un n煤mero menor que n para buscar divisores.

Ciclo While

while (i > 0)

El ciclo se repite mientras i sea mayor que 0.

Residuo de la Divisi贸n

long r = n % i;

El operador % obtiene el residuo de la divisi贸n.

Si el residuo es 0, entonces i es divisor de n.

Verificar Divisor

if(r == 0)

Comprueba si el n煤mero tiene divisi贸n exacta.

Acumular Divisores

ac += i;

Suma los divisores encontrados.

Disminuir i

i--;

Reduce el valor de i en 1 para continuar revisando divisores.

Verificar si es Perfecto

if (n == ac)

Si la suma de divisores es igual al n煤mero, entonces es perfecto.

Mostrar Resultado

txtResultado.Text = "El n煤mero es perfecto.";

Muestra el mensaje indicando que el n煤mero es perfecto.

txtResultado.Text = "El n煤mero no es perfecto.";

Muestra el mensaje indicando que el n煤mero no es perfecto.

Bot贸n Limpiar

private void btnLimpiar_Click(object sender, EventArgs e)

Este m茅todo limpia las cajas de texto.

Limpiar TextBox

txtNum.Clear();
txtResultado.Clear();

Borra el contenido de las cajas de texto.

Colocar el Cursor

txtNum.Focus();

Coloca nuevamente el cursor en la caja donde se escribe el n煤mero.

Determinar la frecuencia de d铆gitos de un n煤mero 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 btnCalcular_Click(object sender, EventArgs e)
        {
            long c = 0, aux = 0, r = 0, fd = 0, n;
            n = Convert.ToInt64(txtNum.Text);
            while (c <= 9)
            {
                aux = n;
                fd = 0;
                while (aux > 0)
                {
                    r = aux % 10;
                    if (r == c)
                    {
                        fd++;
                    }
                    aux = (aux - r) / 10;
                }
                if(fd > 0)
                {
                    lbxResultado.Items.Add($"La frecuencia de {c} es: {fd}");
                }
                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.
<= --> 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 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.
ToString() --> devuelve una cadena que representa el objeto actual.
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:

¿Qu茅 hace el programa?

Este programa permite ingresar un n煤mero y calcular cu谩ntas veces aparece cada d铆gito del 0 al 9.

Ejemplo:

N煤mero ingresado: 1223344

Resultado:
La frecuencia de 1 es: 1
La frecuencia de 2 es: 2
La frecuencia de 3 es: 2
La frecuencia de 4 es: 2

Librer铆as using

using System; using System.Windows.Forms;

Las librer铆as permiten usar funciones b谩sicas de C# y los componentes gr谩ficos de Windows Forms.

Namespace

namespace Ejercicio

El namespace organiza las clases del programa.

Clase del formulario

public partial class frmEjercicio : Form

Esta l铆nea crea el formulario principal de la aplicaci贸n.

Constructor

public frmEjercicio() { InitializeComponent(); }

Inicializa todos los componentes del formulario.

Evento del bot贸n Calcular

private void btnCalcular_Click(object sender, EventArgs e)

Este evento se ejecuta cuando el usuario hace clic en el bot贸n "Calcular".

Variables utilizadas

long c = 0, aux = 0, r = 0, fd = 0, n;
  • c: d铆gito que se busca.
  • aux: copia auxiliar del n煤mero.
  • r: almacena el 煤ltimo d铆gito.
  • fd: frecuencia del d铆gito.
  • n: n煤mero ingresado.

Leer el n煤mero

n = Convert.ToInt64(txtNum.Text);

Convierte el texto ingresado en un n煤mero entero.

Recorrer los d铆gitos del 0 al 9

while (c <= 9)

Este ciclo busca la frecuencia de todos los d铆gitos del 0 al 9.

Extraer el 煤ltimo d铆gito

r = aux % 10;

Obtiene el 煤ltimo d铆gito del n煤mero.

Comparar d铆gitos

if (r == c) { fd++; }

Si el d铆gito es igual al buscado, aumenta el contador.

Eliminar el 煤ltimo d铆gito

aux = (aux - r) / 10;

Elimina el 煤ltimo d铆gito para continuar revisando el n煤mero.

Mostrar resultados

lbxResultado.Items.Add($"La frecuencia de {c} es: {fd}");

Muestra la frecuencia encontrada en el ListBox.

Bot贸n Limpiar

txtNum.Clear(); lbxResultado.Items.Clear(); txtNum.Focus();

Limpia la caja de texto, elimina los resultados y coloca el cursor nuevamente en el TextBox.

Calcular el producto entre a y b sin utilizar multiplicaci贸n 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 btnCalcular_Click(object sender, EventArgs e)
        {
            double ac = 0, c = 0, a, b;
            a = Convert.ToDouble(txtNum1.Text);
            b = Convert.ToDouble(txtNum2.Text);
            while (c < b)
            {
                ac += a;
                c++;
            }
            txtResultado.Text = ac.ToString();
        }

        private void btnLimpiar_Click(object sender, EventArgs e)
        {
            txtNum1.Clear();
            txtNum2.Clear();
            txtResultado.Clear();
            txtNum1.Focus();
        }
    }
}

Definici贸n de los c贸digos del ejercicio:

double --> se usa para declarar n煤meros reales de coma flotante de 64 bits (doble precisi贸n).
Convert.ToDouble() --> convierte un valor especificado en un n煤mero de coma flotante de precisi贸n doble.
while --> el ciclo while recorre un bloque de c贸digo siempre que una condici贸n espec铆fica sea verdadera.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
+= --> 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.
ToString() --> devuelve una cadena que representa el objeto actual.
Clear() --> borra todo el contenido del cuadro de texto.
Focus() --> establece el foco de entrada.

Explicaci贸n del C贸digo:

¿Qu茅 hace el programa?

Este programa desarrollado en Windows Forms C# calcula el producto entre dos n煤meros sin utilizar el operador de multiplicaci贸n (*).

El c谩lculo se realiza usando sumas repetidas.

Ejemplo: 4 × 3 Se convierte en: 4 + 4 + 4 = 12

Librer铆as utilizadas

using System; using System.Windows.Forms;

Estas librer铆as permiten utilizar funciones b谩sicas de C# y los controles gr谩ficos de Windows Forms como botones, formularios y cajas de texto.

Creaci贸n del formulario

public partial class frmEjercicio : Form

Esta l铆nea crea la ventana principal del programa. frmEjercicio es el nombre del formulario.

Constructor del formulario

public frmEjercicio() { InitializeComponent(); }

El constructor se ejecuta autom谩ticamente cuando se abre el formulario.

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

Bot贸n Calcular

private void btnCalcular_Click(object sender, EventArgs e) { double ac = 0, c = 0, a, b; a = Convert.ToDouble(txtNum1.Text); b = Convert.ToDouble(txtNum2.Text); while (c < b) { ac += a; c++; } txtResultado.Text = ac.ToString(); }

Este m茅todo se ejecuta cuando el usuario hace clic en el bot贸n Calcular.

Variables utilizadas

  • ac → Guarda el resultado acumulado.
  • c → Funciona como contador.
  • a → Primer n煤mero ingresado.
  • b → Segundo n煤mero ingresado.

Conversi贸n de datos

a = Convert.ToDouble(txtNum1.Text); b = Convert.ToDouble(txtNum2.Text);

Convierte el texto ingresado en las cajas de texto a n煤meros decimales.

Ciclo while

while (c < b) { ac += a; c++; }

El ciclo repite la suma del n煤mero a tantas veces como indique el n煤mero b.

Cada repetici贸n:

  • Suma a al acumulador ac.
  • Aumenta el contador c en 1.

Mostrar resultado

txtResultado.Text = ac.ToString();

El resultado final se muestra en la caja de texto llamada txtResultado.

Bot贸n Limpiar

private void btnLimpiar_Click(object sender, EventArgs e) { txtNum1.Clear(); txtNum2.Clear(); txtResultado.Clear(); txtNum1.Focus(); }

Este m茅todo limpia todas las cajas de texto del formulario.

  • Clear() elimina el contenido.
  • Focus() coloca el cursor en la primera caja de texto.

Resumen del ejercicio

El programa calcula multiplicaciones utilizando 煤nicamente sumas repetidas mediante un ciclo while.

Ejemplo: a = 6 b = 4 Proceso: 6 + 6 + 6 + 6 = 24

Contar la vocal "u" en una cadena dada por teclado 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 btnContar_Click(object sender, EventArgs e)
        {
            int c = 0, i = 0;
            string s = txtVocal.Text;
            while (i < s.Length)
            {
                if (s[i] == 'u')
                {
                    c++;
                }
                i++;
            }
            txtResultado.Text = $"El texto tiene {c} vocales u.";
        }

        private void btnLimpiar_Click(object sender, EventArgs e)
        {
            txtVocal.Clear();
            txtResultado.Clear();
            txtVocal.Focus();
        }
    }
}

Definici贸n de los c贸digos del ejercicio:

int --> dato entero de 32 bits.
string --> dato de tipo cadena de texto.
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.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
Length --> obtiene el n煤mero de caracteres del objeto String actual.
== --> 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.
$"{}" --> interpolaci贸n de cadenas proporciona una sintaxis conveniente para concatenar varios valores para formar una cadena.
Clear() --> borra todo el contenido del cuadro de texto.
Focus() --> establece el foco de entrada.

Explicaci贸n del C贸digo:

1. Librer铆as utilizadas

using System;
using System.Windows.Forms;

Estas librer铆as permiten usar funciones b谩sicas de C# y crear interfaces gr谩ficas con Windows Forms.

2. Namespace y formulario

namespace Ejercicio
{
  public partial class frmEjercicio : Form
}

namespace Ejercicio organiza el proyecto.

frmEjercicio representa la ventana principal del programa.

: Form indica que la clase hereda las propiedades de un formulario de Windows Forms.

3. Constructor del formulario

public frmEjercicio()
{
  InitializeComponent();
}

El constructor se ejecuta cuando se abre el formulario.

InitializeComponent() carga todos los controles del formulario como botones y cajas de texto.

4. Evento del bot贸n Contar

private void btnContar_Click(object sender, EventArgs e)

Este m茅todo se ejecuta cuando el usuario hace clic en el bot贸n Contar.

5. Variables utilizadas

int c = 0, i = 0;
string s = txtVocal.Text;

c almacena la cantidad de vocales "u".

i sirve para recorrer el texto car谩cter por car谩cter.

s guarda el texto ingresado por el usuario.

6. Recorrido de la cadena

while (i < s.Length)

El ciclo while recorre toda la cadena de texto.

s.Length devuelve la cantidad total de caracteres.

7. Verificaci贸n de la vocal "u"

if (s[i] == 'u')
{
  c++;
}

El programa verifica si el car谩cter actual es la vocal "u".

Si es correcto, la variable c aumenta en 1.

8. Incremento del contador

i++;

Incrementa la posici贸n para seguir revisando el siguiente car谩cter del texto.

9. Mostrar resultado

txtResultado.Text = $"El texto tiene {c} vocales u.";

Muestra el total de vocales "u" encontradas dentro del texto.

10. Bot贸n Limpiar

txtVocal.Clear();
txtResultado.Clear();
txtVocal.Focus();

Clear() elimina el contenido de las cajas de texto.

Focus() coloca nuevamente el cursor en el TextBox principal.

Mostrar los x primeros n煤meros de la siguiente serie: 2,3,6,7,14,15,30,31,62,63,... 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. ❤️