programación modular
Es un paradigma de programación que se basa en un refrán “divide y vencerás”, el cual consiste en dividir un problema grande y difícil de solucionar en varios mas pequeños y simples.
cuando tenemos un problema difícil de resolver es muy complicado escribir todo el código en el MAIN(función principal) la solución es utilizar la programación modular la cual consiste en dividir en pequeñas funciones o subprocesos mas simples.
ejemplo.- la función main utiliza varias funciones |
ventajas
- mantenimiento del programa
- documentación
- reutilización de código
- fallas independientes
ya hablamos de la programación modular pero como lo aplicamos en c++
Funciones
las funciones son subprogramas diseñados para resolver un problemas especifico, algunos ejemplos son las bibliotecas estándar de c++ que nos ayudan en tareas como leer datos, calcular números aleatorios.
pero nosotros podemos crear nuestras funciones a medida y formar nuestra propia librería.
para esto es necesario conocer tres operaciones acerca de las funciones:
- definición de una función
- declaración o prototipo de una función
- llamada de una función
definición de una función
el formato general de una función es la siguiente:
tipo_devuelto nombre_función (parámetros)
{
definición de constantes
definición de variables
instrucciones
}
Breve explicacion
tipo_devuelto puede ser cualquier dato valido en c++ (int, float, string), que la función regresara al terminar de ejecutarse.
nombre_función cualquier identificador valido en c++
parámetros pueden ser cero o mas variables con su tipo de dato antepuesto y separada por coma.
si la función consta de cero variables como parametro entonces podemos utilizar la palabra reservada void, y de igual manera si nuestra función no devuelve un valor entonces en tipo_devuelto se utiliza void.
para que nuestra función devuelva un valor debemos utilizar la palabra reservada return, excepto en en el caso que tipo_devuelto sea void.
la forma de utilizar return es la siguiente:
return valor.
donde valor puede ser una variable o una expresión.
Ejemplo:
// esta función devuelve el numero cuadrado de cualquier entero
int cuadradoDeN (int n)
{
return n*n;
}
Llamada de la función
una vez que tenemos definida nuestra función la vamos a invocar desde otra función, para esto tenemos el formato básico de la llamada a la función:variable = nombre_función(parámetros);
Ejemplo:
Main
{
int numero;
cout<<"Escribe un numero entero para calcular su potencia cuadrada"<<endl;
cin>>numero;
cout<<"la potencia cuadrada de "<<numero<<"es:";
cuadradoDeN(numero); //esta función devuelve el cuadrado de un numero entero;
}
como se menciona anteriormente las funciones tienen la capacidad de regresar un valor mediante la palabra reservada return y para guardar ese valor es necesario utilizar una variable, por esta razón, si nuestra función no devuelve un valor("void") o no es relevante entonces no es obligatorio asignar su valor a una variable.
Prototipo de la función
el prototipo de la función debe ser incluido antes de la función que hace la llamada de otro modo el compilador mostraría un error de compilación, el formato general es muy parecido a la primer linea de la definición.formato en c++:
tipo_devuelto nombre_función (parámetros);
como se observa es básicamente igual, con la excepción de que termina con punto y coma, ademas en parámetros podemos omitir el nombre de las variables pero es obligatorio poner los tipos de datos que recibe separados por comas.
ejemplo:
programa de hola_mundo usando funciones |
Breve explicación:
linea 15-19 definición de la función saludo la cual escribe en la consola un hola mundo.
linea 8 llamada de la función saludo la cual no se guarda en ninguna variable ya que es void
linea 4 prototipo de la función.
el código anterior es un simple hola-mundo pero utilizamos una función void para mandar escribir en la consola.
ejemplo
programa que calcula la potencia cubica de un numero entero.
programa que calcula el cubo de un entero |
breve explicación
linea 4 prototipo de la función se coloca antes de la función llamadora
linea 8 declaramos variables locales de main
linea 13 llamada a la función cubo
linea 24-29 definimos la función cubo la cual regresa el valor de la variable entera x multiplicado por si mismo dos veces
nota: cómo se comentaba, el prototipo es igual a la primer linea de la definición de la función(linea 24) , la palabra return es capaz de devolver operaciones aritméticas.
para mirar el siguiente tema pulsa aqui
si te fue útil comenta y cuéntanos que podríamos mejorar, o simplemente si te ha gustado el contenido.
Muy buena explicación del void, de cin.get () y cin.ignore(), muy buenos ejemplos, los realice en mi C++ todos y funcionaron correctamente. Muchas gracias.
ResponderBorrar