¿A menudo se encuentra copiando y pegando su código para reutilizarlo en diferentes secciones de su programa?

Si es así, es posible que desee considerar el uso de funciones. Las funciones son una característica muy poderosa de los lenguajes de programación. Pueden hacer que el código sea más eficiente, más fácil de leer y elegante.

¿Qué es una función?

Una función es un bloque de código que realiza una tarea. Se puede llamar y reutilizado varias veces. Puede pasar información a una función y esta puede devolver información. Muchos lenguajes de programación tienen funciones integradas a las que puede acceder en su biblioteca, pero también puede crear sus propias funciones.

¿Qué es la recursividad y cómo se usa?

Aprenda los conceptos básicos de la recursividad, la herramienta esencial pero un poco alucinante para los programadores.

Cuando llama a una función, el programa pausará el programa actual y ejecutará la función. La función se leerá de arriba a abajo. Una vez que se completa la función, el programa continúa ejecutándose donde se había detenido. Si la función devolvió un valor, ese valor se usará donde se llamó a la función.

instagram viewer

¿Cómo se escribe una función?

Hay muchas formas diferentes de escribir funciones. La sintaxis exacta dependerá del lenguaje en el que esté programando. Mostraremos ejemplos en Python, JavaScript y C ++ para demostrar una variedad de sintaxis de programación.

Relacionado: Por qué los lenguajes de programación no pueden existir sin funciones

Funciones nulas

El primer tipo de función que veremos es una función vacía. Esto simplemente significa que la función no devuelve un valor. Las funciones nulas se utilizan para completar un conjunto de instrucciones. En estos ejemplos, la función que escribimos se llama holafunción. El propósito de la función es generar "Hola mundo".

SUGERENCIA: asigne nombres a las funciones que expliquen lo que hacen. Será más fácil administrar las funciones y leer el código a medida que su programa se vuelva más complejo.

Pitón

def helloFunction ():
imprimir ("Hola mundo")
helloFunction ()

La palabra clave def se usa en Python para definir y crear una función. A continuación, está el nombre de la función. Las instrucciones de la función siguen en la siguiente línea después de los dos puntos. El espacio en blanco es importante en Python, así que asegúrese de aplicar sangría a todo el código que desea que ejecute su función. En el ejemplo anterior, la función ejecuta una línea de código.

Tus agudos ojos podrían haber notado que imprimir() también es una función, pero se llama de manera diferente a nuestra función. Mantenga ese pensamiento en este momento, exploraremos las funciones y los parámetros más adelante.

JavaScript

function helloFunction () {
alert ("¡Hola mundo!");
}
helloFunction ();

En JavaScript, la palabra clave función se utiliza para crear funciones. A continuación, tenemos el nombre de la función. Cualquier código que se encuentre entre las llaves se ejecuta cuando se llama a la función.

El espacio en blanco no es importante en JavaScript, pero se acostumbra sangrar el código en la función. La sangría hace que el código sea más fácil de leer, lo cual es muy importante a medida que sus programas se vuelven más complejos.

Nota: muy parecido a imprimir() en el ejemplo anterior, alerta() también es una función.

C ++

#incluir 
usando el espacio de nombres std;
void helloFunction () {
cout << "¡Hola mundo!";
}
int main () {
helloFunction ();
return 0;
}

Las funciones se crean de manera diferente en C ++. En lugar de una palabra clave para definir una función, la primera palabra describe el tipo de datos que devolverá la función. En este caso, nuestra función no devuelve ningún dato, por lo que los datos son nulos. A continuación, tenemos el nombre de la función. Al igual que en JavaScript, todo el código entre llaves se ejecuta cuando se llama a la función. También de manera similar a JavaScript, los espacios en blanco no afectan la función, pero son una buena práctica.

¿Viste otra función en el código C ++? Sí, principal() es una función. Cuando ejecuta un programa en C ++, llama automáticamente a la función principal. Cuando la función principal se completa con éxito, devuelve 0 cuando sale del programa para indicar que no hubo errores al ejecutar el programa.

Funciones que requieren valores

Las funciones vacías son excelentes si descubre que está escribiendo el mismo fragmento de código una y otra vez. Pero pueden ser limitantes. Son estáticos y no cambian. Siempre completan las mismas instrucciones. Una forma de aumentar su utilidad es pasar diferentes valores a la función.

Habrá notado que los corchetes seguían los nombres de todas nuestras funciones. Entre paréntesis, podemos declarar que se necesitan datos para ejecutar nuestra función. Entonces podemos usar los datos pasados ​​a nuestra función en la función. Echemos un vistazo a los ejemplos anteriores nuevamente, pero esta vez pasemos la frase que queremos que salga.

