Ejemplos recursividad.docx

KevinPeaChavez 12 views 2 slides Mar 24, 2022
Slide 1
Slide 1 of 2
Slide 1
1
Slide 2
2

About This Presentation

vm


Slide Content

namespace Ejemplos_recursividad
{
/// <summary>
/// Lógica de interacción para MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}

private void btnCuentaRegresiva_Click(object sender, RoutedEventArgs e)
{
//Cuenta regresiva hasta cero a partir de un número
int entero = int.Parse(txtNumero.Text);
CuentaRegresiva(entero);
}

public void CuentaRegresiva(int numero)
{
numero--;
if (numero > 0)
{
lstResultados.Items.Add(numero);
CuentaRegresiva(numero);
}
else
lstResultados.Items.Add("...Explosion....");
lstResultados.Items.Add("Fin de la funcion " + numero);
}

private void btnFactorial_Click(object sender, RoutedEventArgs e)
{
//Factorial de un número
int entero = int.Parse(txtNumero.Text);
MessageBox.Show(Factorial(entero).ToString());
}

public int Factorial(int numero)
{
if (numero == 0)
return 1;
else
return numero * Factorial(numero - 1);
}

private void btnSumarDigitosNumero_Click(object sender, RoutedEventArgs e)
{
//sumar los dígitos de un número. Ejemplo: Entrada:123 Resultado:6
MessageBox.Show("Suma de dígitos = " +
Sumar_dig(int.Parse(txtNumero.Text)));
}

int Sumar_dig(int n)
{
if (n == 0) //caso base

return n;
else
return Sumar_dig(n / 10) + (n % 10);
}

private void btnSumarArreglo_Click(object sender, RoutedEventArgs e)
{
//Sumar los elementos de un arreglo
int entero = int.Parse(txtNumero.Text);
//arreglo A 4 3 1 6
int[] A = new int[4] { 4, 3, 1, 6 };
//tamaño del arreglo
MessageBox.Show(SumarElementos(A, A.Length - 1).ToString());
}

public int SumarElementos(int[] A, int i)
{
if (i == 0)
return A[i];
else
return A[i] + SumarElementos(A, i - 1);
}

private void btnSumarDosNumeros_Click(object sender, RoutedEventArgs e)
{
//dado un número muestr las posibles sumas a partir de cero que dan como
resultado el número dado, sin repetirse
lstResultados.Items.Clear();
SumasParaUnNumero(0, int.Parse(txtNumero.Text));
}

void SumasParaUnNumero(int a, int b)
{
if(a<=b)
{
lstResultados.Items.Add(a + " + " + b);
SumasParaUnNumero(a + 1, b - 1);
}
}
}
}
Tags