sábado, 16 de mayo de 2026

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.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 invertir = 0, digito, numero;
            numero = Convert.ToInt64(txtNum.Text);
            long aux = numero;
            while(numero > 0)
            {
                digito = numero % 10;
                invertir = (invertir * 10) + digito;
                numero = (numero - digito) / 10;
            }
            if(invertir == aux)
            {
                txtResultado.Text = "Es capicúa.";
            }
            else
            {
                txtResultado.Text = "No es capicúa.";
            }
        }

        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.
Clear() --> borra todo el contenido del cuadro de texto.
Focus() --> establece el foco de entrada.

Explicación del Código:

Un número capicúa es aquel que se lee igual de izquierda a derecha y de derecha a izquierda.

Ejemplos:
121 → Capicúa
1331 → Capicúa
123 → No es capicúa

Librerías Utilizadas

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 herramientas de Windows Forms, manejo de datos y funciones básicas del lenguaje C#.

Namespace del Proyecto

namespace Ejercicio
El namespace sirve para organizar el proyecto y agrupar clases relacionadas.

Clase Principal del Formulario

public partial class frmEjercicio : Form
Se crea el formulario principal llamado frmEjercicio.

La palabra Form indica que es una ventana de Windows Forms.

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.

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.

Declaración de Variables

long invertir = 0, digito, numero;
invertir: guarda el número invertido.
digito: almacena cada dígito extraído.
numero: guarda el número ingresado por el usuario.

Obtener el Número

numero = Convert.ToInt64(txtNum.Text);
Convierte el valor ingresado en la caja de texto txtNum a tipo numérico.

Guardar Copia del Número

long aux = numero;
Guarda el número original para compararlo más adelante.

Bucle While

while(numero > 0)
El ciclo se repite mientras el número sea mayor que cero.

Obtener el Último Dígito

digito = numero % 10;
El operador % obtiene el último dígito del número.

Invertir el Número

invertir = (invertir * 10) + digito;
Forma el número invertido agregando cada dígito extraído.

Eliminar el Último Dígito

numero = (numero - digito) / 10;
Elimina el último dígito para continuar con el siguiente.

Comparación Final

if(invertir == aux)
Compara el número invertido con el número original.

Si ambos son iguales, el número es capicúa.

Resultado Verdadero

txtResultado.Text = "Es capicúa.";
Muestra el mensaje indicando que el número sí es capicúa.

Resultado Falso

txtResultado.Text = "No es capicúa.";
Muestra el mensaje indicando que el número no es capicúa.

Evento del Botón Limpiar

private void btnLimpiar_Click(object sender, EventArgs e)
Este evento se ejecuta al hacer clic en el botón Limpiar.

Limpiar las Cajas de Texto

txtNum.Clear();
txtResultado.Clear();
txtNum.Focus();
Clear() limpia las cajas de texto.

Focus() coloca nuevamente el cursor en la caja de número.

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