Pitón

def helloFunction (nuevaPhrase):
imprimir (nuevaPhrase)
helloFunction ("Nuestra nueva frase")

Ahora, entre paréntesis, nuestra función declara que necesita una variable para ejecutarse. Hemos nombrado la variable newPhrase y ahora podemos usarlo en nuestra función. Cuando llamamos a la función, necesitamos pasar la información solicitada colocándola entre corchetes. Se realizaron los mismos cambios en JavaScript.

JavaScript

function helloFunction (newPhrase) {
alerta (nuevaPhrase);
}
helloFunction ("Nuestra nueva frase");

C ++

#incluir 
usando el espacio de nombres std;
void helloFunction (string newPhrase) {
cout << newPhrase;
}
int main () {
helloFunction ("Nuestra nueva frase");
return 0;
}

Nuestra función C ++ requería un poco más de información. Sabemos que su función quiere datos de cadena, pero eso no es lo suficientemente bueno para C ++. Cuando crea su función, debe especificar qué tipo de datos requiere su función. Si no envía el tipo correcto de datos, la función creará un error.

Esto puede parecer un poco molesto, pero los lenguajes estrictos a menudo pueden ahorrarle dolores de cabeza. Si escribe una función en JavaScript que requiere un número entero, pero el número se envía como una cadena, puede crear un error que es muy difícil de rastrear.

Relacionado: 5 lenguajes de programación funcional que debe conocer

Funciones que devuelven un valor

La capacidad de función final que cubriremos es la devolución de datos. Esto es particularmente valioso cuando desea modificar los datos antes de usarlos. Aunque podría escribir eso en línea, si usa los mismos cálculos muchas veces, como convertir imperial a métrico, podría tener más sentido escribirlo como una función. Nuestro ejemplo será más sencillo. Nuestra función requerirá dos enteros y devolverá la suma.

Pitón

def addFunction (a, b):
devolver a + b
imprimir (agregar función (2, 4))

En este ejemplo, nuestra función requiere dos variables en lugar de una. Lo indicamos separando nuestros nombres de variables con una coma. La palabra clave regreso le dice a la función que devuelva los siguientes datos, en este caso, 2 + 4 o 6. Llamamos a la función dentro del imprimir() función.

Una vez que nuestro programa llegó a esa línea, se habría detenido, ejecutado nuestra función y luego habría continuado como si addFunction (2, 4) en realidad era solo el valor devuelto 6.

JavaScript

El código JavaScript es muy similar al código Python. La principal diferencia es que la función se llama en una alerta.

función addFunction (a, b) {
return a + b;
}
alerta (addFunction (2, 4));

C ++

#incluir 
usando el espacio de nombres std;
int addFunction (int a, int b) {
return a + b;
}
int main () {
cout << addFunction (2, 4);
return 0;
}

El código C ++ se ejecuta de manera similar, pero como de costumbre, requiere un poco más de información. Primero, tenemos que decir qué tipo de datos devolverá nuestra función. Verás eso vacío ha sido cambiado a En t. Esto significa que en lugar de no devolver ningún dato, nuestra función devolverá un número entero. Más allá de eso, el código es similar al código que ya hemos explorado.

Administre sus funciones

Lo divertido de las funciones es que las funciones pueden llamar a otras funciones. ¡Incluso pueden llamarse a sí mismos! Pero un gran poder conlleva una gran responsabilidad. No te vuelvas loco creando código con funciones que llaman a otras funciones que llaman aún más funciones.

Como se mencionó, cada vez que se llama a una función, el programa se detiene mientras ejecuta la función. Esto significa que el programa se mantiene en la memoria activa. Si llama a varias funciones más sin completarlas, está utilizando más memoria activa. Si no tiene cuidado, su programa puede salirse de control.

Correo electrónico
Cómo mantener limpio su código con la encapsulación de objetos

Las variables globales pueden parecer simples, pero a menudo son la causa de muchos errores. A continuación, le mostramos cómo optimizar su código con encapsulación.

Temas relacionados
  • Programación
  • Programación
  • Programación funcional
Sobre el Autor
Jennifer Seaton (20 artículos publicados)

J. Seaton es un escritor científico que se especializa en analizar temas complejos. Tiene un doctorado de la Universidad de Saskatchewan; su investigación se centró en utilizar el aprendizaje basado en juegos para aumentar la participación de los estudiantes en línea. Cuando no esté trabajando, la encontrará leyendo, jugando videojuegos o haciendo jardinería.

Más de Jennifer Seaton

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Un paso más…!

Confirme su dirección de correo electrónico en el correo electrónico que le acabamos de enviar.

.