csharp-que-son-las-funciones

Qué son y cómo usar funciones en C#

Una función es un bloque de código reutilizables que realiza una tarea específica cuando se llama o se invoca desde otro lugar del programa.

Las funciones son una parte fundamental de la programación, ya que permiten dividir el código en unidades más pequeñas y manejables (esto facilita la comprensión, el mantenimiento y la depuración del software).

Las funciones en C# pueden tomar cero o más parámetros como entrada, realizar cálculos o manipulaciones en función de esos parámetros y devolver un resultado opcional como salida.

La sintaxis básica para definir una función en C# es la siguiente:

[modificador] tipo_de_retorno nombre_de_la_funcion([lista_de_parametros])
{
    // Código de la función
    return valor_de_retorno; // Opcional
}
  • Modificador: Puede ser public, private, protected, entre otros, para definir el nivel de acceso de la función.
  • Tipo de retorno: Especifica el tipo de datos que la función devolverá como resultado. Puede ser void si la función no devuelve ningún valor.
  • Nombre de la función: Es el identificador único de la función que se utilizará para invocarla desde otras partes del programa.
  • Lista de parámetros: Son variables que se utilizan para pasar información a la función cuando se llama.
  • Código de la función: Es el conjunto de instrucciones que se ejecutarán cuando se llame a la función.
  • Valor de retorno: Es el resultado que devuelve la función, opcionalmente.

Ejemplo Básico

A continuación, se muestra un ejemplo básico de una función que suma dos números:

public int Sumar(int num1, int num2)
{
    return num1 + num2;
}

En este ejemplo, la función Sumar toma dos parámetros num1 y num2, realiza la operación de suma y devuelve el resultado.

Llamado de funciones

Para llamar (invocar) una función y ejecutar su código, simplemente se utiliza el nombre de la función seguido de paréntesis, pasando los valores de los parámetros si es necesario.

Aquí hay un ejemplo de código que llama a la función Suma y almacena el resultado en una variable:

int resultado = Sumar(5, 3);

En este caso, la función Sumar se llama con los valores 5 y 3 como argumentos, y devuelve el resultado 8, que se asigna a la variable resultado.

Parámetros

Las funciones en .C# pueden tener uno o más parámetros de entrada, que son valores que se pasan a la función cuando se llama. Estos parámetros se usan dentro de la función para realizar cálculos y determinar el resultado a devolver.

Por ejemplo, en el siguiente ejemplo la función CalcularAreaRectangulo tiene dos parámetros, ancho y altura, ambos de tipo double.

double CalcularAreaRectangulo(double ancho, double altura)
{
	// Código para calcular el área de un rectángulo
	double area = ancho * altura;
	return area;
}

Valor de retorno

Las funciones pueden devolver un valor como resultado utilizando la palabra clave return. El tipo de valor devuelto debe coincidir con el tipo de retorno especificado en la firma de la función.

Por ejemplo, en la función CalcularAreaCirculo devuelve un tipo double.

static double CalcularAreaCirculo(double radio)
{
	// Código para calcular el área de un círculo
	double area = Math.PI * radio * radio;
	return area;  // return de area
}

Únicamente se puede devolver un valor desde una función. Aunque es posible devolver una agrupación de varios valores (como una tupla, struct o un objeto).

Funciones sin retorno

Si una función no devuelve ningún valor, se utiliza la palabra clave void como tipo de retorno.

public void Saludar(string nombre)
{
    Console.WriteLine($"¡Hola, {nombre}!");
}

Ejemplos prácticos

Función para determinar si un número es par o impar

Esta función determina si un número es par o impar.

public static string ParImpar(int numero)
{
    if (numero % 2 == 0) // Verifica si el número es divisible por 2
    {
        return "par"; // Retorna "par" si el número es divisible por 2
    }
    else
    {
        return "impar"; // Retorna "impar" si el número no es divisible por 2
    }
}

Función para calcular el área de un círculo

Esta función calcula el área de un círculo dado su radio.

public static double CalcularAreaCirculo(double radio)
{
    return Math.PI * radio * radio; // Calcula el área usando la fórmula πr²
}

Función para determinar el máximo de dos números

Esta función devuelve el mayor de dos números.

public static int Maximo(int a, int b)
{
    if (a > b) // Compara los dos números
    {
        return a; // Retorna 'a' si es mayor que 'b'
    }
    else
    {
        return b; // Retorna 'b' si es mayor o igual a 'a'
    }
}

Función para convertir grados Celsius a Fahrenheit

Esta función convierte una temperatura de grados Celsius a grados Fahrenheit.

public static double CelsiusAFahrenheit(double celsius)
{
    return (celsius * 9/5) + 32; // Aplica la fórmula de conversión
}

Función para verificar si un número es primo

Esta función determina si un número es primo.

public static bool EsPrimo(int numero)
{
    if (numero <= 1) return false; // Los números menores o iguales a 1 no son primos
    for (int i = 2; i < numero; i++) // Itera desde 2 hasta el número - 1
    {
        if (numero % i == 0) return false; // Si el número es divisible por 'i', no es primo
    }
    return true; // Si no se encontró divisor, el número es primo
}

Función para calcular la suma de un array de enteros

Esta función calcula la suma de todos los elementos en un array de enteros.

public static int SumarArray(int[] numeros)
{
    int suma = 0; // Inicializa la suma en 0
    foreach (int numero in numeros)
    {
        suma += numero; // Suma cada elemento del array a 'suma'
    }
    return suma; // Retorna la suma total
}

Estos ejemplos tienen el propósito de mostrar cómo utilizar Funciones. No significa que sea la mejor forma de resolver el problema que abordan.